:root{--txp-navy:#1a2b5c;--txp-red:#c8102e;--txp-red-deep:#a40d24;--txp-blue:#2e4a8a;--txp-ink:#242629;--txp-muted:#687082;--txp-bg:#f4f4f0;--txp-card:#fff;--txp-tint:rgba(26,43,92,.04);--txp-line:rgba(26,43,92,.14);--txp-line-strong:rgba(26,43,92,.22);}
.txexp-page{font-family:"Geist",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--txp-bg);color:var(--txp-ink);}
.txexp-page *{box-sizing:border-box;}
.txexp-page a{text-decoration:none;color:inherit;}
.txp-mono{font-family:"Geist Mono",monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--txp-muted);}
.txexp-page-hero,.txexp-contact-paths,.txexp-contact-grid,.txexp-locations,.txexp-story,.txexp-team,.txexp-facilities,.txexp-trust-strip,.txexp-industry-grid{max-width:1240px;margin:0 auto;padding:72px 28px;}
.txexp-page-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:end;border-bottom:1px solid var(--txp-line);}
.txexp-page-hero.has-media{align-items:center;}
.txexp-page-hero h1{font-size:54px;line-height:1.03;letter-spacing:-.025em;color:var(--txp-navy);font-weight:500;margin:12px 0 0;}
.txexp-page-hero p,.txexp-page p{font-size:16px;line-height:1.6;color:var(--txp-muted);margin:0;}
.txexp-page-hero figure{margin:0;min-height:420px;border-radius:6px;overflow:hidden;background:#d8dbdd;}
.txexp-page-hero img{width:100%;height:100%;object-fit:cover;display:block;}
.txexp-contact-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding-bottom:0;}
.txexp-contact-paths article,.txexp-contact-direct,.txexp-contact-form,.txexp-locations article,.txexp-team-grid article,.txexp-facility-grid article,.txexp-industry-grid article{background:var(--txp-card);border:1px solid var(--txp-line);border-radius:6px;padding:24px;}
.txexp-contact-paths article{border-radius:0;}
.txexp-contact-paths h2,.txexp-contact-grid h2,.txexp-story h2,.txexp-section-head h2,.txexp-industry-grid h2{color:var(--txp-navy);font-size:28px;line-height:1.15;font-weight:500;margin:10px 0 12px;}
.txexp-contact-paths a,.txexp-industry-grid a,.quote-link{display:inline-flex;margin-top:18px;color:var(--txp-red);font-weight:600;}
.txexp-contact-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:22px;}
.txexp-contact-form form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px;}
.txexp-contact-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--txp-navy);font-weight:600;}
.txexp-contact-form label.full{grid-column:1/-1;}
.txexp-contact-form input,.txexp-contact-form select,.txexp-contact-form textarea{border:1px solid var(--txp-line-strong);border-radius:6px;background:#fff;height:44px;padding:0 12px;color:var(--txp-ink);}
.txexp-contact-form textarea{height:auto;padding:12px;resize:vertical;}
.txexp-contact-form button{grid-column:1/-1;height:46px;border:0;border-radius:6px;background:var(--txp-red);color:#fff;font-weight:600;cursor:pointer;}
.txexp-contact-form button:hover{background:var(--txp-red-deep);}
.notice{padding:12px 14px;border-radius:6px;margin-top:14px!important;}
.notice.success{background:#e8f4ec;color:#24633b;}
.notice.error{background:#fff0f0;color:#9b1c2f;}
.txexp-contact-direct p{margin-top:20px;}
.txexp-locations{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding-top:0;}
.txexp-locations article{padding:0;overflow:hidden;}
.txexp-locations .map{aspect-ratio:16/9;background:#d8dbdd;}
.txexp-locations iframe{width:100%;height:100%;border:0;display:block;}
.txexp-locations .body{padding:24px;}
.txexp-locations h2{font-size:24px;color:var(--txp-navy);margin:10px 0 12px;}
.txexp-story{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;}
.txexp-story blockquote{margin:28px 0 0;padding:24px;border-left:4px solid var(--txp-red);background:var(--txp-card);color:var(--txp-navy);font-size:22px;line-height:1.4;}
.txexp-story blockquote span{display:block;margin-top:14px;color:var(--txp-muted);font-size:13px;}
.txexp-section-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:24px;}
.txexp-team-grid,.txexp-facility-grid,.txexp-industry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding-top:0;}
.txexp-team-grid article{min-height:220px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg,#e1e4e7,#fff);}
.txexp-team-grid span,.txexp-facility-grid .media{font-family:"Geist Mono",monospace;font-size:11px;text-transform:uppercase;color:var(--txp-muted);}
.txexp-team-grid h3,.txexp-facility-grid h3{margin:12px 0 6px;color:var(--txp-navy);font-size:20px;}
.txexp-facility-grid{grid-template-columns:1fr 1fr;}
.txexp-facility-grid .media{height:220px;display:flex;align-items:center;justify-content:center;background:#d8dbdd;border-radius:4px;margin-bottom:18px;}
.txexp-trust-strip{padding-top:0;}
.txexp-trust-strip>div:last-child{margin-top:16px;display:grid;grid-template-columns:repeat(6,1fr);gap:10px;}
.txexp-trust-strip span{display:flex;align-items:center;justify-content:center;min-height:72px;border:1px solid var(--txp-line);background:var(--txp-card);border-radius:6px;color:var(--txp-navy);font-family:"Geist Mono",monospace;font-size:12px;text-align:center;}
.txexp-industry-grid{grid-template-columns:repeat(2,1fr);padding-top:44px;}
.txexp-industry-grid ul{margin:18px 0 0;padding-left:18px;color:var(--txp-muted);line-height:1.7;}
.txexp-menu-quote>a,.menu-item.txexp-menu-quote>a{background:var(--txp-red)!important;color:#fff!important;border-radius:6px;padding:10px 16px!important;}
@media (min-width:1000px){
  /* ── Mega panel base ── */
  .menu-item.txexp-mega>.sub-menu{
    display:grid!important;
    padding:0!important;
    background:var(--txp-card)!important;
    border:1px solid var(--txp-line-strong)!important;
    border-top:3px solid var(--txp-navy)!important;
    box-shadow:none!important;
    border-radius:0!important;
    margin-top:0!important;
    transition:opacity .18s ease,visibility .18s ease,transform .18s ease!important;
  }
  .menu-item.txexp-mega:not(.ct-active)>.sub-menu{transform:translateY(6px)!important;}
  .menu-item.txexp-mega.ct-active>.sub-menu{transform:translateY(0)!important;}

  /* Services / Industries: single-column */
  .menu-item.txexp-mega-services>.sub-menu,
  .menu-item.txexp-mega-industries>.sub-menu{
    min-width:480px;
    grid-template-columns:1fr;
  }

  /* Products: 2-column */
  .menu-item.txexp-mega-products>.sub-menu{
    min-width:700px;
    grid-template-columns:1fr 1fr;
  }

  /* Flooring heading spans full width in products panel */
  .menu-item.txexp-mega-products>.sub-menu>.menu-item:first-child{
    grid-column:1/-1;
  }

  /* Panel items */
  .menu-item.txexp-mega>.sub-menu>.menu-item{
    border:0;
    border-bottom:1px solid var(--txp-line);
  }
  .menu-item.txexp-mega>.sub-menu>.menu-item:last-child{border-bottom:0;}

  /* Links inside panel */
  .menu-item.txexp-mega>.sub-menu>.menu-item>.ct-menu-link,
  .menu-item.txexp-mega>.sub-menu>.menu-item>a{
    display:grid!important;
    grid-template-rows:auto auto;
    padding:14px 20px!important;
    gap:3px;
    line-height:1.3;
    color:var(--txp-ink)!important;
  }
  .menu-item.txexp-mega>.sub-menu>.menu-item>.ct-menu-link:hover,
  .menu-item.txexp-mega>.sub-menu>.menu-item>a:hover{
    background:var(--txp-tint);
    color:var(--txp-navy)!important;
  }

  /* Heading items — non-clickable category labels */
  .menu-item.txexp-menu-heading>.ct-menu-link,
  .menu-item.txexp-menu-heading>a{
    cursor:default;
    pointer-events:none;
  }
  .txp-mega-head{
    display:block;
    padding:12px 20px 6px;
    font-family:"Geist Mono",monospace;
    font-size:10.5px;
    letter-spacing:.07em;
    text-transform:uppercase;
    color:var(--txp-navy);
    font-weight:600;
    border-bottom:1px solid var(--txp-line);
  }
  .txp-mega-head-desc{
    display:block;
    margin-top:3px;
    font-family:"Geist",sans-serif;
    font-size:11.5px;
    letter-spacing:0;
    text-transform:none;
    color:var(--txp-muted);
    font-weight:400;
  }

  /* Description line below link text */
  .txp-mega-desc{
    display:block;
    font-size:12px;
    color:var(--txp-muted);
    font-weight:400;
    line-height:1.4;
    pointer-events:none;
  }

  /* Flooring sub-items (depth-2) as pill chips */
  .menu-item.txexp-menu-heading>.sub-menu{
    display:flex!important;
    flex-wrap:wrap;
    position:static!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    padding:6px 12px 12px!important;
    gap:6px;
    min-width:0!important;
    width:auto!important;
  }
  .menu-item.txexp-menu-heading>.sub-menu>.menu-item{
    border:0!important;
  }
  .menu-item.txexp-menu-heading>.sub-menu>.menu-item>.ct-menu-link,
  .menu-item.txexp-menu-heading>.sub-menu>.menu-item>a{
    display:inline-block!important;
    padding:5px 12px!important;
    font-size:13px;
    border:1px solid var(--txp-line);
    border-radius:999px;
    background:var(--txp-bg);
    color:var(--txp-ink)!important;
    white-space:nowrap;
    line-height:1.4;
  }
  .menu-item.txexp-menu-heading>.sub-menu>.menu-item>.ct-menu-link:hover,
  .menu-item.txexp-menu-heading>.sub-menu>.menu-item>a:hover{
    background:var(--txp-tint);
    border-color:var(--txp-navy);
    color:var(--txp-navy)!important;
  }

  /* Products panel footer strip */
  .menu-item.txexp-mega-products>.sub-menu::after{
    content:"View full product catalog →";
    display:block;
    grid-column:1/-1;
    padding:10px 20px;
    font-family:"Geist Mono",monospace;
    font-size:10.5px;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--txp-red);
    border-top:1px solid var(--txp-line);
    background:var(--txp-bg);
    pointer-events:none;
  }
}
@media (max-width:900px){
	.txexp-page-hero,.txexp-contact-grid,.txexp-locations,.txexp-story,.txexp-section-head{grid-template-columns:1fr;}
	.txexp-contact-paths,.txexp-team-grid,.txexp-facility-grid,.txexp-industry-grid{grid-template-columns:1fr;}
	.txexp-trust-strip>div:last-child{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
	.txexp-page-hero,.txexp-contact-paths,.txexp-contact-grid,.txexp-locations,.txexp-story,.txexp-team,.txexp-facilities,.txexp-trust-strip,.txexp-industry-grid{padding-left:18px;padding-right:18px;}
	.txexp-page-hero h1{font-size:38px;}
	.txexp-contact-form form{grid-template-columns:1fr;}
}

/* ============================================================
   HEADER + NAV — design-system alignment
   ============================================================ */

/* ── Header bar ── */
#site-header,
.site-header,
.ct-header {
	border-bottom: 1px solid rgba(26,43,92,.13) !important;
	box-shadow: none !important;
}

/* Ensure Blocksy's sticky header also gets the border */
.ct-header.is-sticky,
.site-header.is-sticky { border-bottom-color: rgba(26,43,92,.16) !important; }

/* ── Top-level nav links ── */
.ct-menu > .menu-item > .ct-menu-link,
.ct-menu > .menu-item > a {
	font-family: "Geist", -apple-system, BlinkMacSystemFont, sans-serif !important;
	font-size: 13.5px !important;
	font-weight: 500 !important;
	letter-spacing: 0.01em !important;
	color: var(--txp-navy) !important;
}
.ct-menu > .menu-item:not(.txexp-menu-quote):not(.txexp-mega) > .ct-menu-link:hover,
.ct-menu > .menu-item:not(.txexp-menu-quote):not(.txexp-mega) > a:hover {
	color: var(--txp-red) !important;
}
/* Active / open mega item */
.ct-menu > .menu-item.ct-active > .ct-menu-link {
	color: var(--txp-navy) !important;
}

/* ── Mega panel: override Blocksy's white variable + refine ── */
@media (min-width:1000px) {
	/* Subtle lift for the panel */
	.menu-item.txexp-mega > .sub-menu {
		box-shadow: 0 8px 28px rgba(26,43,92,.1) !important;
	}
	/* Override Blocksy's --theme-link-initial-color:#fff for sub-menu links */
	.menu-item.txexp-mega > .sub-menu .ct-menu-link,
	.menu-item.txexp-menu-heading > .sub-menu .ct-menu-link {
		--theme-link-initial-color: #242629 !important;
		--theme-link-hover-color: #1a2b5c !important;
		color: #242629 !important;
	}
	/* Make sure panel links also use Geist */
	.menu-item.txexp-mega > .sub-menu > .menu-item > .ct-menu-link,
	.menu-item.txexp-mega > .sub-menu > .menu-item > a {
		font-family: "Geist", sans-serif !important;
		font-size: 14px !important;
		font-weight: 500 !important;
		color: #242629 !important;
		letter-spacing: normal !important;
	}
	.menu-item.txexp-mega > .sub-menu > .menu-item > .ct-menu-link:hover,
	.menu-item.txexp-mega > .sub-menu > .menu-item > a:hover {
		color: var(--txp-navy) !important;
		background: var(--txp-tint) !important;
	}
	/* Pill chip links (depth-2 flooring sub-items) */
	.menu-item.txexp-menu-heading > .sub-menu > .menu-item > .ct-menu-link,
	.menu-item.txexp-menu-heading > .sub-menu > .menu-item > a {
		color: #242629 !important;
	}
	/* Panel items: remove stray nested sub-menus from non-heading items */
	.menu-item.txexp-mega > .sub-menu > .menu-item:not(.txexp-menu-heading) > .sub-menu {
		display: none !important;
	}
}

body input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
body select,
body textarea {
	border: 0 !important;
	box-shadow: none;
}

body input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):focus,
body select:focus,
body textarea:focus {
	outline: 2px solid rgba(200, 16, 46, 0.22);
	outline-offset: 2px;
}


/* Custom shortcode page refinements */
body:has(.txexp-contact) .hero-section,
body:has(.txexp-about) .hero-section,
body:has(.txexp-industries) .hero-section {
	display: none;
}

.txexp-contact .txexp-locations {
	grid-template-columns: 1fr;
	padding-top: 44px;
	padding-bottom: 28px;
}

.txexp-contact .txexp-locations article {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
	align-items: stretch;
}

.txexp-contact .txexp-locations .map {
	aspect-ratio: auto;
	min-height: 380px;
}

.txexp-contact .txexp-locations .body {
	display: grid;
	align-content: center;
	gap: 14px;
}

.txexp-contact-form input,
.txexp-contact-form select,
.txexp-contact-form textarea {
	border: 1px solid var(--txp-line-strong) !important;
	box-shadow: inset 0 0 0 1px rgba(26, 43, 92, .04);
}

.txexp-contact-form input:focus,
.txexp-contact-form select:focus,
.txexp-contact-form textarea:focus {
	border-color: var(--txp-red) !important;
	outline: 2px solid rgba(200, 16, 46, .16);
	outline-offset: 2px;
}

.txexp-industries .txexp-industry-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
	padding-top: 44px;
}

.txexp-industry-card {
	display: grid;
	grid-template-columns: minmax(220px, .9fr) minmax(0, 1.1fr);
	min-height: 360px;
	padding: 0 !important;
	overflow: hidden;
}

.txexp-industry-card figure {
	margin: 0;
	min-height: 100%;
	background: #d8dbdd;
}

.txexp-industry-card img,
.txexp-industry-card__placeholder {
	width: 100%;
	height: 100%;
	min-height: 360px;
	object-fit: cover;
	display: block;
}

.txexp-industry-card__placeholder {
	background:
		linear-gradient(135deg, rgba(26, 43, 92, .12), transparent 54%),
		repeating-linear-gradient(90deg, rgba(26, 43, 92, .08) 0 1px, transparent 1px 34px),
		#e1e4e7;
}

.txexp-industry-card__body {
	display: flex;
	flex-direction: column;
	padding: 28px;
}

.txexp-industry-card__fit {
	margin-top: 20px;
	padding: 14px 0;
	border-top: 1px solid var(--txp-line);
	border-bottom: 1px solid var(--txp-line);
}

.txexp-industry-card__fit strong {
	display: block;
	margin-top: 7px;
	color: var(--txp-navy);
	font-weight: 500;
	line-height: 1.45;
}

.txexp-industry-card ul {
	list-style: none;
	padding: 0;
	margin: 18px 0 0;
	color: var(--txp-muted);
	line-height: 1.6;
}

.txexp-industry-card li {
	display: grid;
	grid-template-columns: 8px 1fr;
	gap: 10px;
	align-items: start;
	padding: 5px 0;
}

.txexp-industry-card li::before {
	content: "";
	width: 7px;
	height: 7px;
	margin-top: 9px;
	border-radius: 999px;
	background: var(--txp-red);
}

.txexp-industry-card a {
	align-self: flex-start;
	margin-top: auto;
	padding-top: 22px;
}

@media (max-width: 1080px) {
	.txexp-industries .txexp-industry-grid,
	.txexp-industry-card {
		grid-template-columns: 1fr;
	}

	.txexp-industry-card img,
	.txexp-industry-card__placeholder {
		min-height: 280px;
	}
}

@media (max-width: 900px) {
	.txexp-contact .txexp-locations article {
		grid-template-columns: 1fr;
	}
}
