/**
 * common.css — shared, page-agnostic styles extracted from inline
 * style="" attributes, starting with the Home page. Class names use
 * a tmg-home- prefix for content specific to that page's markup, to
 * avoid collisions if other pages' styles are added here later.
 */

/* Property Type Cards (props grid, tmg-home-props-card--0 through --7) */
.tmg-home-props-card {
	background: #fff;
	border: 1px solid #ddd8cd;
	text-align: center;
	padding: 30px 22px 28px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.tmg-home-props-card--0 { animation: tmgCardUp .6s cubic-bezier(.2,.7,.3,1) 0.08s both; }
.tmg-home-props-card--1 { animation: tmgCardUp .6s cubic-bezier(.2,.7,.3,1) 0.17s both; }
.tmg-home-props-card--2 { animation: tmgCardUp .6s cubic-bezier(.2,.7,.3,1) 0.26s both; }
.tmg-home-props-card--3 { animation: tmgCardUp .6s cubic-bezier(.2,.7,.3,1) 0.35s both; }
.tmg-home-props-card--4 { animation: tmgCardUp .6s cubic-bezier(.2,.7,.3,1) 0.44s both; }
.tmg-home-props-card--5 { animation: tmgCardUp .6s cubic-bezier(.2,.7,.3,1) 0.53s both; }
.tmg-home-props-card--6 { animation: tmgCardUp .6s cubic-bezier(.2,.7,.3,1) 0.62s both; }
.tmg-home-props-card--7 { animation: tmgCardUp .6s cubic-bezier(.2,.7,.3,1) 0.71s both; }

.tmg-home-props-card__img {
	height: 86px;
	width: auto;
	max-width: 120px;
	object-fit: contain;
}

.tmg-home-props-card__bar {
	display: block;
	width: 30px;
	height: 3px;
	background: #e11b22;
	margin: 14px auto 0;
}

.tmg-home-props-card__title {
	font-weight: 900;
	font-size: 17.5px;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: #111113;
	margin-top: 12px;
	line-height: 1.35;
}

.tmg-home-props-card__desc {
	font-size: 14px;
	line-height: 1.55;
	color: #4a4f53;
	margin-top: 8px;
	max-width: 24ch;
}

/* Core Service Cards (services grid, tmg-home-svc-card--0 through --3) */
.tmg-home-svc-card {
	position: relative;
	background: #fff;
	color: #111113;
	border: 3px solid #fff;
	box-shadow: 8px 8px 0 #e11b22;
	text-align: center;
	transform-style: preserve-3d;
}

.tmg-home-svc-card--0 { animation: tmgFlipIn .8s cubic-bezier(.2,.7,.3,1) .05s both; }
.tmg-home-svc-card--1 { animation: tmgFlipIn .8s cubic-bezier(.2,.7,.3,1) .2s both; }
.tmg-home-svc-card--2 { animation: tmgFlipIn .8s cubic-bezier(.2,.7,.3,1) .35s both; }
.tmg-home-svc-card--3 { animation: tmgFlipIn .8s cubic-bezier(.2,.7,.3,1) .5s both; }

.tmg-home-svc-card__bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	pointer-events: none;
}

.tmg-home-svc-card__strip {
	position: relative;
	height: 6px;
	background: #e11b22;
}

.tmg-home-svc-card__body {
	position: relative;
	padding: 28px 20px 4px;
}

.tmg-home-svc-card__icon {
	height: 150px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.tmg-home-svc-card__icon-img {
	height: 150px;
	width: auto;
}

.tmg-home-svc-card__title {
	font-family: 'Anton', sans-serif;
	font-weight: 400;
	text-transform: uppercase;
	font-size: 22px;
	letter-spacing: .5px;
	margin-top: 14px;
	color: #111113;
}

.tmg-home-svc-card__desc {
	font-size: 14.5px;
	line-height: 1.6;
	color: #111113;
	margin-top: 10px;
}

/* TMG Command feature rows (tmg-home-cmd-*--0 through --2) */
.tmg-home-cmd-row {
	display: flex;
	gap: 14px;
	align-items: flex-start;
}

.tmg-home-cmd-check {
	flex: none;
	width: 30px;
	height: 30px;
	background: #e11b22;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 900;
	color: #fff;
}

.tmg-home-cmd-check--0 { animation: tmgCheckDrop .6s cubic-bezier(.3,1.4,.4,1) .1s both; }
.tmg-home-cmd-check--1 { animation: tmgCheckDrop .6s cubic-bezier(.3,1.4,.4,1) 1.1s both; }
.tmg-home-cmd-check--2 { animation: tmgCheckDrop .6s cubic-bezier(.3,1.4,.4,1) 2.1s both; }

.tmg-home-cmd-text {
	overflow: hidden;
}

.tmg-home-cmd-title {
	font-weight: 800;
	font-size: 15px;
	white-space: nowrap;
}

.tmg-home-cmd-title--0 { animation: tmgTextReveal .7s steps(24,end) .5s both; }
.tmg-home-cmd-title--1 { animation: tmgTextReveal .7s steps(24,end) 1.5s both; }
.tmg-home-cmd-title--2 { animation: tmgTextReveal .7s steps(24,end) 2.5s both; }

.tmg-home-cmd-desc {
	font-size: 13.5px;
	color: #9c9890;
	white-space: nowrap;
}

.tmg-home-cmd-desc--0 { animation: tmgTextReveal .9s steps(30,end) .9s both; }
.tmg-home-cmd-desc--1 { animation: tmgTextReveal .9s steps(30,end) 1.9s both; }
.tmg-home-cmd-desc--2 { animation: tmgTextReveal .9s steps(30,end) 2.9s both; }

/* Auto-extracted styles from the Home page's remaining inline style attributes. Class names are numbered (tmg-home-sN) rather than semantic — extracted programmatically at scale from over 150 unique style combinations, prioritizing byte-for-byte accuracy (verified via visual regression testing) over hand-crafted naming. */

.tmg-home-s1 { width:100%; }
.tmg-home-s2 { position:relative; background:#111113; color:#fff; overflow:hidden; }
.tmg-home-s3 { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.35) brightness(1.05); pointer-events:none; }
.tmg-home-s4 { position:absolute; inset:0; background:#000; opacity:.6; }
.tmg-home-s5 { position:relative; z-index:1; max-width:1280px; margin:0 auto; padding:clamp(56px,7vw,104px) clamp(18px,4vw,48px) clamp(30px,4vw,60px); display:block; }
.tmg-home-s6 { animation:tmgUp .6s ease both; }
.tmg-home-s7 { display:flex; align-items:center; gap:12px; margin-bottom:22px; flex-wrap:wrap; }
.tmg-home-s8 { height:3px; width:34px; background:#e11b22; display:inline-block; }
.tmg-home-s9 { font-family:'Kaushan Script',cursive; color:#e11b22; font-size:24px; line-height:1; }
.tmg-home-s10 { font-weight:800; font-size:12.5px; letter-spacing:.24em; text-transform:uppercase; color:#c9c6bf; }
.tmg-home-s11 { font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; line-height:.92; letter-spacing:.5px; font-size:clamp(46px,6.6vw,104px); margin:0; }
.tmg-home-s12 { display:block; overflow:hidden; }
.tmg-home-s13 { display:block; animation:tmgLineIn .9s cubic-bezier(.22,1,.36,1) .1s both; }
.tmg-home-s14 { display:block; animation:tmgLineIn .9s cubic-bezier(.22,1,.36,1) .34s both; }
.tmg-home-s15 { display:block; color:#e11b22; animation:tmgLineIn .9s cubic-bezier(.22,1,.36,1) .58s both; }
.tmg-home-s16 { display:flex; align-items:center; gap:28px; flex-wrap:wrap; margin-top:-45px; }
.tmg-home-s17 { font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; line-height:.92; letter-spacing:.5px; font-size:clamp(46px,6.6vw,104px); margin:0; padding-bottom:.45em; margin-bottom:-.45em; }
.tmg-home-s18 { position:relative; display:inline-block; color:transparent; animation:tmgLineIn .9s cubic-bezier(.22,1,.36,1) .82s both; user-select:none; }
.tmg-home-s19 { position:absolute; left:50%; bottom:.06em; font-family:'Kaushan Script',cursive; text-transform:none; color:#fff; font-weight:700; font-size:calc(.42em + 4px); letter-spacing:0; transform:translateX(-50%) translate(-3.94em,1.49em) translateY(-110px) rotate(-4deg); white-space:pre; }
.tmg-home-s20 { display:flex; align-items:center; }
.tmg-home-s21 { position:relative; width:min(224px,45vw); aspect-ratio:1; animation:tmgLogoSpin 1.4s ease-in-out .3s both; transform-origin:50% 50%; }
.tmg-home-s22 { position:absolute; inset:0; background:#fff; border-radius:50%; box-shadow:8px 8px 0 rgba(0,0,0,.55); }
.tmg-home-s23 { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.tmg-home-s24 { position:absolute; width:96%; height:96%; object-fit:contain; border-radius:50%; }
.tmg-home-s25 { position:absolute; width:96%; height:96%; background-image:url("../images/img-028-31209966e267fca9.png"); background-size:contain; background-position:center; background-repeat:no-repeat; clip-path:circle(11% at 55% 65%); animation:tmgHeartIn .5s ease 1.7s both; }
.tmg-home-s26 { max-width:470px; margin:-90px 0 0; font-size:clamp(16px,1.3vw,19px); line-height:1.6; color:#d7d3ca; font-weight:400; animation:tmgUp .8s ease 1.2s both; opacity:0; }
.tmg-home-s27 { display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; animation:tmgUp .8s ease 1.45s both; opacity:0; }
.tmg-home-s28 { display:inline-flex; align-items:center; gap:10px; background:#e11b22; color:#fff; font-weight:800; font-size:17px; letter-spacing:.04em; text-transform:uppercase; padding:18px 28px; border:3px solid #111113; box-shadow:7px 7px 0 #000; transition:transform .12s ease,box-shadow .12s ease; }
.tmg-home-s28:hover { transform:translate(-3px,-3px); box-shadow:10px 10px 0 #000; }
.tmg-home-s29 { display:inline-flex; align-items:center; gap:11px; background:transparent; color:#fff; font-weight:800; font-size:15px; letter-spacing:.06em; text-transform:uppercase; padding:18px 26px; border:3px solid #fff; transition:background .15s ease,color .15s ease; }
.tmg-home-s29:hover { background:#fff; color:#111113; }
.tmg-home-s30 { font-size:17px; }
.tmg-home-s31 { position:relative; z-index:1; background:#fff; }
.tmg-home-s32 { max-width:1280px; margin:0 auto; padding:0 clamp(18px,4vw,48px) 5px; }
.tmg-home-s33 { display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-top:14px; padding-bottom:22px; }
.tmg-home-s34 { padding:22px clamp(18px,2.4vw,30px); display:flex; align-items:center; gap:20px; background:#fff; border:2px solid #111113; box-shadow:8px 8px 0 #111113; }
.tmg-home-s35 { width:150px; height:150px; object-fit:contain; flex:none; filter:brightness(0); }
.tmg-home-s36 { flex:none; align-self:stretch; width:2px; background:#e11b22; }
.tmg-home-s37 { font-weight:900; font-size:17px; letter-spacing:.14em; text-transform:uppercase; color:#111113; white-space:nowrap; animation:tmgTextReveal .9s steps(26,end) .1s both; }
.tmg-home-s38 { font-size:17px; color:#111113; margin-top:6px; }
.tmg-home-s39 { font-weight:900; font-size:17px; letter-spacing:.14em; text-transform:uppercase; color:#111113; animation:tmgTextReveal .9s steps(20,end) .1s both; }
.tmg-home-s40 { background:#fff; padding:clamp(64px,8vw,116px) clamp(18px,4vw,48px) clamp(44px,5vw,64px); }
.tmg-home-s41 { max-width:1280px; margin:0 auto; }
.tmg-home-s42 { display:flex; gap:clamp(28px,4vw,56px); align-items:flex-start; flex-wrap:wrap; margin-bottom:clamp(34px,4vw,52px); }
.tmg-home-s43 { flex:1 1 520px; min-width:320px; }
.tmg-home-s44 { font-weight:800; font-size:14px; letter-spacing:.3em; text-transform:uppercase; color:#e11b22; }
.tmg-home-s45 { font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; font-size:clamp(38px,4.8vw,68px); line-height:1; letter-spacing:.5px; color:#111113; margin-top:18px; }
.tmg-home-s46 { color:#e11b22; }
.tmg-home-s47 { flex:1 1 340px; min-width:300px; max-width:520px; border-left:2px solid #e11b22; padding:6px 0 6px clamp(20px,2.4vw,34px); }
.tmg-home-s48 { font-size:clamp(16px,1.3vw,18.5px); line-height:1.6; color:#4a4f53; margin:0; }
.tmg-home-s49 { font-size:clamp(16px,1.3vw,18.5px); line-height:1.6; color:#111113; font-weight:800; margin:16px 0 0; }
.tmg-home-s50 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.tmg-home-s51 { border-top:1px solid #ddd8cd; margin-top:clamp(30px,3.6vw,44px); padding-top:clamp(26px,3vw,38px); display:flex; align-items:center; justify-content:center; gap:clamp(20px,2.6vw,34px); flex-wrap:wrap; }
.tmg-home-s52 { flex:none; width:200px; height:133px; }
.tmg-home-s53 { flex:none; align-self:stretch; width:1px; background:#ddd8cd; }
.tmg-home-s54 { max-width:none; }
.tmg-home-s55 { font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; font-size:clamp(42px,4vw,54px); letter-spacing:.5px; color:#111113; white-space:nowrap; }
.tmg-home-s56 { font-size:15.5px; line-height:1.6; color:#4a4f53; margin-top:8px; }
.tmg-home-s57 { background:#111113; color:#fff; padding:clamp(64px,8vw,116px) clamp(18px,4vw,48px); position:relative; overflow:hidden; }
.tmg-home-s58 { max-width:1280px; margin:0 auto; position:relative; }
.tmg-home-s59 { text-align:center; margin-bottom:52px; }
.tmg-home-s60 { display:inline-flex; align-items:center; gap:11px; margin-bottom:16px; position:relative; left:-18px; }
.tmg-home-s61 { height:3px; width:150px; background:#e11b22; display:inline-block; }
.tmg-home-s62 { font-weight:800; font-size:12.5px; letter-spacing:.22em; text-transform:uppercase; color:#e11b22; }
.tmg-home-s63 { display:block; margin:0 auto; width:min(560px,80%); height:auto; }
.tmg-home-s64 { max-width:560px; margin:20px auto 0; font-size:17px; line-height:1.6; color:#c9c6bf; }
.tmg-home-s65 { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.tmg-home-s66 { background:#fff; }
.tmg-home-s67 { max-width:1280px; margin:0 auto; padding:clamp(56px,7vw,96px) clamp(18px,4vw,48px) clamp(40px,5vw,60px); text-align:center; }
.tmg-home-s68 { display:inline-flex; align-items:center; gap:14px; margin-bottom:16px; }
.tmg-home-s69 { height:3px; width:56px; background:#e11b22; display:inline-block; }
.tmg-home-s70 { font-weight:800; font-size:14px; letter-spacing:.24em; text-transform:uppercase; color:#e11b22; }
.tmg-home-s71 { font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; line-height:.94; font-size:clamp(38px,5.6vw,80px); letter-spacing:.5px; color:#111113; }
.tmg-home-s72 { width:92px; height:7px; background:#e11b22; margin:14px auto 0; }
.tmg-home-s73 { max-width:780px; margin:22px auto 0; font-size:clamp(16px,1.4vw,19px); line-height:1.55; color:#111113; text-wrap:pretty; }
.tmg-home-s74 { background:#000; color:#fff; }
.tmg-home-s75 { max-width:1280px; margin:0 auto; padding:clamp(44px,5.5vw,76px) clamp(18px,4vw,48px); display:grid; grid-template-columns:1fr auto 1fr; gap:clamp(26px,3.5vw,52px); align-items:center; }
.tmg-home-s76 { display:flex; align-items:center; justify-content:center; gap:16px; }
.tmg-home-s77 { height:2px; flex:1; max-width:130px; background:#e11b22; }
.tmg-home-s78 { width:78px; height:78px; border:2px solid #e11b22; display:inline-flex; align-items:center; justify-content:center; flex:none; }
.tmg-home-s79 { width:58px; height:58px; object-fit:contain; }
.tmg-home-s80 { font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; font-size:clamp(26px,2.6vw,38px); letter-spacing:.5px; line-height:1.04; margin-top:18px; text-align:center; color:#fff; }
.tmg-home-s81 { text-align:center; font-size:16.5px; margin-top:10px; color:#fff; }
.tmg-home-s82 { margin-top:20px; display:flex; flex-direction:column; }
.tmg-home-s83 { display:flex; align-items:center; gap:16px; padding:13px 0; border-bottom:2px solid #e11b22; animation:tmgRowSlide .55s cubic-bezier(.2,.7,.3,1) 1.55s both; }
.tmg-home-s84 { width:48px; height:48px; border:2px solid #e11b22; display:inline-flex; align-items:center; justify-content:center; flex:none; }
.tmg-home-s85 { font-weight:800; font-size:16.5px; letter-spacing:.12em; text-transform:uppercase; color:#fff; }
.tmg-home-s86 { display:flex; align-items:center; gap:16px; padding:13px 0; border-bottom:2px solid #e11b22; animation:tmgRowSlide .55s cubic-bezier(.2,.7,.3,1) 1.75s both; }
.tmg-home-s87 { display:flex; align-items:center; gap:16px; padding:13px 0; border-bottom:2px solid #e11b22; animation:tmgRowSlide .55s cubic-bezier(.2,.7,.3,1) 1.95s both; }
.tmg-home-s88 { text-align:center; padding:10px clamp(26px,3.2vw,58px); border-left:2px solid #e11b22; border-right:2px solid #e11b22; align-self:stretch; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.tmg-home-s89 { position:relative; width:clamp(190px,20vw,270px); }
.tmg-home-s90 { width:100%; height:auto; display:block; }
.tmg-home-s91 { position:absolute; left:calc(38% + 4px); top:calc(58% + 4px); width:42%; height:auto; }
.tmg-home-s92 { width:clamp(170px,18vw,240px); height:auto; margin-top:2px; }
.tmg-home-s93 { font-weight:800; font-size:clamp(17px,1.6vw,22px); letter-spacing:.05em; margin-top:4px; color:#fff; }
.tmg-home-s94 { position:relative; background:#fff; padding:clamp(64px,8vw,116px) clamp(18px,4vw,48px); border-top:3px solid #111113; overflow:hidden; }
.tmg-home-s95 { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; pointer-events:none; filter:grayscale(1) contrast(1.05); }
.tmg-home-s96 { position:absolute; inset:0; background:rgba(255,255,255,.8); pointer-events:none; }
.tmg-home-s97 { position:relative; max-width:1280px; margin:0 auto; }
.tmg-home-s98 { margin-bottom:50px; text-align:center; }
.tmg-home-s99 { display:inline-flex; align-items:center; gap:11px; margin-bottom:14px; }
.tmg-home-s100 { height:3px; width:30px; background:#e11b22; display:inline-block; }
.tmg-home-s101 { font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; line-height:.94; font-size:clamp(34px,4.6vw,66px); letter-spacing:.5px; margin:0 auto; }
.tmg-home-s102 { display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(24px,3vw,46px); }
.tmg-home-s103 { display:flex; flex-direction:column; align-items:center; text-align:center; }
.tmg-home-s104 { position:relative; width:100%; aspect-ratio:1; border:4px solid #e11b22; border-radius:50%; overflow:hidden; background:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:8% 9%; }
.tmg-home-s105 { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.tmg-home-s106 { font-family:'Anton',sans-serif; font-size:clamp(70px,9vw,131px); line-height:.82; color:#e11b22; margin-bottom:10px; }
.tmg-home-s107 { font-family:'Anton',sans-serif; text-transform:uppercase; font-size:clamp(19px,2.35vw,34px); line-height:1; letter-spacing:.5px; color:#111113; text-wrap:balance; }
.tmg-home-s108 { font-size:16px; line-height:1.55; color:#111113; margin-top:20px; max-width:30ch; }
.tmg-home-s109 { font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; text-align:center; font-size:clamp(22px,2.6vw,38px); letter-spacing:.5px; color:#111113; margin-top:clamp(40px,5vw,64px); }
.tmg-home-s110 { background:#e11b22; color:#fff; position:relative; overflow:hidden; }
.tmg-home-s111 { max-width:1280px; margin:0 auto; padding:clamp(52px,6vw,84px) clamp(18px,4vw,48px); display:grid; grid-template-columns:1fr auto; gap:36px; align-items:center; }
.tmg-home-s112 { font-weight:800; font-size:12.5px; letter-spacing:.24em; text-transform:uppercase; color:#111113; margin-bottom:10px; }
.tmg-home-s113 { font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; line-height:.92; font-size:clamp(32px,4.4vw,60px); letter-spacing:.5px; }
.tmg-home-s114 { white-space:nowrap; }
.tmg-home-s115 { white-space:nowrap; display:inline-block; margin-top:12px; }
.tmg-home-s116 { max-width:560px; margin-top:14px; font-size:16px; line-height:1.55; font-weight:500; color:#fff; }
.tmg-home-s117 { flex:none; display:flex; flex-direction:column; align-items:center; gap:4px; color:#fff; text-align:center; }
.tmg-home-s118 { width:clamp(200px,20vw,268px); height:auto; border-radius:50%; box-shadow:0 10px 34px rgba(0,0,0,.3); }
.tmg-home-s119 { font-weight:800; font-size:14px; letter-spacing:.2em; text-transform:uppercase; color:#111113; margin-top:18px; }
.tmg-home-s120 { font-family:'Anton',sans-serif; font-size:clamp(30px,3vw,42px); letter-spacing:2px; line-height:1; }
.tmg-home-s121 { background:#111113; color:#fff; padding:clamp(64px,8vw,116px) clamp(18px,4vw,48px); }
.tmg-home-s122 { max-width:1280px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.tmg-home-s123 { display:flex; align-items:center; gap:11px; margin-bottom:16px; }
.tmg-home-s124 { font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; line-height:.94; font-size:clamp(34px,4.4vw,62px); letter-spacing:.5px; }
.tmg-home-s125 { font-size:.32em; vertical-align:top; line-height:1; letter-spacing:0; }
.tmg-home-s126 { max-width:520px; margin-top:18px; font-size:17px; line-height:1.6; color:#c9c6bf; }
.tmg-home-s127 { display:flex; flex-direction:column; gap:14px; margin-top:28px; }
.tmg-home-s128 { background:#fff; color:#111113; border:3px solid #fff; box-shadow:12px 12px 0 #e11b22; }
.tmg-home-s129 { background:#111113; padding:13px 16px; display:flex; align-items:center; gap:8px; }
.tmg-home-s130 { width:11px; height:11px; border-radius:50%; background:#e11b22; display:inline-block; animation:tmgDotPulse 1.6s ease-in-out infinite; }
.tmg-home-s131 { width:11px; height:11px; border-radius:50%; background:#e11b22; display:inline-block; animation:tmgDotPulse 1.6s ease-in-out .25s infinite; }
.tmg-home-s132 { width:11px; height:11px; border-radius:50%; background:#e11b22; display:inline-block; animation:tmgDotPulse 1.6s ease-in-out .5s infinite; }
.tmg-home-s133 { margin-left:10px; font-weight:800; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:#fff; }
.tmg-home-s134 { padding:22px; }
.tmg-home-s135 { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.tmg-home-s136 { font-family:'Anton',sans-serif; text-transform:uppercase; font-size:19px; letter-spacing:.5px; }
.tmg-home-s137 { background:#e11b22; color:#fff; font-weight:800; font-size:11px; letter-spacing:.1em; padding:5px 10px; }
.tmg-home-s138 { animation:tmgLivePulse 1.3s ease-in-out infinite; }
.tmg-home-s139 { display:flex; flex-direction:column; gap:12px; }
.tmg-home-s140 { border:2px solid #111113; padding:13px 15px; }
.tmg-home-s141 { display:flex; justify-content:space-between; font-weight:700; font-size:13.5px; }
.tmg-home-s142 { color:#1f8a4c; }
.tmg-home-s143 { height:9px; background:#e5e0d5; margin-top:9px; border:1px solid #111113; overflow:hidden; }
.tmg-home-s144 { height:100%; width:78%; background:#e11b22; transform-origin:left; animation:tmgBarFill 1.1s ease-out .3s both; }
.tmg-home-s145 { color:#c8850a; }
.tmg-home-s146 { height:100%; width:46%; background:#e11b22; transform-origin:left; animation:tmgBarFill 1.1s ease-out .45s both; }
.tmg-home-s147 { height:100%; width:100%; background:#e11b22; transform-origin:left; animation:tmgBarFill 1.1s ease-out .6s both; }
.tmg-home-s148 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; margin-top:16px; }
.tmg-home-s149 { border:2px solid #111113; padding:12px; text-align:center; }
.tmg-home-s150 { font-family:'Anton',sans-serif; font-size:26px; display:inline-block; animation:tmgStatSpin .7s cubic-bezier(.25,.6,.35,1) 1.8s both; }
.tmg-home-s151 { font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#4a4f53; }
.tmg-home-s152 { font-family:'Anton',sans-serif; font-size:26px; color:#e11b22; display:inline-block; animation:tmgStatSpin .7s cubic-bezier(.25,.6,.35,1) 1.95s both; }
.tmg-home-s153 { font-family:'Anton',sans-serif; font-size:26px; display:inline-block; animation:tmgStatSpin .7s cubic-bezier(.25,.6,.35,1) 2.1s both; }
/**
 * Home page: fonts (@font-face), base reset, keyframe animations,
 * hover states, and responsive media queries — originally
 * embedded in template-tmg-home.php's own <helmet><style> block.
 * Font URLs use a relative path (../fonts/...) instead of the
 * PHP $tmg_v1_assets variable, since this is a static CSS file
 * that can't execute PHP — assets/css/common.css -> assets/fonts/
 * is one directory up, then into fonts/.
 */
/* vietnamese */
@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/font-001-82cc85bd416dc825.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/font-002-0d17b7880f389dee.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/font-003-d0fa07ff63dd60cb.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/font-004-5a621c5598a31392.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/font-005-ff4f17d21930e36d.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/font-006-8f704806dbedeaae.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/font-004-5a621c5598a31392.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/font-005-ff4f17d21930e36d.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/font-006-8f704806dbedeaae.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/font-004-5a621c5598a31392.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/font-005-ff4f17d21930e36d.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/font-006-8f704806dbedeaae.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/font-004-5a621c5598a31392.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/font-005-ff4f17d21930e36d.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/font-006-8f704806dbedeaae.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/font-004-5a621c5598a31392.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/font-005-ff4f17d21930e36d.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/font-006-8f704806dbedeaae.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 900;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/font-004-5a621c5598a31392.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 900;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/font-005-ff4f17d21930e36d.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 900;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/font-006-8f704806dbedeaae.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Kaushan Script';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/font-007-342d7c72ac64631f.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Kaushan Script';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/font-008-addcc80ddcc170ff.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


  *,*::before,*::after{box-sizing:border-box}
  html{scroll-behavior:smooth}
  section[id]{scroll-margin-top:84px}
  body{margin:0;background:#f4f1ea;color:#111113;font-family:'Archivo',system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  a{color:#e11b22;text-decoration:none}
  a:hover{color:#b3141a}
  img{display:block;max-width:100%}
  h1,h2,h3,h4{margin:0}
  ::selection{background:#e11b22;color:#fff}
  @keyframes tmgUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
  @keyframes tmgLineIn{from{transform:translateX(-110%)}to{transform:translateX(0)}}
  @keyframes tmgSpin{to{transform:rotate(360deg)}}
  #tmgHeroLoader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#111113;z-index:1;transition:opacity .35s ease;pointer-events:none}
  #tmgHeroLoader.is-hidden{opacity:0}
  #tmgHeroLoader__spinner{width:52px;height:52px;border-radius:50%;border:3px solid rgba(255,255,255,.15);border-top-color:#e11b22;animation:tmgSpin .8s linear infinite}
  @keyframes tmgLogoSpin{
    0%{transform:rotate(20deg) scale(1);opacity:0}
    8%{opacity:1}
    50%{transform:rotate(200deg) scale(1.75)}
    100%{transform:rotate(20deg) scale(1)}
  }
  @keyframes tmgHeartIn{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}
  @keyframes tmgTypeIn{from{opacity:0}to{opacity:1}}
  @keyframes tmgStatSpin{0%{transform:rotate(-200deg) scale(.2);opacity:0}60%{transform:rotate(14deg) scale(1.15);opacity:1}100%{transform:rotate(0deg) scale(1)}}
  @keyframes tmgDotPulse{0%,100%{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}
  @keyframes tmgLivePulse{0%,100%{opacity:1}50%{opacity:.3}}
  @keyframes tmgBarFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
  @keyframes tmgCheckDrop{0%{opacity:0;transform:scale(.3) rotate(-25deg) translateY(-16px)}60%{opacity:1;transform:scale(1.15) rotate(6deg) translateY(0)}100%{opacity:1;transform:scale(1) rotate(0deg)}}
  @keyframes tmgTextReveal{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0% 0 0)}}
  @keyframes tmgRowSlide{from{opacity:0;transform:translateX(-56px)}to{opacity:1;transform:translateX(0)}}
  @keyframes tmgCardUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
  @keyframes tmgLogoZoom{0%{opacity:0;transform:scale(.4)}38%{opacity:1;transform:scale(1.9)}68%{transform:scale(.95)}86%{transform:scale(.985)}100%{opacity:1;transform:scale(1)}}
  @keyframes tmgHeartBeat{0%,100%{transform:scale(1)}30%{transform:scale(1.09)}55%{transform:scale(.97)}}
  .foot-logo-zoom{animation:tmgLogoZoom .7s cubic-bezier(.22,.9,.3,1) both,tmgHeartBeat .45s ease-in-out .78s 1;transform-origin:center;will-change:transform}
  .reach-heart-zoom{animation:tmgLogoZoom .7s cubic-bezier(.22,.9,.3,1) .35s both;transform-origin:63% 72%;will-change:transform}
  @keyframes tmgFlipIn{0%{opacity:0;transform:perspective(1000px) rotateX(55deg) rotateY(-45deg) scale(.75)}100%{opacity:1;transform:perspective(1000px) rotateX(0deg) rotateY(0deg) scale(1)}}
  @keyframes tmgHdrIn{0%{opacity:0;transform:translateY(34px) scale(.985);filter:blur(9px);letter-spacing:3.5px}55%{filter:blur(0)}100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0);letter-spacing:.5px}}
  .hdr-anim{opacity:1;will-change:opacity,transform,filter}
  .hdr-anim.is-in{animation:tmgHdrIn .95s cubic-bezier(.16,.84,.3,1) both}
  
  .proc-circle{transition:transform .28s cubic-bezier(.2,.7,.3,1),box-shadow .28s ease}
  .proc-circle:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(17,17,19,.18)}
  .svc-card{transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s cubic-bezier(.2,.7,.3,1)}
  .svc-card:hover{transform:translate(-2px,-3px)!important;box-shadow:10px 11px 0 #e11b22!important}
  .svc-hover{opacity:0;transition:opacity .32s ease}
  .svc-card:hover .svc-hover{opacity:1}
  .svc-icon,.svc-desc{transition:opacity .28s ease}
  .svc-card:hover .svc-icon,.svc-card:hover .svc-desc{opacity:0}
  .svc-title{transition:color .28s ease,text-shadow .28s ease}
  .svc-card:hover .svc-title{color:#fff!important;text-shadow:0 2px 14px rgba(0,0,0,.6)}
  .tmg-stripes{background-image:repeating-linear-gradient(-45deg,#111113 0 22px,#e11b22 22px 44px)}
  .tmg-dots{background-image:radial-gradient(rgba(255,255,255,.09) 1.4px,transparent 1.5px);background-size:15px 15px}
  @media (max-width:1120px){#tmgHeader nav{display:none!important}.tmg-hero-badge{display:none!important}}
  @media (max-width:1120px){
    #dualTrackRow{grid-template-columns:1fr!important}
    #dualTrackRow .tmg-dt-title{white-space:normal!important}
    #dualTrackRow .tmg-dt-desc br{display:none}
    .tmg-serve-band{flex-wrap:wrap!important}
    .tmg-home-s55{white-space:normal!important}
    .tmg-process{grid-template-columns:1fr 1fr!important}
    .tmg-reach3{grid-template-columns:1fr!important}
    .tmg-reach3-center{border-left:none!important;border-right:none!important;border-top:2px solid #e11b22!important;border-bottom:2px solid #e11b22!important;padding:26px 0!important}
  }
  @media (max-width:900px){
    .tmg-hero-grid{grid-template-columns:1fr!important}
        .tmg-g4{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    .tmg-g3{grid-template-columns:1fr 1fr!important}
    .tmg-g2{grid-template-columns:1fr!important}
    .tmg-emg{grid-template-columns:1fr!important;text-align:center;justify-items:center}
    .tmg-contact{grid-template-columns:1fr!important}
    .tmg-footer__grid{grid-template-columns:1fr 1fr!important}
    .tmg-home-s19{transform:translateX(-50%) translate(-3.94em,1.49em) translateY(-35px) rotate(-4deg)!important}
  }
  #tmgHeader.is-cond{background:rgba(17,17,19,.96)!important;backdrop-filter:blur(8px)!important;box-shadow:0 10px 24px rgba(0,0,0,.28)!important}
  #tmgHeader.is-cond #tmgHeaderInner{height:auto!important}
  #tmgHeader.is-cond #tmgHeaderLogo{height:42px!important;top:0!important}
  #tmgHeader.is-cond #tmgLogoSlant{height:50px!important}
  #tmgHeader.is-cond #tmgHeaderCall{font-size:12.5px!important}
  #tmgHeader.is-cond #tmgHeaderCallWrap{padding-top:8px!important;padding-bottom:8px!important;gap:3px!important}
  #tmgHeader.is-cond nav{font-size:12px!important}
  @media (max-width:900px){
    .tmg-footer__grid{grid-template-columns:1fr 1fr!important}
    #heroContent p{margin-top:28px!important}
    .tmg-emg a[href^="tel:"]{top:0!important;margin-top:6px}
  }
  @media (max-width:700px){
    #tmgHeaderLogo{height:58px!important;top:-6px!important;left:6px!important}
    #tmgLogoSlant{height:52px!important;right:6px!important}
    #tmgHeaderCallWrap{padding:8px 16px 8px 30px!important;gap:3px!important}
    #tmgHeaderCall{font-size:11.5px!important}
    #tmgHeaderCallWrap a[href^="tel:"]{font-size:13.5px!important}
    #dualTrackRow img{width:96px!important;height:96px!important}
    .tmg-emg-h span{white-space:normal!important;display:inline!important;margin-top:0!important}
    .tmg-serve-band{flex-wrap:wrap!important}
    .tmg-serve-band > span{display:none!important}
    .tmg-home-s55{white-space:normal!important}
    .tmg-contact-h span{white-space:normal!important;display:inline!important;margin-top:0!important}
  }
  @media (max-width:560px){
    .tmg-g4,.tmg-g3,.tmg-footer__grid,.tmg-form-row{grid-template-columns:1fr!important}
    #dualTrackRow > div{padding:16px 12px!important}
  }

/**
 * About page: additional @font-face rules and other CSS not
 * already covered by the Home page's extraction above.
 */
/* latin-ext */
@font-face {
  font-family: 'Norican';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/font-009-af0ba959029affc2.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Norican';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/font-010-eb52cc3c4aefeb44.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@keyframes tmgValIn{0%{opacity:0;transform:translateX(-36px)}100%{opacity:1;transform:translateX(0)}}
.val-anim{opacity:0}
.val-anim.is-in{animation:tmgValIn .6s cubic-bezier(.16,.84,.3,1) both;animation-delay:var(--d,0s)}
@keyframes tmgFlipUp{0%{opacity:0;transform:perspective(900px) rotateX(-70deg) translateY(26px)}100%{opacity:1;transform:perspective(900px) rotateX(0) translateY(0)}}
.flip-anim{opacity:0;transform-origin:50% 100%;backface-visibility:hidden}
.flip-anim.is-in{animation:tmgFlipUp .7s cubic-bezier(.16,.84,.3,1) both;animation-delay:var(--d,0s)}
@media (max-width:1120px){#tmgHeader nav{display:none!important}}
@media (max-width:900px){
    .tmg-footer__grid{grid-template-columns:1fr 1fr!important}
    .tmg-about2{grid-template-columns:1fr!important}
    .tmg-pillars{grid-template-columns:1fr 1fr!important}
    .tmg-footer__grid{grid-template-columns:1fr 1fr!important}
  }
@media (max-width:700px){
    #tmgHeaderLogo{height:58px!important;top:-6px!important;left:6px!important}
    #tmgLogoSlant{height:52px!important;right:6px!important}
    #tmgHeaderCallWrap{padding:8px 16px 8px 30px!important;gap:3px!important}
    #tmgHeaderCall{font-size:11.5px!important}
    #tmgHeaderCallWrap a[href^="tel:"]{font-size:13.5px!important}
    .tmg-pillars{grid-template-columns:1fr!important}
  }
@media (max-width:560px){
    .tmg-footer__grid{grid-template-columns:1fr!important}
    .tmg-values{flex-direction:column!important;align-items:flex-start!important}
  }
/**
 * About page: per-element classes extracted from what were
 * inline style="" attributes on individual elements.
 */
.tmg-about-s1 { width:100%; }
.tmg-about-s2 { position:relative; background:#111113; color:#fff; padding:clamp(70px,9vw,130px) clamp(18px,4vw,48px); overflow:hidden; }
.tmg-about-s3 { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.75; }
.tmg-about-s4 { position:absolute; inset:0; background:rgba(17,17,19,.15); }
.tmg-about-s5 { position:absolute; inset:0; background-image:radial-gradient(rgba(17,17,19,.85) 0.8px, transparent 0.8px); background-size:3px 3px; }
.tmg-about-s6 { position:relative; max-width:1120px; margin:0 auto; }
.tmg-about-s7 { display:flex; align-items:center; gap:11px; margin-bottom:18px; }
.tmg-about-s8 { height:3px; width:30px; background:#e11b22; display:inline-block; }
.tmg-about-s9 { font-weight:800; font-size:12.5px; letter-spacing:.22em; text-transform:uppercase; color:#e11b22; }
.tmg-about-s10 { font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; line-height:.94; font-size:clamp(46px,7vw,96px); letter-spacing:.5px; }
.tmg-about-s11 { color:#e11b22; }
.tmg-about-s12 { max-width:456px; font-size:clamp(16px,1.4vw,19px); line-height:1.7; color:#d7d3ca; margin:26px 0 0; }
.tmg-about-s13 { max-width:456px; font-size:clamp(16px,1.4vw,19px); line-height:1.7; color:#c9c6bf; margin:16px 0 0; }
.tmg-about-s14 { background:#f4f1ea; padding:clamp(64px,8vw,110px) clamp(18px,4vw,48px); }
.tmg-about-s15 { max-width:1120px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,72px); align-items:start; }
.tmg-about-s16 { display:flex; align-items:center; gap:11px; margin-bottom:16px; }
.tmg-about-s17 { font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; line-height:.98; font-size:clamp(30px,3.4vw,48px); letter-spacing:.5px; }
.tmg-about-s18 { margin-top:26px; background:#fff; border:3px solid #111113; box-shadow:9px 9px 0 #111113; padding:clamp(22px,3vw,32px); }
.tmg-about-s19 { margin:0; font-size:clamp(18px,1.7vw,22px); line-height:1.5; font-weight:800; }
.tmg-about-s20 { font-size:16px; line-height:1.75; color:#3a3f43; }
.tmg-about-s21 { margin:0; }
.tmg-about-s22 { margin:16px 0 0; }
.tmg-about-s23 { position:relative; background:#111113; color:#fff; padding:clamp(64px,8vw,110px) clamp(18px,4vw,48px); overflow:hidden; }
.tmg-about-s24 { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:grayscale(1); opacity:.9; transform:scale(1.15); }
.tmg-about-s25 { position:absolute; inset:0; background:rgba(17,17,19,.29); }
.tmg-about-s26 { position:relative; max-width:1120px; margin:0 auto; display:grid; grid-template-columns:1fr 1.15fr; gap:clamp(32px,5vw,72px); align-items:center; }
.tmg-about-s27 { width:min(320px,80%); height:auto; }
.tmg-about-s28 { font-size:16px; line-height:1.75; color:#c9c6bf; margin:20px 0 0; }
.tmg-about-s29 { font-size:15.5px; line-height:1.9; color:#d7d3ca; margin:14px 0 0; font-weight:600; }
.tmg-about-s30 { font-size:16px; line-height:1.75; color:#c9c6bf; margin:14px 0 0; }
.tmg-about-s31 { max-width:1120px; margin:0 auto; }
.tmg-about-s32 { display:flex; align-items:center; justify-content:center; gap:11px; margin-bottom:16px; }
.tmg-about-s33 { font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; line-height:.98; font-size:clamp(30px,3.4vw,48px); letter-spacing:.5px; text-align:center; }
.tmg-about-s34 { max-width:680px; font-size:16px; line-height:1.75; color:#3a3f43; margin:18px auto 0; text-align:center; }
.tmg-about-s35 { display:grid; grid-template-columns:repeat(4,minmax(0,250px)); gap:18px; margin-top:34px; justify-content:center; max-width:1120px; margin-left:auto; margin-right:auto; }
.tmg-about-s36 { --d:0s; background:#fff; border:3px solid #111113; box-shadow:7px 7px 0 #111113; padding:24px 20px; text-align:center; }
.tmg-about-s37 { font-family:'Anton',sans-serif; font-size:38px; color:#e11b22; line-height:1; }
.tmg-about-s38 { font-weight:900; font-size:16px; letter-spacing:.06em; text-transform:uppercase; margin-top:12px; }
.tmg-about-s39 { margin:8px 0 0; font-size:14.5px; line-height:1.6; color:#3a3f43; }
.tmg-about-s40 { --d:0.18s; background:#fff; border:3px solid #111113; box-shadow:7px 7px 0 #111113; padding:24px 20px; text-align:center; }
.tmg-about-s41 { --d:0.36s; background:#fff; border:3px solid #111113; box-shadow:7px 7px 0 #111113; padding:24px 20px; text-align:center; }
.tmg-about-s42 { --d:0.54s; background:#fff; border:3px solid #111113; box-shadow:7px 7px 0 #111113; padding:24px 20px; text-align:center; }
.tmg-about-s43 { max-width:720px; font-size:16px; line-height:1.75; color:#3a3f43; margin:28px auto 0; text-align:center; }
.tmg-about-s44 { background:#fff; border-top:3px solid #111113; border-bottom:3px solid #111113; padding:clamp(64px,8vw,110px) clamp(18px,4vw,48px); }
.tmg-about-s45 { margin-top:28px; display:flex; flex-direction:column; gap:0; border:3px solid #111113; box-shadow:9px 9px 0 #111113; }
.tmg-about-s46 { background:#e11b22; color:#fff; font-family:'Anton',sans-serif; text-transform:uppercase; font-size:clamp(18px,1.8vw,23px); letter-spacing:.5px; padding:16px 22px; min-height:1.3em; }
.tmg-about-s47 { background:#111113; color:#fff; font-family:'Anton',sans-serif; text-transform:uppercase; font-size:clamp(18px,1.8vw,23px); letter-spacing:.5px; padding:16px 22px; min-height:1.3em; }
.tmg-about-s48 { display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,72px); margin-top:30px; align-items:start; }
.tmg-about-s49 { background:#111113; color:#fff; padding:clamp(24px,3vw,36px); border:3px solid #111113; box-shadow:9px 9px 0 #e11b22; }
.tmg-about-s50 { font-weight:800; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:#e11b22; margin-bottom:16px; }
.tmg-about-s51 { display:flex; flex-direction:column; gap:10px; font-size:15.5px; font-weight:600; line-height:1.5; }
.tmg-about-s52 { display:flex; align-items:baseline; gap:12px; }
.tmg-about-s53 { color:#e11b22; font-weight:900; }
.tmg-about-s54 { margin-top:18px; padding-top:16px; border-top:2px solid #2a2a2c; font-size:14.5px; color:#c9c6bf; line-height:1.6; }
.tmg-about-s55 { display:flex; flex-direction:column; gap:12px; margin-top:22px; }
.tmg-about-s56 { --d:0s; display:flex; align-items:center; gap:12px; font-weight:900; font-size:14.5px; letter-spacing:.1em; text-transform:uppercase; color:#111113; }
.tmg-about-s57 { flex:none; overflow:visible; }
.tmg-about-s58 { --d:0.22s; display:flex; align-items:center; gap:12px; font-weight:900; font-size:14.5px; letter-spacing:.1em; text-transform:uppercase; color:#111113; }
.tmg-about-s59 { --d:0.44s; display:flex; align-items:center; gap:12px; font-weight:900; font-size:14.5px; letter-spacing:.1em; text-transform:uppercase; color:#111113; }
.tmg-about-s60 { --d:0.66s; display:flex; align-items:center; gap:12px; font-weight:900; font-size:14.5px; letter-spacing:.1em; text-transform:uppercase; color:#111113; }
.tmg-about-s61 { margin-top:26px; width:300px; max-width:100%; height:auto; display:block; }
.tmg-about-s62 { font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; line-height:1; font-size:36.5px; letter-spacing:.5px; margin-top:14px; color:#111113; white-space:nowrap; }
/**
 * Contact page: per-element classes, plus any font-face/other
 * rules not already covered by Home or About above.
 */
.tmg-contact-s1 { width:100%; }
.tmg-contact-s2 { background:#f4f1ea; padding:clamp(64px,8vw,116px) clamp(18px,4vw,48px); min-height:calc(100vh - 420px); }
.tmg-contact-s3 { max-width:1120px; margin:0 auto; display:grid; grid-template-columns:.9fr 1.1fr; gap:0; border:3px solid #111113; box-shadow:12px 12px 0 #111113; background:#fff; }
.tmg-contact-s4 { background:#111113; color:#fff; padding:clamp(32px,4vw,48px); }
.tmg-contact-s5 { display:flex; align-items:center; gap:11px; margin-bottom:16px; }
.tmg-contact-s6 { height:3px; width:30px; background:#e11b22; display:inline-block; }
.tmg-contact-s7 { font-weight:800; font-size:12.5px; letter-spacing:.22em; text-transform:uppercase; color:#e11b22; }
.tmg-contact-s8 { font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; line-height:.94; font-size:clamp(30px,3.4vw,48px); letter-spacing:.5px; }
.tmg-contact-s9 { white-space:nowrap; }
.tmg-contact-s10 { white-space:nowrap; display:inline-block; margin-top:10px; }
.tmg-contact-s11 { font-size:15px; line-height:1.6; color:#c9c6bf; margin-top:16px; }

/**
 * Styling for WordPress's own standard content editor, output at
 * the very top of the Contact page's left column — before the
 * eyebrow — only if something's actually been typed into it (see
 * template-tmg-contact.php). Matches the intro paragraph's own font
 * size/color for a consistent look, with normal spacing for
 * whatever block-level HTML the editor produces (paragraphs, lists,
 * links), and its own bottom margin to separate it from the eyebrow
 * that follows.
 */
.tmg-contact-page-content { font-size:15px; line-height:1.6; color:#c9c6bf; margin-bottom:20px; }
.tmg-contact-page-content p { margin:0 0 12px; }
.tmg-contact-page-content p:last-child { margin-bottom:0; }
.tmg-contact-page-content a { color:#e11b22; text-decoration:underline; }
.tmg-contact-page-content ul,
.tmg-contact-page-content ol { margin:0 0 12px; padding-left:22px; }
.tmg-contact-s12 { margin-top:30px; padding-top:24px; border-top:2px solid #2a2a2c; }
.tmg-contact-s13 { font-weight:800; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:#e11b22; }
.tmg-contact-s14 { display:inline-block; font-family:'Anton',sans-serif; font-size:32px; letter-spacing:1px; color:#fff; margin-top:6px; }
.tmg-contact-s14:hover { color:#e11b22; }
.tmg-contact-s15 { font-size:14px; color:#c9c6bf; margin-top:4px; }
.tmg-contact-s16 { padding:clamp(32px,4vw,48px); }
.tmg-contact-s17 { display:flex; flex-direction:column; gap:18px; }
.tmg-contact-s18 { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.tmg-contact-s19 { display:flex; flex-direction:column; gap:7px; font-weight:800; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:#111113; }
.tmg-contact-s20 { font-family:'Archivo',sans-serif; font-size:15px; padding:13px 14px; border:2px solid #111113; background:#f4f1ea; font-weight:500; letter-spacing:0; text-transform:none; outline:none; }
.tmg-contact-s20:focus { border-color:#e11b22; background:#fff; }
.tmg-contact-s21 { font-family:'Archivo',sans-serif; font-size:15px; padding:13px 14px; border:2px solid #111113; background:#f4f1ea; font-weight:500; letter-spacing:0; text-transform:none; outline:none; resize:vertical; }
.tmg-contact-s21:focus { border-color:#e11b22; background:#fff; }
.tmg-contact-s22 { cursor:pointer; background:#e11b22; color:#fff; font-family:'Anton',sans-serif; font-size:20px; letter-spacing:.5px; text-transform:uppercase; padding:17px; border:3px solid #111113; box-shadow:6px 6px 0 #111113; transition:transform .12s ease,box-shadow .12s ease; }
.tmg-contact-s22:hover { transform:translate(-3px,-3px); box-shadow:9px 9px 0 #111113; }
.tmg-contact-s23 { display:none; flex-direction:column; align-items:flex-start; justify-content:center; height:100%; gap:14px; }
.tmg-contact-s24 { width:66px; height:66px; background:#e11b22; border:3px solid #111113; box-shadow:5px 5px 0 #111113; display:flex; align-items:center; justify-content:center; color:#fff; font-size:34px; font-weight:900; }
.tmg-contact-s25 { font-family:'Anton',sans-serif; text-transform:uppercase; font-size:30px; letter-spacing:.5px; }
.tmg-contact-s26 { font-size:15px; line-height:1.6; color:#4a4f53; max-width:360px; }
.tmg-contact-s27 { font-weight:800; }

@media (max-width:900px){
    .tmg-hero-grid{grid-template-columns:1fr!important}
    .tmg-g2{grid-template-columns:1fr!important}
    .tmg-emg{grid-template-columns:1fr!important;text-align:center;justify-items:center}
    .tmg-contact{grid-template-columns:1fr!important}
    .tmg-contact-s3{box-shadow:none!important}
    .tmg-footer__grid{grid-template-columns:1fr 1fr!important}
  }
/**
 * Careers page: per-element classes, plus any font-face/other
 * rules not already covered above. .val-anim was renamed to
 * tmg-careers-val-anim here — this page's version has a
 * genuinely different definition (different transform, different
 * keyframe) than About's .val-anim, which would have silently
 * conflicted if both used the same class name in one shared file.
 */
.tmg-careers-s1 { width:100%; }
.tmg-careers-s2 { position:relative; background:#111113; color:#fff; padding:clamp(70px,9vw,130px) clamp(18px,4vw,48px); overflow:hidden; }
.tmg-careers-s3 { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:grayscale(1); opacity:1; }
.tmg-careers-s4 { position:absolute; inset:0; background:linear-gradient(90deg,rgba(17,17,19,.55) 0%,rgba(17,17,19,.22) 55%,rgba(17,17,19,0) 100%); }
.tmg-careers-s5 { position:relative; max-width:1120px; margin:0 auto; }
.tmg-careers-s6 { display:flex; align-items:center; gap:11px; margin-bottom:18px; }
.tmg-careers-s7 { height:3px; width:30px; background:#e11b22; display:inline-block; }
.tmg-careers-s8 { font-weight:800; font-size:12.5px; letter-spacing:.22em; text-transform:uppercase; color:#e11b22; }
.tmg-careers-s9 { font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; line-height:.96; font-size:clamp(42px,5.6vw,76px); letter-spacing:.5px; }
.tmg-careers-s10 { color:#e11b22; }
.tmg-careers-s11 { max-width:470px; font-size:16.5px; line-height:1.75; color:#e6e3dc; margin:22px 0 0; }
.tmg-careers-s12 { display:flex; gap:16px; margin-top:32px; flex-wrap:wrap; }
.tmg-careers-s13 { display:inline-flex; align-items:center; background:#e11b22; color:#fff; font-weight:900; font-size:14px; letter-spacing:.12em; text-transform:uppercase; padding:16px 28px; }
.tmg-careers-s13:hover { background:#b3141a; color:#fff; }
.tmg-careers-s14 { display:inline-flex; align-items:center; background:transparent; color:#fff; font-weight:900; font-size:14px; letter-spacing:.12em; text-transform:uppercase; padding:16px 28px; border:2px solid #fff; }
.tmg-careers-s14:hover { background:#fff; color:#111113; }
.tmg-careers-s15 { background:#fff; padding:clamp(64px,8vw,110px) clamp(18px,4vw,48px); }
.tmg-careers-s16 { max-width:1180px; margin:0 auto; display:grid; grid-template-columns:.92fr 1.08fr; gap:clamp(32px,5vw,64px); align-items:start; }
.tmg-careers-s17 { position:relative; align-self:stretch; min-height:480px; }
.tmg-careers-s18 { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:grayscale(1); }
.tmg-careers-s19 { font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; line-height:.98; font-size:clamp(30px,3.6vw,50px); letter-spacing:.5px; }
.tmg-careers-s20 { width:64px; height:4px; background:#e11b22; margin:18px 0 22px; }
.tmg-careers-s21 { font-size:15.5px; line-height:1.75; color:#3a3f43; margin:0; }
.tmg-careers-s22 { font-size:15.5px; line-height:1.75; color:#3a3f43; margin:16px 0 0; }
.tmg-careers-s23 { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin:34px 0 0; }
.tmg-careers-s24 { --d:0s; display:flex; flex-direction:column; align-items:center; text-align:center; gap:12px; }
.tmg-careers-s25 { font-weight:900; font-size:12.5px; letter-spacing:.1em; text-transform:uppercase; line-height:1.4; }
.tmg-careers-s26 { --d:0.18s; display:flex; flex-direction:column; align-items:center; text-align:center; gap:12px; }
.tmg-careers-s27 { --d:0.36s; display:flex; flex-direction:column; align-items:center; text-align:center; gap:12px; }
.tmg-careers-s28 { --d:0.54s; display:flex; flex-direction:column; align-items:center; text-align:center; gap:12px; }
.tmg-careers-s29 { margin-top:36px; }
.tmg-careers-s30 { font-weight:900; font-size:14px; letter-spacing:.14em; text-transform:uppercase; color:#e11b22; }
.tmg-careers-s31 { font-size:14.5px; color:#3a3f43; margin:6px 0 0; }
.tmg-careers-s38 { cursor:pointer; background:#e11b22; color:#fff; font-weight:900; font-size:14px; letter-spacing:.12em; text-transform:uppercase; padding:16px; border:none; transition:background .15s ease; }
.tmg-careers-s38:hover { background:#b3141a; }
.tmg-careers-s42 { background:#111113; color:#fff; padding:0; overflow:hidden; }
.tmg-careers-s43 { width:100%; display:grid; grid-template-columns:1fr 1.05fr; gap:0; align-items:stretch; }
.tmg-careers-s44 { padding:clamp(48px,6vw,88px) clamp(24px,4vw,64px) clamp(48px,6vw,88px) max(24px,calc((100vw - 1280px)/2)); }
.tmg-careers-s45 { font-size:15.5px; line-height:1.75; color:#d7d3ca; margin:0; }
.tmg-careers-s46 { font-size:15.5px; line-height:1.75; color:#d7d3ca; margin:14px 0 0; }
.tmg-careers-s52 { font-size:12.5px; font-style:italic; line-height:1.7; color:#8f8c86; margin:18px 0 0; text-align:center; }
.tmg-careers-s53 { position:relative; min-height:520px; }

.tmg-careers-val-anim{opacity:0;transform:translateY(18px)}
.tmg-careers-val-anim.is-in{animation:tmgUp .6s cubic-bezier(.16,.84,.3,1) both;animation-delay:var(--d,0s)}
@media (max-width:900px){
    .tmg-footer__grid{grid-template-columns:1fr 1fr!important}
    .tmg-career2,.tmg-partner2{grid-template-columns:1fr!important}
    .tmg-vals{grid-template-columns:1fr 1fr!important}
    .tmg-footer__grid{grid-template-columns:1fr 1fr!important}
    .tmg-partner-photo{min-height:320px!important}
  }
@media (max-width:700px){
    #tmgHeaderLogo{height:58px!important;top:-6px!important;left:6px!important}
    #tmgLogoSlant{height:52px!important;right:6px!important}
    #tmgHeaderCallWrap{padding:8px 16px 8px 30px!important;gap:3px!important}
    #tmgHeaderCall{font-size:11.5px!important}
    #tmgHeaderCallWrap a[href^="tel:"]{font-size:13.5px!important}
    .tmg-home-s61{width:44px!important}
    .tmg-home-s19{transform:translateX(-50%) translate(-3.94em,1.49em) translateY(-29px) rotate(-4deg)!important}
    .tmg-home-s27{flex-direction:column!important}
    .tmg-home-s28,.tmg-home-s29{width:100%!important;justify-content:center!important}
    .tmg-careers-s12{flex-direction:column!important}
    .tmg-careers-s13,.tmg-careers-s14{width:100%!important;justify-content:center!important}
  }
@media (max-width:560px){
    .tmg-form-row,.tmg-footer__grid{grid-template-columns:1fr!important}
    .tmg-vals{grid-template-columns:1fr 1fr!important}
  }
/**
 * Legal page: per-element classes, plus non-duplicate other
 * rules. The generic section[id]{scroll-margin-top:140px} rule
 * was rescoped to section.legal-body — Home's own section[id]
 * rule already uses 84px, and since section[id] is a bare
 * attribute selector (matches any page's sections), the two
 * values would have silently overridden each other site-wide.
 * .legal-body is the actual wrapper class on Legal's anchored
 * sections, so scoping to it preserves both values correctly.
 */
.tmg-legal-s1 { width:100%; }
.tmg-legal-s2 { background:#111113; color:#fff; padding:clamp(52px,6vw,84px) clamp(18px,4vw,48px); background-image:radial-gradient(rgba(255,255,255,.09) 1.4px,transparent 1.5px); background-size:15px 15px; }
.tmg-legal-s3 { max-width:960px; margin:0 auto; }
.tmg-legal-s4 { display:flex; align-items:center; gap:11px; margin-bottom:16px; }
.tmg-legal-s5 { height:3px; width:30px; background:#e11b22; display:inline-block; }
.tmg-legal-s6 { font-weight:800; font-size:12.5px; letter-spacing:.22em; text-transform:uppercase; color:#e11b22; }
.tmg-legal-s7 { font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; line-height:.96; font-size:clamp(36px,5vw,64px); letter-spacing:.5px; }
.tmg-legal-s8 { color:#e11b22; }
.tmg-legal-s9 { display:flex; gap:12px; margin-top:26px; flex-wrap:wrap; }
.tmg-legal-s10 { background:#e11b22; color:#fff; font-weight:900; font-size:13px; letter-spacing:.12em; text-transform:uppercase; padding:12px 22px; }
.tmg-legal-s10:hover { background:#b3141a; color:#fff; }
.tmg-legal-s11 { background:transparent; color:#fff; border:2px solid #fff; font-weight:900; font-size:13px; letter-spacing:.12em; text-transform:uppercase; padding:10px 22px; }
.tmg-legal-s11:hover { background:#fff; color:#111113; }
.tmg-legal-s12 { background:#f4f1ea; padding:clamp(52px,6vw,84px) clamp(18px,4vw,48px) clamp(40px,5vw,64px); }
.tmg-legal-s13 { font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; font-size:clamp(28px,3vw,42px); letter-spacing:.5px; padding-bottom:16px; border-bottom:3px solid #111113; }
.tmg-legal-s14 { font-weight:700; color:#111113; }
.tmg-legal-s15 { background:#fff; border-top:3px solid #111113; padding:clamp(52px,6vw,84px) clamp(18px,4vw,48px) clamp(64px,7vw,96px); }
.tmg-legal-s16 { margin-top:22px; }

section.legal-body{scroll-margin-top:140px}
.legal-body p,.legal-body li{font-size:15.5px;line-height:1.75;color:#3a3f43}
.legal-body h3{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:22px;letter-spacing:.5px;margin:38px 0 12px;display:flex;align-items:center;gap:12px}
.legal-body h3::before{content:"";width:14px;height:14px;background:#e11b22;transform:skewX(-14deg);flex:none}
.legal-body ol,.legal-body ul{padding-left:24px;margin:12px 0}
.legal-body li{margin:8px 0}
/**
 * index.php (WordPress fallback template — search/404/archive
 * pages, not any of the 5 main pages). Its own reset block used
 * font-family:system-ui,sans-serif (no 'Archivo') since it never
 * declared any @font-face rules of its own. Now that it shares
 * common.css with the rest of the site, the existing body{} rule
 * above (font-family:'Archivo',system-ui,sans-serif) applies here
 * too — a minor, intentional consistency improvement on this
 * rarely-visited fallback page, not a preserved-exactly duplicate,
 * since 'Archivo' is already loaded site-wide via this same file.
 */
.tmg-index-s1 { width:100%; }
.tmg-index-s2 { min-height:60vh; display:flex; align-items:center; justify-content:center; text-align:center; padding:80px 24px; }
.tmg-index-s3 { font-size:28px; margin-bottom:12px; }
.tmg-index-s4 { font-size:32px; margin-bottom:12px; }
.tmg-index-s5 { color:#555; margin-bottom:24px; }
.tmg-index-s6 { display:inline-block; background:#e11b22; color:#fff; font-weight:700; padding:12px 24px; border-radius:4px; }

/**
 * Default page template (page.php) — banner + main content area.
 * New, from-scratch styling (this template isn't part of the
 * original design's own extracted pages), matching the site's
 * existing visual language: dark full-bleed image hero with
 * overlay, Anton headline font, red accent color, Archivo body
 * font. Uses its own class prefix (tmg-page-banner-*,
 * tmg-page-content) rather than reusing Careers' or any other
 * page's own generated classes, since this is a distinct template
 * that should be free to change independently later.
 */
.tmg-page-banner {
	position: relative;
	background: #111113;
	color: #fff;
	padding: clamp(70px, 9vw, 130px) clamp(18px, 4vw, 48px);
	overflow: hidden;
}

.tmg-page-banner__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .55;
}

.tmg-page-banner__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(17, 17, 19, .55), rgba(17, 17, 19, .85));
}

.tmg-page-banner__content {
	position: relative;
	max-width: 900px;
	margin: 0 auto;
	text-align: center;
}

.tmg-page-banner__eyebrow-row {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 11px;
	margin-bottom: 18px;
}

.tmg-page-banner__eyebrow-dash {
	height: 3px;
	width: 30px;
	background: #e11b22;
	display: inline-block;
}

.tmg-page-banner__eyebrow-text {
	font-weight: 800;
	font-size: 12.5px;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: #e11b22;
}

.tmg-page-banner__heading {
	font-family: 'Anton', sans-serif;
	font-weight: 400;
	text-transform: uppercase;
	font-size: clamp(34px, 5.5vw, 64px);
	line-height: 1.05;
	letter-spacing: .5px;
	margin: 0;
}

.tmg-page-banner-red {
	color: #e11b22;
}

.tmg-page-banner__subheading {
	font-size: 17px;
	line-height: 1.6;
	color: #c9c6bf;
	max-width: 640px;
	margin: 18px auto 0;
}

.tmg-page-content {
	max-width: 800px;
	margin: 0 auto;
	padding: clamp(48px, 6vw, 88px) clamp(18px, 4vw, 48px);
	font-family: 'Archivo', sans-serif;
	font-size: 16px;
	line-height: 1.7;
	color: #3a3f43;
}

.tmg-page-content h1,
.tmg-page-content h2,
.tmg-page-content h3,
.tmg-page-content h4 {
	font-family: 'Anton', sans-serif;
	font-weight: 400;
	text-transform: uppercase;
	color: #111113;
	line-height: 1.15;
	margin: 32px 0 14px;
}

.tmg-page-content h1:first-child,
.tmg-page-content h2:first-child,
.tmg-page-content h3:first-child {
	margin-top: 0;
}

.tmg-page-content h2 { font-size: 28px; }
.tmg-page-content h3 { font-size: 22px; }
.tmg-page-content h4 { font-size: 18px; }

.tmg-page-content p {
	margin: 0 0 18px;
}

.tmg-page-content a {
	color: #e11b22;
	text-decoration: underline;
}

.tmg-page-content ul,
.tmg-page-content ol {
	margin: 0 0 18px;
	padding-left: 24px;
}

.tmg-page-content li {
	margin: 6px 0;
}

.tmg-page-content img {
	max-width: 100%;
	height: auto;
	display: block;
	margin: 24px 0;
}

.tmg-page-content blockquote {
	border-left: 3px solid #e11b22;
	margin: 24px 0;
	padding: 4px 0 4px 20px;
	font-style: italic;
	color: #555;
}

@media (max-width: 700px) {
	.tmg-page-banner__heading {
		font-size: 32px;
	}
}

/**
 * Careers page — styling for Formidable's own configured success
 * message on the vendor ("Become a Vendor") form, matching the
 * class names set up within that form's Formidable settings. Same
 * visual treatment as the original design's own thank-you box
 * (dark background, white border, uppercase bold heading, muted
 * subtext) — not scoped further, since these class names are
 * already specific enough not to collide with anything else.
 */
.tmgVendorThanks {
	display: block;
	margin-top: 18px;
	padding: 20px;
	border: 2px solid #ffffff;
}

.tmgVendorThanks .heading {
	font-weight: 900;
	font-size: 15px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.tmgVendorThanks .sub-heading {
	font-size: 14.5px;
	color: #d7d3ca;
	margin: 8px 0px 0px;
}

/**
 * Visually hides content while keeping it available to screen
 * readers — WordPress core normally supplies this via its own
 * default-theme stylesheets, which this theme doesn't load, so it's
 * defined here instead. Used by the search form's own <label>
 * (inc/blog-helpers.php), which needs to exist for accessibility
 * but not add visible text next to the input.
 */
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/**
 * Blog templates (single.php, category.php, search.php, 404.php) —
 * post cards, listing grid, single-post meta/tags, related posts,
 * empty states, search form, and pagination. New, from-scratch
 * styling matching the site's existing visual language (Anton
 * headings, Archivo body, red accent, card borders/shadows similar
 * to the Home page's own property/service cards), sharing the same
 * tmg-page-banner/tmg-page-content styles those templates already
 * use for their banner and prose areas.
 *
 * The grid below uses repeat(auto-fit, minmax(280px, 1fr)) rather
 * than a fixed column count with manual breakpoint overrides — it
 * naturally settles at 1/2/3 columns based on available width with
 * no @media rules needed at all, avoiding the entire class of
 * breakpoint-conflict bugs fixed elsewhere in this file.
 */
.tmg-blog-listing {
	background: #f4f1ea;
}

.tmg-blog-listing__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: clamp(48px, 6vw, 72px) clamp(18px, 4vw, 48px) clamp(64px, 8vw, 96px);
}

.tmg-blog-listing__count {
	font-size: 14.5px;
	color: #6b6f73;
	margin: 0 0 28px;
}

.tmg-blog-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 32px;
}

.tmg-blog-card {
	background: #fff;
	border: 1px solid #e4e0d4;
	display: flex;
	flex-direction: column;
	transition: box-shadow .2s ease, transform .2s ease;
}

.tmg-blog-card:hover {
	box-shadow: 8px 8px 0 rgba(17, 17, 19, .08);
	transform: translate(-2px, -2px);
}

.tmg-blog-card__image-link {
	position: relative;
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #111113;
}

.tmg-blog-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.tmg-blog-card__image--fallback {
	display: flex;
	align-items: center;
	justify-content: center;
}

.tmg-blog-card__fallback-logo {
	width: 90px;
	height: auto;
	opacity: .85;
}

.tmg-blog-card__badge {
	position: absolute;
	top: 14px;
	left: 14px;
	background: #e11b22;
	color: #fff;
	font-weight: 800;
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	padding: 6px 12px;
}

.tmg-blog-card__body {
	padding: 22px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.tmg-blog-card__date {
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #9a958a;
}

.tmg-blog-card__title {
	font-family: 'Anton', sans-serif;
	font-weight: 400;
	text-transform: uppercase;
	font-size: 21px;
	line-height: 1.15;
	letter-spacing: .3px;
	margin: 10px 0 0;
}

.tmg-blog-card__title a {
	color: #111113;
	text-decoration: none;
}

.tmg-blog-card__title a:hover {
	color: #e11b22;
}

.tmg-blog-card__excerpt {
	font-size: 14.5px;
	line-height: 1.6;
	color: #4a4f53;
	margin: 12px 0 0;
	flex: 1;
}

.tmg-blog-card__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 18px;
	color: #e11b22;
	font-weight: 800;
	font-size: 13px;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.tmg-blog-card__arrow {
	transition: transform .15s ease;
}

.tmg-blog-card__link:hover .tmg-blog-card__arrow {
	transform: translateX(4px);
}

.tmg-blog-empty {
	max-width: 560px;
	margin: 0 auto;
	text-align: center;
	padding: 40px 0;
}

.tmg-blog-empty p {
	font-size: 16px;
	color: #3a3f43;
	margin: 0 0 24px;
}

.tmg-blog-empty__link {
	display: inline-block;
	background: #e11b22;
	color: #fff;
	font-weight: 800;
	font-size: 14px;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: 14px 28px;
	border: 3px solid #111113;
}

.tmg-blog-empty__links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px 28px;
	margin-top: 24px;
}

.tmg-blog-empty__links a {
	color: #111113;
	font-weight: 800;
	font-size: 13px;
	letter-spacing: .06em;
	text-transform: uppercase;
	border-bottom: 2px solid #e11b22;
	padding-bottom: 2px;
}

.tmg-blog-pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-top: 48px;
}

.tmg-blog-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	font-weight: 700;
	font-size: 14px;
	color: #111113;
	border: 2px solid #111113;
	background: #fff;
}

.tmg-blog-pagination .page-numbers.current {
	background: #e11b22;
	border-color: #e11b22;
	color: #fff;
}

.tmg-blog-pagination .page-numbers:not(.current):not(.dots):hover {
	background: #111113;
	color: #fff;
}

.tmg-search-form {
	display: flex;
	max-width: 420px;
	margin: 0 auto;
}

.tmg-search-form__input {
	flex: 1;
	font-family: 'Archivo', sans-serif;
	font-size: 15px;
	padding: 13px 16px;
	border: 2px solid #111113;
	border-right: none;
	background: #fff;
	outline: none;
}

.tmg-search-form__input:focus {
	border-color: #e11b22;
}

.tmg-search-form__submit {
	cursor: pointer;
	background: #111113;
	color: #fff;
	font-weight: 800;
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: 0 22px;
	border: 2px solid #111113;
	transition: background .15s ease;
}

.tmg-search-form__submit:hover {
	background: #e11b22;
	border-color: #e11b22;
}

/* Single post — byline row under the banner heading, tag pills at
   the end of the content area. */
.tmg-single-meta {
	position: relative;
	margin-top: 18px;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #c9c6bf;
}

.tmg-single-meta__dot {
	margin: 0 10px;
	color: #e11b22;
}

.tmg-single-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 40px;
	padding-top: 24px;
	border-top: 1px solid #e4e0d4;
}

.tmg-single-tags__pill {
	font-size: 13px;
	font-weight: 700;
	color: #6b6f73;
	background: #f4f1ea;
	padding: 6px 14px;
	text-decoration: none;
}

.tmg-single-tags__pill:hover {
	color: #e11b22;
}

.tmg-blog-related {
	background: #f4f1ea;
	border-top: 1px solid #e4e0d4;
}

.tmg-blog-related__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: clamp(48px, 6vw, 72px) clamp(18px, 4vw, 48px) clamp(64px, 8vw, 96px);
}

.tmg-blog-related__heading {
	font-family: 'Anton', sans-serif;
	font-weight: 400;
	text-transform: uppercase;
	font-size: clamp(24px, 2.6vw, 32px);
	letter-spacing: .5px;
	margin: 0 0 28px;
}
