/**
 * Tek Doctor — theme styles (front end and block editor).
 * Icons: Lucide (ISC licence).
 */

:root {
	--td-i-arrow-up-right: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M7 7h10v10'/><path d='M7 17 17 7'/></svg>");
	--td-i-arrow-right: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14'/><path d='m12 5 7 7-7 7'/></svg>");
	--td-i-arrow-down: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 5v14'/><path d='m19 12-7 7-7-7'/></svg>");
	--td-i-check: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>");
	--td-i-plus: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14'/><path d='M12 5v14'/></svg>");
	--td-i-map-pin: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'/><circle cx='12' cy='10' r='3'/></svg>");
	--td-i-phone: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/></svg>");
	--td-i-plus-thin: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='0.5' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14'/><path d='M12 5v14'/></svg>");
	--td-i-arrow-down-cyan: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2368cbf8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 5v14'/><path d='m19 12-7 7-7-7'/></svg>");
	--td-i-arrow-up-right-step: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236583a2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M7 7h10v10'/><path d='M7 17 17 7'/></svg>");
}

:root {
	--bg: #070c15;
	--surface: #0c1320;
	--surface-2: #101a29;
	--text: #f3f6fc;
	--muted: #94a2b7;
	--blue: #3989ff;
	--cyan: #68cbf8;
	--line: #9fbadf21;
	--display: Manrope, Arial, sans-serif;
	--body: Inter, Arial, sans-serif;
}

/* ==========================================================================
   Base
   ========================================================================== */

*,
*::before,
*::after { box-sizing: border-box; }

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

body {
	margin: 0;
	background: var(--bg);
	color: var(--text);
	font-family: var(--body);
	font-size: 15px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
figure { margin: 0; }
h1, h2, h3, h4, h5, h6, p { margin: 0; }
h1, h2, h3 { font-family: var(--display); font-weight: 700; }
h4, h5, h6 { font-family: var(--body); }
h1, h2 { letter-spacing: -.045em; }
h1 { font-size: 62px; line-height: 1.14; }
h2 { font-size: 43px; line-height: 1.23; }
h3 { font-size: 20px; line-height: 1.4; letter-spacing: -.025em; }
p { color: var(--muted); }
strong { font-weight: 600; }
::selection { color: #fff; background: #246ed0; }
:focus-visible { outline: 2px solid var(--cyan); outline-offset: 5px; }
button, input, select, textarea { font: inherit; }

.container { width: calc(100% - 112px); max-width: 1280px; margin-left: auto; margin-right: auto; }

.skip-link.screen-reader-text:focus {
	background: var(--blue);
	color: #fff;
	padding: 12px 20px;
	z-index: 1000;
}

/* Highlight inside headings: gradient accent in H1, muted second line in H2. */
h1 mark {
	display: block;
	color: var(--blue);
	background-color: transparent !important;
	background-image: linear-gradient(100deg, #3a8aff 20%, #6bc8f0);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
h2 mark, h3 mark { background: none !important; color: #929fb2; }

/* Icons */
.td-icon { display: inline-flex; align-items: center; justify-content: center; line-height: 0; flex-shrink: 0; }
.td-icon svg { display: block; }

.is-style-boxed {
	width: 50px; height: 50px;
	color: #68b9f5;
	background: linear-gradient(145deg, #17335166, #0f223833);
	border: 1px solid #294761;
	border-radius: 10px;
}
.is-style-circle {
	width: 25px; height: 25px;
	color: #67b8f5;
	background: #14324b66;
	border: 1px solid #295276;
	border-radius: 50%;
}
.is-style-tile {
	width: 35px; height: 35px;
	color: var(--cyan);
	background: #19496936;
	border: 1px solid #3d80af70;
	border-radius: 7px;
}
.is-style-brand-mark {
	width: 36px; height: 36px;
	color: var(--blue);
	border: 1px solid #3489ff45;
	border-radius: 9px;
}
.is-style-symbol-core {
	position: relative;
	z-index: 1;
	width: 180px; height: 180px;
	color: #66c2ff;
	background: linear-gradient(140deg, #25476c, #0b1a2d 65%);
	border: 1px solid #447db2;
	border-radius: 30px;
	transform: rotate(-10deg);
	box-shadow: 10px 15px #0a1727, 11px 16px 0 1px #254465, 0 0 60px #397dc52a;
	animation: server-float 7s ease-in-out infinite;
}
.is-style-symbol-core svg { transform: rotate(10deg); }

.status-dot,
.has-status-dot::after,
.photo-caption::before,
.footer-location::before,
.service-area::before {
	content: "";
	display: inline-block;
	flex-shrink: 0;
	width: 6px; height: 6px;
	border-radius: 50%;
	background: #67cbbb;
	box-shadow: 0 0 9px #67cbbb45;
}

/* Paragraph styles */
.is-style-eyebrow {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 23px;
	color: var(--cyan);
	font-size: 10px;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: 2px;
	text-transform: uppercase;
}
.is-style-eyebrow::before {
	content: "";
	width: 6px; height: 6px;
	flex-shrink: 0;
	background: var(--blue);
	border-radius: 1px;
}
.is-style-lead { max-width: 475px; margin-top: 24px; font-size: 14px; line-height: 1.85; }
.section-intro { margin-top: 21px; font-size: 14px; line-height: 1.85; }
.label-kicker { font-size: 7px; line-height: 1.6; letter-spacing: 1.3px; text-transform: uppercase; color: #8faac9; margin-bottom: 3px; }

/* Checklist (list style) */
ul.is-style-checklist {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.is-style-checklist li { display: flex; align-items: center; gap: 6px; }
.is-style-checklist li::before {
	content: "";
	width: 14px; height: 14px;
	flex-shrink: 0;
	background: #67b8ea;
	-webkit-mask: var(--td-i-check) center / contain no-repeat;
	mask: var(--td-i-check) center / contain no-repeat;
}

/* ==========================================================================
   Buttons
   ========================================================================== */

.wp-block-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 25px; }
.wp-block-buttons > .wp-block-button { margin: 0; }

.wp-block-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 22px;
	min-height: 52px;
	padding: 14px 23px;
	border: 1px solid transparent;
	border-radius: 6px;
	color: #fff;
	background: #267af0;
	box-shadow: 0 4px 18px #267af023;
	font-family: var(--body);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	white-space: nowrap;
	text-decoration: none;
	transition: background .22s, transform .22s, border-color .22s, box-shadow .22s, color .2s, gap .2s;
}
.wp-block-button .wp-block-button__link::after {
	content: "";
	width: 18px; height: 18px;
	flex-shrink: 0;
	background: currentColor;
	-webkit-mask: var(--td-i-arrow-up-right) center / contain no-repeat;
	mask: var(--td-i-arrow-up-right) center / contain no-repeat;
	transition: transform .22s;
}
.wp-block-button .wp-block-button__link:hover {
	color: #fff;
	background: var(--blue);
	transform: translateY(-2px);
	box-shadow: 0 7px 25px #267af03d;
}
.wp-block-button .wp-block-button__link:hover::after { transform: translate(2px, -2px); }

.wp-block-button.is-style-secondary .wp-block-button__link {
	color: var(--text);
	background: #0c1523;
	border-color: #304058;
	box-shadow: none;
}
.wp-block-button.is-style-secondary .wp-block-button__link:hover { background: #142439; border-color: #5b8cbf; }

.wp-block-button.is-style-light .wp-block-button__link { color: #102850; background: #f0f6ff; box-shadow: 0 5px 30px #0002; }
.wp-block-button.is-style-light .wp-block-button__link:hover { color: #102850; background: #fff; }

.wp-block-button.is-style-text-link .wp-block-button__link {
	gap: 14px;
	min-height: 0;
	padding: 0;
	color: var(--text);
	background: none;
	border: 0;
	box-shadow: none;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.5;
}
.wp-block-button.is-style-text-link .wp-block-button__link::after {
	width: 17px; height: 17px;
	-webkit-mask-image: var(--td-i-arrow-right);
	mask-image: var(--td-i-arrow-right);
}
.wp-block-button.is-style-text-link .wp-block-button__link:hover { color: var(--cyan); background: none; gap: 20px; transform: none; box-shadow: none; }
.wp-block-button.is-style-text-link .wp-block-button__link:hover::after { transform: none; }

/* ==========================================================================
   Header
   ========================================================================== */

.site-header {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 100;
	border-bottom: 1px solid var(--line);
}
/* Blur lives on a pseudo-element so the full-screen mobile menu is not trapped inside the header. */
.site-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: #070c15f2;
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
}
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; height: 88px; }

.brand { position: relative; display: inline-flex; align-items: center; gap: 9px; flex-shrink: 0; }
.brand-name {
	color: var(--text);
	font-family: var(--display);
	font-size: 25px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -1.2px;
}
.brand-name strong { font-weight: 650; }
.brand-name mark { background: none !important; color: var(--cyan); }
.brand-name a::after { content: ""; position: absolute; inset: 0; }

.header-actions { display: flex; align-items: center; gap: 24px; }
.header-phone a { display: flex; align-items: center; gap: 9px; font-size: 12px; color: var(--text); }
.header-phone a::before {
	content: "";
	width: 15px; height: 15px;
	background: var(--muted);
	-webkit-mask: var(--td-i-phone) center / contain no-repeat;
	mask: var(--td-i-phone) center / contain no-repeat;
}
.header-cta .wp-block-button__link { gap: 19px; min-height: 43px; padding: 12px 16px; font-size: 11px; }

/* Navigation block */
.main-nav { color: #a8b2c3; font-size: 12px; }
.main-nav .wp-block-navigation__container { gap: 30px; }
.main-nav .wp-block-navigation-item__content { padding: 15px 0; transition: color .2s; }
.main-nav .wp-block-navigation-item__content:hover,
.main-nav .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
.main-nav .wp-block-navigation-item.is-active > .wp-block-navigation-item__content { color: #fff; }
.main-nav .wp-block-navigation__container > .wp-block-navigation-item { position: relative; }
.main-nav .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content::after,
.main-nav .wp-block-navigation__container > .is-active > .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 5px;
	width: 15px; height: 2px;
	background: var(--blue);
}
.main-nav .wp-block-navigation__submenu-icon { width: 13px; height: 13px; margin-left: 7px; color: inherit; }
.main-nav .wp-block-navigation__submenu-icon svg { stroke: currentColor; }
.main-nav .nav-cta { display: none; }

body .main-nav.wp-block-navigation .wp-block-navigation__submenu-container {
	min-width: 320px !important;
	padding: 12px;
	color: #c9d3e1;
	background: #101a29;
	border: 1px solid #294160;
	border-radius: 10px;
	box-shadow: 0 20px 50px #0006;
	left: -25px;
}
.main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	padding: 14px 12px;
	border-radius: 5px;
}
.main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after {
	content: "";
	width: 14px; height: 14px;
	margin-left: auto;
	flex-shrink: 0;
	background: var(--cyan);
	-webkit-mask: var(--td-i-arrow-up-right) center / contain no-repeat;
	mask: var(--td-i-arrow-up-right) center / contain no-repeat;
}
.main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: #fff; background: #1b2c44; }

/* Mobile menu (overlay) */
.main-nav .wp-block-navigation__responsive-container-open {
	place-items: center;
	width: 44px; height: 44px;
	color: #fff;
	border: 1px solid var(--line);
	border-radius: 6px;
}
body .main-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open {
	color: var(--text) !important;
	background: #0c1625 !important;
	padding: 24px 20px 30px;
}
.main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 56px; align-items: stretch; }
.main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0; width: 100%; align-items: stretch; }
.main-nav .is-menu-open .wp-block-navigation-item { width: 100%; align-items: stretch !important; }
.main-nav .is-menu-open .wp-block-navigation-item__content {
	display: flex !important;
	align-items: center;
	width: 100%;
	padding: 14px 4px !important;
	font-size: 15px;
	border-bottom: 1px solid var(--line);
}
.main-nav .is-menu-open .wp-block-navigation-item__content::after { display: none; }
body .main-nav.wp-block-navigation .is-menu-open .wp-block-navigation__submenu-container {
	min-width: 0 !important;
	padding: 0 0 0 14px !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}
.main-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 13px; color: #a8b2c3; border-radius: 0; }
.main-nav .is-menu-open .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
.main-nav .is-menu-open .wp-block-navigation-item.is-active:not(.has-child) > .wp-block-navigation-item__content { color: var(--cyan); }
.main-nav .is-menu-open .nav-cta { display: block; margin-top: 22px; }
.main-nav .is-menu-open .nav-cta .wp-block-navigation-item__content {
	justify-content: center;
	min-height: 52px;
	color: #fff;
	background: #267af0;
	border: 0;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 600;
}
.main-nav .wp-block-navigation__responsive-container-close { top: 24px; right: 20px; color: #fff; }

/* ==========================================================================
   Sections (shared)
   ========================================================================== */

.section { padding: 106px 0; }

.section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 70px; margin-bottom: 47px; }
.section-heading-side { flex-shrink: 0; max-width: 300px; font-size: 13px; line-height: 1.85; }
div.section-heading-side > p { margin-bottom: 20px; }

/* Stretched card links: the whole card is clickable. */
.service-card .card-link a::before,
.industry-card .card-link a::before,
.contact-value a::before,
.local-band-link a::before { content: ""; position: absolute; inset: 0; z-index: 1; }

/* ==========================================================================
   Home hero
   ========================================================================== */

.hero {
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid var(--line);
	background: radial-gradient(ellipse at 76% 48%, #10243b70, transparent 49%), var(--bg);
}
.hero::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: linear-gradient(#20314517 1px, #0000 1px), linear-gradient(90deg, #20314517 1px, #0000 1px);
	background-size: 92px 92px;
	-webkit-mask-image: linear-gradient(90deg, #0000 35%, #000 85%);
	mask-image: linear-gradient(90deg, #0000 35%, #000 85%);
}
.hero-inner {
	position: relative;
	display: grid;
	grid-template-columns: 1.06fr 1fr;
	align-items: center;
	min-height: 680px;
	padding-top: 65px;
	padding-bottom: 58px;
}
.hero-copy { position: relative; z-index: 2; }
.hero .is-style-eyebrow { margin-bottom: 27px; }
.hero h1 { font-size: clamp(48px, 4.4vw, 64px); line-height: 1.16; letter-spacing: -2.9px; }
.hero-actions { gap: 25px; margin-top: 31px; }
.hero-actions .is-style-text-link .wp-block-button__link { gap: 12px; font-size: 12px; }
.hero-reassurance { margin-top: 23px !important; gap: 8px 20px !important; color: #8493a8; font-size: 10px; }

.hero-visual { position: relative; isolation: isolate; min-width: 0; height: 535px; margin-left: -5px; margin-right: -75px; }
.hero-visual::before,
.hero-visual::after {
	content: "";
	position: absolute;
	z-index: -1;
	border: 1px solid #376ca72b;
	border-radius: 50%;
	pointer-events: none;
}
.hero-visual::before { width: 380px; height: 380px; top: 14%; left: 16%; transform: rotateX(50deg) rotate(-20deg); }
.hero-visual::after { width: 530px; height: 530px; top: 3%; left: 4%; opacity: .4; border-style: dashed; transform: rotateX(50deg) rotate(-20deg); animation: orbit-turn 80s linear infinite; }

.infrastructure-image {
	position: absolute;
	top: 0;
	left: -14%;
	width: 126%;
	max-width: none;
	height: 100%;
	margin: 0;
	mix-blend-mode: lighten;
	animation: server-float 8s ease-in-out infinite;
	-webkit-mask-image: radial-gradient(#000 50%, #0000 77%);
	mask-image: radial-gradient(#000 50%, #0000 77%);
}
.infrastructure-image img { width: 100%; height: 100%; object-fit: contain; }

.visual-label {
	position: absolute;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 13px;
	padding: 14px 17px;
	background: linear-gradient(135deg, #132335ed, #101b2bce);
	border: 1px solid #3b5a7b70;
	border-radius: 8px;
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	box-shadow: 0 14px 30px #0003;
}
.label-top { top: 80px; right: 4%; }
.label-bottom { bottom: 51px; left: 1%; padding: 15px 18px; }
.visual-label .label-title { color: var(--text); font-size: 11px; font-weight: 500; line-height: 1.5; }
.has-status-dot::after { margin-left: 10px; }

.visual-coordinate {
	position: absolute;
	bottom: 0;
	right: 2%;
	display: flex;
	align-items: center;
	gap: 30px;
	color: #557494;
	font-size: 7px;
	letter-spacing: 1.6px;
	text-transform: uppercase;
}
.visual-coordinate::after {
	content: "";
	width: 13px; height: 13px;
	background: currentColor;
	-webkit-mask: var(--td-i-plus) center / contain no-repeat;
	mask: var(--td-i-plus) center / contain no-repeat;
}

.hero-bottom { position: relative; display: flex; justify-content: space-between; align-items: center; padding: 25px 0; border-top: 1px solid var(--line); }
.hero-scroll a { display: flex; align-items: center; gap: 13px; color: #a4afc0; font-size: 8px; letter-spacing: 1.8px; text-transform: uppercase; }
.hero-scroll a::before {
	content: "";
	width: 27px; height: 27px;
	flex-shrink: 0;
	border: 1px solid #39506c;
	border-radius: 50%;
	background: var(--td-i-arrow-down-cyan) center / 15px no-repeat;
}
.hero-area { display: flex; align-items: center; gap: 7px; color: #71829a; font-size: 10px; }
.hero-area::before {
	content: "";
	width: 13px; height: 13px;
	background: currentColor;
	-webkit-mask: var(--td-i-map-pin) center / contain no-repeat;
	mask: var(--td-i-map-pin) center / contain no-repeat;
}

/* Trust strip */
.trust-strip { background: #0b1320; border-bottom: 1px solid var(--line); }
.trust-inner { display: flex; justify-content: space-between; align-items: center; gap: 28px; min-height: 120px; }
.trust-intro { min-width: 168px; padding-right: 26px; border-right: 1px solid #29384c; color: #8495ac; font-size: 11px; line-height: 1.8; }
.trust-intro strong { color: #d9e2ef; font-weight: 500; }
.trust-item { display: flex; align-items: center; gap: 13px; max-width: 181px; font-size: 11px; line-height: 1.7; }
.trust-item .td-icon { color: #719cc9; }
.trust-item p { color: inherit; }

/* ==========================================================================
   Services grid
   ========================================================================== */

.services-section { background: linear-gradient(#070c15, #0a101c); }
.services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; counter-reset: card; }
.service-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-height: 277px;
	padding: 29px;
	overflow: hidden;
	background: linear-gradient(145deg, #101b2c, #0b1422);
	border: 1px solid #203044;
	border-radius: 10px;
	counter-increment: card;
	transition: transform .3s, border-color .3s, background .3s, box-shadow .3s;
}
.service-card::before {
	content: "";
	position: absolute;
	top: 0; left: 27px; right: 27px;
	height: 1px;
	background: linear-gradient(90deg, #0000, #4887b336, #0000);
}
.service-card::after {
	content: counter(card, decimal-leading-zero);
	position: absolute;
	top: 49px;
	right: 29px;
	color: #52657f;
	font-family: var(--display);
	font-size: 10px;
	letter-spacing: 1px;
	line-height: 1;
}
.service-card:hover { background: linear-gradient(145deg, #13243c, #0c192b); border-color: #3f77ad; transform: translateY(-5px); box-shadow: 0 15px 35px #0003; }
.service-card > .td-icon { margin-bottom: 22px; }
.service-card h3 { margin-bottom: 11px; font-size: 18px; }
.service-card > p { max-width: 305px; margin-bottom: 24px; font-size: 12px; line-height: 1.9; }
.service-card > p.card-link { align-self: stretch; max-width: none; margin: auto 0 0; color: #c0cfe3; font-size: 10px; }
.card-link a { display: flex; justify-content: space-between; align-items: center; }
.card-link a::after {
	content: "";
	width: 17px; height: 17px;
	flex-shrink: 0;
	background: #69b8f2;
	-webkit-mask: var(--td-i-arrow-up-right) center / contain no-repeat;
	mask: var(--td-i-arrow-up-right) center / contain no-repeat;
	transition: transform .3s;
}
.service-card:hover .card-link a::after { transform: translate(3px, -3px); }

.section-footnote { display: flex; justify-content: space-between; align-items: center; margin-top: 25px; color: #7a8ca4; font-size: 10px; }
.section-footnote p { display: flex; align-items: center; gap: 8px; color: inherit; }
.footnote-text::before,
.footnote-link a::after {
	content: "";
	width: 15px; height: 15px;
	background: var(--cyan);
	-webkit-mask: var(--td-i-check) center / contain no-repeat;
	mask: var(--td-i-check) center / contain no-repeat;
}
.footnote-link a { display: flex; align-items: center; gap: 8px; }
.footnote-link a::after { width: 14px; height: 14px; -webkit-mask-image: var(--td-i-arrow-up-right); mask-image: var(--td-i-arrow-up-right); }

/* ==========================================================================
   Why Tek Doctor
   ========================================================================== */

.why-section { background: #0a101a; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.why-layout { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 88px; }
.why-photo { position: relative; overflow: hidden; min-height: 525px; background: #111e2e; border-radius: 12px; }
.why-photo::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(#0c142510, #0000 20%, #080f1ee6); }
.why-photo .wp-block-image img { width: 100%; height: 525px; object-fit: cover; object-position: 35% center; filter: saturate(.65); }
.photo-caption {
	position: absolute;
	top: 24px; left: 24px;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 9px 13px;
	color: var(--text);
	background: #0b132bbd;
	border: 1px solid #6383a143;
	border-radius: 5px;
	font-size: 8px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}
.local-card {
	position: absolute;
	bottom: 24px; left: 24px; right: 24px;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 19px;
	background: #101c2ef5;
	border: 1px solid #36506b;
	border-radius: 9px;
}
.local-card .is-style-boxed { width: 42px; height: 44px; }
.local-card .label-kicker { margin-bottom: 5px; color: #7d9fc4; letter-spacing: 1.2px; }
.local-card-title { color: var(--text); font-family: var(--display); font-size: 17px; font-weight: 700; line-height: 1.3; }
.local-card-meta { margin-top: 6px; color: #8c9db4; font-size: 9px; }
.local-card::after {
	content: "";
	width: 22px; height: 22px;
	margin-left: auto;
	flex-shrink: 0;
	background: #6caade;
	-webkit-mask: var(--td-i-arrow-up-right) center / contain no-repeat;
	mask: var(--td-i-arrow-up-right) center / contain no-repeat;
}
.why-points { margin-top: 28px; margin-bottom: 27px; }
.why-point { display: flex; gap: 15px; margin-bottom: 22px; }
.why-point h3 { margin-bottom: 6px; font-size: 14px; }
.why-point p { font-size: 12px; line-height: 1.8; }

/* ==========================================================================
   Process
   ========================================================================== */

.process-section { position: relative; background: radial-gradient(at 50% 100%, #11203960, #0000 60%); }
.process-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 54px; counter-reset: step; }
.process-step { position: relative; counter-increment: step; }
.process-step::before {
	content: counter(step, decimal-leading-zero);
	display: block;
	margin-bottom: 29px;
	color: #5b9ee6;
	font-family: var(--display);
	font-size: 43px;
	font-weight: 500;
	letter-spacing: -1px;
	line-height: 1.2;
}
.process-step::after {
	content: "";
	position: absolute;
	top: 14px; left: 80px; right: 0;
	height: 24px;
	background:
		var(--td-i-arrow-up-right-step) right center / 18px no-repeat,
		linear-gradient(90deg, #376595, var(--line)) left center / calc(100% - 42px) 1px no-repeat;
}
.process-step h3 { margin-bottom: 12px; font-size: 18px; }
.process-step p { max-width: 330px; font-size: 12px; line-height: 1.9; }
.process-action { display: flex; align-items: center; gap: 27px; margin-top: 44px; }
.process-action > p { font-size: 10px; }

/* ==========================================================================
   Industries + local band
   ========================================================================== */

.industries-section { background: #0c1421; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.industries-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.industry-card {
	position: relative;
	min-height: 242px;
	padding: 25px;
	background: #0c1727;
	border: 1px solid #24344b;
	border-radius: 8px;
	transition: background .25s, border-color .25s, transform .25s;
}
.industry-card:hover { background: #13233a; border-color: #4274a0; transform: translateY(-4px); }
.industry-card > .td-icon { display: flex; width: max-content; margin-bottom: 26px; color: #70a5d3; }
.industry-card h3 { margin-bottom: 12px; font-size: 15px; }
.industry-card > p { font-size: 11px; line-height: 1.9; }
.industry-card .industry-link a { font-size: 0; color: transparent; }
.industry-card .industry-link a::after { position: absolute; top: 28px; right: 22px; width: 18px; height: 18px; background: #718eaa; }
.industry-note { margin-top: 22px; color: #7d8fa7; font-size: 9px; line-height: 1.7; }

.local-band { background: #090f19; border-bottom: 1px solid var(--line); }
.local-band .container { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-top: 30px; padding-bottom: 30px; }
.local-band-text { display: flex; align-items: center; gap: 19px; }
.local-band-text .td-icon { color: #65b6ee; }
.local-band-text p { font-size: 12px; }
.local-band-text strong { display: block; color: #fff; font-family: var(--display); font-size: 16px; font-weight: 500; }
.local-band-areas { color: #7792b4; font-size: 10px; word-spacing: 6px; }
.local-band-link a { display: flex; align-items: center; gap: 12px; color: var(--text); font-size: 12px; }
.local-band-link a::after {
	content: "";
	width: 18px; height: 18px;
	background: #65b6ee;
	-webkit-mask: var(--td-i-arrow-up-right) center / contain no-repeat;
	mask: var(--td-i-arrow-up-right) center / contain no-repeat;
}

/* ==========================================================================
   Final call to action
   ========================================================================== */

.final-cta { position: relative; overflow: hidden; background: linear-gradient(115deg, #0e2f63, #12386f 45%, #081c3b); border-top: 1px solid #35659c; }
.final-cta::before {
	content: "";
	position: absolute;
	top: -100px; right: -50px;
	width: 700px; height: 700px;
	border: 1px solid #5389c323;
	border-radius: 50%;
	box-shadow: 0 0 0 100px #5389c311, 0 0 0 200px #5389c308;
	pointer-events: none;
}
.final-cta::after {
	content: "";
	position: absolute;
	top: 30px; right: 25px;
	width: 380px; height: 380px;
	opacity: .2;
	background: #599cec;
	-webkit-mask: var(--td-i-plus-thin) center / contain no-repeat;
	mask: var(--td-i-plus-thin) center / contain no-repeat;
	transform: rotate(-14deg);
	pointer-events: none;
}
.cta-inner { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: center; padding-top: 87px; padding-bottom: 86px; }
.final-cta .is-style-eyebrow { color: #b9d9ff; }
.final-cta h2 { font-size: 45px; line-height: 1.25; }
.cta-copy > p { margin-top: 20px; color: #aac1dc; font-size: 13px; line-height: 1.9; }
.cta-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 33px; margin-top: 30px; }
.cta-phone { display: flex; align-items: center; gap: 13px; color: #9cc5f3; font-size: 10px; }
.cta-phone p { color: inherit; line-height: 1.5; }
.cta-phone a { display: inline-block; margin-top: 3px; color: #fff; font-size: 14px; font-weight: 500; }

/* ==========================================================================
   Footer
   ========================================================================== */

.site-footer { background: #070c14; padding-top: 64px; }
.footer-main { display: grid; grid-template-columns: 1.2fr 1fr .65fr 1fr; gap: 50px; padding-bottom: 54px; }
.footer-brand .brand-name { font-size: 23px; }
.footer-brand > p { margin-top: 21px; font-size: 12px; line-height: 1.9; }
.footer-brand > p.footer-location { display: flex; align-items: center; gap: 7px; margin-top: 22px; color: #698199; font-size: 9px; }
.footer-column { display: flex; flex-direction: column; gap: 11px; }
.footer-column h4 { margin-bottom: 9px; color: #8da4bf; font-size: 9px; font-weight: 500; letter-spacing: 1.6px; text-transform: uppercase; }
ul.footer-links { display: flex; flex-direction: column; gap: 11px; margin: 0; padding: 0; list-style: none; }
.footer-links li,
.footer-phone,
.footer-address { font-size: 11px; line-height: 1.6; }
.footer-links a,
.footer-phone a,
.footer-address a { color: #94a6be; font-size: 11px; line-height: 1.6; transition: color .2s; }
.footer-links a:hover,
.footer-phone a:hover,
.footer-address a:hover { color: var(--cyan); }
.footer-phone strong { display: block; margin-top: 4px; color: #c5d1e2; font-size: 12px; font-weight: 500; }
.footer-address a { display: flex; gap: 10px; margin-top: 9px; }
.footer-address a::before {
	content: "";
	width: 16px; height: 16px;
	margin-top: 2px;
	flex-shrink: 0;
	background: #659bd2;
	-webkit-mask: var(--td-i-map-pin) center / contain no-repeat;
	mask: var(--td-i-map-pin) center / contain no-repeat;
}
.footer-areas { color: #66809e; font-size: 8px; }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 23px 0; border-top: 1px solid var(--line); color: #697d97; font-size: 8px; }
.footer-bottom p { color: inherit; }
.footer-bottom a { color: #8093ab; }
.footer-bottom a:hover { color: var(--cyan); }

/* ==========================================================================
   Interior pages
   ========================================================================== */

.interior-hero { padding: 36px 0 75px; background: radial-gradient(at 83% 52%, #122c486e, #0000 50%), #080f1b; border-bottom: 1px solid var(--line); }
.breadcrumb { margin-bottom: 40px; color: #718ba7; font-size: 10px; word-spacing: 6px; }
.breadcrumb a { color: #b5c6db; }
.breadcrumb a:hover { color: var(--cyan); }

.service-hero-layout { display: grid; grid-template-columns: 1.3fr 1fr; align-items: center; gap: 50px; }
.service-hero-layout h1 { max-width: 700px; font-size: 53px; }
.service-hero-copy .is-style-lead { max-width: 570px; }

.service-symbol {
	position: relative;
	display: grid;
	place-items: center;
	height: 340px;
	overflow: hidden;
	background-image: linear-gradient(#33465d17 1px, #0000 1px), linear-gradient(90deg, #33465d17 1px, #0000 1px);
	background-size: 36px 36px;
	-webkit-mask-image: radial-gradient(#000 40%, #0000 75%);
	mask-image: radial-gradient(#000 40%, #0000 75%);
}
.service-symbol::before,
.service-symbol::after {
	content: "";
	position: absolute;
	top: 50%; left: 50%;
	width: 310px; height: 310px;
	border: 1px solid #3d76a760;
	border-radius: 50%;
	transform: translate(-50%, -50%);
	pointer-events: none;
}
.service-symbol::after { width: 420px; height: 420px; opacity: .6; border-style: dashed; }
.symbol-caption { position: absolute; bottom: 20px; left: 0; right: 0; text-align: center; color: #7dadda; font-size: 8px; letter-spacing: 2px; text-transform: uppercase; }
.symbol-corner { position: absolute; top: 2px; right: 0; color: #3d6d93; font-size: 6px; letter-spacing: 1px; text-transform: uppercase; }

.overview-layout { display: grid; grid-template-columns: .95fr 1.3fr; align-items: start; gap: 100px; }
.large-body { color: #b0bed1; font-size: 17px; line-height: 1.9; }
.overview-note,
.van-caption { display: flex; align-items: center; gap: 9px; margin-top: 26px; color: #668bb5; font-size: 11px; }
.overview-note::before,
.van-caption::before {
	content: "";
	width: 17px; height: 17px;
	flex-shrink: 0;
	background: currentColor;
	-webkit-mask: var(--td-i-map-pin) center / contain no-repeat;
	mask: var(--td-i-map-pin) center / contain no-repeat;
}

.benefits-section { background: #0b1422; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.benefits-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; counter-reset: benefit; }
.benefit-card { position: relative; padding: 32px 38px; background: #101c2d; border: 1px solid #273c56; border-radius: 10px; counter-increment: benefit; }
.benefit-card::before { content: counter(benefit, decimal-leading-zero); display: block; margin-bottom: 23px; color: #659bd5; font-family: var(--display); font-size: 13px; }
.benefit-card::after {
	content: "";
	position: absolute;
	top: 31px; right: 30px;
	width: 20px; height: 20px;
	background: #4f7caa;
	-webkit-mask: var(--td-i-check) center / contain no-repeat;
	mask: var(--td-i-check) center / contain no-repeat;
}
.benefit-card h3 { margin-bottom: 12px; font-size: 19px; }
.benefit-card p { max-width: 435px; padding-right: 15px; font-size: 12px; line-height: 1.85; }

.ideal-panel { display: flex; align-items: center; gap: 25px; margin-top: 31px; padding: 30px 35px; background: #0d1b2d; border-left: 2px solid var(--blue); }
.ideal-panel > .td-icon { color: var(--cyan); }
.ideal-text { flex: 1; }
.ideal-panel h3 { margin-bottom: 9px; font-size: 16px; }
.ideal-panel p { max-width: 650px; font-size: 12px; }
.ideal-panel .wp-block-buttons { flex-shrink: 0; }
.ideal-panel .wp-block-button__link::after { -webkit-mask-image: var(--td-i-arrow-up-right) !important; mask-image: var(--td-i-arrow-up-right) !important; }

.faq-layout { display: grid; grid-template-columns: .8fr 1.3fr; gap: 100px; }
.faq-intro > p { margin-top: 21px; margin-bottom: 16px; font-size: 12px; }
.faq-intro .wp-block-button__link::after { -webkit-mask-image: var(--td-i-arrow-up-right) !important; mask-image: var(--td-i-arrow-up-right) !important; }
.faq-list { counter-reset: faq; }
.faq-item { border-bottom: 1px solid var(--line); counter-increment: faq; }
.faq-item:first-child { border-top: 1px solid var(--line); }
.faq-item summary {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 25px 0;
	color: var(--text);
	font-family: var(--display);
	font-size: 14px;
	font-weight: 500;
	list-style: none;
	cursor: pointer;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::before { content: counter(faq, decimal-leading-zero); align-self: flex-start; margin-top: 3px; color: #5b83ac; font-family: var(--body); font-size: 10px; }
.faq-item summary::after {
	content: "";
	width: 20px; height: 20px;
	margin-left: auto;
	flex-shrink: 0;
	background: #7bacd9;
	-webkit-mask: var(--td-i-plus) center / contain no-repeat;
	mask: var(--td-i-plus) center / contain no-repeat;
	transition: transform .2s;
}
.faq-item[open] summary::after { transform: rotate(45deg); }
.faq-item > p { margin: 0 35px 27px; font-size: 12px; line-height: 1.9; }

.related-section { background: #09111d; border-top: 1px solid var(--line); }
.related-section h2 { font-size: 34px; }

/* About */
.about-hero h1 { font-size: 65px; line-height: 1.17; }
.about-hero-bottom { display: flex; justify-content: space-between; align-items: center; gap: 80px; margin-top: 32px; }
.about-hero-bottom > p { max-width: 680px; font-size: 16px; line-height: 1.85; }
.about-van { overflow: hidden; background: #e8eef4; border: 1px solid #263d55; border-radius: 12px; }
.about-van img { width: 100%; height: 350px; object-fit: contain; background: #f7f7f7; }
.about-van .van-caption { margin: 0; padding: 24px; gap: 12px; color: #b1cbe6; background: #111e30; font-size: 12px; }
.about-story .why-layout { gap: 75px; }
.about-story .why-layout > div > p:not(.section-intro):not(.is-style-eyebrow),
.founder-layout > div > p:not(.section-intro):not(.is-style-eyebrow) { margin-top: 18px; font-size: 12px; line-height: 1.9; }
.about-story .wp-block-buttons,
.founder-layout .wp-block-buttons { margin-top: 26px; }

.founder-section { background: #0d1726; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.founder-layout { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: 95px; }
.founder-card { display: flex; align-items: center; gap: 27px; min-height: 320px; padding: 38px 28px; overflow: hidden; background: linear-gradient(135deg, #1a3150, #0f1d32); border: 1px solid #2c4561; border-radius: 12px; }
.founder-portrait { flex-shrink: 0; width: 170px; }
.founder-portrait img { width: 170px; border: 1px solid #688db9; border-radius: 50%; filter: saturate(.65); }
.founder-info h3 { font-size: 20px; }
.founder-role { margin-top: 5px; color: #84acd9; font-size: 10px; }
.founder-quote { margin-top: 24px; color: #c1d1e5; font-family: var(--display); font-size: 15px; line-height: 1.65; }
.founder-info::after { content: ""; display: block; width: 35px; height: 2px; margin-top: 25px; background: var(--blue); }

.values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px; margin-top: 45px; }
.value-item { padding-top: 27px; border-top: 1px solid #2e4a69; }
.value-item > .td-icon { display: flex; width: max-content; margin-bottom: 24px; color: #73b4e9; }
.value-item h3 { margin-bottom: 13px; font-size: 19px; }
.value-item p { font-size: 12px; line-height: 1.8; }

/* Contact */
.contact-page { padding: 35px 0 96px; background: radial-gradient(at 87% 30%, #0e274159, #0000 50%); }
.contact-layout { display: grid; grid-template-columns: 1fr 1.06fr; align-items: start; gap: 98px; }
.contact-copy h1 { font-size: 60px; line-height: 1.16; }
.contact-copy .section-intro { max-width: 420px; }
ul.contact-reassurance { margin-top: 23px; gap: 8px 15px; color: #8a9db4; font-size: 9px; }
.contact-reassurance li::before { width: 15px; height: 15px; background: #6eacdd; }
.contact-details { max-width: 425px; margin-top: 35px; }
.contact-detail { position: relative; display: flex; align-items: center; gap: 17px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.contact-detail .is-style-tile { width: 40px; height: 40px; color: #6db0e6; background: #13283e; border-color: #2d4a67; border-radius: 8px; }
.contact-detail-text { flex: 1; }
.contact-detail .label-kicker { margin-bottom: 5px; color: #7992af; font-size: 8px; letter-spacing: 1.4px; }
.contact-value { color: var(--text); font-size: 16px; font-weight: 500; line-height: 1.6; transition: color .2s; }
.contact-detail:hover .contact-value { color: var(--cyan); }
.contact-detail::after {
	content: "";
	width: 19px; height: 19px;
	flex-shrink: 0;
	background: #5e8dbc;
	-webkit-mask: var(--td-i-arrow-up-right) center / contain no-repeat;
	mask: var(--td-i-arrow-up-right) center / contain no-repeat;
}
.contact-hours { display: flex; align-items: center; gap: 17px; margin-top: 25px; color: #c1cde0; font-size: 11px; }
.contact-hours .td-icon { margin-left: 10px; color: #6992bf; }
.contact-hours p { color: inherit; }
.service-area { display: flex; align-items: center; gap: 9px; margin-top: 30px; color: #7799bf; font-size: 10px; }

.consultation-panel { padding: 34px; background: linear-gradient(145deg, #142239, #0d1727); border: 1px solid #2a405d; border-radius: 13px; box-shadow: 0 20px 60px #0002; }
.form-heading { display: flex; align-items: center; gap: 17px; margin-bottom: 23px; }
.form-heading .is-style-tile { width: 44px; height: 44px; color: #64b9ff; background: #173855; border-color: #3770a0; border-radius: 10px; }
.form-heading h2 { font-size: 19px; line-height: 1.3; letter-spacing: -.03em; }
.form-heading p { margin-top: 5px; font-size: 11px; }
.form-privacy { margin-top: 15px; color: #7d93ad; font-size: 9px; text-align: center; }
.form-privacy a { color: #afc7e2; text-decoration: underline; }
.td-admin-notice { padding: 14px 16px; color: #ffd27a; background: #2b220c; border: 1px solid #6b5216; border-radius: 6px; font-size: 13px; }
.td-admin-notice a { text-decoration: underline; }

/* Fluent Forms — consultation form */
.consultation-panel .fluentform .ff-el-group { margin-bottom: 20px; }
.consultation-panel .fluentform .ff-t-container { gap: 17px; }
.consultation-panel .fluentform .ff-t-cell { padding: 0 !important; }
.consultation-panel .fluentform .ff-el-input--label { margin-bottom: 8px; }
.consultation-panel .fluentform .ff-el-input--label label { color: #c2cfe0; font-size: 10px; font-weight: 500; line-height: 1.6; }
.consultation-panel .fluentform .ff-el-is-required.asterisk-right label::after { content: " *"; color: #6d9bcb; margin-left: 3px; }
.consultation-panel .fluentform .ff-el-form-control {
	width: 100%;
	min-height: 45px;
	padding: 13px 14px;
	color: #e7eef9;
	background: #091425;
	border: 1px solid #30435e;
	border-radius: 5px;
	font-size: 12px;
	line-height: 1.5;
	box-shadow: none;
	transition: border-color .2s;
}
.consultation-panel .fluentform select.ff-el-form-control { color: #adbed5; appearance: auto; }
.consultation-panel .fluentform select.ff-el-form-control option { color: #111; }
.consultation-panel .fluentform textarea.ff-el-form-control { min-height: 110px; resize: vertical; }
.consultation-panel .fluentform .ff-el-form-control::placeholder { color: #667a96; opacity: 1; }
.consultation-panel .fluentform .ff-el-form-control:focus { color: #e7eef9; background: #091425; border-color: var(--blue); outline: 1px solid var(--blue); }
.consultation-panel .fluentform .ff-el-is-error .ff-el-form-control { border-color: #e57373; }
.consultation-panel .fluentform .error.text-danger { margin-top: 6px; color: #ff9b9b; font-size: 10px; }
.consultation-panel .fluentform .ff_submit_btn_wrapper { margin-top: 6px; margin-bottom: 0; }
.consultation-panel .fluentform .ff-btn-submit {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 52px;
	padding: 14px 23px;
	color: #fff !important;
	background: #267af0 !important;
	border: 0;
	border-radius: 6px;
	box-shadow: 0 4px 18px #267af023;
	font-size: 12px;
	font-weight: 600;
	transition: background .22s, transform .22s, box-shadow .22s;
}
.consultation-panel .fluentform .ff-btn-submit::after {
	content: "";
	width: 18px; height: 18px;
	background: currentColor;
	-webkit-mask: var(--td-i-arrow-up-right) center / contain no-repeat;
	mask: var(--td-i-arrow-up-right) center / contain no-repeat;
}
.consultation-panel .fluentform .ff-btn-submit:hover { background: var(--blue) !important; transform: translateY(-2px); box-shadow: 0 7px 25px #267af03d; opacity: 1; }
.consultation-panel .ff-message-success {
	padding: 22px;
	color: #d7f3ef;
	background: #163738;
	border: 1px solid #316762;
	border-radius: 8px;
	box-shadow: none;
	font-size: 13px;
	line-height: 1.8;
}
.consultation-panel .ff-message-success p { color: inherit; }
.consultation-panel .ff-message-success p + p { margin-top: 8px; }
.consultation-panel .ff-errors-in-stack { color: #ff9b9b; font-size: 11px; }

/* Simple text pages, posts, 404 */
.narrow { max-width: 800px; }
.simple-hero { padding-bottom: 60px; }
.simple-hero h1,
.simple-hero .wp-block-query-title { font-size: 52px; }
.prose-section { padding-top: 64px; }
.prose .wp-block-post-content > * + * { margin-top: 16px; }
.prose h2 { font-size: 23px; }
.prose h3 { font-size: 18px; }
.prose .wp-block-post-content > h2 { margin-top: 40px; }
.prose .wp-block-post-content > h3 { margin-top: 28px; }
.prose p,
.prose li { color: var(--muted); font-size: 14px; line-height: 1.9; }
.prose ul,
.prose ol { padding-left: 22px; }
.prose a { color: var(--cyan); text-decoration: underline; text-underline-offset: 3px; }
.prose .wp-block-post-featured-image { margin-bottom: 36px; border-radius: 12px; overflow: hidden; }
.not-found { padding-bottom: 110px; }
.not-found h1 { font-size: 56px; }
.not-found p:not(.is-style-eyebrow) { margin: 22px 0 30px; font-size: 14px; }
.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; margin: 0; padding: 0; list-style: none; }
.post-card { height: 100%; padding: 29px; background: linear-gradient(145deg, #101b2c, #0b1422); border: 1px solid #203044; border-radius: 10px; }
.post-card .is-style-eyebrow { margin-bottom: 14px; }
.post-card h3 { margin-bottom: 10px; font-size: 18px; }
.post-card .wp-block-post-excerpt__excerpt { font-size: 12px; line-height: 1.9; }
.pagination { display: flex; gap: 16px; margin-top: 40px; color: var(--muted); font-size: 13px; }

/* Free-form content placed straight on a page (outside the Tek Doctor sections) */
.page-content > :where(:not(.alignfull)) { width: calc(100% - 40px); }
.page-content > :where(p, ul, ol, h2, h3, h4, .wp-block-image, .wp-block-buttons, .wp-block-quote, .wp-block-table) { margin-top: 1em; margin-bottom: 1em; }
.page-content > :where(ul, ol) { color: var(--muted); }

/* ==========================================================================
   Motion
   ========================================================================== */

.reveal-ready { opacity: 0; transform: translateY(22px); transition: opacity .7s, transform .7s; }
.reveal-ready.revealed { opacity: 1; transform: none; }

@keyframes server-float { 0%, 100% { translate: 0; } 50% { translate: 0 -10px; } }
@keyframes orbit-turn { to { rotate: 360deg; } }

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (min-width: 1550px) {
	.hero-inner { min-height: 720px; }
	.hero-visual { height: 575px; }
	.hero h1 { font-size: 69px; }
}

@media (max-width: 1200px) {
	.container { width: calc(100% - 70px); }
	.header-inner { gap: 20px; }
	.main-nav .wp-block-navigation__container { gap: 22px; }
	.header-phone { display: none; }
	.hero h1 { font-size: 53px; }
	.hero-visual { height: 470px; margin-right: -35px; }
	.hero-inner { min-height: 640px; }
	.hero-actions { gap: 18px; }
	.hero .wp-block-button__link { gap: 15px; padding-inline: 17px; font-size: 11px; }
	.trust-inner { gap: 22px; }
	.trust-intro { min-width: 145px; padding-right: 20px; }
	.trust-item { gap: 10px; font-size: 10px; }
	.why-layout { gap: 55px; }
	.section { padding: 86px 0; }
	h2 { font-size: 38px; }
	.contact-layout { gap: 60px; }
	.contact-copy h1 { font-size: 53px; }
	.founder-layout { gap: 55px; }
	.founder-card { gap: 20px; padding: 28px 23px; }
	.founder-portrait, .founder-portrait img { width: 135px; }
	.service-hero-layout h1 { font-size: 47px; }
	.footer-main { gap: 35px; }
	.local-card-title { font-size: 15px; }
}

@media (max-width: 950px) {
	.header-inner { height: 76px; }
	.brand-name { font-size: 23px; }
	.main-nav { font-size: 11px; }
	.main-nav .wp-block-navigation__container { gap: 18px; }
	.header-cta .wp-block-button__link { gap: 10px; padding: 11px 12px; font-size: 10px; }
	.hero h1 { font-size: 44px; letter-spacing: -2px; }
	.hero .is-style-lead { font-size: 12px; }
	.hero-inner { min-height: 575px; padding-top: 45px; padding-bottom: 40px; }
	.hero-visual { height: 420px; margin-left: -35px; margin-right: -35px; }
	.label-top { top: 63px; right: 0; }
	.visual-label { gap: 9px; padding: 10px; }
	.visual-label .label-title { font-size: 9px; }
	.visual-label .label-kicker { font-size: 6px; }
	.has-status-dot::after { margin-left: 3px; }
	.label-bottom { bottom: 24px; left: 10px; }
	.hero-reassurance { gap: 8px 12px !important; font-size: 8px; }
	.hero-area { font-size: 9px; }
	.trust-intro { display: none; }
	.trust-inner { gap: 18px; min-height: 94px; }
	.trust-item { max-width: 175px; }
	.service-card { min-height: 282px; padding: 23px; }
	.service-card::after { top: 43px; right: 23px; }
	.service-card h3 { font-size: 15px; }
	.service-card > p { font-size: 11px; }
	.why-layout { gap: 35px; }
	.why-photo, .why-photo .wp-block-image img { height: 475px; min-height: 475px; }
	.local-card { gap: 10px; padding: 15px; bottom: 17px; left: 17px; right: 17px; }
	.local-card .is-style-boxed { display: none; }
	.local-card-meta { font-size: 8px; }
	h2 { font-size: 33px; }
	.section-heading { gap: 40px; }
	.section-heading-side { max-width: 250px; font-size: 12px; }
	.why-copy .section-intro, .why-point h3 { font-size: 12px; }
	.why-point p { font-size: 11px; }
	.process-grid { gap: 35px; }
	.process-step h3 { font-size: 16px; }
	.industries-grid { grid-template-columns: repeat(2, 1fr); }
	.industry-card { min-height: 208px; }
	.local-band-areas { display: none; }
	.footer-main { grid-template-columns: 1fr 1fr; gap: 40px 65px; }
	.service-hero-layout { gap: 20px; }
	.service-hero-layout h1 { font-size: 41px; }
	.service-symbol { height: 310px; }
	.is-style-symbol-core { width: 145px; height: 145px; }
	.is-style-symbol-core svg { width: 75px; height: 75px; }
	.overview-layout { gap: 60px; }
	.large-body { font-size: 15px; }
	.ideal-panel { flex-wrap: wrap; }
	.ideal-panel .wp-block-buttons { margin-left: 52px; }
	.faq-layout { gap: 45px; }
	.founder-layout { gap: 35px; }
	.founder-card { flex-direction: column; align-items: flex-start; min-height: 380px; }
	.founder-quote { margin-top: 15px; }
	.contact-layout { gap: 35px; }
	.contact-copy h1 { font-size: 46px; }
	.consultation-panel { padding: 24px; }
	.form-heading { gap: 11px; }
	.form-heading h2 { font-size: 16px; }
	.form-heading .is-style-tile { width: 35px; height: 35px; }
	ul.contact-reassurance { gap: 8px 12px; font-size: 8px; }
	.contact-value { font-size: 14px; }
	.contact-detail .label-kicker { font-size: 7px; }
	.final-cta::after { opacity: .16; right: -80px; }
	.post-grid { grid-template-columns: repeat(2, 1fr); }
}

/* Core switches the menu to the hamburger at 600px; match the design's 760px. */
@media (max-width: 760px) {
	.main-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: grid; }
}
@media (min-width: 600px) and (max-width: 760px) {
	.main-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}

@media (max-width: 760px) {
	.container { width: calc(100% - 40px); }
	.header-inner { gap: 15px; height: 72px; }
	.brand-name { font-size: 23px; }
	.is-style-brand-mark { width: 32px; height: 32px; }
	.is-style-brand-mark svg { width: 27px; height: 27px; }
	.header-actions { display: none; }
	.section { padding: 65px 0; }
	h2 { font-size: 34px; }
	.is-style-eyebrow { margin-bottom: 20px; font-size: 9px; letter-spacing: 1.7px; }

	.hero-inner { display: flex; flex-direction: column; align-items: stretch; min-height: 0; padding-top: 47px; padding-bottom: 0; }
	.hero-copy { z-index: 3; }
	.hero .is-style-eyebrow { margin-bottom: 24px; font-size: 8px; }
	.hero h1 { font-size: clamp(40px, 7.8vw, 59px); line-height: 1.13; letter-spacing: -2px; }
	.hero .is-style-lead { max-width: 480px; margin-top: 24px; font-size: 13px; line-height: 1.9; }
	.hero-actions { flex-wrap: nowrap; gap: 22px; margin-top: 27px; }
	.hero .wp-block-button__link { gap: 14px; min-height: 50px; padding: 13px 17px; font-size: 10px; }
	.hero-actions .is-style-text-link .wp-block-button__link { gap: 9px; font-size: 10px; }
	.hero-reassurance { gap: 8px 18px !important; margin-top: 20px !important; font-size: 8px; }
	.hero-visual { height: 360px; margin: 0 -15px 0 0; }
	.infrastructure-image { top: -10px; left: 0; width: 100%; height: 103%; }
	.label-top { top: 50px; right: 4%; padding: 11px 13px; }
	.label-bottom { bottom: 35px; left: 1%; padding: 12px 13px; }
	.visual-label .label-title { font-size: 10px; }
	.hero-visual::before { width: 270px; height: 270px; top: 20px; left: 15%; }
	.hero-visual::after { width: 340px; height: 340px; top: 0; left: 8%; }
	.visual-coordinate { bottom: 8px; font-size: 6px; }
	.hero-bottom { gap: 15px; padding: 19px 0; }
	.hero-scroll a { gap: 8px; font-size: 7px; letter-spacing: 1.2px; }
	.hero-scroll a::before { width: 24px; height: 24px; }
	.hero-area { max-width: 130px; gap: 5px; text-align: right; font-size: 8px; line-height: 1.6; }
	.hero-area::before { display: none; }

	.trust-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 23px 20px; padding-top: 25px; padding-bottom: 25px; }
	.trust-item { max-width: 220px; font-size: 10px; }
	.trust-item svg { width: 21px; height: 21px; }

	.section-heading { display: block; margin-bottom: 33px; }
	.section-heading-side { max-width: 400px; margin-top: 22px; font-size: 12px; line-height: 1.85; }
	div.section-heading-side > p { margin-bottom: 17px; }

	.services-grid { grid-template-columns: 1fr; gap: 13px; }
	.service-card { min-height: 250px; padding: 25px; }
	.service-card::after { top: 45px; right: 25px; }
	.service-card > .td-icon { margin-bottom: 20px; }
	.service-card h3 { font-size: 19px; }
	.service-card > p { max-width: 100%; margin-bottom: 22px; font-size: 12px; }
	.service-card > p.card-link { font-size: 11px; }
	.section-footnote { gap: 20px; font-size: 8px; line-height: 1.7; }
	.footnote-text { max-width: 235px; }
	.footnote-link { white-space: nowrap; }

	.why-layout { grid-template-columns: 1fr; gap: 39px; }
	.why-photo, .why-photo .wp-block-image img { height: 400px; min-height: 400px; }
	.why-photo { order: 2; }
	.why-copy { order: 1; }
	.why-copy .section-intro { font-size: 13px; }
	.why-point h3 { font-size: 14px; }
	.why-point p { font-size: 12px; }
	.local-card { padding: 18px; bottom: 20px; left: 20px; right: 20px; }
	.local-card .is-style-boxed { display: grid; }
	.local-card-title { font-size: 16px; }
	.photo-caption { top: 20px; left: 20px; font-size: 7px; }

	.process-grid { grid-template-columns: 1fr; gap: 31px; }
	.process-step::before { margin-bottom: 15px; font-size: 36px; }
	.process-step::after { top: 9px; left: 66px; }
	.process-step h3 { margin-bottom: 10px; font-size: 18px; }
	.process-step p { max-width: 100%; font-size: 12px; }
	.process-action { flex-direction: column; align-items: flex-start; gap: 16px; margin-top: 32px; }
	.process-action > p { font-size: 9px; }

	.industries-grid { gap: 12px; }
	.industry-card { min-height: 243px; padding: 21px; }
	.industry-card h3 { font-size: 14px; }
	.industry-card > p { font-size: 10px; }
	.industry-card > .td-icon { margin-bottom: 23px; }
	.industry-card > .td-icon svg { width: 24px; height: 24px; }
	.industry-card .industry-link a::after { top: 25px; right: 17px; width: 15px; height: 15px; }
	.industry-note { font-size: 8px; line-height: 1.8; }

	.local-band .container { gap: 16px; padding-top: 26px; padding-bottom: 26px; }
	.local-band-text { gap: 12px; }
	.local-band-text p { font-size: 10px; }
	.local-band-text strong { font-size: 13px; }
	.local-band-text svg { width: 20px; height: 20px; }
	.local-band-link a { gap: 8px; font-size: 10px; white-space: nowrap; }

	.final-cta h2 { font-size: 35px; }
	.cta-inner { padding-top: 60px; padding-bottom: 60px; }
	.final-cta .is-style-eyebrow { font-size: 8px; letter-spacing: 1.4px; }
	.cta-copy > p { font-size: 12px; }
	.cta-actions { gap: 24px; margin-top: 27px; }
	.final-cta::after { display: none; }
	.final-cta::before { right: -520px; }

	.site-footer { padding-top: 48px; }
	.footer-main { grid-template-columns: 1fr 1fr; gap: 37px 22px; padding-bottom: 38px; }
	.footer-brand { grid-column: 1 / -1; }
	.footer-brand > p { margin-top: 16px; }
	.footer-brand > p.footer-location { margin-top: 13px; }
	.footer-column h4 { font-size: 8px; }
	.footer-links a { font-size: 10px; }
	.footer-contact { display: grid; grid-column: 1 / -1; grid-template-columns: 1fr 1fr; gap: 15px 20px; padding-top: 27px; border-top: 1px solid var(--line); }
	.footer-contact h4 { grid-column: 1 / -1; margin-bottom: 0; }
	.footer-contact .footer-address a { margin-top: 0; }
	.footer-areas { align-self: center; line-height: 1.9; }
	.footer-bottom { flex-wrap: wrap; gap: 15px; font-size: 8px; }
	.footer-tagline { display: none; }

	.interior-hero { padding: 27px 0 49px; }
	.breadcrumb { margin-bottom: 34px; font-size: 9px; }
	.service-hero-layout { grid-template-columns: 1fr; gap: 29px; }
	.service-hero-layout h1 { font-size: 42px; }
	.service-hero-copy .is-style-lead { max-width: 100%; font-size: 13px; line-height: 1.9; }
	.service-symbol { height: 285px; margin: 0 20px; }
	.is-style-symbol-core { width: 148px; height: 148px; }
	.symbol-caption { font-size: 7px; }
	.service-symbol::before { width: 260px; height: 260px; }
	.service-symbol::after { width: 330px; height: 330px; }
	.overview-layout { grid-template-columns: 1fr; gap: 24px; }
	.large-body { font-size: 14px; line-height: 1.9; }
	.overview-note { font-size: 9px; }
	.benefits-grid { grid-template-columns: 1fr; gap: 15px; }
	.benefit-card { padding: 27px; }
	.benefit-card h3 { font-size: 18px; }
	.ideal-panel { gap: 15px; padding: 25px; }
	.ideal-text { flex-basis: calc(100% - 45px); }
	.ideal-panel h3 { font-size: 15px; }
	.ideal-panel p { font-size: 11px; }
	.ideal-panel .wp-block-buttons { margin-top: 7px; margin-left: 42px; }
	.faq-layout { grid-template-columns: 1fr; gap: 30px; }
	.faq-item summary { gap: 13px; padding: 22px 0; font-size: 13px; }
	.faq-item > p { margin-left: 24px; margin-right: 22px; font-size: 11px; }
	.related-section h2 { font-size: 30px; }

	.about-hero h1 { font-size: 46px; }
	.about-hero-bottom { display: block; margin-top: 25px; }
	.about-hero-bottom > p { font-size: 14px; }
	.about-hero-bottom .wp-block-buttons { margin-top: 27px; }
	.about-story .why-layout { gap: 35px; }
	.about-van { order: 2; }
	.about-van img { height: 270px; }
	.about-van .van-caption { padding: 20px; font-size: 10px; }
	.founder-layout { grid-template-columns: 1fr; gap: 33px; }
	.founder-card { flex-direction: row; align-items: center; gap: 22px; min-height: 270px; padding: 25px; }
	.founder-portrait, .founder-portrait img { width: 115px; }
	.founder-info h3 { font-size: 18px; }
	.founder-role { font-size: 9px; }
	.founder-quote { font-size: 13px; }
	.values-grid { grid-template-columns: 1fr; gap: 32px; margin-top: 35px; }
	.value-item > .td-icon { margin-bottom: 18px; }
	.value-item h3 { font-size: 18px; }
	.values-section h2 { font-size: 31px; }

	.contact-page { padding-top: 27px; padding-bottom: 65px; }
	.contact-layout { grid-template-columns: 1fr; gap: 39px; }
	.contact-copy h1 { font-size: 51px; }
	.contact-copy .section-intro { max-width: 100%; font-size: 13px; }

	.simple-hero h1, .simple-hero .wp-block-query-title { font-size: 40px; }
	.post-grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
	.consultation-panel .fluentform .ff-t-container { display: block; }
	/* WordPress's admin bar scrolls away on phones. */
	.admin-bar .site-header { top: 0; }
}

@media (max-width: 390px) {
	.container { width: calc(100% - 36px); }
	.hero h1 { font-size: 39px; }
	.hero-actions { gap: 14px; }
	.hero .wp-block-button__link { gap: 9px; padding-inline: 13px; font-size: 9px; }
	.hero-actions .is-style-text-link .wp-block-button__link { gap: 6px; font-size: 9px; }
	.hero-reassurance { gap: 8px 12px !important; font-size: 7px; }
	.hero-visual { height: 315px; }
	.visual-label .label-title { font-size: 9px; }
	.label-top { top: 37px; }
	.label-bottom { bottom: 32px; }
	.industry-card { min-height: 250px; padding: 18px; }
	.industry-card h3 { font-size: 13px; }
	.industry-card > p { font-size: 10px; }
	.final-cta h2 { font-size: 31px; }
	.final-cta .is-style-eyebrow { font-size: 7px; }
	.local-card .is-style-boxed { width: 35px; }
	.local-card { gap: 10px; padding: 15px; }
	.local-card-title { font-size: 14px; }
	.form-heading h2 { font-size: 16px; }
	.consultation-panel { padding: 22px; }
	.founder-card { gap: 16px; padding: 22px; }
	.founder-portrait, .founder-portrait img { width: 95px; }
	.founder-info h3 { font-size: 16px; }
	.contact-copy h1 { font-size: 46px; }
	.service-hero-layout h1 { font-size: 38px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
	.reveal-ready { opacity: 1; transform: none; }
}
