/* TSZ-COMPANY-PAGE: scoped to company content, including its page chrome. */
body:has(.tsz-company) #main > .page-header { display: none; }
.page-cms:has(.tsz-company) { padding: 0; }
.tsz-company {
  --company-navy: #142239;
  --company-muted: #4d5869;
  --company-accent: #ea4e44;
  color: var(--company-navy);
  font-family: var(--font-family-base);
  max-width: 1390px;
  margin: 0 auto 80px;
}
.tsz-company * { box-sizing: border-box; }
.tsz-company h1, .tsz-company h2, .tsz-company h3 {
  color: var(--company-navy);
  font-family: var(--font-family-base);
  font-weight: 500;
  line-height: 1.2;
  margin: 0;
  text-transform: none;
}
.tsz-company h2 { font-size: clamp(27px, 2.6vw, 38px); letter-spacing: -.8px; }
.tsz-company h3 { font-size: 17px; line-height: 1.4; }
.tsz-company p { color: var(--company-muted); font-size: 15px; line-height: 1.8; margin: 12px 0 0; }
.tsz-company img { display: block; max-width: 100%; height: auto; }
.tsz-company .company-section { margin-top: 88px; }
.tsz-company .company-section:has(> .company-benefits) { background: #f6f7f9; padding: 44px 36px; border-radius: 8px; }
.tsz-company .company-story { background: #fff6f3; padding: 44px 36px; border-radius: 8px; }
.tsz-company .company-eyebrow { color: var(--company-accent); font-size: 12px; font-weight: 500; letter-spacing: 1.1px; margin: 0 0 18px; }
.tsz-company .company-hero { position: relative; min-height: 580px; overflow: hidden; border-radius: 8px; background: #142239; }
.tsz-company .company-hero > img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.tsz-company .company-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(10,23,43,.8),rgba(10,23,43,.35) 44%,transparent 70%); }
.tsz-company .company-hero-copy { position: relative; z-index: 1; width: 51%; padding: 64px 48px; }
.tsz-company .company-hero h1 { color: #fff; font-size: clamp(34px,3.4vw,49px); letter-spacing: -1.3px; }
.tsz-company .company-proof { display: flex; gap: 24px; margin: 30px 0; }
.tsz-company .company-proof p { color: #e9edf4; margin: 0; font-size: 12px; line-height: 1.7; }
.tsz-company .company-proof strong { display: block; color: #fff; font-weight: 500; }
.tsz-company .company-badges { display: flex; align-items: center; gap: 28px; }
.tsz-company .company-trust { padding: 17px 22px; background: #fff; border-radius: 8px; color: #142239; font-size: 14px; }
.tsz-company .company-trust strong { display: block; font-size: 17px; font-weight: 500; }
.tsz-company .company-trust p { margin: 5px 0 0; color: #142239; font-size: 12px; }
.tsz-company .company-stars { color: #00865b; letter-spacing: 2px; font-size: 22px; }
.tsz-company .company-since { display: flex; flex-shrink: 0; width: 132px; height: 132px; padding: 20px 12px; border: 1px solid #d7e0ef; border-radius: 50%; color: white; align-items: center; justify-content: center; flex-direction: column; font-size: 11px; line-height: 1.4; letter-spacing: 2px; }
.tsz-company .company-since strong { font-size: 28px; letter-spacing: 0; font-weight: 500; margin: 3px 0; }
.tsz-company .company-benefits { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; margin-top: 30px; }
.tsz-company .company-card { padding: 28px 25px; border: 1px solid #e4e8ee; border-radius: 8px; background: #fff; }
.tsz-company .company-card p { font-size: 14px; }
.tsz-company .company-icon { display: block; color: var(--company-accent); font-size: 32px; line-height: 1; margin-bottom: 22px; }
.tsz-company .company-icon.fa-diamond::before { content: '\f3a5'; }
.tsz-company .company-icon.fa-check-circle-o::before { content: '\f058'; }
.tsz-company .company-icon.fa-comments-o::before { content: '\f086'; }
.tsz-company .company-icon.fa-heart-o::before { content: '\f004'; }
.tsz-company .company-icon.fa-bell-o::before { content: '\f0f3'; }
.tsz-company .company-icon.fa-exchange::before { content: '\f362'; }
.tsz-company .company-icon.fa-check-square-o::before { content: '\f14a'; }
.tsz-company .company-story { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.tsz-company .company-story > div + div { border-left: 1px solid #dce1e9; padding-left: 48px; }
.tsz-company .company-story img { width: 100%; aspect-ratio: 2.15; object-fit: cover; border-radius: 8px; margin-bottom: 30px; }
.tsz-company .company-point { display: flex; gap: 19px; margin-top: 26px; align-items: flex-start; }
.tsz-company .company-point .company-icon { flex: 0 0 48px; height: 48px; border-radius: 50%; background: #fff0ed; text-align: center; padding: 12px; font-size: 23px; margin: 0; }
.tsz-company .company-point p { margin-top: 5px; font-size: 14px; }
.tsz-company .company-journey { background: #f6f7f9; border-radius: 8px; padding: 44px 32px; text-align: center; }
.tsz-company .company-journey > p { margin-top: 10px; }
.tsz-company .company-steps { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 24px; margin-top: 38px; }
.tsz-company .company-step { position: relative; }
.tsz-company .company-step:not(:last-child)::after { content:''; height:1px; background:#cbd2df; position:absolute; top:30px; left:calc(50% + 32px); width:calc(100% - 40px); }
.tsz-company .company-step .company-icon { position: relative; z-index:1; background:#fff; box-shadow:0 4px 12px #1422390a; border-radius:50%; width:64px; height:64px; padding:18px; font-size:27px; color:var(--company-navy); margin:0 auto 20px; }
.tsz-company .company-step b { display:block; color:var(--company-accent); font-size:18px; font-weight:500; margin-bottom:8px; }
.tsz-company .company-step h3 { font-size:13px; letter-spacing:.5px; }
.tsz-company .company-step p { font-size:13px; }
.tsz-company .company-inspection { display:grid; grid-template-columns:1fr 1.12fr; gap:48px; align-items:center; }
.tsz-company .company-checks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 18px; margin-top:34px; }
.tsz-company .company-check { display:flex; align-items:flex-start; gap:12px; }
.tsz-company .company-check .company-icon { font-size:25px; margin:3px 0 0; }
.tsz-company .company-check h3 { font-size:14px; }
.tsz-company .company-check p { font-size:12px; margin-top:4px; line-height:1.7; }
.tsz-company .company-inspection-photo { position:relative; overflow:hidden; border-radius:8px; }
.tsz-company .company-inspection-photo > img { width:100%; aspect-ratio:1.18; object-fit:cover; }
.tsz-company .company-inspection-caption { position:absolute; bottom:22px; left:22px; right:22px; background:rgba(20,34,57,.96); padding:24px; border:1px solid #8190a1; border-radius:6px; }
.tsz-company .company-inspection-caption h3 { color:white; }
.tsz-company .company-inspection-caption p { color:#e0e5ee; font-size:13px; }
.tsz-company .company-support { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:60px; background:linear-gradient(115deg,#142239,#22354e); border-radius:8px; padding:48px; }
.tsz-company .company-support h2 { color:#fff; font-size:30px; max-width:460px; }
.tsz-company .company-support p { color:#dbe3ed; }
.tsz-company .company-support .tsz-cms-cta { background:var(--company-accent); color:#fff; margin:24px 0 0; border-radius:4px; text-transform:none; font-weight:500; padding:16px 23px; }
.tsz-company .company-support a:hover { background:#ce3e35; }
.tsz-company .company-support a:focus-visible { outline:3px solid #fff; outline-offset:4px; }
.tsz-company .company-support-points { border-left:1px solid #ffffff35; padding-left:48px; }
.tsz-company .company-support-points .company-point { margin:0 0 20px; }
.tsz-company .company-support-points .company-point:last-child { margin-bottom:0; }
.tsz-company .company-support-points h3 { color:#fff; font-size:16px; }
.tsz-company .company-support-points .company-icon { background:transparent; color:#fff; padding:6px; flex-basis:32px; }
@media(max-width:991px) {
  .tsz-company .company-hero-copy { width:60%; padding:40px 28px; }
  .tsz-company .company-hero { min-height:500px; }
  .tsz-company .company-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tsz-company .company-story, .tsz-company .company-inspection { gap:30px; }
  .tsz-company .company-story > div + div { padding-left:30px; }
  .tsz-company .company-checks { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tsz-company .company-support { padding:32px; gap:30px; }
  .tsz-company .company-support-points { padding-left:28px; }
}
@media(max-width:767px) {
  .tsz-company { margin-bottom:48px; }
  .tsz-company .company-section { margin-top:52px; }
  .tsz-company .company-hero { min-height:660px; }
  .tsz-company .company-hero > img { object-position:65% center; }
  .tsz-company .company-hero::after { background:linear-gradient(180deg,rgba(10,23,43,.85),rgba(10,23,43,.45) 62%,transparent); }
  .tsz-company .company-hero-copy { width:100%; padding:32px 24px; }
  .tsz-company .company-hero h1 { font-size:36px; max-width:440px; }
  .tsz-company .company-proof { gap:18px; margin:24px 0; flex-wrap:wrap; }
  .tsz-company .company-trust { padding:12px 16px; }
  .tsz-company .company-since { width:116px; height:116px; }
  .tsz-company .company-badges { gap:16px; flex-wrap:wrap; }
  .tsz-company .company-section:has(> .company-benefits), .tsz-company .company-story { padding:30px 18px; }
  .tsz-company .company-benefits { grid-template-columns:1fr; }
  .tsz-company .company-benefits { gap:12px; }
  .tsz-company .company-card { padding:22px 16px; }
  .tsz-company .company-card h3 { font-size:16px; }
  .tsz-company .company-card p { font-size:13px; }
  .tsz-company .company-story, .tsz-company .company-inspection, .tsz-company .company-support { grid-template-columns:1fr; }
  .tsz-company .company-story > div + div { padding:0; border:0; }
  .tsz-company .company-journey { padding:32px 22px; }
  .tsz-company .company-steps { grid-template-columns:1fr; gap:28px; text-align:left; }
  .tsz-company .company-step { padding-left:86px; min-height:80px; }
  .tsz-company .company-step .company-icon { position:absolute; top:0; left:0; }
  .tsz-company .company-step:not(:last-child)::after { width:1px; height:calc(100% - 42px); left:32px; top:68px; }
  .tsz-company .company-step b { float:left; margin-right:10px; line-height:18px; }
  .tsz-company .company-step p { margin-top:9px; }
  .tsz-company .company-checks { grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px 12px; }
  .tsz-company .company-check { display:block; }
  .tsz-company .company-check .company-icon { margin:0 0 12px; }
  .tsz-company .company-inspection-caption { left:14px; right:14px; bottom:14px; padding:18px; }
  .tsz-company .company-support { padding:30px 24px; }
  .tsz-company .company-support h2 { font-size:27px; }
  .tsz-company .company-support-points { border-left:0; border-top:1px solid #ffffff35; padding:28px 0 0; }
}
