/* Content pages: /services/ С1 A · С2 B · С3 A, service pages УС1 A · УС2 C · УС3 B, About О1 C · О2 A, Contact К-1 B, FAQ Ф1 A,
   thank-you A. Mock-up pixels × --u (see tp.css). */
.tp-crumbs span[aria-current] { color: var(--c-muted); }
.tp-crumbs > span:not([aria-current]) { margin: 0 calc(5 * var(--u)); color: var(--c-muted); }

/* ===== /services/ ===== */
.tp-sv1 { padding: calc(28 * var(--u)) 0 calc(40 * var(--u)); overflow: hidden; }
.tp-sv1 .tp-crumbs { font-size: var(--t-s); }
.tp-sv1__h { margin-top: calc(14 * var(--u)); font: 400 var(--t-d1)/.97 var(--f-head); color: var(--c-ink); letter-spacing: -.035em; }
.tp-sv1__lead { margin-top: calc(22 * var(--u)); max-width: calc(1060 * var(--u)); font-size: var(--t-lead); line-height: 1.25; color: var(--c-navy); }
.tp-sv1__cta { display: flex; align-items: center; gap: calc(26 * var(--u)); margin-top: calc(22 * var(--u)); }
.tp-sv1__cta .tp-btn { width: calc(340 * var(--u)); min-width: 260px; min-height: max(50px, calc(56 * var(--u))); font-size: var(--t-btn-l); font-weight: 600; }
.tp-sv1__how { font-weight: 500; font-size: var(--t-xl); color: var(--c-ink); text-decoration: underline; text-underline-offset: 4px; }
.tp-sv1__note { margin-top: calc(6 * var(--u)); font-size: var(--t-s); color: var(--c-muted); }
.tp-stages { list-style: none; margin: calc(6 * var(--u)) 0 0; padding: 0 calc(18 * var(--u)) 0 calc(10 * var(--u)); display: grid; grid-template-columns: repeat(5, 1fr); max-width: calc(1536 * var(--u)); margin-inline: auto; position: relative; }
.tp-stages::before { content: ""; position: absolute; z-index: 2; left: calc(240 * var(--u)); right: calc(250 * var(--u)); top: calc(222 * var(--u)); border-top: 2px solid var(--c-navy); }
.tp-stage a { display: grid; grid-template-rows: auto auto auto 1fr auto; color: var(--c-navy); height: 100%; position: relative; }
.tp-stage__img { display: block; height: calc(262 * var(--u)); margin: 0 calc(-16 * var(--u)); position: relative; z-index: 1; }
.tp-stage__img img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; transition: transform .2s; }
.tp-stage a:hover .tp-stage__img img { transform: translateY(-4px); }
.tp-stage__dot { position: absolute; right: calc(-6 * var(--u)); top: calc(216 * var(--u)); width: 12px; height: 12px; border-radius: 50%; background: var(--c-accent); z-index: 2; }
.tp-stage:last-child .tp-stage__dot { display: none; }
.tp-stage__num, .tp-stage__t, .tp-stage__d, .tp-stage__more { padding: 0 calc(26 * var(--u)) 0 calc(30 * var(--u)); border-left: 1px solid var(--c-line); }
.tp-stage:first-child .tp-stage__num, .tp-stage:first-child .tp-stage__t, .tp-stage:first-child .tp-stage__d, .tp-stage:first-child .tp-stage__more { border-left: 0; padding-left: calc(32 * var(--u)); }
.tp-stage__num { margin-top: calc(4 * var(--u)); padding-top: calc(6 * var(--u)); font-weight: 700; font-size: var(--t-xl); color: var(--c-accent-text); }   /* accent-hover on the grey page was 2.0:1 */
.tp-stage__t { font: 700 var(--t-xl)/1.08 var(--f-text); color: var(--c-ink); letter-spacing: -.025em; padding-top: calc(4 * var(--u)); }
.tp-stage__d { padding-top: calc(16 * var(--u)); font-size: var(--t-m); line-height: 1.32; color: var(--c-muted); }
.tp-stage__more { display: flex; align-items: center; gap: 8px; padding-top: calc(18 * var(--u)); padding-bottom: calc(14 * var(--u)); font-weight: 500; font-size: var(--t-m); color: var(--c-ink); }
.tp-stage a:hover .tp-stage__more { text-decoration: underline; }

/* С2 where we work */
.tp-where__dark { background: #252B36; color: #fff; overflow: hidden; }
.tp-where__in { display: grid; grid-template-columns: calc(810 * var(--u)) 1fr; align-items: center; min-height: calc(690 * var(--u)); padding-left: 0; padding-right: calc(30 * var(--u)); }
.tp-where__map { margin-left: calc(-20 * var(--u)); }
.tp-map { width: 100%; height: auto; display: block; }
.tp-map__or { fill: #2E3850; stroke: #fff; stroke-width: 2; filter: drop-shadow(0 0 10px rgba(248, 173, 64, .35)); }
.tp-map__near { fill: none; stroke: #5B6478; stroke-width: 1.5; }
.tp-map__ring { fill: none; stroke: #F8AD40; stroke-opacity: .35; stroke-width: 1.2; }
.tp-map__arc { fill: none; stroke: #F8AD40; stroke-opacity: .7; stroke-width: 1.4; stroke-dasharray: 7 6; }
.tp-map__pin { fill: var(--c-accent); }
.tp-map__label { font: 600 22px var(--f-text); fill: #fff; }
.tp-where__h { font: 400 var(--t-d2)/1 var(--f-head); color: #fff; letter-spacing: -.03em; }
.tp-where__lead { margin-top: calc(22 * var(--u)); max-width: calc(680 * var(--u)); font-size: var(--t-lead); line-height: 1.38; color: #F1F3F6; }
.tp-where__facts { list-style: none; margin: calc(36 * var(--u)) 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; }
.tp-where__facts li { display: flex; align-items: flex-end; gap: calc(16 * var(--u)); padding: calc(26 * var(--u)) calc(10 * var(--u)) calc(22 * var(--u)); min-height: calc(136 * var(--u)); font-size: var(--t-xl); color: #E8EBF0; }
.tp-where__facts li:nth-child(odd) { padding-left: calc(10 * var(--u)); border-right: 1px solid #6B7385; }
.tp-where__facts li:nth-child(even) { padding-left: calc(46 * var(--u)); }
.tp-where__facts li:nth-child(-n+2) { border-bottom: 1px solid #6B7385; }
.tp-where__facts .tp-ic { flex: none; width: calc(62 * var(--u)); height: calc(62 * var(--u)); min-width: 40px; min-height: 40px; color: var(--c-accent); align-self: flex-start; }
.tp-where__facts .tp-ic .a { stroke: var(--c-accent); }
.tp-where__facts li:first-child { flex-direction: column; align-items: flex-start; }
.tp-where__facts li:first-child strong { font: 700 var(--t-price)/1 var(--f-text); color: #fff; }
.tp-where__facts span { display: flex; flex-direction: column; }
.tp-where__facts span strong { font: 400 var(--t-num)/1.05 var(--f-head); color: #fff; letter-spacing: -.02em; }
.tp-ptypes { list-style: none; margin: 0; padding: calc(40 * var(--u)) 0 calc(28 * var(--u)); display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid #B9C0CB; }
.tp-ptypes li { display: flex; flex-direction: column; align-items: center; gap: calc(16 * var(--u)); font-size: var(--t-xl); color: var(--c-ink); }
.tp-ptypes .tp-ic { width: calc(150 * var(--u)); height: calc(130 * var(--u)); color: var(--c-navy); stroke-width: 1.1; }
.tp-ptypes .tp-ic .a { stroke: var(--c-navy); }
.tp-where__brands { padding: calc(28 * var(--u)) 0 calc(40 * var(--u)); font-size: var(--t-lead); color: var(--c-ink); }

/* С3 project form (also on the service pages) */
.tp-pform { padding: calc(50 * var(--u)) 0 calc(46 * var(--u)); }
.tp-pform__in { display: grid; grid-template-columns: calc(650 * var(--u)) 1fr; gap: calc(10 * var(--u)); align-items: start; }
.tp-pform__side { padding-top: calc(62 * var(--u)); }
.tp-pform__h { font: 400 var(--t-d2)/1.08 var(--f-head); color: var(--c-ink); letter-spacing: -.04em; }
.tp-pform__line { margin-top: calc(40 * var(--u)); max-width: calc(505 * var(--u)); font-size: var(--t-lead); line-height: 1.3; color: var(--c-navy); }
.tp-pform__art { display: block; width: calc(660 * var(--u)); max-width: none; margin: calc(18 * var(--u)) 0 0 calc(-12 * var(--u)); mix-blend-mode: multiply; }
.tp-pform__card { background: #fff; border: 1px solid #C9CFD8; border-radius: var(--radius); padding: calc(30 * var(--u)) calc(34 * var(--u)) calc(30 * var(--u)) calc(35 * var(--u)); }
.tp-form__grid--2 { grid-template-columns: 1fr 1fr; gap: calc(12 * var(--u)) calc(21 * var(--u)); }
.tp-form--full .tp-field, .tp-form--contact .tp-field { font-weight: 500; font-size: var(--t-m); color: var(--c-ink); gap: calc(10 * var(--u)); }
.tp-form--full .tp-field input, .tp-form--full .tp-field select, .tp-form--full .tp-field textarea { height: max(46px, calc(54 * var(--u))); background: #F4F6F8; border-color: #C9CFD8; border-radius: 6px; }
.tp-form--full .tp-field textarea { height: max(80px, calc(88 * var(--u))); }
.tp-form--full .tp-field select { appearance: none; background: #F4F6F8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='11'%3E%3Cpath d='m1.5 1.5 7.5 7.5 7.5-7.5' fill='none' stroke='%2330374F' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 18px center; }
.tp-needs { border: 0; margin: calc(20 * var(--u)) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: calc(14 * var(--u)) calc(44 * var(--u)); }
.tp-needs legend { padding: 0; margin-bottom: calc(14 * var(--u)); font-weight: 500; font-size: var(--t-m); color: var(--c-ink); }
.tp-needs .tp-check { font-size: var(--t-m); gap: calc(18 * var(--u)); }
.tp-needs .tp-check input, .tp-consent input { width: max(20px, calc(26 * var(--u))); height: max(20px, calc(26 * var(--u))); border: 1.5px solid #8C94A3; border-radius: 4px; }
.tp-form--full .tp-drop { margin-top: calc(20 * var(--u)); }
.tp-drop input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.tp-drop__box { display: flex; align-items: center; justify-content: center; gap: 12px; height: max(56px, calc(64 * var(--u))); border: 1.5px dashed #9AA2B0; border-radius: 6px; background: #F4F6F8; color: var(--c-navy); cursor: pointer; font-weight: 400; font-size: var(--t-xs); }
.tp-drop:focus-within .tp-drop__box { outline: 2px solid var(--c-accent); }
.tp-form--full > .tp-field--wide:not(.tp-drop) { margin-top: calc(20 * var(--u)); }
.tp-form--full .tp-form__foot { margin-top: calc(20 * var(--u)); gap: calc(22 * var(--u)); }
.tp-form--full .tp-form__foot .tp-btn { min-height: max(50px, calc(58 * var(--u))); padding: 0 calc(34 * var(--u)); font-size: var(--t-btn-l); font-weight: 600; }
.tp-form--full .tp-form__call { font-weight: 400; font-size: var(--t-s); color: var(--c-ink); }

/* ===== Service page ===== */
.tp-ss1 { position: relative; overflow: hidden; min-height: calc(888 * var(--u)); }
.tp-ss1__art { position: absolute; right: 0; top: 0; bottom: 0; width: calc(820 * var(--u)); -webkit-mask-image: linear-gradient(to right, transparent 0, #000 22%); mask-image: linear-gradient(to right, transparent 0, #000 22%); }
.tp-ss1__art img { width: 100%; height: 100%; object-fit: cover; object-position: 40% 0; mix-blend-mode: multiply; }
.tp-ss1__in { position: relative; z-index: 1; padding-top: calc(64 * var(--u)); padding-bottom: calc(50 * var(--u)); padding-left: calc(54 * var(--u)); }
.tp-ss1 .tp-crumbs { font-size: var(--t-s); }
.tp-ss1__eyebrow { margin-top: calc(38 * var(--u)); font-weight: 700; font-size: var(--t-xs); letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); }
.tp-ss1__h { margin-top: calc(14 * var(--u)); max-width: calc(760 * var(--u)); font: 400 var(--t-d1)/.97 var(--f-head); color: var(--c-ink); letter-spacing: -.035em; }
.tp-ss1__sub { margin-top: calc(26 * var(--u)); max-width: calc(880 * var(--u)); font-weight: 500; font-size: var(--t-lead); line-height: 1.15; color: var(--c-ink); letter-spacing: -.01em; }
.tp-ss1__lead { margin-top: calc(22 * var(--u)); max-width: calc(745 * var(--u)); font-size: var(--t-lead); line-height: 1.38; color: var(--c-muted); }
.tp-ss1__stats { list-style: none; margin: calc(26 * var(--u)) 0 0; padding: 0; display: flex; }
.tp-ss1__stats li { display: flex; flex-direction: column; padding: 0 calc(42 * var(--u)); border-left: 1px solid #B9C0CB; }
.tp-ss1__stats li:first-child { padding-left: 0; border-left: 0; }
.tp-ss1__stats strong { font: 400 var(--t-num)/1.1 var(--f-head); color: var(--c-ink); letter-spacing: -.03em; white-space: nowrap; }
.tp-ss1__stats span { margin-top: calc(6 * var(--u)); font-size: var(--t-m); color: var(--c-muted); }
.tp-ss1__h--long { max-width: calc(900 * var(--u)); font-size: var(--t-d1); }   /* "Site Assessment & System Design": three lines, not four */
.tp-ss1__cta { display: inline-flex; width: auto; min-width: calc(444 * var(--u)); padding: 0 calc(40 * var(--u)); white-space: nowrap; margin-top: calc(34 * var(--u)); min-height: max(52px, calc(60 * var(--u))); font-size: var(--t-btn-l); font-weight: 600; }
.tp-ss1__note { margin-top: calc(10 * var(--u)); font-size: var(--t-m); color: var(--c-muted); }
.tp-ss1__shop { display: flex; width: calc(357 * var(--u)); min-width: 240px; margin-top: calc(22 * var(--u)); min-height: max(48px, calc(54 * var(--u))); font-size: var(--t-xl); font-weight: 500; }

/* УС2 what's included */
.tp-incl { padding: calc(50 * var(--u)) 0 calc(50 * var(--u)); }
.tp-incl__in { display: grid; grid-template-columns: calc(722 * var(--u)) 1fr; gap: calc(30 * var(--u)); align-items: start; }
.tp-incl__h { font: 400 var(--t-d2)/1 var(--f-head); color: var(--c-ink); letter-spacing: -.04em; }
.tp-incl__list { list-style: none; margin: calc(20 * var(--u)) 0 0; padding: 0; }
.tp-incl__list li { display: grid; grid-template-columns: calc(58 * var(--u)) calc(66 * var(--u)) 1fr; align-items: start; padding: calc(14 * var(--u)) 0 calc(18 * var(--u)); border-bottom: 1px solid #C9CFD8; }
.tp-incl__list li:last-child { border-bottom: 0; }
.tp-incl__list .tp-ic { width: calc(42 * var(--u)); height: calc(42 * var(--u)); min-width: 26px; color: var(--c-accent); margin-top: calc(-4 * var(--u)); }
.tp-incl__n { font-size: var(--t-xl); line-height: 1.1; color: var(--c-navy); }
.tp-incl__list h3 { font: 400 var(--t-d4)/1.1 var(--f-head); color: var(--c-ink); letter-spacing: -.02em; }
.tp-incl__list p { margin-top: calc(10 * var(--u)); font-size: var(--t-xl); line-height: 1.2; color: var(--c-navy); }
.tp-incl__doc { margin: calc(-5 * var(--u)) 0 0; background: #fff; border: 1.5px solid var(--c-navy); border-radius: var(--radius); padding: calc(26 * var(--u)) calc(20 * var(--u)) calc(14 * var(--u)); }
.tp-incl__doc img { width: 100%; height: auto; }
.tp-incl__doc figcaption { margin-top: 8px; font-size: var(--t-xs); color: var(--c-muted); text-align: right; }

/* УС3 how it runs, equipment */
.tp-runs__dark { background: #252B36; color: #fff; padding: calc(36 * var(--u)) 0 calc(28 * var(--u)); }
.tp-runs__h { font: 400 var(--t-d2)/1 var(--f-head); color: #fff; letter-spacing: -.04em; }
.tp-runs__list { list-style: none; margin: calc(26 * var(--u)) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); }
.tp-runs__list li { padding: 0 calc(30 * var(--u)) 0 calc(30 * var(--u)); border-left: 1px solid #6B7385; display: flex; flex-direction: column; }
.tp-runs__list li:first-child { padding-left: 0; border-left: 0; }
.tp-runs__top { display: flex; gap: calc(16 * var(--u)); }
@media (min-width: 1024px) { .tp-runs__list h3 { white-space: nowrap; } }
.tp-runs__n { font: 400 var(--t-d3)/.85 var(--f-head); color: var(--c-accent); }
.tp-runs__list h3 { font: 400 var(--t-d5)/1.1 var(--f-head); color: #fff; letter-spacing: -.02em; }
.tp-runs__list p { margin-top: calc(8 * var(--u)); font-size: var(--t-xl); line-height: 1.24; color: #E3E6EB; }
.tp-runs__img { display: block; width: 100%; height: calc(190 * var(--u)); margin-top: calc(14 * var(--u)); object-fit: contain; }
.tp-runs__h2 { margin-top: calc(26 * var(--u)); font: 400 var(--t-d2)/1 var(--f-head); color: var(--c-ink); letter-spacing: -.04em; }
.tp-gears { display: grid; grid-template-columns: repeat(4, 1fr); gap: calc(14 * var(--u)); margin-top: calc(22 * var(--u)); }
.tp-gear { display: flex; flex-direction: column; background: #fff; border: 1px solid #B9C0CB; border-radius: 6px; padding: calc(14 * var(--u)) calc(20 * var(--u)) calc(16 * var(--u)); }
.tp-gear__img { display: block; height: calc(220 * var(--u)); }
.tp-gear__img img { width: 100%; height: 100%; object-fit: contain; }
.tp-gear__name { margin-top: calc(10 * var(--u)); font: 400 var(--t-m)/1.25 var(--f-text); color: var(--c-ink); min-height: 2.5em; }
.tp-gear__name a:hover { text-decoration: underline; }
.tp-gear__price { margin: auto 0 calc(12 * var(--u)); padding-top: calc(6 * var(--u)); font-weight: 700; font-size: var(--t-price); color: var(--c-ink); }
.tp-btn--accent-line { align-self: flex-start; width: calc(216 * var(--u)); min-width: 160px; background: #fff; color: var(--c-ink); border: 1.5px solid var(--c-accent); border-radius: 4px; font-weight: 500; }
.tp-btn--accent-line:hover { background: var(--c-accent); }
.tp-runs__other { margin-top: calc(24 * var(--u)); font-size: var(--t-m); color: var(--c-ink); }
.tp-runs__other a { text-decoration: underline; text-underline-offset: 3px; }

/* ===== About ===== */
.tp-ab1 { padding: calc(40 * var(--u)) 0 calc(40 * var(--u)); }
.tp-ab1__in { display: grid; grid-template-columns: 1fr calc(686 * var(--u)); gap: calc(32 * var(--u)); align-items: start; }
.tp-ab1 .tp-crumbs { font-size: var(--t-s); margin-top: calc(10 * var(--u)); }
.tp-ab1__h { margin-top: calc(42 * var(--u)); font: 400 var(--t-d1)/.9 var(--f-head); color: var(--c-ink); letter-spacing: -.04em; }
.tp-ab1__lead { margin-top: calc(40 * var(--u)); max-width: calc(700 * var(--u)); font-size: var(--t-lead); line-height: 1.35; color: var(--c-ink); }
.tp-ab1__cards { display: grid; grid-template-columns: 1fr 1fr; gap: calc(14 * var(--u)); margin-top: calc(34 * var(--u)); }
.tp-ab1__card { display: flex; flex-direction: column; background: #fff; border: 1px solid #DCE0E5; border-radius: 4px; padding: calc(22 * var(--u)) calc(26 * var(--u)) calc(22 * var(--u)); }
.tp-ab1__card .tp-ic { width: calc(84 * var(--u)); height: calc(64 * var(--u)); min-width: 50px; color: var(--c-navy); }
.tp-ab1__card h2 { margin-top: calc(14 * var(--u)); font: 400 var(--t-d4)/1.1 var(--f-head); color: var(--c-ink); letter-spacing: -.02em; }
.tp-ab1__card p { margin-top: calc(10 * var(--u)); font-size: var(--t-m); line-height: 1.36; color: var(--c-muted); }
.tp-ab1__link { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: calc(16 * var(--u)); font-weight: 600; font-size: var(--t-m); color: #E07B00; }
.tp-ab1__link:hover { text-decoration: underline; }
.tp-ab1__link .tp-ic { width: 20px; height: 20px; min-width: 0; color: #E07B00; }
.tp-ab1__addr { display: flex; align-items: center; gap: calc(14 * var(--u)); margin-top: calc(28 * var(--u)); font-size: var(--t-m); color: var(--c-ink); }
.tp-ab1__addr a { color: #E07B00; text-decoration: underline; text-underline-offset: 3px; }
.tp-passport { position: relative; background: #fff; border: 1.5px solid var(--c-navy); border-radius: 4px; padding: calc(40 * var(--u)) calc(24 * var(--u)) calc(40 * var(--u)); }
.tp-passport__tick { position: absolute; left: calc(24 * var(--u)); top: calc(20 * var(--u)); width: calc(42 * var(--u)); height: 4px; background: var(--c-accent); }
.tp-passport__tick--end { left: auto; top: auto; right: calc(20 * var(--u)); bottom: calc(18 * var(--u)); width: calc(28 * var(--u)); }
.tp-passport__h { font: 400 var(--t-d3)/1.1 var(--f-head); color: var(--c-ink); letter-spacing: -.03em; }
.tp-passport__art { display: block; width: calc(100% + 30 * var(--u)); height: calc(400 * var(--u)); margin-left: calc(-15 * var(--u)); object-fit: contain; margin-top: calc(14 * var(--u)); mix-blend-mode: multiply; }
.tp-passport__rows { margin: calc(14 * var(--u)) 0 0; }
.tp-passport__rows div { display: grid; grid-template-columns: calc(204 * var(--u)) 1fr; padding: calc(10 * var(--u)) calc(8 * var(--u)); border-top: 1px solid #DCE0E5; font-size: var(--t-m); }
.tp-passport__rows div:last-child { border-bottom: 1px solid #DCE0E5; }
.tp-passport__rows dt { color: var(--c-muted); }
.tp-passport__rows dd { margin: 0; color: var(--c-ink); }
.tp-ab2__dark { background: #262C37; padding: calc(70 * var(--u)) 0 calc(34 * var(--u)); }
.tp-ab2__h { font: 400 var(--t-d2)/1 var(--f-head); color: #fff; letter-spacing: -.04em; }
.tp-ab2__nums { list-style: none; margin: calc(30 * var(--u)) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: calc(22 * var(--u)); }
.tp-ab2__nums li { position: relative; display: flex; flex-direction: column; min-height: calc(217 * var(--u)); padding: calc(46 * var(--u)) calc(26 * var(--u)) calc(20 * var(--u)); border: 1px solid #5B6478; border-radius: 4px; }
.tp-ab2__nums li::before { content: ""; position: absolute; left: calc(26 * var(--u)); top: calc(24 * var(--u)); width: calc(48 * var(--u)); height: 5px; background: var(--c-accent); }
.tp-ab2__nums strong { font: 400 var(--t-num)/1 var(--f-head); color: #fff; letter-spacing: -.04em; }
.tp-ab2__nums span { margin-top: calc(12 * var(--u)); font-size: var(--t-xl); line-height: 1.2; color: #fff; }
.tp-ab2__people { display: grid; grid-template-columns: 1fr 1fr; gap: calc(22 * var(--u)); margin-top: calc(30 * var(--u)); }
.tp-ab2__card { background: #fff; border: 1px solid #B9C0CB; border-radius: 4px; padding: calc(28 * var(--u)) calc(34 * var(--u)) calc(30 * var(--u)); }
.tp-ab2__role { position: relative; padding-bottom: calc(16 * var(--u)); font-size: var(--t-m); color: var(--c-muted); }
.tp-ab2__role::after, .tp-ab2__team::after { content: ""; position: absolute; left: 0; bottom: 0; width: calc(48 * var(--u)); height: 4px; background: var(--c-accent); }
.tp-ab2__card h3 { position: relative; margin-top: calc(14 * var(--u)); font: 400 var(--t-d3)/1.05 var(--f-head); color: var(--c-ink); letter-spacing: -.04em; }
.tp-ab2__team { padding-bottom: calc(24 * var(--u)); margin-top: calc(18 * var(--u)) !important; }
.tp-ab2__card p:not(.tp-ab2__role) { margin-top: calc(16 * var(--u)); font-size: var(--t-xl); line-height: 1.43; color: var(--c-ink); }
.tp-ab2__card:last-child p { margin-top: calc(32 * var(--u)); font-size: var(--t-xl); }
.tp-trustrow { list-style: none; margin: calc(24 * var(--u)) 0 0; padding: 0; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.tp-trustrow li { display: flex; align-items: center; gap: calc(26 * var(--u)); font-size: var(--t-xl); color: var(--c-ink); }
.tp-trustrow li + li { padding-left: calc(40 * var(--u)); border-left: 1px solid #B9C0CB; }
.tp-trustrow .tp-ic { width: calc(54 * var(--u)); height: calc(54 * var(--u)); min-width: 34px; min-height: 34px; color: var(--c-navy); }
.tp-trustrow .tp-ic .a { stroke: var(--c-navy); }
.tp-ab2__cta { display: flex; align-items: center; gap: calc(30 * var(--u)); margin: calc(22 * var(--u)) 0 calc(40 * var(--u)); }
.tp-ab2__cta .tp-btn { width: calc(406 * var(--u)); min-width: 260px; min-height: max(52px, calc(68 * var(--u))); font-size: var(--t-btn-l); font-weight: 600; }
.tp-ab2__cta .tp-link { font-size: var(--t-xl); }
.tp-ab2__cta .tp-link .tp-ic { color: var(--c-navy); }

/* ===== Contact ===== */
.tp-ct__crumbs { padding: calc(12 * var(--u)) 0 calc(6 * var(--u)); }
.tp-ct__crumbs .tp-crumbs { font-size: var(--t-s); }
.tp-ct { display: grid; grid-template-columns: calc(573 * var(--u)) 1fr; max-width: calc(1536 * var(--u)); margin: 0 auto; }
.tp-ct__side { background: #272C36; color: #fff; padding: calc(36 * var(--u)) calc(36 * var(--u)) calc(26 * var(--u)) calc(50 * var(--u)); }
.tp-ct__h { font: 400 var(--t-d1)/.98 var(--f-head); color: #fff; letter-spacing: -.035em; }
.tp-ct__lead { margin-top: calc(24 * var(--u)); font-size: var(--t-lead); line-height: 1.3; color: #F1F3F6; padding-bottom: calc(18 * var(--u)); border-bottom: 1px solid #5B6478; }
.tp-ct__lead strong { color: #fff; }
.tp-ct__list { list-style: none; margin: 0; padding: 0; }
.tp-ct__list li { display: grid; grid-template-columns: calc(84 * var(--u)) 1fr; padding: calc(14 * var(--u)) 0 calc(12 * var(--u)); border-bottom: 1px solid #5B6478; }
.tp-ct__list li:last-child { border-bottom: 0; }
.tp-ct__list .tp-ic { width: calc(46 * var(--u)); height: calc(46 * var(--u)); min-width: 32px; color: var(--c-accent); margin-top: calc(6 * var(--u)); }
.tp-ct__list .tp-ic .a { stroke: var(--c-accent); }
.tp-ct__list h2 { font: 700 var(--t-xl)/1.2 var(--f-text); color: #fff; }
.tp-ct__list a, .tp-ct__list p { display: block; margin-top: calc(2 * var(--u)); font-size: var(--t-xl); line-height: 1.24; color: #F1F3F6; }
.tp-ct__list a:hover { text-decoration: underline; }
.tp-ct__map { position: relative; height: calc(242 * var(--u)); min-height: 200px; margin-top: calc(6 * var(--u)); border-radius: var(--radius); overflow: hidden; background: #E9EDF1; }
.tp-ct__map iframe { width: 100%; height: 100%; border: 0; display: block; }
.tp-ct__cone { position: absolute; left: 50%; top: 50%; width: 42%; height: 70%; background: linear-gradient(135deg, rgba(248, 173, 64, .55), rgba(248, 173, 64, .05)); clip-path: polygon(0 0, 100% 45%, 55% 100%); pointer-events: none; z-index: 2; opacity: .85; }
.tp-ct__maplink { position: absolute; right: 8px; bottom: 8px; padding: 4px 10px; border-radius: 4px; background: #fff; font-size: var(--t-2xs); color: var(--c-navy); }
.tp-ct__form { background: #fff; padding: calc(36 * var(--u)) calc(46 * var(--u)) calc(30 * var(--u)) calc(41 * var(--u)); }
.tp-seg { border: 0; margin: 0; padding: 0; display: grid; grid-template-columns: 274fr 296fr 306fr; }
.tp-seg legend { padding: 0; margin-bottom: calc(10 * var(--u)); font-weight: 600; font-size: var(--t-m); color: var(--c-ink); }
.tp-seg label { position: relative; cursor: pointer; }
.tp-seg input { position: absolute; opacity: 0; }
.tp-seg span { display: flex; align-items: center; justify-content: center; height: max(46px, calc(51 * var(--u))); border: 1px solid #8C94A3; margin-left: -1px; font-size: var(--t-m); color: var(--c-ink); text-align: center; padding: 0 8px; }
.tp-seg label:first-of-type span { border-radius: 4px 0 0 4px; margin-left: 0; }
.tp-seg label:last-of-type span { border-radius: 0 4px 4px 0; }
.tp-seg input:checked + span { position: relative; z-index: 1; background: #E9EDF2; border: 1.5px solid var(--c-navy); }
.tp-seg input:focus-visible + span { outline: 3px solid var(--c-accent); }
.tp-form--contact .tp-form__grid--2 { margin-top: calc(22 * var(--u)); gap: calc(14 * var(--u)) calc(20 * var(--u)); }
.tp-form--contact .tp-field { font-weight: 400; font-size: var(--t-m); gap: calc(10 * var(--u)); }
.tp-form--contact .tp-field input, .tp-form--contact .tp-field textarea { height: max(44px, calc(47 * var(--u))); border-color: #8C94A3; border-radius: 4px; }
.tp-form--contact .tp-field textarea { height: max(80px, calc(90 * var(--u))); }
.tp-form--contact > .tp-field--wide { margin-top: calc(14 * var(--u)); }
.tp-models > label { display: block; }
.tp-models__box { position: relative; margin-top: calc(10 * var(--u)); }
.tp-models__box textarea { width: 100%; height: max(80px, calc(83 * var(--u))) !important; padding-right: 190px !important; border: 1px solid #8C94A3; border-radius: 4px; padding: 10px 12px; font: inherit; font-size: var(--t-s); resize: vertical; }
.tp-attach { position: absolute; right: calc(15 * var(--u)); top: 50%; transform: translateY(-50%); display: inline-flex; align-items: center; gap: 10px; height: max(42px, calc(51 * var(--u))); padding: 0 calc(18 * var(--u)); border: 1px solid #8C94A3; border-radius: 4px; background: #fff; cursor: pointer; font-size: var(--t-m); color: var(--c-ink); max-width: 46%; }
.tp-attach span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tp-attach input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.tp-attach:focus-within { outline: 3px solid var(--c-accent); }
.tp-consent { margin-top: calc(18 * var(--u)); font-size: var(--t-s); gap: calc(14 * var(--u)); }
.tp-form--contact .tp-form__foot { margin-top: calc(18 * var(--u)); }
.tp-form--contact .tp-form__foot .tp-btn { min-width: calc(298 * var(--u)); min-height: max(52px, calc(60 * var(--u))); font-size: var(--t-btn-l); font-weight: 600; }

/* ===== FAQ ===== */
.tp-faqp { padding: calc(22 * var(--u)) 0 calc(50 * var(--u)); }
.tp-faqp .tp-crumbs { font-size: var(--t-s); }
.tp-faqp__h { margin-top: calc(8 * var(--u)); font: 400 var(--t-d1)/1.1 var(--f-head); color: var(--c-ink); letter-spacing: -.03em; }
.tp-faqp__in { display: grid; grid-template-columns: calc(318 * var(--u)) 1fr; gap: calc(44 * var(--u)); margin-top: calc(22 * var(--u)); align-items: start; }
.tp-faqp__side { position: sticky; top: 120px; }
.tp-faqp__nav { display: flex; flex-direction: column; background: #fff; border-radius: 4px; padding: 0 calc(8 * var(--u)) 0 0; }
.tp-faqp__nav a { position: relative; padding: calc(14 * var(--u)) calc(22 * var(--u)); border-bottom: 1px solid #DCE0E5; font-weight: 600; font-size: var(--t-s); letter-spacing: .08em; text-transform: uppercase; color: var(--c-ink); }
.tp-faqp__nav a:last-child { border-bottom: 0; }
.tp-faqp__nav a.is-on { box-shadow: inset 4px 0 0 var(--c-accent); }
.tp-faqp__nav a:hover { background: var(--c-bg); }
.tp-faqp__ask { margin-top: calc(24 * var(--u)); background: #fff; border: 1px solid #B9C0CB; border-radius: 4px; padding: calc(26 * var(--u)) calc(30 * var(--u)) calc(32 * var(--u)); }
.tp-faqp__ask p { font-weight: 600; font-size: var(--t-xl); color: var(--c-ink); }
.tp-faqp__tel { display: block; margin-top: calc(6 * var(--u)); font-weight: 700; font-size: var(--t-lead); color: var(--c-ink); letter-spacing: .01em; }
.tp-faqp__ask .tp-btn { margin-top: calc(20 * var(--u)); min-height: max(44px, calc(44 * var(--u))); padding: 0 calc(50 * var(--u)); font-size: var(--t-btn); }
.tp-faqp__art { display: block; width: calc(310 * var(--u)); margin-top: calc(16 * var(--u)); }
.tp-faqp__g { scroll-margin-top: 120px; }
.tp-faqp__g + .tp-faqp__g { margin-top: calc(22 * var(--u)); }
.tp-faqp__g h2 { font-weight: 600; font-size: var(--t-s); letter-spacing: .14em; text-transform: uppercase; color: var(--c-ink); margin-bottom: calc(8 * var(--u)); }
.tp-faqp .tp-faq { background: #fff; border: 1px solid #C9CFD8; border-radius: 4px; }
.tp-faqp .tp-faq__item summary { min-height: calc(46 * var(--u)); padding: calc(8 * var(--u)) calc(24 * var(--u)); font-weight: 600; font-size: var(--t-m); }
.tp-faqp .tp-faq__item[open] summary { padding-top: calc(12 * var(--u)); border-bottom: 1px solid #DCE0E5; }
.tp-faqp .tp-faq__item p { padding: calc(14 * var(--u)) calc(70 * var(--u)) calc(18 * var(--u)) calc(46 * var(--u)); font-size: var(--t-m); line-height: 1.45; }

/* ===== Thank you ===== */
.tp-ty { padding: calc(44 * var(--u)) 0 calc(80 * var(--u)); text-align: center; }
.tp-ty__art { display: block; width: calc(430 * var(--u)); min-width: 240px; margin: 0 auto; }
.tp-ty__h { margin-top: calc(40 * var(--u)); font: 400 var(--t-d1)/1.05 var(--f-head); color: var(--c-ink); letter-spacing: -.045em; }
.tp-ty__lead { margin-top: calc(22 * var(--u)); font-size: var(--t-lead); color: var(--c-ink); }
.tp-ty__steps { list-style: none; margin: calc(44 * var(--u)) auto 0; padding: 0; max-width: calc(1342 * var(--u)); display: grid; grid-template-columns: repeat(3, 1fr); background: #fff; border: 1px solid var(--c-navy); border-radius: var(--radius); text-align: left; }
.tp-ty__steps li { display: flex; align-items: center; gap: calc(34 * var(--u)); min-height: calc(156 * var(--u)); padding: 0 calc(40 * var(--u)); font-size: var(--t-xl); line-height: 1.2; color: var(--c-ink); }
.tp-ty__steps li + li { border-left: 1px solid var(--c-navy); }
.tp-ty__steps span { flex: none; display: grid; place-items: center; width: calc(72 * var(--u)); height: calc(72 * var(--u)); min-width: 44px; min-height: 44px; border: 2px solid var(--c-navy); border-radius: 50%; font-weight: 500; font-size: var(--t-d4); }
.tp-ty__links { display: flex; justify-content: center; gap: calc(60 * var(--u)); margin-top: calc(54 * var(--u)); font-size: var(--t-xl); }
.tp-ty__links a { display: inline-flex; align-items: center; gap: 12px; color: var(--c-ink); }
.tp-ty__links a:hover { text-decoration: underline; }
.tp-ty__links .tp-ic { color: var(--c-accent); }

/* ===== Tablet and phone ===== */
@media (max-width: 1023px) {
	.tp-stages { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 46%; overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 var(--gutter) 10px; }
	.tp-stages::before, .tp-stage__dot { display: none; }
	.tp-stage { scroll-snap-align: start; }
	.tp-stage__img { height: 220px; }
	.tp-where__in { grid-template-columns: 1fr; padding: 32px var(--gutter); }
	.tp-where__map { max-width: 560px; }
	.tp-ptypes { grid-template-columns: 1fr 1fr; gap: 24px 0; }
	.tp-pform__in, .tp-incl__in, .tp-ab1__in { grid-template-columns: 1fr; }
	.tp-pform__art { width: 100%; max-width: 560px; }
	.tp-ss1 { min-height: 0; }
	.tp-ss1__art { position: relative; width: 100%; height: 360px; -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 25%); mask-image: linear-gradient(to bottom, transparent 0, #000 25%); order: 2; }
	.tp-ss1 { display: flex; flex-direction: column; }
	.tp-ss1__in { padding: 24px var(--gutter) 10px; }
	.tp-runs__list { grid-template-columns: 1fr 1fr; gap: 28px 0; }
	.tp-runs__list li:nth-child(3) { padding-left: 0; border-left: 0; }
	.tp-gears { grid-template-columns: 1fr 1fr; }
	.tp-ab2__nums { grid-template-columns: 1fr 1fr; }
	.tp-ab2__people { grid-template-columns: 1fr; }
	.tp-trustrow li + li { padding-left: 0; border-left: 0; }
	.tp-ct { grid-template-columns: 1fr; }
	.tp-ct__side, .tp-ct__form { padding: 28px var(--gutter); }
	.tp-faqp__in { grid-template-columns: minmax(0, 1fr); }   /* the scrolling group nav must not widen the column */
	.tp-faqp__side, .tp-faqp__groups { min-width: 0; }
	.tp-faqp__side { position: static; }
	.tp-faqp__nav { flex-direction: row; overflow-x: auto; padding: 0; }
	.tp-faqp__nav a { border-bottom: 0; white-space: nowrap; }
	.tp-faqp__art { display: none; }
	.tp-ty__steps { grid-template-columns: 1fr; }
	.tp-ty__steps li + li { border-left: 0; border-top: 1px solid var(--c-navy); }
	.tp-ty__steps li { min-height: 96px; }
}
@media (max-width: 767px) {
	.tp-sv1__h {  }
	.tp-sv1__cta { flex-direction: column; align-items: stretch; }
	.tp-sv1__cta .tp-btn { width: 100%; }
	.tp-stages { grid-auto-columns: 78%; }
	.tp-where__facts li:nth-child(even) { padding-left: 16px; }
	.tp-where__facts li { min-height: 0; padding: 18px 8px; }
	.tp-ptypes .tp-ic { width: 90px; height: 76px; }
	.tp-form__grid--2, .tp-needs { grid-template-columns: 1fr; }
	.tp-pform__card { padding: 20px 16px; }
	.tp-ss1__h {  }
	.tp-ss1__sub {  }
	.tp-ss1__stats { flex-direction: column; gap: 14px; }
	.tp-ss1__stats li { padding: 0; border-left: 0; }
	.tp-ss1__cta, .tp-ss1__shop { width: 100%; }
	.tp-incl__list li { grid-template-columns: 36px 40px 1fr; }
	.tp-runs__list { grid-template-columns: 1fr; }
	.tp-runs__list li { padding-left: 0; border-left: 0; }
	.tp-gears { gap: 10px; }
	.tp-gear { padding: 10px 12px 14px; }
	.tp-gear__img { height: 130px; }
	.tp-btn--accent-line { width: 100%; min-width: 0; }
	.tp-ab1__cards, .tp-ab2__nums { grid-template-columns: 1fr; }
	.tp-passport__rows div { grid-template-columns: 38% 1fr; }
	.tp-trustrow { flex-direction: column; align-items: flex-start; }
	.tp-ab2__cta { flex-direction: column; align-items: stretch; }
	.tp-ab2__cta .tp-btn { width: 100%; }
	.tp-seg { grid-template-columns: 1fr; }
	.tp-seg span, .tp-seg label:first-of-type span, .tp-seg label:last-of-type span { margin: -1px 0 0; border-radius: 0; }
	.tp-models__box textarea { padding-right: 12px !important; }
	.tp-attach { position: static; transform: none; margin-top: 8px; max-width: none; }
	.tp-ty__links { flex-direction: column; gap: 16px; align-items: center; }
}

/* ===== Text pages (page.php): Shipping, Returns, Warranty, Privacy, Terms ===== */
.tp-doc { padding: calc(28 * var(--u)) 0 calc(56 * var(--u)); }
.tp-doc .tp-crumbs { font-size: var(--t-s); }
.tp-doc__h { margin-top: calc(14 * var(--u)); font: 400 var(--t-d1)/1.02 var(--f-head); color: var(--c-ink); letter-spacing: -.035em; }
.tp-doc__grid { display: grid; grid-template-columns: minmax(0, calc(900 * var(--u))) calc(380 * var(--u)); justify-content: space-between; align-items: start; gap: 32px; margin-top: calc(28 * var(--u)); }
.tp-doc__text { background: #fff; border: 1px solid #E1E5EA; border-radius: 8px; padding: calc(36 * var(--u)) calc(44 * var(--u)) calc(40 * var(--u)); font-size: var(--t-m); line-height: 1.55; color: var(--c-ink); }
.tp-doc__text > :first-child { margin-top: 0; }
.tp-doc__text .tp-doc__lead { font-size: var(--t-lead); line-height: 1.4; color: var(--c-navy); padding-bottom: calc(24 * var(--u)); border-bottom: 1px solid #DCE0E5; }
.tp-doc__text h2 { margin-top: calc(34 * var(--u)); font: 400 var(--t-d5)/1.2 var(--f-head); color: var(--c-ink); letter-spacing: -.02em; }
.tp-doc__text h3 { margin-top: calc(22 * var(--u)); font-size: var(--t-xl); font-weight: 700; }
.tp-doc__text p, .tp-doc__text ul, .tp-doc__text ol { margin-top: calc(12 * var(--u)); }
.tp-doc__text ul, .tp-doc__text ol { padding-left: 1.3em; }
.tp-doc__text li + li { margin-top: 6px; }
.tp-doc__text li::marker { color: var(--c-accent); font-weight: 700; }
.tp-doc__text a { color: var(--c-navy); text-decoration: underline; text-underline-offset: 3px; }
.tp-doc__side { position: sticky; top: calc(150 * var(--u)); display: grid; gap: 12px; background: #fff; border: 1px solid #E1E5EA; border-radius: 8px; padding: calc(26 * var(--u)) calc(28 * var(--u)); }
.tp-doc__side h2 { font: 400 var(--t-d5)/1.2 var(--f-head); color: var(--c-ink); letter-spacing: -.02em; }
.tp-doc__side p { font-size: var(--t-m); }
.tp-doc__side p a { display: inline-flex; align-items: center; gap: 10px; color: var(--c-ink); }
.tp-doc__side p a .tp-ic { color: var(--c-navy); flex: none; }
.tp-doc__side p a:hover { text-decoration: underline; text-underline-offset: 3px; }
.tp-doc__hours { color: var(--c-muted); }
.tp-doc__side .tp-link { margin-top: 6px; font-size: var(--t-m); }
.tp-doc .tp-pterms { margin-top: calc(32 * var(--u)); }
.tp-doc .tp-pterms { grid-template-columns: repeat(3, 1fr); }
.tp-doc .tp-pterms li.is-on { display: none; }   /* it repeats the lead of the page */
.tp-doc .tp-pterms li:not(.is-on) ~ li:not(.is-on), .tp-doc .tp-pterms li.is-on + li { border-left: 1px solid #C9CFD8; }
.tp-doc .tp-pterms li:first-child:not(.is-on), .tp-doc .tp-pterms li.is-on:first-child + li { border-left: 0; }
.tp-doc__text a[href^="tel"] { white-space: nowrap; }
@media (max-width: 1023px) {
	.tp-doc__grid { grid-template-columns: 1fr; }
	.tp-doc__side { position: static; }
	.tp-doc .tp-pterms { grid-template-columns: 1fr 1fr 1fr; }
}
@media (max-width: 767px) { .tp-doc .tp-pterms { grid-template-columns: 1fr; } .tp-doc .tp-pterms li { border-left: 0 !important; } }
@media (max-width: 767px) {
	.tp-doc__text { padding: 22px 18px 26px; }
}

@media (max-width: 767px) { .tp-sv1__h span { display: block; margin-top: 6px; font-size: .6em; line-height: 1.15; } .tp-sv1__h br { display: none; } }   /* phone: the second half of the H1 as a subtitle */
