/* Precision Blue Tech product landing page for the TOKNAV T40Pro. */
.toknav-t40pro-landing {
	--t40-blue: #0077d9;
	--t40-blue-dark: #0054a8;
	--t40-blue-soft: #eaf5ff;
	--t40-cyan: #27b7ff;
	--t40-ink: #102033;
	--t40-muted: #5b6b7d;
	--t40-line: #d9e8f6;
	--t40-bg: #f7fbff;
	--t40-white: #fff;
	background: var(--t40-white);
	color: var(--t40-ink);
}

.toknav-t40pro-landing .tb2b-header { background: rgba(255, 255, 255, .97); }
.toknav-t40pro-landing .tb2b-button--primary { border-color: var(--t40-blue); background: var(--t40-blue); box-shadow: 0 12px 24px rgba(0, 119, 217, .2); }
.toknav-t40pro-landing .tb2b-button--primary:hover { border-color: var(--t40-blue-dark); background: var(--t40-blue-dark); transform: translateY(-1px); }
.toknav-t40pro-landing .tb2b-button--ghost { border-color: #b9d8f2; background: rgba(255, 255, 255, .85); color: var(--t40-blue-dark) !important; }
.toknav-t40pro-landing .tb2b-button--ghost:hover { border-color: var(--t40-blue); background: var(--t40-blue-soft); }
.toknav-t40pro-landing a:focus-visible,
.toknav-t40pro-landing button:focus-visible,
.toknav-t40pro-landing summary:focus-visible { outline: 3px solid rgba(39, 183, 255, .75); outline-offset: 4px; }

.t40-hero,
.t40-imaging,
.t40-final-cta { position: relative; overflow: hidden; }
.t40-hero { background: linear-gradient(123deg, #fff 0%, #f7fbff 47%, #e3f2ff 100%); }
.t40-hero__grid { position: absolute; inset: 0; opacity: .65; background-image: linear-gradient(rgba(0, 119, 217, .075) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 119, 217, .075) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(90deg, #000, transparent 94%); }
.t40-hero__contours { position: absolute; right: -16vw; bottom: -34vw; width: 85vw; height: 85vw; border: 1px solid rgba(0, 119, 217, .12); border-radius: 50%; box-shadow: 0 0 0 38px rgba(0, 119, 217, .045), 0 0 0 76px rgba(0, 119, 217, .025); }
.t40-hero__inner { position: relative; display: grid; grid-template-columns: minmax(0, 1.03fr) minmax(460px, .97fr); gap: clamp(34px, 5vw, 92px); align-items: center; min-height: 758px; padding: 64px 0 72px; }
.t40-hero__copy { position: relative; z-index: 2; }
.t40-hero .tb2b-breadcrumb { margin-bottom: 27px; }
.t40-hero .tb2b-eyebrow { margin: 0 0 15px; color: var(--t40-blue); font-size: 12px; letter-spacing: .14em; }
.t40-hero h1,
.t40-section-heading h2,
.t40-imaging h2,
.t40-faq-section h2,
.t40-final-cta h2 { margin: 0; color: var(--t40-ink); font-family: Arial, Helvetica, sans-serif; font-weight: 800; letter-spacing: -.055em; line-height: 1.04; }
.t40-hero h1 { max-width: 720px; font-size: clamp(46px, 5.15vw, 73px); }
.t40-hero__lead { max-width: 650px; margin: 24px 0 0; color: var(--t40-muted); font-size: clamp(17px, 1.45vw, 20px); line-height: 1.62; }
.t40-hero__badges { display: flex; flex-wrap: wrap; gap: 9px; max-width: 695px; margin: 29px 0 0; padding: 0; list-style: none; }
.t40-hero__badges li { padding: 9px 12px; border: 1px solid #c9e1f4; border-radius: 999px; background: rgba(255, 255, 255, .72); color: #315572; font-size: 12px; font-weight: 700; line-height: 1.3; box-shadow: 0 8px 19px rgba(3, 88, 153, .05); }
.t40-hero__badges li::first-letter { color: var(--t40-blue); }
.t40-hero .tb2b-actions { margin-top: 30px; }
.t40-hero__microcopy { display: flex; gap: 9px; max-width: 575px; margin: 16px 0 0; color: #688197; font-size: 13px; line-height: 1.55; }
.t40-hero__micro-icon { display: inline-block; flex: 0 0 auto; width: 9px; height: 9px; margin-top: 5px; border: 2px solid var(--t40-cyan); border-radius: 50%; box-shadow: 0 0 0 3px rgba(39, 183, 255, .12); }

.t40-hero__visual { position: relative; min-height: 575px; }
.t40-hero__halo { position: absolute; top: 38px; right: 2%; width: min(100%, 530px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 42% 39%, rgba(39, 183, 255, .34), rgba(39, 183, 255, .12) 47%, transparent 71%); }
.t40-hero__ring { position: absolute; border: 1px solid rgba(0, 119, 217, .3); border-radius: 50%; }
.t40-hero__ring--one { top: 67px; right: 4%; width: 452px; aspect-ratio: 1; }
.t40-hero__ring--two { top: 125px; right: 13%; width: 332px; aspect-ratio: 1; border-color: rgba(39, 183, 255, .34); }
.t40-hero__signal { position: absolute; top: 133px; right: 27%; width: 162px; height: 162px; border: 1px dashed rgba(0, 84, 168, .28); border-radius: 50%; }
.t40-hero__visual > img { position: absolute; z-index: 2; top: 13px; right: -2%; display: block; width: min(100%, 635px); height: 554px; object-fit: contain; filter: drop-shadow(0 28px 28px rgba(0, 71, 122, .21)); }
.t40-hero__data-card { position: absolute; z-index: 3; display: grid; gap: 1px; min-width: 126px; padding: 13px 16px; border: 1px solid rgba(207, 230, 247, .95); border-radius: 12px; background: rgba(255, 255, 255, .86); box-shadow: 0 17px 32px rgba(5, 81, 136, .13); backdrop-filter: blur(12px); }
.t40-hero__data-card span { color: var(--t40-blue); font-size: 9px; font-weight: 800; letter-spacing: .1em; line-height: 1.3; }
.t40-hero__data-card strong { color: var(--t40-ink); font-size: 25px; letter-spacing: -.05em; line-height: 1.1; }
.t40-hero__data-card em { color: var(--t40-muted); font-size: 11px; font-style: normal; font-weight: 700; }
.t40-hero__data-card--channels { top: 88px; left: -10px; }
.t40-hero__data-card--ip { top: 290px; right: -13px; }
.t40-hero__data-card--rate { bottom: 18px; left: 26px; }

/* Generic catalogue records reuse the T40Pro layout without implying that a
 * missing image or a verified T40-specific capability belongs to another model. */
.toknav-catalogue-product__model-card,
.toknav-catalogue-product__source-panel { position: relative; z-index: 2; display: grid; gap: 10px; width: min(82%, 415px); padding: 36px; border: 1px solid rgba(191, 229, 255, .62); border-radius: 20px; background: linear-gradient(145deg, rgba(255,255,255,.28), rgba(14, 94, 169, .2)); box-shadow: 0 25px 45px rgba(0, 45, 99, .22); color: #fff; text-align: left; backdrop-filter: blur(10px); }
.toknav-catalogue-product__model-card { position: absolute; top: 120px; right: 12%; }
.toknav-catalogue-product__model-card span,
.toknav-catalogue-product__source-panel span { color: #bdeaff; font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.toknav-catalogue-product__model-card strong,
.toknav-catalogue-product__source-panel strong { color: inherit; font-size: clamp(42px, 5vw, 68px); letter-spacing: -.07em; line-height: 1; overflow-wrap: anywhere; }
.toknav-catalogue-product__model-card em,
.toknav-catalogue-product__source-panel em { color: rgba(255,255,255,.85); font-size: 14px; font-style: normal; font-weight: 700; line-height: 1.45; }
.toknav-catalogue-product__source-panel { background: linear-gradient(145deg, rgba(0, 67, 134, .94), rgba(18, 136, 220, .82)); }

.t40-advantages,
.t40-configure,
.t40-specifications,
.t40-applications,
.t40-faq-section,
.t40-document-downloads { padding: clamp(78px, 8.5vw, 132px) 0; }
.t40-advantages,
.t40-specifications,
.t40-applications,
.t40-document-downloads { background: var(--t40-white); }
.t40-configure,
.t40-faq-section { background: var(--t40-bg); }
.t40-section-heading { display: grid; align-items: end; gap: clamp(34px, 7vw, 118px); margin-bottom: 46px; }
.t40-section-heading--split { grid-template-columns: minmax(0, 1.05fr) minmax(330px, .7fr); }
.t40-section-heading--center { grid-template-columns: minmax(0, 1fr) minmax(330px, .68fr); }
.t40-section-heading .tb2b-eyebrow { margin: 0 0 13px; color: var(--t40-blue); }
.t40-section-heading h2,
.t40-imaging h2,
.t40-faq-section h2,
.t40-final-cta h2 { font-size: clamp(36px, 4vw, 58px); }
.t40-section-heading > p { max-width: 520px; margin: 0 0 4px; color: var(--t40-muted); font-size: 16px; line-height: 1.72; }

.t40-workflow-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 17px; }
.t40-workflow-card { position: relative; min-height: 254px; padding: 25px 27px 27px; overflow: hidden; border: 1px solid var(--t40-line); border-radius: 14px; background: linear-gradient(145deg, #fff, #f9fcff); box-shadow: 0 14px 30px rgba(5, 70, 117, .06); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.t40-workflow-card::after { position: absolute; right: -66px; bottom: -79px; width: 205px; height: 205px; content: ''; border: 1px solid rgba(0, 119, 217, .16); border-radius: 50%; box-shadow: 0 0 0 26px rgba(39, 183, 255, .035); }
.t40-workflow-card:hover { border-color: #abd9fa; box-shadow: 0 20px 35px rgba(5, 70, 117, .11); transform: translateY(-4px); }
.t40-workflow-card__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 48px; }
.t40-workflow-card__top > span { color: var(--t40-blue); font-size: 12px; font-weight: 800; letter-spacing: .13em; }
.t40-workflow-card__top i,
.t40-icon,
.t40-mode-card > i,
.t40-link-band i,
.t40-application-grid i { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #cbe5f7; border-radius: 12px; background: var(--t40-blue-soft); color: var(--t40-blue); }
.t40-workflow-card__top svg,
.t40-icon svg,
.t40-mode-card svg,
.t40-link-band svg,
.t40-application-grid svg { width: 23px; height: 23px; }
.t40-workflow-card h3 { position: relative; z-index: 1; margin: 0; color: var(--t40-ink); font-size: 25px; letter-spacing: -.04em; line-height: 1.15; }
.t40-workflow-card p { position: relative; z-index: 1; max-width: 440px; margin: 12px 0 0; color: var(--t40-muted); font-size: 15px; line-height: 1.65; }

.t40-imaging { padding: clamp(80px, 9vw, 142px) 0; background: linear-gradient(127deg, #0054a8 0%, #006cc8 56%, #148ee2 100%); color: #fff; }
.t40-imaging__gridlines { position: absolute; inset: 0; opacity: .24; background-image: linear-gradient(rgba(255,255,255,.23) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.23) 1px, transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(90deg, #000, transparent 94%); }
.t40-imaging__inner { position: relative; display: grid; grid-template-columns: minmax(400px, .9fr) minmax(0, 1.1fr); gap: clamp(54px, 9vw, 144px); align-items: center; }
.t40-imaging__visual { position: relative; display: grid; min-height: 468px; place-items: center; overflow: hidden; border: 1px solid rgba(207, 238, 255, .42); border-radius: 18px; background: radial-gradient(circle at 50% 43%, rgba(150, 231, 255, .25), rgba(0, 47, 101, .1) 48%, rgba(0, 43, 91, .18)); box-shadow: inset 0 1px 0 rgba(255,255,255,.12); }
.t40-imaging__reticle { position: absolute; width: 290px; height: 290px; border: 1px solid rgba(207, 238, 255, .6); border-radius: 50%; box-shadow: 0 0 0 55px rgba(207, 238, 255, .08), 0 0 0 110px rgba(207, 238, 255, .035); }
.t40-imaging__reticle::before,
.t40-imaging__reticle::after { position: absolute; top: 50%; left: -38px; width: calc(100% + 76px); height: 1px; content: ''; background: rgba(207, 238, 255, .52); }
.t40-imaging__reticle::after { top: -38px; left: 50%; width: 1px; height: calc(100% + 76px); }
.t40-imaging__visual img { position: relative; z-index: 1; display: block; max-width: 89%; max-height: 382px; object-fit: contain; filter: drop-shadow(0 24px 24px rgba(0, 24, 55, .28)); }
.t40-imaging__point { position: absolute; z-index: 2; width: 10px; height: 10px; border: 2px solid #c9f1ff; border-radius: 50%; box-shadow: 0 0 0 7px rgba(201, 241, 255, .1); }
.t40-imaging__point--one { top: 27%; right: 20%; }
.t40-imaging__point--two { bottom: 22%; left: 21%; }
.t40-imaging .tb2b-eyebrow { margin: 0 0 14px; color: #9ee1ff; }
.t40-imaging h2 { color: #fff; }
.t40-imaging__features { display: grid; gap: 17px; margin-top: 30px; }
.t40-imaging__features article { display: grid; grid-template-columns: auto 1fr; gap: 17px; padding: 17px 0; border-top: 1px solid rgba(218, 244, 255, .34); }
.t40-imaging__features article:last-child { border-bottom: 1px solid rgba(218, 244, 255, .34); }
.t40-imaging__features .t40-icon { border-color: rgba(201, 241, 255, .45); background: rgba(255,255,255,.1); color: #a8e7ff; }
.t40-imaging__features h3 { margin: 1px 0 5px; color: #fff; font-size: 20px; letter-spacing: -.025em; }
.t40-imaging__features p { max-width: 590px; margin: 0; color: rgba(244, 251, 255, .82); font-size: 15px; line-height: 1.65; }

.t40-mode-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }
.t40-mode-card { padding: 27px 25px; border: 1px solid var(--t40-line); border-radius: 14px; background: #fff; box-shadow: 0 11px 25px rgba(5, 70, 117, .045); }
.t40-mode-card > i { width: 48px; height: 48px; color: var(--t40-blue); font-style: normal; }
.t40-mode-card h3 { margin: 24px 0 8px; color: var(--t40-ink); font-size: 22px; letter-spacing: -.04em; }
.t40-mode-card p { margin: 0; color: var(--t40-muted); font-size: 14px; line-height: 1.6; }
.t40-link-band { display: grid; grid-template-columns: auto 1fr auto; gap: 28px; align-items: center; margin-top: 22px; padding: 20px 23px; border: 1px solid #c9e5f8; border-radius: 14px; background: linear-gradient(90deg, #f0f9ff, #fbfdff); }
.t40-link-band > span { color: var(--t40-ink); font-size: 13px; font-weight: 800; letter-spacing: .035em; }
.t40-link-band ul { display: flex; flex-wrap: wrap; gap: 8px 19px; margin: 0; padding: 0; list-style: none; }
.t40-link-band li { display: flex; align-items: center; gap: 7px; color: var(--t40-muted); font-size: 13px; font-weight: 700; }
.t40-link-band i { width: 28px; height: 28px; border-radius: 9px; }
.t40-link-band i svg { width: 16px; height: 16px; }
.t40-link-band .tb2b-text-link { white-space: nowrap; }

.t40-document-downloads { position: relative; overflow: hidden; border-top: 1px solid #d8ebf8; background: linear-gradient(145deg, #eff9ff 0%, #fff 51%, #f6fbff 100%); }
.t40-document-downloads::before { position: absolute; top: -190px; right: -120px; width: 480px; height: 480px; content: ''; border: 1px solid rgba(0, 119, 217, .14); border-radius: 50%; box-shadow: 0 0 0 42px rgba(0, 119, 217, .035), 0 0 0 84px rgba(0, 119, 217, .022); }
.t40-document-downloads .tb2b-shell { position: relative; }
.t40-document-downloads__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.t40-document-card { position: relative; display: grid; min-height: 202px; align-content: start; gap: 12px; padding: 24px 24px 22px; overflow: hidden; border: 1px solid #cfe5f6; border-radius: 14px; background: rgba(255,255,255,.94); box-shadow: 0 12px 29px rgba(5, 70, 117, .06); color: inherit; text-decoration: none; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.t40-document-card::after { position: absolute; right: -43px; bottom: -56px; width: 160px; height: 160px; content: ''; border: 1px solid rgba(0, 119, 217, .17); border-radius: 50%; box-shadow: 0 0 0 19px rgba(39,183,255,.04); }
.t40-document-card:hover { border-color: #79bce9; box-shadow: 0 19px 35px rgba(5, 70, 117, .12); transform: translateY(-4px); }
.t40-document-card:focus-visible { outline: 3px solid rgba(39, 183, 255, .75); outline-offset: 4px; }
.t40-document-card__type { position: relative; z-index: 1; width: max-content; padding: 6px 9px; border-radius: 999px; background: #e7f5ff; color: var(--t40-blue-dark); font-size: 10px; font-weight: 800; letter-spacing: .08em; line-height: 1.1; text-transform: uppercase; }
.t40-document-card strong { position: relative; z-index: 1; color: var(--t40-ink); font-size: 20px; letter-spacing: -.035em; line-height: 1.22; }
.t40-document-card__meta { position: relative; z-index: 1; color: var(--t40-muted); font-size: 13px; font-weight: 700; line-height: 1.45; }
.t40-document-card__action { position: relative; z-index: 1; display: inline-flex; gap: 9px; align-items: center; margin-top: auto; color: var(--t40-blue-dark); font-size: 13px; font-weight: 800; }
.t40-document-card__action b { color: var(--t40-blue); font-size: 18px; line-height: 1; transition: transform .2s ease; }
.t40-document-card:hover .t40-document-card__action b { transform: translate(2px, -2px); }

.t40-spec-layout { display: grid; grid-template-columns: minmax(210px, .34fr) minmax(0, 1fr); gap: clamp(30px, 5vw, 75px); align-items: start; }
.t40-spec-nav { position: sticky; top: 25px; display: grid; gap: 3px; padding: 16px; border: 1px solid var(--t40-line); border-radius: 14px; background: var(--t40-bg); }
.t40-spec-nav > span { padding: 5px 8px 11px; color: var(--t40-muted); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.t40-spec-nav a { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 11px 9px; border-radius: 8px; color: var(--t40-ink); font-size: 14px; font-weight: 700; line-height: 1.35; text-decoration: none; }
.t40-spec-nav a:hover { background: #e0f2ff; color: var(--t40-blue-dark); }
.t40-spec-nav b { color: var(--t40-blue); }
.t40-spec-groups { display: grid; gap: 13px; }
.t40-spec-group { overflow: hidden; border: 1px solid var(--t40-line); border-radius: 13px; background: #fff; box-shadow: 0 9px 23px rgba(5, 70, 117, .04); }
.t40-spec-group summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 21px 22px; cursor: pointer; color: var(--t40-ink); font-size: 20px; font-weight: 800; letter-spacing: -.035em; list-style: none; }
.t40-spec-group summary::-webkit-details-marker { display: none; }
.t40-spec-group summary b { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 50%; background: var(--t40-blue-soft); color: var(--t40-blue); font-size: 21px; font-weight: 500; }
.t40-spec-group[open] summary b { transform: rotate(45deg); }
.t40-spec-group dl { margin: 0 22px; border-top: 1px solid var(--t40-line); }
.t40-spec-group dl > div { display: grid; grid-template-columns: minmax(152px, .37fr) 1fr; gap: 21px; padding: 16px 0; border-bottom: 1px solid var(--t40-line); }
.t40-spec-group dl > div:last-child { border-bottom: 0; }
.t40-spec-group dt { color: var(--t40-blue-dark); font-size: 12px; font-weight: 800; letter-spacing: .045em; line-height: 1.5; text-transform: uppercase; }
.t40-spec-group dd { margin: 0; color: #3f5e77; font-size: 14px; line-height: 1.62; }
.t40-compliance-note { display: grid; grid-template-columns: auto 1fr; gap: 15px; align-items: start; margin-top: 22px; padding: 17px 19px; border: 1px solid #c8e5f8; border-radius: 11px; background: #f2faff; }
.t40-compliance-note strong { color: var(--t40-blue-dark); font-size: 13px; white-space: nowrap; }
.t40-compliance-note span { color: var(--t40-muted); font-size: 13px; line-height: 1.55; }

.t40-application-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.t40-application-photo { position: relative; min-height: clamp(300px, 34vw, 500px); margin: 0 0 24px; overflow: hidden; border: 1px solid #cde3f4; border-radius: 16px; background: #eaf5fd; box-shadow: 0 18px 42px rgba(5, 70, 117, .10); }
.t40-application-photo::after { position: absolute; inset: 0; content: ''; background: linear-gradient(90deg, rgba(2, 40, 84, .38), transparent 62%), linear-gradient(0deg, rgba(2, 40, 84, .35), transparent 47%); pointer-events: none; }
.t40-application-photo img { display: block; width: 100%; height: 100%; min-height: inherit; object-fit: cover; object-position: center; }
.t40-application-photo figcaption { position: absolute; z-index: 1; right: clamp(18px, 3vw, 42px); bottom: clamp(18px, 3vw, 34px); left: clamp(18px, 3vw, 42px); display: grid; gap: 5px; color: #fff; }
.t40-application-photo figcaption span { font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.t40-application-photo figcaption strong { font-size: clamp(20px, 2.3vw, 31px); letter-spacing: -.035em; line-height: 1.15; }
.t40-application-grid article { min-height: 197px; padding: 22px; border: 1px solid var(--t40-line); border-radius: 13px; background: linear-gradient(145deg, #fff, #f8fcff); }
.t40-application-grid i { width: 36px; height: 36px; border-radius: 10px; font-style: normal; }
.t40-application-grid i svg { width: 20px; height: 20px; }
.t40-application-grid h3 { margin: 25px 0 7px; color: var(--t40-ink); font-size: 18px; letter-spacing: -.03em; line-height: 1.25; }
.t40-application-grid p { margin: 0; color: var(--t40-muted); font-size: 14px; line-height: 1.58; }

.t40-faq-layout { display: grid; grid-template-columns: minmax(0, .75fr) minmax(500px, 1.25fr); gap: clamp(50px, 10vw, 150px); align-items: start; }
.t40-faq-layout > div:first-child > p:not(.tb2b-eyebrow) { max-width: 430px; margin: 20px 0 27px; color: var(--t40-muted); font-size: 16px; line-height: 1.65; }
.t40-faq { border-top: 2px solid var(--t40-blue); }
.t40-faq details { border-bottom: 1px solid #cddfea; }
.t40-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 21px 2px; cursor: pointer; color: var(--t40-ink); font-size: 17px; font-weight: 800; line-height: 1.4; list-style: none; }
.t40-faq summary::-webkit-details-marker { display: none; }
.t40-faq summary::after { content: '+'; color: var(--t40-blue); font-size: 29px; font-weight: 400; }
.t40-faq details[open] summary::after { content: '−'; }
.t40-faq p { max-width: 680px; margin: 0; padding: 0 32px 22px 2px; color: var(--t40-muted); font-size: 15px; line-height: 1.65; }

.t40-final-cta { background: linear-gradient(125deg, #eaf6ff, #fff 50%, #dff2ff); }
.t40-final-cta__grid { position: absolute; inset: 0; opacity: .65; background-image: linear-gradient(rgba(0, 119, 217, .075) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 119, 217, .075) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(90deg, transparent, #000 45%, transparent); }
.t40-final-cta__inner { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 52px; align-items: center; padding: clamp(72px, 8vw, 116px) 0; }
.t40-final-cta .tb2b-eyebrow { margin: 0 0 13px; color: var(--t40-blue); }
.t40-final-cta h2 { max-width: 780px; }
.t40-final-cta p:not(.tb2b-eyebrow) { max-width: 720px; margin: 19px 0 0; color: var(--t40-muted); font-size: 17px; line-height: 1.65; }
.t40-final-cta__actions { display: grid; gap: 17px; justify-items: start; }

@media (max-width: 1120px) {
	.t40-hero__inner { grid-template-columns: minmax(0, 1fr) minmax(390px, .86fr); min-height: 710px; }
	.t40-hero__visual > img { width: 565px; }
	.t40-imaging__inner { gap: 56px; }
	.t40-faq-layout { gap: 55px; }
}

@media (max-width: 900px) {
	.t40-hero__inner { grid-template-columns: minmax(0, 1fr) minmax(340px, .78fr); gap: 27px; }
	.t40-hero__visual { min-height: 505px; }
	.t40-hero__visual > img { width: 475px; height: 492px; }
	.t40-hero__ring--one { width: 375px; }
	.t40-hero__ring--two { width: 278px; }
	.t40-hero__data-card { min-width: 106px; padding: 10px 12px; }
	.t40-hero__data-card strong { font-size: 21px; }
	.t40-imaging__inner { grid-template-columns: minmax(340px, .85fr) minmax(0, 1.15fr); gap: 35px; }
	.t40-imaging__visual { min-height: 410px; }
	.t40-spec-layout { grid-template-columns: 190px 1fr; gap: 25px; }
	.t40-document-downloads__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.t40-application-grid { grid-template-columns: repeat(2, 1fr); }
	.t40-faq-layout { grid-template-columns: minmax(0, .77fr) minmax(400px, 1.23fr); gap: 35px; }
}

@media (max-width: 780px) {
	.t40-hero__inner,
	.t40-imaging__inner,
	.t40-section-heading--split,
	.t40-section-heading--center,
	.t40-spec-layout,
	.t40-faq-layout,
	.t40-final-cta__inner { grid-template-columns: 1fr; }
	.t40-hero__inner { min-height: auto; gap: 28px; padding: 51px 0 48px; }
	.t40-hero .tb2b-breadcrumb { margin-bottom: 22px; }
	.t40-hero h1 { font-size: clamp(39px, 10vw, 57px); }
	.t40-hero__lead { font-size: 17px; }
	.t40-hero__visual { min-height: 430px; }
	.t40-hero__halo { top: 17px; right: 50%; width: 365px; transform: translateX(50%); }
	.t40-hero__ring--one { top: 38px; right: 50%; width: 315px; transform: translateX(50%); }
	.t40-hero__ring--two { top: 92px; right: 50%; width: 226px; transform: translateX(50%); }
	.t40-hero__signal { top: 110px; right: 50%; width: 124px; height: 124px; transform: translateX(50%); }
	.t40-hero__visual > img { top: 2px; right: 50%; width: 435px; height: 411px; transform: translateX(50%); }
	.toknav-catalogue-product__model-card { top: 92px; right: 50%; width: min(84%, 350px); transform: translateX(50%); }
	.t40-hero__data-card--channels { top: 77px; left: 2px; }
	.t40-hero__data-card--ip { top: 220px; right: 1px; }
	.t40-hero__data-card--rate { bottom: 1px; left: 20px; }
	.t40-advantages,
	.t40-configure,
	.t40-specifications,
	.t40-applications,
	.t40-faq-section,
	.t40-document-downloads { padding: 74px 0; }
	.t40-section-heading { gap: 18px; margin-bottom: 30px; }
	.t40-section-heading h2,
	.t40-imaging h2,
	.t40-faq-section h2,
	.t40-final-cta h2 { font-size: clamp(34px, 9vw, 50px); }
	.t40-workflow-grid,
	.t40-mode-grid { grid-template-columns: 1fr; }
	.t40-workflow-card { min-height: 219px; }
	.t40-workflow-card__top { margin-bottom: 31px; }
	.t40-imaging { padding: 76px 0; }
	.t40-imaging__inner { gap: 41px; }
	.t40-imaging__visual { min-height: 352px; order: 2; }
	.t40-imaging__visual img { max-height: 280px; }
	.t40-imaging__reticle { width: 210px; height: 210px; box-shadow: 0 0 0 39px rgba(207, 238, 255, .08), 0 0 0 78px rgba(207, 238, 255, .035); }
	.t40-link-band { grid-template-columns: 1fr; gap: 15px; padding: 20px; }
	.t40-document-downloads__grid { grid-template-columns: 1fr; }
	.t40-document-card { min-height: 0; }
	.t40-spec-nav { position: static; display: none; }
	.t40-spec-group summary { padding: 18px; font-size: 18px; }
	.t40-spec-group dl { margin: 0 18px; }
	.t40-spec-group dl > div { grid-template-columns: 1fr; gap: 6px; padding: 14px 0; }
	.t40-compliance-note { grid-template-columns: 1fr; gap: 7px; }
	.t40-application-grid { grid-template-columns: 1fr; }
	.t40-application-photo { min-height: 270px; margin-bottom: 17px; }
	.t40-application-grid article { min-height: 0; }
	.t40-final-cta__inner { gap: 27px; padding: 68px 0; }
}

@media (max-width: 470px) {
	.t40-hero__badges { gap: 7px; }
	.t40-hero__badges li { padding: 8px 10px; font-size: 11px; }
	.t40-hero__visual { min-height: 398px; }
	.t40-hero__visual > img { width: 385px; height: 370px; }
	.toknav-catalogue-product__model-card { padding: 29px 24px; }
	.t40-hero__data-card { min-width: 91px; padding: 8px 9px; border-radius: 10px; }
	.t40-hero__data-card span { font-size: 7px; }
	.t40-hero__data-card strong { font-size: 18px; }
	.t40-hero__data-card em { font-size: 9px; }
	.t40-hero__data-card--channels { top: 73px; left: -2px; }
	.t40-hero__data-card--ip { top: 205px; right: -2px; }
	.t40-hero__data-card--rate { bottom: 0; left: 12px; }
	.t40-hero .tb2b-actions { display: grid; gap: 10px; }
	.t40-hero .tb2b-actions .tb2b-button { justify-content: center; }
	.t40-link-band ul { gap: 10px; }
	.t40-faq summary { font-size: 16px; }
	.t40-faq p { padding-right: 6px; }
}

@media (prefers-reduced-motion: reduce) {
	.t40-workflow-card,
	.toknav-t40pro-landing .tb2b-button--primary { transition: none; }
}

/* Model-specific catalogue records: only shown when a source-verified profile
   supplies the underlying data. */
.catalogue-quick-specs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 25px 0 0; }
.catalogue-quick-specs > div { min-width: 0; padding: 13px 12px; border: 1px solid rgba(176, 222, 250, .42); border-radius: 10px; background: rgba(3, 51, 100, .22); }
.catalogue-quick-specs dt { margin: 0; color: #b8e5ff; font-size: 9px; font-weight: 800; letter-spacing: .1em; line-height: 1.35; text-transform: uppercase; }
.catalogue-quick-specs dd { margin: 6px 0 0; color: #fff; font-size: 14px; font-weight: 800; letter-spacing: -.02em; line-height: 1.25; }
.catalogue-workflow { padding: clamp(78px, 9vw, 132px) 0; background: #f7fbfe; }
.catalogue-workflow__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; counter-reset: workflow; }
.catalogue-workflow__steps li { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 16px; min-height: 180px; padding: 24px; overflow: hidden; border: 1px solid #d3e6f4; border-radius: 15px; background: #fff; box-shadow: 0 12px 28px rgba(5, 70, 117, .055); }
.catalogue-workflow__steps li::after { position: absolute; right: -45px; bottom: -55px; width: 160px; height: 160px; content: ''; border: 1px solid rgba(0,119,217,.13); border-radius: 50%; }
.catalogue-workflow__steps span { position: relative; z-index: 1; display: grid; width: 35px; height: 35px; place-items: center; border-radius: 50%; background: #e8f6ff; color: var(--t40-blue-dark); font-size: 11px; font-weight: 800; }
.catalogue-workflow__steps h3 { position: relative; z-index: 1; margin: 4px 0 7px; color: var(--t40-ink); font-size: 20px; letter-spacing: -.035em; line-height: 1.2; }
.catalogue-workflow__steps p { position: relative; z-index: 1; margin: 0; color: var(--t40-muted); font-size: 14px; line-height: 1.62; }
.catalogue-verified-specs { padding: clamp(78px, 9vw, 132px) 0 0; }
.catalogue-verified-specs__groups { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
.catalogue-verified-specs__groups .t40-spec-group summary { min-height: 83px; }
.catalogue-verified-specs__groups .t40-spec-group dl > div { grid-template-columns: 1fr; gap: 6px; }
.catalogue-verified-specs__groups .t40-spec-group dd { font-size: 13px; }

@media (max-width: 900px) {
	.catalogue-quick-specs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.catalogue-workflow__steps,
	.catalogue-verified-specs__groups { grid-template-columns: 1fr; }
	.catalogue-workflow__steps li { min-height: 0; }
}

@media (max-width: 470px) {
	.catalogue-quick-specs { gap: 7px; }
	.catalogue-quick-specs > div { padding: 11px 9px; }
	.catalogue-quick-specs dd { font-size: 13px; }
	.catalogue-workflow__steps li { padding: 20px; }
}