:root {
	--gds-i-cabling: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M7 15.5v-3.5h2v-2h6v2h2v3.5z'/%3E%3Cpath d='M10 15.5v-1.5M12 15.5v-1.5M14 15.5v-1.5'/%3E%3C/svg%3E");
	--gds-i-fiber: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12h5'/%3E%3Crect x='7' y='10' width='4' height='4' rx='1'/%3E%3Cpath d='M11 12c4 0 5-6 9-6M11 12c4 0 5-2.5 9-2.5M11 12h9M11 12c4 0 5 2.5 9 2.5M11 12c4 0 5 6 9 6'/%3E%3C/svg%3E");
	--gds-i-cameras: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5l12.5-3.5 2 6.5-12.5 3.5z'/%3E%3Cpath d='M17 9.5l4-1 .5 2.5-4 1.5'/%3E%3Cpath d='M7.5 14v3.5H3.5M3.5 15v5'/%3E%3C/svg%3E");
	--gds-i-access: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10.5' width='14' height='10.5' rx='2'/%3E%3Cpath d='M8 10.5V7a4 4 0 0 1 8 0v3.5'/%3E%3Ccircle cx='12' cy='15.5' r='1.5'/%3E%3Cpath d='M12 17v1.5'/%3E%3C/svg%3E");
	--gds-i-wireless: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9a15 15 0 0 1 20 0'/%3E%3Cpath d='M5 12.5a10 10 0 0 1 14 0'/%3E%3Cpath d='M8.5 16a5 5 0 0 1 7 0'/%3E%3Ccircle cx='12' cy='19.5' r='1'/%3E%3C/svg%3E");
	--gds-i-racks: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='7' rx='1.5'/%3E%3Crect x='3' y='14' width='18' height='7' rx='1.5'/%3E%3Cpath d='M7 6.5h.01M7 17.5h.01M11 6.5h6M11 17.5h6'/%3E%3C/svg%3E");
	--gds-i-design: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21l3.5-1 11-11-2.5-2.5-11 11z'/%3E%3Cpath d='M14 5.5l2.5-2.5 2.5 2.5-2.5 2.5'/%3E%3Cpath d='M3 3h6M3 3v6'/%3E%3C/svg%3E");
	--gds-i-tested: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='9' r='6'/%3E%3Cpath d='M9.5 9l1.8 1.8L14.8 7.3'/%3E%3Cpath d='M8.5 14l-1.5 7 5-2.5 5 2.5-1.5-7'/%3E%3C/svg%3E");
	--gds-i-partner: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3Ccircle cx='16.5' cy='9' r='2.5'/%3E%3Cpath d='M2.5 20c0-3.3 2.5-6 5.5-6s5.5 2.7 5.5 6'/%3E%3Cpath d='M14 14.6c.8-.4 1.6-.6 2.5-.6 2.8 0 5 2.4 5 5.5'/%3E%3C/svg%3E");
	--gds-i-support: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14v-2a8 8 0 0 1 16 0v2'/%3E%3Crect x='3' y='13' width='4' height='6' rx='1.5'/%3E%3Crect x='17' y='13' width='4' height='6' rx='1.5'/%3E%3Cpath d='M19 19c0 1.5-1.5 2.5-4 2.5h-2'/%3E%3C/svg%3E");
	--gds-i-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h3.5l1.8 4.5-2.3 1.4a11 11 0 0 0 6.1 6.1l1.4-2.3L20 15.5V19a1.5 1.5 0 0 1-1.6 1.5A16.5 16.5 0 0 1 3.5 5.6 1.5 1.5 0 0 1 5 4z'/%3E%3C/svg%3E");
	--gds-i-email: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3.5 6.5l8.5 6.5 8.5-6.5'/%3E%3C/svg%3E");
	--gds-i-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E");
	--gds-i-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3.5 2'/%3E%3C/svg%3E");
	--gds-i-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
	--gds-i-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E");
	--gds-net: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 600' fill='none' stroke='white' stroke-width='1.2'%3E %3Ccircle cx='300' cy='300' r='270' stroke-opacity='0.35'/%3E %3Cpath d='M300 30c-150 120-150 420 0 540' stroke-opacity='0.2975'/%3E%3Cpath d='M300 30c150 120 150 420 0 540' stroke-opacity='0.2975'/%3E %3Cpath d='M300 30c-60 120-60 420 0 540' stroke-opacity='0.175'/%3E%3Cpath d='M36 240c170 60 358 60 528 0' stroke-opacity='0.24499999999999997'/%3E %3Cpath d='M60 420c150-50 330-50 480 0' stroke-opacity='0.21'/%3E%3Cpath d='M120 110c120 50 240 180 330 360' stroke-opacity='0.35'/%3E %3Cpath d='M470 120c-80 110-170 190-300 280' stroke-opacity='0.24499999999999997'/%3E %3Cg fill='%2362C6FF' stroke='none'%3E%3Ccircle cx='120' cy='110' r='6'/%3E%3Ccircle cx='328' cy='228' r='7'/%3E%3Ccircle cx='450' cy='470' r='6'/%3E%3Ccircle cx='470' cy='120' r='5'/%3E%3Ccircle cx='170' cy='400' r='5'/%3E%3Ccircle cx='544' cy='252' r='5'/%3E%3C/g%3E%3C/svg%3E");
	--gds-mesh: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 600'%3E%3Cg stroke='%23035DE2' stroke-opacity='.16' stroke-width='1'%3E%3Cline x1='190' y1='327' x2='281' y2='351'/%3E%3Cline x1='190' y1='327' x2='296' y2='362'/%3E%3Cline x1='190' y1='327' x2='207' y2='141'/%3E%3Cline x1='296' y1='362' x2='281' y2='351'/%3E%3Cline x1='296' y1='362' x2='316' y2='481'/%3E%3Cline x1='501' y1='39' x2='537' y2='38'/%3E%3Cline x1='501' y1='39' x2='511' y2='90'/%3E%3Cline x1='501' y1='39' x2='537' y2='98'/%3E%3Cline x1='11' y1='502' x2='316' y2='481'/%3E%3Cline x1='11' y1='502' x2='356' y2='561'/%3E%3Cline x1='207' y1='141' x2='109' y2='130'/%3E%3Cline x1='207' y1='141' x2='228' y2='38'/%3E%3Cline x1='207' y1='141' x2='241' y2='19'/%3E%3Cline x1='797' y1='282' x2='772' y2='262'/%3E%3Cline x1='797' y1='282' x2='692' y2='284'/%3E%3Cline x1='797' y1='282' x2='669' y2='286'/%3E%3Cline x1='669' y1='286' x2='692' y2='284'/%3E%3Cline x1='669' y1='286' x2='665' y2='344'/%3E%3Cline x1='669' y1='286' x2='724' y2='341'/%3E%3Cline x1='511' y1='90' x2='537' y2='98'/%3E%3Cline x1='511' y1='90' x2='537' y2='38'/%3E%3Cline x1='508' y1='521' x2='467' y2='543'/%3E%3Cline x1='508' y1='521' x2='575' y2='527'/%3E%3Cline x1='508' y1='521' x2='546' y2='557'/%3E%3Cline x1='419' y1='445' x2='316' y2='481'/%3E%3Cline x1='419' y1='445' x2='467' y2='543'/%3E%3Cline x1='537' y1='38' x2='537' y2='98'/%3E%3Cline x1='607' y1='355' x2='665' y2='344'/%3E%3Cline x1='607' y1='355' x2='724' y2='341'/%3E%3Cline x1='241' y1='19' x2='228' y2='38'/%3E%3Cline x1='241' y1='19' x2='109' y2='130'/%3E%3Cline x1='692' y1='284' x2='665' y2='344'/%3E%3Cline x1='692' y1='284' x2='724' y2='341'/%3E%3Cline x1='575' y1='527' x2='571' y2='553'/%3E%3Cline x1='575' y1='527' x2='546' y2='557'/%3E%3Cline x1='571' y1='553' x2='546' y2='557'/%3E%3Cline x1='316' y1='481' x2='356' y2='561'/%3E%3Cline x1='356' y1='561' x2='467' y2='543'/%3E%3Cline x1='703' y1='58' x2='571' y2='127'/%3E%3Cline x1='703' y1='58' x2='537' y2='98'/%3E%3Cline x1='109' y1='130' x2='228' y2='38'/%3E%3Cline x1='501' y1='181' x2='537' y2='98'/%3E%3Cline x1='501' y1='181' x2='571' y2='127'/%3E%3Cline x1='467' y1='543' x2='546' y2='557'/%3E%3Cline x1='685' y1='595' x2='683' y2='594'/%3E%3Cline x1='685' y1='595' x2='689' y2='579'/%3E%3Cline x1='537' y1='98' x2='571' y2='127'/%3E%3Cline x1='689' y1='579' x2='683' y2='594'/%3E%3Cline x1='724' y1='341' x2='665' y2='344'/%3E%3C/g%3E%3Cg fill='%23035DE2' fill-opacity='.18'%3E%3Ccircle cx='190' cy='327' r='2.5'/%3E%3Ccircle cx='296' cy='362' r='5.0'/%3E%3Ccircle cx='501' cy='39' r='2.5'/%3E%3Ccircle cx='11' cy='502' r='7.0'/%3E%3Ccircle cx='207' cy='141' r='3.5'/%3E%3Ccircle cx='797' cy='282' r='2.5'/%3E%3Ccircle cx='669' cy='286' r='5.0'/%3E%3Ccircle cx='511' cy='90' r='7.0'/%3E%3Ccircle cx='508' cy='521' r='7.0'/%3E%3Ccircle cx='419' cy='445' r='2.5'/%3E%3Ccircle cx='537' cy='38' r='2.5'/%3E%3Ccircle cx='607' cy='355' r='2.5'/%3E%3Ccircle cx='241' cy='19' r='7.0'/%3E%3Ccircle cx='692' cy='284' r='5.0'/%3E%3Ccircle cx='575' cy='527' r='5.0'/%3E%3Ccircle cx='571' cy='553' r='3.5'/%3E%3Ccircle cx='316' cy='481' r='2.5'/%3E%3Ccircle cx='356' cy='561' r='5.0'/%3E%3Ccircle cx='703' cy='58' r='2.5'/%3E%3Ccircle cx='109' cy='130' r='2.5'/%3E%3Ccircle cx='772' cy='262' r='2.5'/%3E%3Ccircle cx='501' cy='181' r='2.5'/%3E%3Ccircle cx='406' cy='232' r='3.5'/%3E%3Ccircle cx='281' cy='351' r='7.0'/%3E%3Ccircle cx='467' cy='543' r='5.0'/%3E%3Ccircle cx='546' cy='557' r='5.0'/%3E%3Ccircle cx='685' cy='595' r='3.5'/%3E%3Ccircle cx='537' cy='98' r='2.5'/%3E%3Ccircle cx='689' cy='579' r='5.0'/%3E%3Ccircle cx='724' cy='341' r='5.0'/%3E%3Ccircle cx='571' cy='127' r='5.0'/%3E%3Ccircle cx='665' cy='344' r='3.5'/%3E%3Ccircle cx='228' cy='38' r='7.0'/%3E%3Ccircle cx='683' cy='594' r='7.0'/%3E%3C/g%3E%3C/svg%3E");
	--gds-sky: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 200' preserveAspectRatio='xMaxYMax slice'%3E%3Cpath d='M0 200 L0 18 L70 18 L70 200 L74 18 L144 18 L144 200 L144 18 L184 18 L184 200 L192 144 L232 144 L232 200 L232 18 L262 18 L262 200 L270 60 L300 60 L300 200 L308 130 L398 130 L398 200 L406 158 L421 133 L436 158 L436 200 L436 158 L526 158 L526 200 L530 116 L600 116 L600 200 L608 39 L636 14 L663 39 L663 200 L663 102 L733 102 L733 200 L741 102 L771 102 L771 200 L771 102 L816 77 L861 102 L861 200 L869 60 L884 35 L899 60 L899 200 L903 144 L973 144 L973 200 L981 116 L996 91 L1011 116 L1011 200 L1011 60 L1081 60 L1081 200 L1085 144 L1155 144 L1155 200 L1155 81 L1182 56 L1210 81 L1210 200 L1214 60 L1244 60 L1244 200 L1244 116 L1284 116 L1284 200 L1284 39 L1314 39 L1314 200 L1314 116 L1404 116 L1404 200 L1404 60 L1444 60 L1444 200 L1444 60 L1514 60 L1514 200 L1514 102 L1569 102 L1569 200 L1569 130 L1609 130 L1609 200 Z' fill='white' fill-opacity='.10'/%3E%3C/svg%3E");
}

/* =========================================================
   Global Dynamics Systems — enterprise theme styles
   ========================================================= */

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
[id] { scroll-margin-top: 100px; }
a { text-underline-offset: 3px; }
:focus-visible { outline: 2px solid var(--wp--preset--color--bright); outline-offset: 2px; }
h1, h2 { text-wrap: balance; }
p { text-wrap: pretty; }
.wp-block-post-content > .alignfull { margin-block-start: 0 !important; margin-block-end: 0 !important; }

/* Kicker / eyebrow labels */
.gds-kicker, .gds-eyebrow {
	font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: .8125rem;
	letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--royal); margin: 0;
}
.gds-kicker--light, .gds-hero .gds-eyebrow, .gds-hero .gds-kicker { color: var(--wp--preset--color--fiber); }

/* Buttons */
.wp-block-button__link { transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.wp-block-button.is-style-outline .wp-block-button__link { border-width: 1.5px; padding: calc(.85rem - 1.5px) calc(1.5rem - 1.5px); }
.gds-btn-outline .wp-block-button__link { color: var(--wp--preset--color--royal); border-color: var(--wp--preset--color--royal); background: #fff; }
.gds-btn-outline .wp-block-button__link:hover { background: var(--wp--preset--color--royal); color: #fff; }
.gds-btn-light .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.6); background: transparent; }
.gds-btn-light .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--royal); border-color: #fff; }
.gds-btn-arrow .wp-block-button__link { display: inline-flex; align-items: center; gap: .55rem; }
.gds-btn-arrow .wp-block-button__link::after {
	content: ""; width: .8em; height: .8em; background: currentColor;
	-webkit-mask: var(--gds-i-arrow) center / contain no-repeat; mask: var(--gds-i-arrow) center / contain no-repeat;
	transition: transform .2s ease;
}
.gds-btn-arrow .wp-block-button__link:hover::after { transform: translateX(3px); }

/* ---------- Header ---------- */
.gds-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid var(--wp--preset--color--line); }
.admin-bar .gds-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .gds-header { top: 0; } }
.gds-logo { margin: 0 !important; flex-shrink: 1; min-width: 0; }
.gds-logo img { display: block; max-width: 100%; height: auto; }
.gds-nav { flex: 1; }
.gds-nav .wp-block-navigation-item__content { color: var(--wp--preset--color--ink); padding: .5rem 0; position: relative; }
.gds-nav .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; background: var(--wp--preset--color--royal);
	transform: scaleX(0); transition: transform .2s ease;
}
.gds-nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--royal); }
.gds-nav .wp-block-navigation-item__content:hover::after,
.gds-nav .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.gds-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--wp--preset--color--royal); }
.gds-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 2rem 1.5rem; }
.gds-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.1rem; }
.gds-header__cta .wp-block-button__link { padding: .8rem 1.4rem; white-space: nowrap; }
@media (max-width: 1080px) { .gds-nav .wp-block-navigation__container { gap: 1.4rem !important; } }
@media (max-width: 600px) {
	.gds-header .gds-header__cta { display: none !important; }
	.gds-logo img { width: 190px !important; }
	.gds-nav { flex: 0; }
}

/* ---------- Home hero (light) ---------- */
.gds-hero-light {
	position: relative; overflow: hidden; isolation: isolate;
	background: linear-gradient(180deg, #FFFFFF 0%, #F5F8FD 100%);
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.gds-hero-light::before {
	content: ""; position: absolute; z-index: -1; inset: 0 0 0 38%;
	background: var(--gds-mesh) right center / cover no-repeat;
	-webkit-mask: linear-gradient(90deg, transparent, #000 35%); mask: linear-gradient(90deg, transparent, #000 35%);
}
.gds-display {
	text-transform: uppercase; font-weight: 800; letter-spacing: -.02em; line-height: .98 !important;
	color: var(--wp--preset--color--navy); margin-top: .9rem !important;
	font-size: clamp(2.4rem, 5.2vw, 4.4rem) !important;
}
.gds-display::after { content: "."; color: var(--wp--preset--color--bright); }
.gds-lead-dark { color: var(--wp--preset--color--slate); max-width: 34em; }
.gds-hero-emblem { margin: 0 !important; text-align: center; }
.gds-hero-emblem img {
	width: 100%; max-width: 540px; height: auto; display: inline-block;
	filter: drop-shadow(0 30px 40px rgba(3,40,120,.18));
}

/* ---------- Interior hero (navy) ---------- */
.gds-hero { position: relative; overflow: hidden; isolation: isolate; }
.gds-hero::before {
	content: ""; position: absolute; z-index: -1; pointer-events: none;
	width: 560px; aspect-ratio: 1; right: -6%; top: 50%; transform: translateY(-50%);
	background: var(--gds-net) center / contain no-repeat; opacity: .35;
}
.gds-hero h1 { margin-top: .75rem; }
.gds-lead { color: rgba(255,255,255,.82); max-width: 40em; }

/* ---------- Service strip ---------- */
.gds-strip__grid { gap: 0 !important; }
.gds-strip__item { text-align: center; padding: .5rem 1.75rem; position: relative; }
.gds-strip__item + .gds-strip__item { border-left: 1px solid var(--wp--preset--color--line); }
.gds-strip__item h3 {
	text-transform: uppercase; font-size: .95rem; letter-spacing: .04em; margin: 1.25rem 0 .6rem;
	color: var(--wp--preset--color--navy);
}
.gds-strip__item p { margin: 0; }
.gds-strip__item .gds-more { margin-top: 1rem; }
@media (max-width: 1020px) {
	.gds-strip__grid { gap: 2.5rem 0 !important; }
	.gds-strip__item + .gds-strip__item { border-left: 0; }
}

/* Circular icon (strip) */
.gds-ico-c { position: relative; }
.gds-ico-c::before {
	content: ""; display: block; width: 88px; height: 88px; margin: 0 auto; border-radius: 50%;
	background: radial-gradient(circle at 30% 25%, #FFFFFF, #E6EEFB 70%);
	box-shadow: inset 0 0 0 1px #DCE6F7, 0 10px 24px rgba(3,40,120,.08);
}
.gds-ico-c::after {
	content: ""; position: absolute; top: calc(.5rem + 22px); left: 50%; width: 44px; height: 44px; margin-left: -22px;
	background: linear-gradient(135deg, var(--wp--preset--color--bright), var(--wp--preset--color--royal));
	-webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat;
}

/* Square icon (cards / services page) */
.gds-ico { position: relative; }
.gds-ico::before { content: ""; display: block; width: 56px; height: 56px; border-radius: 50%; margin-bottom: 1.1rem; background: #E8F0FF; }
.gds-ico::after {
	content: ""; position: absolute; top: 14px; left: 14px; width: 28px; height: 28px;
	background: var(--wp--preset--color--royal);
	-webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat;
}
.gds-card.gds-ico::after { top: calc(clamp(1.5rem, 3vw, 2rem) + 14px); left: calc(clamp(1.5rem, 3vw, 2rem) + 14px); }
.gds-ico--lg::before { width: 64px; height: 64px; }
.gds-ico--lg::after { top: 16px; left: 16px; width: 32px; height: 32px; }

.gds-ico--cabling { --ico: var(--gds-i-cabling); }
.gds-ico--fiber { --ico: var(--gds-i-fiber); }
.gds-ico--cameras { --ico: var(--gds-i-cameras); }
.gds-ico--access { --ico: var(--gds-i-access); }
.gds-ico--wireless { --ico: var(--gds-i-wireless); }
.gds-ico--racks { --ico: var(--gds-i-racks); }

/* "Learn more" links */
.gds-more { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: .8125rem; letter-spacing: .06em; text-transform: uppercase; }
.gds-more a { text-decoration: none; display: inline-flex; align-items: center; gap: .35rem; color: var(--wp--preset--color--royal); }
.gds-more a::after {
	content: ""; width: .85em; height: .85em; background: currentColor;
	-webkit-mask: var(--gds-i-arrow) center / contain no-repeat; mask: var(--gds-i-arrow) center / contain no-repeat;
	transition: transform .2s ease;
}
.gds-more a:hover::after { transform: translateX(3px); }

/* ---------- About split ---------- */
.gds-about { padding-left: 0 !important; padding-right: 0 !important; }
.gds-about .wp-block-columns { margin: 0 !important; gap: 0 !important; align-items: stretch !important; }
.gds-about__media { position: relative; min-height: 420px; }
.gds-about__img { margin: 0 !important; height: 100%; }
.gds-about__img img { width: 100%; height: 100%; object-fit: cover; display: block; position: absolute; inset: 0; }
.gds-about__body {
	padding: clamp(2.5rem, 6vw, 5.5rem) clamp(1.25rem, 5vw, 5rem);
	max-width: 760px;
}
.gds-about__body h2 { margin: .6rem 0 1rem; }
.gds-values { gap: 0 !important; margin-top: 2rem !important; }
.gds-value { text-align: center; padding: .25rem .75rem; position: relative; }
.gds-value + .gds-value::before { content: ""; position: absolute; left: 0; top: 15%; bottom: 15%; width: 1px; background: #CCD7E8; }
.gds-value::after {
	content: ""; display: block; width: 36px; height: 36px; margin: 0 auto .65rem; order: -1;
	background: var(--wp--preset--color--royal);
	-webkit-mask: var(--vi) center / contain no-repeat; mask: var(--vi) center / contain no-repeat;
}
.gds-value { display: flex; flex-direction: column; }
.gds-value__title { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 1.15rem; color: var(--wp--preset--color--navy); margin: 0 !important; line-height: 1.2; }
.gds-value__label { font-size: .8rem; color: var(--wp--preset--color--slate); margin: .2rem 0 0 !important; }
.gds-vi--design { --vi: var(--gds-i-design); }
.gds-vi--tested { --vi: var(--gds-i-tested); }
.gds-vi--partner { --vi: var(--gds-i-partner); }
.gds-vi--support { --vi: var(--gds-i-support); }
@media (max-width: 781px) {
	.gds-about__media { min-height: 300px; }
	.gds-values { grid-template-columns: 1fr 1fr !important; gap: 1.5rem 0 !important; }
	.gds-value:nth-child(3)::before { display: none; }
}

/* ---------- Sections & grids ---------- */
.gds-section-head { margin-bottom: var(--wp--preset--spacing--50); }
.gds-section-head h2 { margin-top: .6rem; }
.gds-grid, .gds-why, .gds-steps, .gds-sector-grid, .gds-strip__grid, .gds-values {
	grid-template-columns: repeat(auto-fit, minmax(min(var(--gds-min, 260px), 100%), 1fr)) !important;
}
.gds-grid { --gds-min: 300px; } .gds-steps { --gds-min: 220px; } .gds-sector-grid { --gds-min: 240px; }
.gds-strip__grid { --gds-min: 230px; } .gds-values { --gds-min: 130px; }
.gds-grid > *, .gds-why > *, .gds-steps > *, .gds-sector-grid > *, .gds-strip__grid > *, .gds-values > * { margin: 0 !important; }
.gds-grid, .gds-why, .gds-steps, .gds-sector-grid { gap: 1.25rem; }

/* Cards */
.gds-card {
	background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: 6px;
	padding: clamp(1.5rem, 3vw, 2rem); box-shadow: var(--wp--preset--shadow--card);
}
.gds-card > :first-child { margin-top: 0; }
.gds-card h3 { margin-bottom: .4rem; }
.gds-card--dark { border: 0; }
.gds-card--dark a { color: #fff; }
.gds-card + .gds-card { margin-top: 1.25rem; }

/* Steps */
.gds-steps { counter-reset: step; position: relative; }
.gds-step { counter-increment: step; position: relative; padding: 0 .5rem; text-align: center; }
.gds-step::before {
	content: "0" counter(step); display: grid; place-items: center; width: 64px; height: 64px; margin: 0 auto; border-radius: 50%;
	background: #fff; color: var(--wp--preset--color--royal); border: 1.5px solid var(--wp--preset--color--royal);
	font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 1.05rem; position: relative; z-index: 1;
}
.gds-step::after {
	content: ""; position: absolute; top: 32px; left: calc(50% + 40px); right: calc(-50% + 40px); height: 1px;
	background: repeating-linear-gradient(90deg, #B9C8E6 0 6px, transparent 6px 12px);
}
.gds-step:last-child::after { display: none; }
@media (max-width: 1020px) { .gds-step::after { display: none; } }
.gds-step h3 { margin: 1.1rem 0 .4rem; }
.gds-step p { margin: 0; }

/* Industries */
.gds-sectors { position: relative; overflow: hidden; isolation: isolate; }
.gds-sectors::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(60% 80% at 100% 0%, rgba(3,93,226,.30), transparent 60%); }
.gds-sector { border: 1px solid rgba(255,255,255,.14); border-top: 3px solid var(--wp--preset--color--bright); border-radius: 4px; padding: 1.5rem; background: rgba(255,255,255,.03); transition: background .2s ease; }
.gds-sector:hover { background: rgba(255,255,255,.07); }
.gds-sector h3 { margin: 0 0 .4rem; }
.gds-sector p { margin: 0; color: rgba(255,255,255,.75); }

/* CTA band */
.gds-cta { position: relative; overflow: hidden; isolation: isolate; }
.gds-cta::before {
	content: ""; position: absolute; z-index: -1; right: 0; bottom: 0; width: 70%; height: 100%;
	background: var(--gds-sky) right bottom / auto 100% repeat-x;
	-webkit-mask: linear-gradient(90deg, transparent, #000 40%); mask: linear-gradient(90deg, transparent, #000 40%);
}
.gds-cta h2 { margin: 0 0 .4rem; }
.gds-cta p { margin: 0; color: rgba(255,255,255,.88); }
.gds-cta__text { max-width: 38rem; }

/* ---------- Services page ---------- */
.gds-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: var(--wp--preset--spacing--50) !important; }
.gds-chips a { color: #fff; text-decoration: none; padding: .5rem .95rem; border: 1px solid rgba(255,255,255,.25); border-radius: 3px; background: rgba(255,255,255,.06); font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: .8rem; }
.gds-chips a:hover { background: #fff; color: var(--wp--preset--color--royal); }
.gds-service h2 { margin-top: 0; }
.gds-card--list h4 { margin: 0 0 .5rem; text-transform: uppercase; letter-spacing: .08em; font-size: .78rem; color: var(--wp--preset--color--royal); }

/* Check lists */
.gds-checks { list-style: none; padding: 0; margin: 0; }
.gds-checks li { position: relative; padding-left: 1.9rem; margin: .6rem 0; }
.gds-checks li::before {
	content: ""; position: absolute; left: 0; top: .2em; width: 1.15rem; height: 1.15rem;
	background: var(--wp--preset--color--bright);
	-webkit-mask: var(--gds-i-check) center / 85% no-repeat; mask: var(--gds-i-check) center / 85% no-repeat;
}

/* ---------- Contact ---------- */
.gds-card--form h2 { margin-top: 0; }
.gds-contact-list { list-style: none; padding: 0; margin: 0; }
.gds-contact-list li { padding: .85rem 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.gds-contact-list li:last-child { border-bottom: 0; }
.gds-contact-list strong { font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; color: var(--wp--preset--color--fiber); }
.gds-next { padding-left: 1.2rem; }
.gds-next li { margin: .4rem 0; }

.gds-quote__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.25rem; }
.gds-quote__grid p { margin: 0 0 1rem; }
.gds-quote__full { grid-column: 1 / -1; }
@media (max-width: 640px) { .gds-quote__grid { grid-template-columns: 1fr; } }
.gds-quote label { display: block; font-weight: 600; font-size: .875rem; margin-bottom: .35rem; color: var(--wp--preset--color--navy); }
.gds-quote label span { color: var(--wp--preset--color--bright); }
.gds-quote input, .gds-quote select, .gds-quote textarea {
	width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; color: var(--wp--preset--color--ink);
	padding: .75rem .9rem; border: 1px solid #C9D3E3; border-radius: 3px; background: #fff;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.gds-quote input:focus, .gds-quote select:focus, .gds-quote textarea:focus { outline: none; border-color: var(--wp--preset--color--bright); box-shadow: 0 0 0 3px rgba(3,93,226,.15); }
.gds-quote button { border: 0; cursor: pointer; padding: 1rem 1.9rem; }
.gds-quote__small { font-size: .8rem; color: var(--wp--preset--color--slate); margin: .25rem 0 0; }
.gds-quote__notice { padding: 1rem 1.25rem; border-radius: 3px; margin-bottom: 1.25rem; }
.gds-quote__notice--ok { background: #E7F6EC; border: 1px solid #A6DDB6; color: #14532D; }
.gds-quote__notice--err { background: #FDECEC; border: 1px solid #F3B4B4; color: #7F1D1D; }
.gds-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Footer (light) ---------- */
.gds-footer { border-top: 1px solid var(--wp--preset--color--line); }
.gds-footer h4 { font-size: .8125rem; text-transform: uppercase; letter-spacing: .08em; color: var(--wp--preset--color--royal); margin: .4rem 0 1rem; }
.gds-footer__brand { padding-right: 1.5rem; }
@media (min-width: 782px) { .gds-footer__brand { border-right: 1px solid var(--wp--preset--color--line); } }
.gds-footer__links { list-style: none; padding: 0; margin: 0; }
.gds-footer__links li { margin: .55rem 0; color: var(--wp--preset--color--slate); }
.gds-footer__links a { color: var(--wp--preset--color--slate); text-decoration: none; }
.gds-footer__links a:hover { color: var(--wp--preset--color--royal); }
.gds-ci { position: relative; padding-left: 1.75rem; }
.gds-ci::before {
	content: ""; position: absolute; left: 0; top: .15em; width: 1.05rem; height: 1.05rem; background: var(--wp--preset--color--navy);
	-webkit-mask: var(--ci) center / contain no-repeat; mask: var(--ci) center / contain no-repeat;
}
.gds-ci--phone { --ci: var(--gds-i-phone); } .gds-ci--email { --ci: var(--gds-i-email); }
.gds-ci--pin { --ci: var(--gds-i-pin); } .gds-ci--clock { --ci: var(--gds-i-clock); }
.gds-social { margin-top: 1.5rem; }
.gds-social__title { font-family: var(--wp--preset--font-family--display); font-size: .8125rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--wp--preset--color--royal); margin: 0 0 .75rem; }
.gds-social__icons { display: flex; gap: .6rem; }
.gds-social__link { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #EAF0FB; color: var(--wp--preset--color--navy); transition: background .15s ease, color .15s ease; }
.gds-social__link svg { width: 18px; height: 18px; fill: currentColor; }
.gds-social__link svg[fill="none"] { fill: none; }
.gds-social__link:hover { background: var(--wp--preset--color--royal); color: #fff; }
.gds-footer__rule { border: 0; height: 1px; width: 100% !important; max-width: var(--wp--style--global--wide-size) !important; margin-top: var(--wp--preset--spacing--50) !important; margin-bottom: 1.1rem !important; opacity: 1; }

/* ---------- Small screens ---------- */
@media (max-width: 480px) {
	h1.wp-block-heading, .wp-block-post-title { font-size: 2rem !important; line-height: 1.1; }
	h1.gds-display { font-size: 2.35rem !important; }
	h2.wp-block-heading { font-size: 1.6rem !important; }
}
@media (max-width: 781px) {
	.gds-hero-light::before { inset: 0; opacity: .6; }
	.gds-hero-emblem img { max-width: 320px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	* { transition: none !important; }
}

/* ---------- v1.2: service pages ---------- */
:root {
	--gds-i-speaker: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='2'/%3E%3Ccircle cx='12' cy='14' r='3.5'/%3E%3Ccircle cx='12' cy='7' r='1.2'/%3E%3C/svg%3E");
	--gds-i-antenna: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 10v11M8 21h8'/%3E%3Ccircle cx='12' cy='8' r='2'/%3E%3Cpath d='M7.8 3.8a6 6 0 0 0 0 8.4M16.2 3.8a6 6 0 0 1 0 8.4M5 1.5a9.5 9.5 0 0 0 0 13M19 1.5a9.5 9.5 0 0 1 0 13'/%3E%3C/svg%3E");
	--gds-i-megaphone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10v4h3l8 5V5L6 10z'/%3E%3Cpath d='M6 14l1.5 6h3L9 15.5'/%3E%3Cpath d='M17.5 9a4 4 0 0 1 0 6M20 6.5a7.5 7.5 0 0 1 0 11'/%3E%3C/svg%3E");
	--gds-i-bell: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 16V11a6 6 0 0 1 12 0v5l1.5 2h-15z'/%3E%3Cpath d='M10 20.5a2 2 0 0 0 4 0'/%3E%3Cpath d='M12 3v2'/%3E%3C/svg%3E");
	--gds-i-thermo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 14.5V5a2 2 0 0 1 4 0v9.5a4 4 0 1 1-4 0z'/%3E%3Cpath d='M12 9v7'/%3E%3Cpath d='M17 6h3M17 9.5h3'/%3E%3C/svg%3E");
	--gds-i-screen: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='4' width='19' height='12' rx='1.5'/%3E%3Cpath d='M8 20h8M12 16v4'/%3E%3Ccircle cx='12' cy='10' r='2'/%3E%3C/svg%3E");
	--gds-i-signal: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20v-3M9 20v-6M14 20v-9M19 20V5'/%3E%3C/svg%3E");
	--gds-i-remove: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7c4 0 4 4 8 4s4-4 8-4'/%3E%3Cpath d='M3 12c2 0 3 1 4 2'/%3E%3Cpath d='M14 14l6 6M20 14l-6 6'/%3E%3C/svg%3E");
}
.gds-ico--speaker { --ico: var(--gds-i-speaker); }
.gds-ico--antenna { --ico: var(--gds-i-antenna); }
.gds-ico--megaphone { --ico: var(--gds-i-megaphone); }
.gds-ico--bell { --ico: var(--gds-i-bell); }
.gds-ico--thermo { --ico: var(--gds-i-thermo); }
.gds-ico--screen { --ico: var(--gds-i-screen); }
.gds-ico--signal { --ico: var(--gds-i-signal); }
.gds-ico--remove { --ico: var(--gds-i-remove); }

/* Breadcrumbs */
.gds-crumbs { font-size: .8rem; color: rgba(255,255,255,.65); margin: 0 0 1.25rem !important; }
.gds-crumbs a { color: rgba(255,255,255,.85); text-decoration: none; }
.gds-crumbs a:hover { color: #fff; text-decoration: underline; }
.gds-crumbs__sep { opacity: .45; margin: 0 .35rem; }
.gds-hero .wp-block-buttons { margin-top: var(--wp--preset--spacing--40); }

/* Linked cards */
.gds-card--link { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.gds-card--link:hover { transform: translateY(-3px); border-color: #B9C8E6; box-shadow: 0 2px 4px rgba(3,18,39,.06), 0 16px 36px rgba(3,18,39,.10); }
.gds-card--link h3 a { color: var(--wp--preset--color--navy); text-decoration: none; }
.gds-card--link h3 a:hover { color: var(--wp--preset--color--royal); }

/* Why / benefits items */
.gds-why__item { border-top: 2px solid var(--wp--preset--color--royal); padding-top: 1.1rem; }
.gds-why__item h3 { margin: .35rem 0 .35rem; }
.gds-why__item p { margin: 0; }
.gds-num { font-family: var(--wp--preset--font-family--display); font-weight: 800; color: var(--wp--preset--color--bright); font-size: .85rem; margin: 0; letter-spacing: .08em; }

/* Industry tags */
.gds-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; max-width: 900px; margin-inline: auto !important; }
.gds-tags span { padding: .55rem 1rem; border: 1px solid var(--wp--preset--color--line); border-radius: 3px; font-size: .875rem; font-weight: 600; color: var(--wp--preset--color--navy); background: var(--wp--preset--color--mist); }

/* FAQ accordion */
.gds-faqs { border-top: 1px solid var(--wp--preset--color--line); }
.gds-faq { border-bottom: 1px solid var(--wp--preset--color--line); padding: 0; margin: 0 !important; }
.gds-faq summary {
	cursor: pointer; list-style: none; padding: 1.15rem 2.5rem 1.15rem 0; position: relative;
	font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 1.05rem; color: var(--wp--preset--color--navy);
}
.gds-faq summary::-webkit-details-marker { display: none; }
.gds-faq summary::after {
	content: ""; position: absolute; right: .25rem; top: 50%; width: 1rem; height: 1rem; margin-top: -.5rem;
	background: var(--wp--preset--color--royal); transition: transform .2s ease;
	-webkit-mask: var(--gds-i-arrow) center / contain no-repeat; mask: var(--gds-i-arrow) center / contain no-repeat; transform: rotate(90deg);
}
.gds-faq[open] summary::after { transform: rotate(-90deg); }
.gds-faq summary:hover { color: var(--wp--preset--color--royal); }
.gds-faq p { margin: 0 0 1.25rem; color: var(--wp--preset--color--slate); }

/* Services hub link lists */
.gds-linklist { list-style: none; padding: 0; margin: 0; }
.gds-linklist li { border-bottom: 1px solid var(--wp--preset--color--line); margin: 0; }
.gds-linklist li:last-child { border-bottom: 0; }
.gds-linklist a { display: flex; justify-content: space-between; align-items: center; padding: .7rem 0; color: var(--wp--preset--color--navy); text-decoration: none; font-weight: 600; }
.gds-linklist a::after { content: ""; width: .8em; height: .8em; background: var(--wp--preset--color--royal); -webkit-mask: var(--gds-i-arrow) center / contain no-repeat; mask: var(--gds-i-arrow) center / contain no-repeat; }
.gds-linklist a:hover { color: var(--wp--preset--color--royal); }

/* ---------- Mega menu (desktop) ---------- */
@media (min-width: 600px) {
	.gds-header > .alignwide { position: relative; }
	.gds-header .wp-block-navigation.gds-nav,
	.gds-header .gds-nav .wp-block-navigation__responsive-container:not(.is-menu-open),
	.gds-header .gds-nav .wp-block-navigation__responsive-close,
	.gds-header .gds-nav .wp-block-navigation__responsive-dialog,
	.gds-header .gds-nav .wp-block-navigation__responsive-container-content,
	.gds-header .gds-nav .wp-block-navigation__container,
	.gds-header .gds-nav li.gds-mega { position: static !important; }
	/* Panel (hidden until hover / focus / click, like any core submenu) */
	.gds-nav li.gds-mega > .wp-block-navigation__submenu-container {
		left: 0 !important; right: 0 !important; top: calc(100% + 1rem) !important; width: auto !important; min-width: 0 !important;
		display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem;
		padding: 0 2rem !important; border: 0 !important;
		box-shadow: 0 24px 48px rgba(3,18,39,.14); background: #fff !important; border-radius: 0 0 6px 6px;
		text-transform: none; letter-spacing: 0;
	}
	.gds-nav li.gds-mega:hover > .wp-block-navigation__submenu-container,
	.gds-nav li.gds-mega:focus-within > .wp-block-navigation__submenu-container,
	.gds-nav li.gds-mega > .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
		padding: 1.75rem 2rem !important; border: 1px solid var(--wp--preset--color--line) !important; border-top: 3px solid var(--wp--preset--color--royal) !important;
	}
	.gds-nav li.gds-mega > .wp-block-navigation__submenu-container::before { content: ""; position: absolute; left: 0; right: 0; top: -1.25rem; height: 1.25rem; }
	/* Columns */
	.gds-nav li.gds-mega__col { flex-direction: column; align-items: flex-start !important; justify-content: flex-start !important; position: static; }
	.gds-nav li.gds-mega__col > .wp-block-navigation-item__content {
		font-weight: 800; font-size: .85rem; letter-spacing: .04em; text-transform: uppercase; color: var(--wp--preset--color--navy);
		padding: 0 0 .65rem 0 !important; margin-bottom: .4rem; border-bottom: 1px solid var(--wp--preset--color--line); width: 100%; flex: 0 0 auto !important; height: auto !important;
	}
	.gds-nav li.gds-mega__col > .wp-block-navigation-item__content::after,
	.gds-nav li.gds-mega__col > .wp-block-navigation__submenu-icon { display: none; }
	.gds-nav li.gds-mega__col > .wp-block-navigation__submenu-container {
		position: static !important; visibility: inherit !important; opacity: inherit !important; width: 100% !important; height: auto !important;
		min-width: 0 !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; background: transparent !important;
		overflow: visible !important; transform: none !important;
	}
	.gds-nav li.gds-mega__col .wp-block-navigation-item__content { white-space: normal; }
	.gds-nav li.gds-mega__col li .wp-block-navigation-item__content {
		font-weight: 500; font-size: .875rem; color: var(--wp--preset--color--slate); padding: .4rem 0 !important; text-transform: none; letter-spacing: 0;
	}
	.gds-nav li.gds-mega__col li .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--royal); }
	.gds-nav li.gds-mega__col li .wp-block-navigation-item__content::after { display: none; }
}
@media (min-width: 600px) and (max-width: 900px) {
	.gds-nav li.gds-mega > .wp-block-navigation__submenu-container { grid-template-columns: repeat(2, 1fr); }
}
/* Mobile overlay: group headings */
.gds-nav .is-menu-open .gds-mega__col > .wp-block-navigation-item__content { font-weight: 800; }

/* ---------- v1.3: industries ---------- */
:root {
	--gds-i-education: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9l10-5 10 5-10 5z'/%3E%3Cpath d='M6 11v5c0 1.5 3 3 6 3s6-1.5 6-3v-5'/%3E%3Cpath d='M22 9v6'/%3E%3C/svg%3E");
	--gds-i-healthcare: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='4'/%3E%3Cpath d='M12 7.5v9M7.5 12h9'/%3E%3C/svg%3E");
	--gds-i-government: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9.5L12 4l9 5.5z'/%3E%3Cpath d='M5 10v8M9.5 10v8M14.5 10v8M19 10v8'/%3E%3Cpath d='M3 20.5h18'/%3E%3C/svg%3E");
	--gds-i-commercial: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='11' height='18' rx='1'/%3E%3Cpath d='M15 9h4a1 1 0 0 1 1 1v11'/%3E%3Cpath d='M7.5 7h4M7.5 11h4M7.5 15h4M17.5 13v.01M17.5 17v.01'/%3E%3Cpath d='M2.5 21h19'/%3E%3C/svg%3E");
	--gds-i-warehouse: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 9L12 4l9.5 5v12h-19z'/%3E%3Crect x='7' y='13' width='10' height='8'/%3E%3Cpath d='M7 16h10M7 18.5h10'/%3E%3C/svg%3E");
	--gds-i-development: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V4h3v17M2 21h20'/%3E%3Cpath d='M7 4h13l-3 3'/%3E%3Cpath d='M17 7v4'/%3E%3Crect x='15' y='11' width='4' height='3'/%3E%3Cpath d='M10 21v-6h6v6'/%3E%3C/svg%3E");
	--gds-i-hospitality: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 18h16'/%3E%3Cpath d='M5 18a7 7 0 0 1 14 0'/%3E%3Cpath d='M12 11V9.5M10.5 9.5h3'/%3E%3Cpath d='M3 21h18'/%3E%3C/svg%3E");
}
.gds-ico--education { --ico: var(--gds-i-education); }
.gds-ico--healthcare { --ico: var(--gds-i-healthcare); }
.gds-ico--government { --ico: var(--gds-i-government); }
.gds-ico--commercial { --ico: var(--gds-i-commercial); }
.gds-ico--warehouse { --ico: var(--gds-i-warehouse); }
.gds-ico--development { --ico: var(--gds-i-development); }
.gds-ico--hospitality { --ico: var(--gds-i-hospitality); }

/* Home industries band: linked cards with icons */
.gds-sector--link { position: relative; padding-top: 4.4rem; }
.gds-sector--link::before {
	content: ""; position: absolute; top: 1.4rem; left: 1.5rem; width: 2rem; height: 2rem; background: var(--wp--preset--color--fiber);
	-webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat;
}
.gds-sector--link h3 a { color: #fff; text-decoration: none; }
.gds-sector--link h3 a::after { content: ""; position: absolute; inset: 0; }
.gds-sector--link:hover { border-color: rgba(98,198,255,.6); background: rgba(255,255,255,.08); }
.gds-sector-grid { --gds-min: 250px; }
.gds-more--light { margin-top: var(--wp--preset--spacing--50) !important; }
.gds-more--light a { color: var(--wp--preset--color--fiber); }

/* Industry tags are links */
.gds-tags a { padding: .55rem 1rem; border: 1px solid var(--wp--preset--color--line); border-radius: 3px; font-size: .875rem; font-weight: 600; color: var(--wp--preset--color--navy); background: var(--wp--preset--color--mist); text-decoration: none; transition: background .15s ease, color .15s ease, border-color .15s ease; }
.gds-tags a:hover { background: var(--wp--preset--color--royal); border-color: var(--wp--preset--color--royal); color: #fff; }

/* Industries dropdown (desktop) */
@media (min-width: 600px) {
	.gds-nav li.gds-drop > .wp-block-navigation__submenu-container {
		top: calc(100% + 1rem) !important; min-width: 250px !important; padding: .6rem 0 !important;
		border: 1px solid var(--wp--preset--color--line) !important; border-top: 3px solid var(--wp--preset--color--royal) !important;
		border-radius: 0 0 6px 6px; box-shadow: 0 18px 40px rgba(3,18,39,.14); text-transform: none; letter-spacing: 0;
	}
	.gds-nav li.gds-drop > .wp-block-navigation__submenu-container::before { content: ""; position: absolute; left: 0; right: 0; top: -1.25rem; height: 1.25rem; }
	.gds-nav li.gds-drop li .wp-block-navigation-item__content { padding: .55rem 1.25rem !important; font-weight: 500; font-size: .9rem; color: var(--wp--preset--color--slate); text-transform: none; letter-spacing: 0; }
	.gds-nav li.gds-drop li .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--royal); background: var(--wp--preset--color--mist); }
	.gds-nav li.gds-drop li .wp-block-navigation-item__content::after { display: none; }
}

.gds-ico--clock { --ico: var(--gds-i-clock); }
.gds-sectors > .gds-more--light { max-width: var(--wp--style--global--wide-size) !important; }

/* ---------- v1.4: hover-safe dropdowns ---------- */
@media (min-width: 600px) {
	/* Invisible bridge covering the whole gap between the menu link and its panel */
	/* (sized so it never covers the menu link itself; the close delay below covers any remaining pixels) */
	.gds-nav li.gds-mega > .wp-block-navigation__submenu-container::before {
		content: ""; position: absolute; left: 0; right: 0; top: -1.5rem; height: 1.5rem;
	}
	.gds-nav li.gds-drop > .wp-block-navigation__submenu-container::before {
		content: ""; position: absolute; left: 0; right: 0; top: -1rem; height: 1rem;
	}
	/* Keep panels laid out while hidden, and close them after a short delay (hover intent) */
	.gds-nav li.gds-mega > .wp-block-navigation__submenu-container,
	.gds-nav li.gds-drop > .wp-block-navigation__submenu-container {
		height: auto !important; overflow: visible !important;
		transition: opacity .15s ease .25s, visibility 0s linear .4s !important;
	}
	.gds-nav li.gds-mega:hover > .wp-block-navigation__submenu-container,
	.gds-nav li.gds-mega:focus-within > .wp-block-navigation__submenu-container,
	.gds-nav li.gds-drop:hover > .wp-block-navigation__submenu-container,
	.gds-nav li.gds-drop:focus-within > .wp-block-navigation__submenu-container {
		transition: opacity .15s ease 0s, visibility 0s linear 0s !important;
	}
	/* Mega panel keeps its padding/border in both states so it doesn't jump */
	.gds-nav li.gds-mega > .wp-block-navigation__submenu-container {
		padding: 1.75rem 2rem !important; border: 1px solid var(--wp--preset--color--line) !important; border-top: 3px solid var(--wp--preset--color--royal) !important;
	}
}
@media (min-width: 600px) {
	/* Moving to another top-level item closes the previous panel immediately */
	.gds-nav .wp-block-navigation__container:hover > li:not(:hover) > .wp-block-navigation__submenu-container {
		transition: opacity 0s, visibility 0s !important;
	}
}

/* ---------- v1.4: photos ---------- */
:root { --gds-i-multifamily: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='8' height='14' rx='1'/%3E%3Crect x='11' y='3' width='10' height='18' rx='1'/%3E%3Cpath d='M6 10.5h2M6 14h2M6 17.5h2M14 6.5h4M14 10h4M14 13.5h4M14 17h4'/%3E%3C/svg%3E"); }
.gds-ico--multifamily { --ico: var(--gds-i-multifamily); }

/* Hero background photos (set per page via --gds-photo) */
body.gds-has-photo .gds-hero.has-background {
	background-image: linear-gradient(90deg, rgba(3,18,39,.96) 0%, rgba(3,18,39,.88) 42%, rgba(3,18,39,.55) 75%, rgba(3,18,39,.35) 100%), var(--gds-photo) !important;
	background-size: cover !important; background-position: center !important;
}
body.gds-has-photo .gds-hero::before { opacity: .18; }
@media (max-width: 781px) {
	body.gds-has-photo .gds-hero.has-background { background-image: linear-gradient(rgba(3,18,39,.9), rgba(3,18,39,.86)), var(--gds-photo) !important; }
}

/* Call-to-action band: Miami skyline photo under the blue */
.gds-cta.has-background {
	background-image: linear-gradient(100deg, rgba(1,62,189,.97) 0%, rgba(1,62,189,.9) 45%, rgba(3,93,226,.72) 100%), url("../images/photos/contact.webp") !important;
	background-size: cover !important; background-position: center 60% !important;
}
.gds-cta::before { display: none; }

/* Home "About" photo */
.gds-about__img img { object-position: center; }

/* Home industries band: photo cards */
.gds-sector--link { background-size: cover !important; background-position: center !important; min-height: 15rem; display: flex; flex-direction: column; justify-content: flex-end; }
.gds-sector--link p { color: rgba(255,255,255,.85) !important; }
.gds-sector--link.gds-ico--education { background-image: linear-gradient(180deg, rgba(3,18,39,.55) 0%, rgba(3,18,39,.92) 70%), url("../images/photos/education.webp"); }
.gds-sector--link.gds-ico--healthcare { background-image: linear-gradient(180deg, rgba(3,18,39,.55) 0%, rgba(3,18,39,.92) 70%), url("../images/photos/healthcare.webp"); }
.gds-sector--link.gds-ico--government { background-image: linear-gradient(180deg, rgba(3,18,39,.55) 0%, rgba(3,18,39,.92) 70%), url("../images/photos/government.webp"); }
.gds-sector--link.gds-ico--commercial { background-image: linear-gradient(180deg, rgba(3,18,39,.55) 0%, rgba(3,18,39,.92) 70%), url("../images/photos/commercial.webp"); }
.gds-sector--link.gds-ico--warehouse { background-image: linear-gradient(180deg, rgba(3,18,39,.55) 0%, rgba(3,18,39,.92) 70%), url("../images/photos/warehouse.webp"); }
.gds-sector--link.gds-ico--development { background-image: linear-gradient(180deg, rgba(3,18,39,.55) 0%, rgba(3,18,39,.92) 70%), url("../images/photos/development.webp"); }
.gds-sector--link.gds-ico--hospitality { background-image: linear-gradient(180deg, rgba(3,18,39,.55) 0%, rgba(3,18,39,.92) 70%), url("../images/photos/hospitality.webp"); }
.gds-sector--link.gds-ico--multifamily { background-image: linear-gradient(180deg, rgba(3,18,39,.55) 0%, rgba(3,18,39,.92) 70%), url("../images/photos/multifamily.webp"); }
.gds-sector--link:hover { background-color: transparent; filter: brightness(1.08); }

/* =========================================================
   v1.5: home hero photo + mobile menu accordions
   ========================================================= */

/* Hero photo (enterprise glass towers with a network overlay) */
.gds-hero-emblem:has(img[src*="/photos/"]) { position: relative; isolation: isolate; margin: 0 0 0 auto !important; max-width: 560px; }
.gds-hero-emblem img[src*="/photos/"] {
	display: block; width: 100%; max-width: none; aspect-ratio: 1 / 1.08; object-fit: cover; object-position: center;
	border-radius: 6px; filter: none; box-shadow: 0 40px 80px -30px rgba(3,18,39,.55), 0 0 0 1px rgba(3,18,39,.06);
}
/* Offset brand frame behind the photo */
.gds-hero-emblem:has(img[src*="/photos/"])::before {
	content: ""; position: absolute; z-index: -1; inset: 1.5rem -1.5rem -1.5rem 1.5rem; border-radius: 6px;
	border: 2px solid var(--wp--preset--color--royal); opacity: .35;
}
/* Network nodes + blue tint over the photo */
.gds-hero-emblem:has(img[src*="/photos/"])::after {
	content: ""; position: absolute; inset: 0; border-radius: 6px; pointer-events: none;
	background:
		var(--gds-net) 115% -10% / 95% no-repeat,
		linear-gradient(200deg, rgba(3,93,226,.10) 0%, rgba(3,18,39,.05) 45%, rgba(3,18,39,.55) 100%);
	mix-blend-mode: normal; opacity: .9;
}
@media (max-width: 781px) {
	.gds-hero-emblem:has(img[src*="/photos/"]) { margin: 1rem auto 0 !important; max-width: 100%; }
	.gds-hero-emblem img[src*="/photos/"] { max-width: 100%; aspect-ratio: 4 / 3; }
	.gds-hero-emblem:has(img[src*="/photos/"])::before { inset: .9rem -.6rem -.9rem .9rem; }
}

/* ---------- Mobile menu (overlay): collapsible sub-menus ---------- */
.gds-m-toggle { display: none; }
.gds-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 1.25rem 1.25rem 2rem !important; }
.gds-nav .is-menu-open .wp-block-navigation__responsive-container-content,
.gds-nav .is-menu-open .wp-block-navigation__container { align-items: stretch !important; width: 100%; gap: 0 !important; padding-top: .5rem; }
.gds-nav .is-menu-open .wp-block-navigation-item {
	display: flex !important; flex-wrap: wrap !important; align-items: center !important; width: 100%;
	border-bottom: 1px solid var(--wp--preset--color--line); margin: 0 !important;
}
.gds-nav .is-menu-open .wp-block-navigation-item > .wp-block-navigation-item__content {
	flex: 1 1 auto; padding: .95rem 0 !important; text-align: left; border: 0 !important;
}
.gds-nav .is-menu-open .wp-block-navigation-item__content::after { display: none !important; }

/* Level 1: Home, Services, About, Industries, Contact */
.gds-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--display) !important; font-weight: 800 !important; font-size: 1.05rem !important;
	letter-spacing: .06em !important; text-transform: uppercase !important; color: var(--wp--preset--color--navy) !important;
}

/* Toggle buttons */
.gds-nav .is-menu-open .gds-m-toggle {
	display: inline-grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; margin: 0 -.5rem 0 .25rem; padding: 0;
	background: transparent; border: 0; border-radius: 50%; cursor: pointer; color: var(--wp--preset--color--royal);
}
.gds-nav .is-menu-open .gds-m-toggle:hover, .gds-nav .is-menu-open .gds-m-toggle:focus-visible { background: var(--wp--preset--color--mist); }
.gds-nav .is-menu-open .gds-m-toggle span {
	width: 14px; height: 14px; background: currentColor; transform: rotate(90deg); transition: transform .2s ease;
	-webkit-mask: var(--gds-i-arrow) center / contain no-repeat; mask: var(--gds-i-arrow) center / contain no-repeat;
}
.gds-nav .is-menu-open .gds-m-open > .gds-m-toggle span { transform: rotate(-90deg); }

/* Sub-menus collapsed until toggled */
.gds-nav .is-menu-open .has-child > .wp-block-navigation__submenu-container {
	display: none !important; flex: 0 0 100%; width: 100% !important; min-width: 0 !important;
	padding: 0 0 .5rem 0 !important; margin: 0 !important; border: 0 !important; box-shadow: none !important;
	background: transparent !important; gap: 0 !important;
}
.gds-nav .is-menu-open .has-child.gds-m-open > .wp-block-navigation__submenu-container { display: flex !important; flex-direction: column; }

/* Level 2: service categories and industries */
.gds-nav .is-menu-open .wp-block-navigation__container > li > .wp-block-navigation__submenu-container > li {
	border-bottom: 0; border-left: 3px solid var(--wp--preset--color--line); padding-left: 1rem; margin-left: .15rem !important;
}
.gds-nav .is-menu-open .wp-block-navigation__container > li > .wp-block-navigation__submenu-container > li.gds-m-open { border-left-color: var(--wp--preset--color--royal); }
.gds-nav .is-menu-open .wp-block-navigation__container > li > .wp-block-navigation__submenu-container > li > .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--display) !important; font-weight: 700 !important; font-size: .98rem !important;
	letter-spacing: 0 !important; text-transform: none !important; color: var(--wp--preset--color--navy-2) !important; padding: .7rem 0 !important;
}

/* Level 3: individual services */
.gds-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container { padding: 0 0 .6rem .25rem !important; }
.gds-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container > li { border: 0; padding: 0; margin: 0 !important; }
.gds-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container > li > .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--body) !important; font-weight: 400 !important; font-size: .92rem !important;
	letter-spacing: 0 !important; text-transform: none !important; color: var(--wp--preset--color--slate) !important;
	padding: .45rem 0 .45rem .9rem !important; position: relative;
}
.gds-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container > li > .wp-block-navigation-item__content::before {
	content: ""; position: absolute; left: 0; top: 50%; width: 5px; height: 5px; margin-top: -2.5px; border-radius: 50%; background: var(--wp--preset--color--bright);
}
.gds-nav .is-menu-open .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--royal) !important; }
/* Overlay rows: label left, toggle right on the same line */
.gds-nav .is-menu-open .wp-block-navigation-item { flex-direction: row !important; justify-content: space-between !important; text-align: left !important; }
.gds-nav .is-menu-open .wp-block-navigation-item > .wp-block-navigation-item__content { flex: 1 1 0 !important; min-width: 0; display: block; }
.gds-nav .is-menu-open .gds-m-toggle { order: 2; }
.gds-nav .is-menu-open .has-child > .wp-block-navigation__submenu-container { order: 3; align-items: stretch !important; }
.gds-nav .is-menu-open .wp-block-navigation__submenu-container .gds-m-toggle { margin-right: 0; }

/* =========================================================
   v1.6: home hero collage + modern security camera icon
   ========================================================= */
:root { --gds-i-cameras: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='4.5' width='19' height='3.5' rx='1.2'/%3E%3Cpath d='M4.5 8v2a7.5 7.5 0 0 0 15 0V8'/%3E%3Ccircle cx='12' cy='11.6' r='3.6'/%3E%3Ccircle cx='12' cy='11.6' r='1.3' fill='black' stroke='none'/%3E%3Ccircle cx='17.1' cy='10.2' r='.55' fill='black' stroke='none'/%3E%3C/svg%3E"); }

.gds-collage {
	position: relative; isolation: isolate; display: grid !important;
	grid-template-columns: repeat(6, 1fr); grid-template-rows: repeat(3, 1fr); gap: 10px;
	aspect-ratio: 1 / 1.02; width: 100%; max-width: 580px; margin: 0 0 0 auto !important;
}
.gds-collage > * { margin: 0 !important; }
.gds-collage::after {
	content: ""; position: absolute; z-index: -1; inset: 1.4rem -1.4rem -1.4rem 1.4rem; border-radius: 8px;
	border: 2px solid var(--wp--preset--color--royal); opacity: .3;
}
.gds-collage::before {
	content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cg stroke='white' stroke-opacity='.9' stroke-width='1.6' stroke-dasharray='4 4' fill='none'%3E%3Cline x1='66.67' y1='66.67' x2='33.3' y2='33.3' vector-effect='non-scaling-stroke'/%3E%3Cline x1='66.67' y1='66.67' x2='83.3' y2='16.7' vector-effect='non-scaling-stroke'/%3E%3Cline x1='66.67' y1='66.67' x2='83.3' y2='50' vector-effect='non-scaling-stroke'/%3E%3Cline x1='66.67' y1='66.67' x2='25' y2='83.3' vector-effect='non-scaling-stroke'/%3E%3Cline x1='66.67' y1='66.67' x2='75' y2='83.3' vector-effect='non-scaling-stroke'/%3E%3C/g%3E%3Cg fill='%2362C6FF'%3E%3Ccircle cx='33.3' cy='33.3' r='.9'/%3E%3Ccircle cx='83.3' cy='16.7' r='.9'/%3E%3Ccircle cx='83.3' cy='50' r='.9'/%3E%3Ccircle cx='25' cy='83.3' r='.9'/%3E%3Ccircle cx='75' cy='83.3' r='.9'/%3E%3C/g%3E%3C/svg%3E") center / 100% 100% no-repeat; filter: drop-shadow(0 0 3px rgba(98,198,255,.9));
}
.gds-tile { position: relative; overflow: hidden; border-radius: 6px; height: 100%; min-height: 0; box-shadow: 0 18px 40px -18px rgba(3,18,39,.55); }
.gds-tile img { display: block; width: 100%; height: 100% !important; object-fit: cover; transition: transform .5s ease; }
.gds-tile:hover img { transform: scale(1.05); }
.gds-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(3,18,39,0) 45%, rgba(3,18,39,.6) 100%); pointer-events: none; }
.gds-tile figcaption {
	position: absolute; left: .6rem; bottom: .6rem; z-index: 3; margin: 0 !important;
	padding: .3rem .6rem; border-radius: 3px; background: rgba(3,18,39,.78); backdrop-filter: blur(4px);
	color: #fff; font-family: var(--wp--preset--font-family--display); font-size: .68rem; font-weight: 700;
	letter-spacing: .08em; text-transform: uppercase; white-space: nowrap;
}
.gds-tile--skyline { grid-column: 1 / 5; grid-row: 1 / 3; }
.gds-tile--security { grid-column: 5 / 7; grid-row: 1; }
.gds-tile--access { grid-column: 5 / 7; grid-row: 2; }
.gds-tile--education { grid-column: 1 / 4; grid-row: 3; }
.gds-tile--healthcare { grid-column: 4 / 7; grid-row: 3; }
.gds-collage__hub {
	position: absolute !important; z-index: 4; left: 66.67%; top: 66.67%; width: 84px; height: 84px; transform: translate(-50%, -50%);
	border-radius: 50%; background: #fff; padding: 9px; box-sizing: border-box;
	box-shadow: 0 0 0 5px rgba(255,255,255,.35), 0 0 0 10px rgba(3,93,226,.18), 0 14px 30px rgba(3,18,39,.4);
}
.gds-collage__hub img { width: 100%; height: 100%; object-fit: contain; display: block; }
.gds-collage__hub::after {
	content: ""; position: absolute; inset: -10px; border-radius: 50%; border: 2px solid rgba(98,198,255,.8);
	animation: gds-pulse 2.6s ease-out infinite;
}
@keyframes gds-pulse { 0% { transform: scale(.85); opacity: .9; } 100% { transform: scale(1.35); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .gds-collage__hub::after { animation: none; } }
@media (max-width: 781px) {
	.gds-collage { max-width: 100%; margin: 1.25rem auto 0 !important; gap: 6px; }
	.gds-collage::after { inset: .8rem -.6rem -.8rem .8rem; }
	.gds-collage__hub { width: 64px; height: 64px; padding: 7px; }
	.gds-tile figcaption { font-size: .58rem; left: .4rem; bottom: .4rem; padding: .22rem .45rem; }
}

/* Keep the Access Control caption clear of the hub badge */
.gds-tile--access figcaption { top: .6rem; bottom: auto; }
.gds-tile figcaption { max-width: calc(100% - 1.2rem); white-space: normal; line-height: 1.3; }

/* ---------- v1.7: overlapping collage ---------- */
.gds-collage { display: block !important; aspect-ratio: 1 / 1.04; }
.gds-collage::before { z-index: 5; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cg stroke='white' stroke-opacity='.95' stroke-width='1.6' stroke-dasharray='4 4' fill='none'%3E%3Cline x1='57' y1='58' x2='32.0' y2='32.5' vector-effect='non-scaling-stroke'/%3E%3Cline x1='57' y1='58' x2='77.5' y2='16.5' vector-effect='non-scaling-stroke'/%3E%3Cline x1='57' y1='58' x2='80.5' y2='46.0' vector-effect='non-scaling-stroke'/%3E%3Cline x1='57' y1='58' x2='26.5' y2='73.0' vector-effect='non-scaling-stroke'/%3E%3Cline x1='57' y1='58' x2='70.5' y2='80.0' vector-effect='non-scaling-stroke'/%3E%3C/g%3E%3Cg fill='%2362C6FF'%3E%3Ccircle cx='32.0' cy='32.5' r='.9'/%3E%3Ccircle cx='77.5' cy='16.5' r='.9'/%3E%3Ccircle cx='80.5' cy='46.0' r='.9'/%3E%3Ccircle cx='26.5' cy='73.0' r='.9'/%3E%3Ccircle cx='70.5' cy='80.0' r='.9'/%3E%3C/g%3E%3C/svg%3E"); }
.gds-tile {
	position: absolute !important; height: auto; border: 4px solid #fff; border-radius: 8px; box-sizing: border-box;
	box-shadow: 0 22px 44px -16px rgba(3,18,39,.5), 0 2px 6px rgba(3,18,39,.12);
	transition: transform .35s ease, box-shadow .35s ease;
}
.gds-tile img { position: absolute; inset: 0; border-radius: 4px; }
.gds-tile:hover { z-index: 6 !important; transform: translateY(-4px); box-shadow: 0 30px 60px -18px rgba(3,18,39,.6), 0 2px 6px rgba(3,18,39,.12); }
.gds-tile:hover img { transform: scale(1.04); }
.gds-tile--skyline { left: 0%; top: 5%; width: 64%; height: 55%; z-index: 1; grid-area: auto; }
.gds-tile--security { left: 55%; top: 0%; width: 45%; height: 33%; z-index: 3; grid-area: auto; }
.gds-tile--access { left: 61%; top: 30%; width: 39%; height: 32%; z-index: 2; grid-area: auto; }
.gds-tile--education { left: 3%; top: 55%; width: 47%; height: 36%; z-index: 2; grid-area: auto; }
.gds-tile--healthcare { left: 44%; top: 60%; width: 53%; height: 40%; z-index: 3; grid-area: auto; }
.gds-collage__hub { left: 57%; top: 58%; z-index: 7; }
.gds-tile--skyline figcaption { top: .6rem; bottom: auto; }
.gds-tile--access figcaption { top: auto; bottom: .6rem; left: auto; right: .6rem; }
@media (max-width: 781px) {
	.gds-tile { border-width: 3px; }
	.gds-collage__hub { width: 58px; height: 58px; }
}
.gds-tile--security figcaption { top: .6rem; bottom: auto; }

/* v1.7.2: clean collage photos, no labels or dark overlay */
.gds-tile figcaption { display: none !important; }
.gds-tile::after { display: none; }
.gds-tile--access img { object-position: 62% center; }

/* v1.8: Community Access (gate) icon */
:root { --gds-i-gate: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='9' width='4' height='12' rx='1'/%3E%3Cpath d='M6.5 12h15'/%3E%3Cpath d='M6.5 15h15'/%3E%3Cpath d='M10 12l2 3M14 12l2 3M18 12l2 3'/%3E%3Cpath d='M1.5 21h21'/%3E%3Ccircle cx='4.5' cy='6' r='1.6'/%3E%3C/svg%3E"); }
.gds-ico--gate { --ico: var(--gds-i-gate); }

/* ---------- v1.9: service areas, projects, thank you, mobile call bar ---------- */
.gds-ico--pin { --ico: var(--gds-i-pin); }

/* Projects */
.gds-project .wp-block-columns { align-items: center; }
.gds-project__img img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 6px; box-shadow: 0 18px 40px rgba(3, 18, 39, .12); }

/* Thank you */
.gds-ty-phone { font-family: var(--wp--preset--font-family--heading, inherit); font-weight: 700; }
.gds-ty-phone a { color: var(--wp--preset--color--royal); text-decoration: none; }

/* Mobile call / quote bar */
.gds-callbar { display: none; }
@media (max-width: 781px) {
	.gds-callbar {
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
		display: grid; grid-template-columns: 1fr 1fr; gap: 8px;
		padding: 8px 12px calc(8px + env(safe-area-inset-bottom));
		background: rgba(255, 255, 255, .97); border-top: 1px solid var(--wp--preset--color--line);
		box-shadow: 0 -6px 20px rgba(3, 18, 39, .10);
	}
	.gds-callbar--single { grid-template-columns: 1fr; }
	.gds-callbar a {
		display: flex; align-items: center; justify-content: center; gap: .5rem;
		min-height: 48px; border-radius: 4px; font-family: var(--wp--preset--font-family--heading, inherit);
		font-weight: 700; font-size: .95rem; text-decoration: none;
	}
	.gds-callbar__call { color: var(--wp--preset--color--royal); border: 2px solid var(--wp--preset--color--royal); background: #fff; }
	.gds-callbar__call::before {
		content: ""; width: 18px; height: 18px; background: currentColor;
		-webkit-mask: var(--gds-i-phone) center / contain no-repeat; mask: var(--gds-i-phone) center / contain no-repeat;
	}
	.gds-callbar__quote { color: #fff; background: var(--wp--preset--color--royal); border: 2px solid var(--wp--preset--color--royal); }
	body:has(.gds-callbar) { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
	body:has(.wp-block-navigation__responsive-container.is-menu-open) .gds-callbar { display: none; }
}
.gds-section p + p.gds-kicker { margin-top: 2.2rem; }
.gds-section .gds-grid + .wp-block-group { margin-top: 2rem; }
.gds-project__svc { margin-top: 1.2rem; color: var(--wp--preset--color--slate); }
.gds-project__svc a { color: var(--wp--preset--color--royal); font-weight: 600; text-decoration: none; }
.gds-project__svc a:hover { text-decoration: underline; }
.gds-project-note { padding-bottom: 0 !important; }
