/* Travel & tourism industry landing only. Every class is scoped with .pit- (loaded via extra: crm, p-ind-travel). */
:root { --pit-ink: #082238; --pit-body: #334155; --pit-muted: #64748B; --pit-line: #E2E8F0; --pit-paper: #F3F7F9; --pit-blue: #00A3D9; --pit-link: #0A6FA8; --pit-green: #1E9E62; --pit-amber: #FFB81C; }

.pit-hero, .pit-who, .pit-trip, .pit-build, .pit-stack, .pit-law, .pit-move, .pit-cost, .pit-pk, .pit-roll { overflow-x: clip; }

/* ---------- 1. hero: itinerary card ---------- */
.pit-hero__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(32px, 4.5vw, 64px); align-items: center; }
.pit-hero .pg-h1 { max-width: 19ch; font-size: clamp(34px, 1.1rem + 2.5vw, 52px); }
.pit-hero .pg-lead { font-size: 17px; }

.pit-itin { position: relative; margin: 0; padding: 20px 20px 18px; border-radius: 26px; background: rgba(255,255,255,.9); border: 1px solid var(--pit-line); box-shadow: 0 50px 90px -50px rgba(8,34,56,.5), 0 14px 30px -24px rgba(8,34,56,.3); }
.pit-itin::before { content: ""; position: absolute; left: 20px; right: 20px; top: 0; height: 4px; border-radius: 0 0 4px 4px; background: linear-gradient(90deg, #1D3F8F, #00A3D9, #00B2A9, #3FB97A); }
.pit-itin__top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 4px 2px 14px; border-bottom: 1px dashed #CBD5E1; }
.pit-itin__ref { font: 700 11.5px/1 var(--f-body); letter-spacing: .08em; text-transform: uppercase; color: var(--pit-link); }
.pit-itin__top b { flex-basis: 100%; order: 3; font: 800 16px/1.25 var(--f-display); color: var(--pit-ink); }
.pit-itin__top em { margin-left: auto; font-style: normal; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 3px 8px; border-radius: 99px; background: #FFF4D6; color: #8A5A00; }
.pit-itin__rows { display: grid; gap: 8px; margin: 14px 0 0; padding: 0; list-style: none; }
.pit-row { display: grid; grid-template-columns: 62px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 9px 12px; border-radius: 12px; background: var(--pit-paper); border-left: 4px solid var(--c); transition: opacity .5s, transform .5s cubic-bezier(.3,.7,.3,1); }
.pit-row__k { font: 700 11px/1 var(--f-body); letter-spacing: .07em; text-transform: uppercase; color: var(--c); }
.pit-row__t { min-width: 0; font-size: 13.5px; line-height: 1.35; color: var(--pit-ink); }
.pit-row__v { font: 700 14px/1 var(--f-display); color: var(--pit-ink); font-variant-numeric: tabular-nums; }
.pit-js .pit-row { opacity: 0; transform: translateX(26px); }
.pit-js .pit-row.is-in { opacity: 1; transform: none; }
.pit-itin__total { display: flex; justify-content: space-between; align-items: baseline; margin-top: 12px; padding: 10px 4px 0; border-top: 2px solid var(--pit-ink); }
.pit-itin__total span { font-size: 13px; font-weight: 600; color: var(--pit-body); }
.pit-itin__total b { font: 800 22px/1 var(--f-display); color: var(--pit-ink); font-variant-numeric: tabular-nums; }
.pit-sched { margin-top: 14px; padding: 12px 14px; border-radius: 16px; background: #fff; border: 1px solid var(--pit-line); }
.pit-sched__h { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font: 700 13px/1.2 var(--f-display); color: var(--pit-ink); }
.pit-sched__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.pit-pay { position: relative; display: grid; gap: 4px; padding: 9px 10px; border-radius: 12px; background: var(--pit-paper); transition: background-color .5s, box-shadow .5s; }
.pit-pay span { font-size: 11.5px; line-height: 1.3; color: var(--pit-muted); }
.pit-pay b { font: 800 15px/1 var(--f-display); color: var(--pit-ink); font-variant-numeric: tabular-nums; }
.pit-pay i { justify-self: start; font-style: normal; font: 700 10px/1 var(--f-body); letter-spacing: .06em; text-transform: uppercase; padding: 3px 7px; border-radius: 99px; background: #E2E8F0; color: #475569; }
.pit-pay.is-paid { background: #E9F7EF; box-shadow: inset 0 0 0 1.5px rgba(30,158,98,.45); }
.pit-pay.is-paid i { background: var(--pit-green); color: #fff; }
.pit-js .pit-sched { opacity: .25; transition: opacity .6s; }
.pit-js .pit-sched.is-on { opacity: 1; }
.pit-replay { margin-top: 12px; padding: 8px 14px; border: 1px solid var(--pit-line); border-radius: 99px; background: #fff; font: 600 13px/1 var(--f-body); color: var(--pit-link); cursor: pointer; }
.pit-replay:hover { border-color: var(--pit-blue); }
.pit-replay:focus-visible, .pit-move__tiles button:focus-visible, .pit-sw button:focus-visible, .pit-more summary:focus-visible { outline: 2px solid var(--pit-blue); outline-offset: 2px; }

/* ---------- 2. which one are you ---------- */
.pit-who__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 36px 0 0; padding: 0; list-style: none; }
.pit-who__grid a { position: relative; display: flex; flex-direction: column; gap: 6px; height: 100%; box-sizing: border-box; padding: 20px 20px 44px; border-radius: 20px; background: #fff; border: 1px solid var(--pit-line); text-decoration: none; box-shadow: 0 22px 44px -40px rgba(8,34,56,.6); transition: transform .25s, border-color .25s, box-shadow .25s; }
.pit-who__grid a:hover, .pit-who__grid a:focus-visible { transform: translateY(-3px); border-color: var(--c); box-shadow: 0 28px 50px -36px rgba(8,34,56,.6); }
.pit-who__grid a:focus-visible { outline: 2px solid var(--c); outline-offset: 2px; }
.pit-who__tag { align-self: flex-start; padding: 4px 9px; border-radius: 99px; background: var(--bg); color: var(--c); font: 700 11px/1 var(--f-body); letter-spacing: .06em; text-transform: uppercase; }
.pit-who__grid b { margin-top: 4px; font: 700 17px/1.25 var(--f-display); color: var(--pit-ink); }
.pit-who__grid a > span:not(.pit-who__tag) { font-size: 14.5px; line-height: 1.5; color: var(--pit-body); }
.pit-who__grid i { position: absolute; left: 20px; bottom: 16px; font-style: normal; font-weight: 700; color: var(--c); transition: transform .25s; }
.pit-who__grid a:hover i { transform: translateX(4px); }
.pit-more { margin-top: 22px; padding: 14px 18px; border-radius: 16px; background: var(--pit-paper); border: 1px solid var(--pit-line); }
.pit-more summary { cursor: pointer; font: 600 15px/1.3 var(--f-body); color: var(--pit-link); }
.pit-more__list { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 2px; padding: 0; list-style: none; }
.pit-more__list a { display: inline-block; padding: 8px 12px; border-radius: 99px; background: #fff; border: 1px solid var(--pit-line); font: 500 13.5px/1.2 var(--f-body); color: var(--pit-ink); text-decoration: none; }
.pit-more__list a:hover { border-color: var(--pit-blue); color: var(--pit-link); }

/* ---------- 3. boarding-pass journey ---------- */
.pit-trip__list { position: relative; display: grid; gap: 18px; margin: 40px 0 0; padding: 0; list-style: none; }
.pit-trip__list::before { content: ""; position: absolute; left: 30px; top: 20px; bottom: 20px; width: 2px; background: repeating-linear-gradient(180deg, #B6CCDA 0 7px, transparent 7px 13px); }
.pit-bp { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 250px; margin-left: 62px; border-radius: 20px; background: #fff; border: 1px solid var(--pit-line); border-left: 6px solid var(--c); box-shadow: 0 26px 50px -42px rgba(8,34,56,.6); transition: opacity .6s, transform .6s cubic-bezier(.3,.7,.3,1); }
.pit-bp::before { content: ""; position: absolute; left: -45px; top: 30px; width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 3px solid var(--c); box-shadow: 0 0 0 5px #fff; }
.pit-js .pit-bp { opacity: 0; transform: translateY(18px); }
.pit-js .pit-bp.is-in { opacity: 1; transform: none; }
.pit-bp__main { padding: 22px 26px 22px 30px; }
.pit-bp__seq { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; font: 700 12px/1 var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--pit-muted); }
.pit-bp__seq span { padding: 4px 9px; border-radius: 99px; background: color-mix(in srgb, var(--c) 12%, #fff); color: var(--c); letter-spacing: .06em; }
.pit-bp h3 { margin: 0 0 8px; font: 700 19px/1.3 var(--f-display); color: var(--pit-ink); }
.pit-bp__main p:last-child { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--pit-body); }
.pit-bp__stub { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 22px 22px 20px 26px; border-left: 2px dashed #CBD5E1; background: linear-gradient(180deg, #F7FAFC, #F0F6FA); border-radius: 0 20px 20px 0; }
.pit-bp__stub::before, .pit-bp__stub::after { content: ""; position: absolute; left: -11px; width: 20px; height: 20px; border-radius: 50%; background: var(--pit-paper, #F3F7F9); }
.pit-bp__stub::before { top: -11px; box-shadow: inset 0 -1px 0 var(--pit-line); }
.pit-bp__stub::after { bottom: -11px; box-shadow: inset 0 1px 0 var(--pit-line); }
.pit-bp__gate { margin: 0; font: 700 11px/1 var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--pit-muted); }
.pit-bp__apps { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.pit-bp__apps a { display: inline-flex; align-items: center; gap: 8px; font: 600 14.5px/1.2 var(--f-body); color: var(--pit-ink); text-decoration: none; }
.pit-bp__apps a:hover { color: var(--pit-link); text-decoration: underline; }
.pit-bp__apps img { flex: none; padding: 4px; border-radius: 8px; background: #fff; box-shadow: 0 0 0 1px var(--pit-line); }
.pit-bp__who { margin: auto 0 0; padding-top: 6px; font-size: 13px; color: var(--pit-muted); }
.pit-note { margin: 22px 0 0; font-size: 14.5px; color: var(--pit-muted); }

/* ---------- 4. itinerary builder (dark band) ---------- */
.pit-build__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(20px, 3vw, 36px); margin-top: 36px; }
.pit-build__form { display: grid; gap: 22px; align-content: start; padding: clamp(20px, 2.6vw, 28px); border-radius: 24px; background: rgba(255,255,255,.06); border: 1px solid rgba(159,192,216,.25); }
.pit-field { display: grid; gap: 10px; }
.pit-field > span { display: flex; justify-content: space-between; gap: 10px; font: 600 14.5px/1.2 var(--f-body); color: #fff; }
.pit-field output { font: 800 15px/1 var(--f-display); color: #5FD3F3; font-variant-numeric: tabular-nums; }
.pit-field input[type="range"] { width: 100%; accent-color: var(--pit-amber); }
.pit-field--light > span { color: var(--pit-ink); }
.pit-field--light output { color: var(--pit-link); }
.pit-field--light input[type="range"] { accent-color: var(--pit-link); }
.pit-seg, .pit-chk { margin: 0; padding: 0; border: 0; min-width: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.pit-seg legend, .pit-chk legend { width: 100%; margin-bottom: 10px; font: 600 14.5px/1.2 var(--f-body); color: #fff; }
.pit-seg label, .pit-chk label { position: relative; cursor: pointer; }
.pit-seg input, .pit-chk input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pit-seg span, .pit-chk span { display: inline-block; padding: 9px 13px; border-radius: 99px; border: 1px solid rgba(159,192,216,.4); font: 600 13.5px/1.2 var(--f-body); color: #D6E6F1; transition: background-color .2s, color .2s, border-color .2s; }
.pit-seg input:checked + span { background: var(--pit-amber); border-color: var(--pit-amber); color: var(--pit-ink); }
.pit-chk span::before { content: ""; display: inline-block; width: 12px; height: 12px; margin-right: 7px; border-radius: 4px; border: 1.5px solid currentColor; vertical-align: -1px; }
.pit-chk input:checked + span { background: rgba(95,211,243,.16); border-color: #5FD3F3; color: #fff; }
.pit-chk input:checked + span::before { background: #5FD3F3; border-color: #5FD3F3; box-shadow: inset 0 0 0 2px #0A3A63; }
.pit-seg input:focus-visible + span, .pit-chk input:focus-visible + span { outline: 2px solid #5FD3F3; outline-offset: 2px; }
.pit-chk--light legend { color: var(--pit-ink); }
.pit-chk--light span { border-color: var(--pit-line); color: var(--pit-body); background: #fff; }
.pit-chk--light input:checked + span { background: #E8F4FB; border-color: var(--pit-link); color: var(--pit-ink); }
.pit-chk--light input:checked + span::before { background: var(--pit-link); border-color: var(--pit-link); box-shadow: inset 0 0 0 2px #E8F4FB; }
.pit-chk--light input:focus-visible + span { outline-color: var(--pit-blue); }

.pit-build__out { display: grid; gap: 14px; align-content: start; }
.pit-quote, .pit-plan, .pit-build__apps { padding: 18px 20px; border-radius: 20px; background: #fff; color: var(--pit-body); }
.pit-quote__h { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 10px; }
.pit-quote__h b { font: 800 16px/1.2 var(--f-display); color: var(--pit-ink); }
.pit-quote__h em { margin-left: auto; font-style: normal; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 3px 8px; border-radius: 99px; background: #FFF4D6; color: #8A5A00; }
.pit-quote__t { width: 100%; border-collapse: collapse; font-size: 14px; font-variant-numeric: tabular-nums; }
.pit-quote__t th, .pit-quote__t td { padding: 8px 6px; text-align: left; border-bottom: 1px dashed var(--pit-line); vertical-align: top; }
.pit-quote__t thead th { font: 700 11px/1.2 var(--f-body); letter-spacing: .06em; text-transform: uppercase; color: var(--pit-muted); border-bottom: 1px solid var(--pit-line); }
.pit-quote__t td:last-child, .pit-quote__t th:last-child { text-align: right; white-space: nowrap; }
.pit-quote__t tbody th { font-weight: 600; color: var(--pit-ink); }
.pit-quote__t tbody td:nth-child(2) { color: var(--pit-muted); font-size: 13px; }
.pit-quote__t tfoot th, .pit-quote__t tfoot td { border-bottom: 0; border-top: 2px solid var(--pit-ink); font: 800 16px/1.2 var(--f-display); color: var(--pit-ink); }
.pit-plan__h { margin: 0 0 10px; font: 700 13px/1.2 var(--f-body); letter-spacing: .06em; text-transform: uppercase; color: var(--pit-muted); }
.pit-plan__list { position: relative; display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.pit-plan__list li { display: grid; gap: 4px; padding: 12px; border-radius: 14px; background: var(--pit-paper); border-top: 3px solid var(--c, var(--pit-link)); animation: pit-pop .4s both; }
.pit-plan__list small { font-size: 12px; color: var(--pit-muted); }
.pit-plan__list b { font: 800 18px/1.1 var(--f-display); color: var(--pit-ink); font-variant-numeric: tabular-nums; }
.pit-plan__list span { font-size: 12.5px; color: var(--pit-body); }
.pit-plan__rule { margin: 10px 0 0; font-size: 13px; line-height: 1.5; color: var(--pit-muted); }
@keyframes pit-pop { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.pit-build__apps ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.pit-build__apps li { display: inline-flex; align-items: center; gap: 7px; padding: 6px 11px 6px 7px; border-radius: 99px; background: var(--pit-paper); font: 600 13px/1.2 var(--f-body); color: var(--pit-ink); }
.pit-build__apps li em { font-style: normal; font-weight: 500; color: var(--pit-muted); }
.pit-build__apps img { width: 20px; height: 20px; }
.pit-build__send { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.pit-build__send span { font-size: 13.5px; color: #BFD3E2; }
.pit-build__fine { margin: 22px 0 0; font-size: 13.5px; color: #9FC0D8; max-width: 80ch; }

/* ---------- 5. stack tiers ---------- */
.pit-stack__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 36px; align-items: stretch; }
.pit-tier { position: relative; padding: 24px 22px; border-radius: 22px; background: #fff; border: 1px solid var(--pit-line); box-shadow: 0 24px 50px -42px rgba(8,34,56,.55); }
.pit-tier.is-pick { border: 2px solid var(--pit-link); box-shadow: 0 34px 60px -40px rgba(10,111,168,.55); }
.pit-tier__flag { position: absolute; top: -12px; right: 20px; margin: 0; padding: 5px 10px; border-radius: 99px; background: var(--pit-amber); font: 700 11.5px/1 var(--f-body); color: var(--pit-ink); }
.pit-tier__n { margin: 0; font: 700 12px/1.2 var(--f-body); letter-spacing: .08em; text-transform: uppercase; color: var(--pit-link); }
.pit-tier h3 { margin: 6px 0 6px; font: 700 21px/1.25 var(--f-display); color: var(--pit-ink); }
.pit-tier__for { margin: 0 0 14px; font-size: 14.5px; line-height: 1.5; color: var(--pit-body); }
.pit-tier__apps { display: grid; gap: 10px; margin: 0; padding: 14px 0 0; list-style: none; border-top: 1px solid var(--pit-line); }
.pit-tier__apps li { display: grid; grid-template-columns: 24px minmax(0, 1fr); column-gap: 10px; align-items: center; }
.pit-tier__apps a { font: 700 15px/1.25 var(--f-display); color: var(--pit-ink); text-decoration: none; }
.pit-tier__apps a:hover { color: var(--pit-link); text-decoration: underline; }
.pit-tier__apps span { grid-column: 2; font-size: 13.5px; color: var(--pit-muted); }
.pit-tier__apps img { grid-row: span 2; }

/* ---------- 6. compliance ---------- */
.pit-law__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 34px; }
.pit-law__col { padding: 24px 24px 20px; border-radius: 22px; background: #fff; border: 1px solid var(--pit-line); }
.pit-law__col.is-zoho { background: linear-gradient(150deg, #EEF8FD, #F2FAF6); border-color: #CFE5F1; }
.pit-law__col h3 { margin: 0 0 12px; font: 700 18px/1.3 var(--f-display); color: var(--pit-ink); }
.pit-law__col ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.pit-law__col li { position: relative; padding-left: 22px; font-size: 15px; line-height: 1.5; color: var(--pit-body); }
.pit-law__col li::before { content: ""; position: absolute; left: 2px; top: 8px; width: 9px; height: 9px; border-radius: 3px; background: #94A3B8; }
.pit-law__col.is-zoho li::before { background: var(--pit-green); }
.pit-law__note { margin: 18px 0 0; padding: 14px 18px; border-radius: 14px; background: #FFF8E6; border: 1px solid #F6E3B0; font-size: 15px; color: #5B4300; }

/* ---------- 7. moving from ---------- */
.pit-move__wrap { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 20px; margin-top: 34px; align-items: start; }
.pit-move__tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.pit-move__tiles button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; width: 100%; min-height: 92px; padding: 12px 8px; border-radius: 16px; border: 1px solid var(--pit-line); background: #fff; font: 600 13.5px/1.2 var(--f-body); color: var(--pit-ink); cursor: pointer; text-align: center; transition: border-color .2s, box-shadow .2s, transform .2s; }
.pit-move__tiles button:hover { transform: translateY(-2px); border-color: #B6CCDA; }
.pit-move__tiles button[aria-pressed="true"] { border-color: var(--pit-link); box-shadow: inset 0 0 0 1.5px var(--pit-link), 0 18px 30px -24px rgba(10,111,168,.6); }
.pit-move__name { font: 800 15px/1.1 var(--f-display); letter-spacing: -.01em; color: var(--pit-ink); }
.pit-move__tiles small { font-size: 11.5px; font-weight: 500; color: var(--pit-muted); }
.pit-move__tiles img { width: 28px; height: 28px; object-fit: contain; }
.pit-move__panel { padding: 22px 24px; border-radius: 22px; background: linear-gradient(140deg, #F0F7FD, #F6FBF8); border: 1px solid #DCEBF3; }
.pit-move__from { margin: 0 0 12px; font: 800 18px/1.2 var(--f-display); color: var(--pit-ink); }
.pit-move__panel dl { display: grid; gap: 12px; margin: 0; }
.pit-move__panel dt { font: 700 11.5px/1.2 var(--f-body); letter-spacing: .07em; text-transform: uppercase; color: var(--pit-link); }
.pit-move__panel dd { margin: 3px 0 0; font-size: 15px; line-height: 1.5; color: var(--pit-body); }

/* ---------- 8. licence calculator ---------- */
.pit-calc { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(20px, 3vw, 36px); margin-top: 32px; padding: clamp(20px, 2.6vw, 30px); border-radius: 26px; background: #fff; border: 1px solid var(--pit-line); box-shadow: 0 34px 70px -56px rgba(8,34,56,.6); }
.pit-calc__in { display: grid; gap: 20px; align-content: start; }
.pit-sw { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; border-radius: 14px; background: var(--pit-paper); border: 1px solid var(--pit-line); width: fit-content; max-width: 100%; }
.pit-sw button { padding: 9px 14px; border: 0; border-radius: 10px; background: none; font: 600 13.5px/1 var(--f-body); color: var(--pit-body); cursor: pointer; }
.pit-sw button[aria-pressed="true"] { background: #fff; color: var(--pit-ink); box-shadow: 0 4px 10px -6px rgba(8,34,56,.4); }
.pit-calc__out { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-content: start; }
.pit-calc__col { position: relative; padding: 18px; border-radius: 18px; background: var(--pit-paper); border: 1.5px solid transparent; transition: border-color .3s, background-color .3s; }
.pit-calc__col.is-win { background: #F0FAF5; border-color: var(--pit-green); }
.pit-calc__h { margin: 0 0 10px; font: 700 15px/1.25 var(--f-display); color: var(--pit-ink); }
.pit-calc__col ul { display: grid; gap: 6px; margin: 0 0 12px; padding: 0; list-style: none; font-size: 13px; color: var(--pit-body); }
.pit-calc__col li { display: flex; justify-content: space-between; gap: 8px; }
.pit-calc__col li b { font-weight: 600; color: var(--pit-ink); white-space: nowrap; font-variant-numeric: tabular-nums; }
.pit-calc__tot { display: flex; align-items: baseline; gap: 6px; margin: 0; padding-top: 10px; border-top: 1px solid var(--pit-line); }
.pit-calc__tot b { font: 800 26px/1 var(--f-display); color: var(--pit-ink); font-variant-numeric: tabular-nums; }
.pit-calc__tot span { font-size: 13px; color: var(--pit-muted); }
.pit-calc__yr { margin: 4px 0 0; font-size: 13px; color: var(--pit-muted); }
.pit-calc__win { position: absolute; top: -10px; right: 14px; display: none; padding: 4px 9px; border-radius: 99px; background: var(--pit-green); color: #fff; font: 700 11px/1 var(--f-body); font-style: normal; }
.pit-calc__col.is-win .pit-calc__win { display: block; }
.pit-calc__note { grid-column: 1 / -1; margin: 0; font-size: 14px; line-height: 1.55; color: var(--pit-body); }

/* ---------- 9. packages ---------- */
.pit-pk__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 36px 0 0; padding: 0; list-style: none; }
.pit-pk__card { position: relative; display: flex; flex-direction: column; padding: 24px 22px 20px; border-radius: 22px; background: #fff; border: 1px solid var(--pit-line); box-shadow: 0 24px 50px -42px rgba(8,34,56,.55); }
.pit-pk__card.is-pick { border: 2px solid var(--pit-amber); }
.pit-pk__flag { position: absolute; top: -12px; left: 20px; margin: 0; padding: 5px 10px; border-radius: 99px; background: var(--pit-amber); font: 700 11.5px/1 var(--f-body); color: var(--pit-ink); }
.pit-pk__route { display: flex; align-items: center; gap: 0; margin: 0 0 14px; }
.pit-pk__route i { position: relative; width: 14px; height: 14px; border-radius: 50%; border: 2px solid #CBD5E1; background: #fff; }
.pit-pk__route i + i { margin-left: 22px; }
.pit-pk__route i + i::before { content: ""; position: absolute; right: 100%; top: 50%; width: 24px; margin-right: 0; border-top: 2px dotted #CBD5E1; }
.pit-pk__route i.is-on { border-color: var(--pit-link); background: var(--pit-link); }
.pit-pk__route i.is-on + i.is-on::before { border-top: 2px solid var(--pit-link); }
.pit-pk__card h3 { margin: 0 0 4px; font: 800 22px/1.2 var(--f-display); color: var(--pit-ink); }
.pit-pk__for { margin: 0 0 12px; font-size: 14.5px; color: var(--pit-muted); }
.pit-pk__card ul { display: grid; gap: 8px; margin: 0 0 16px; padding: 0; list-style: none; }
.pit-pk__card li { position: relative; padding-left: 20px; font-size: 14.5px; line-height: 1.5; color: var(--pit-body); }
.pit-pk__card li::before { content: ""; position: absolute; left: 0; top: 7px; width: 10px; height: 6px; border-left: 2px solid var(--pit-green); border-bottom: 2px solid var(--pit-green); transform: rotate(-45deg); }
.pit-pk__fee { margin: auto 0 0; padding-top: 12px; border-top: 1px dashed var(--pit-line); font: 600 14px/1.45 var(--f-body); color: var(--pit-ink); }

/* ---------- 10. rollout ---------- */
.pit-roll__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 34px 0 0; padding: 0; list-style: none; counter-reset: pitr; }
.pit-roll__list li { position: relative; display: grid; gap: 6px; padding: 52px 18px 18px; border-radius: 18px; background: #fff; border: 1px solid var(--pit-line); counter-increment: pitr; }
.pit-roll__list li::before { content: counter(pitr); position: absolute; left: 18px; top: 16px; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--pit-ink); color: #fff; font: 800 13px/1 var(--f-display); }
.pit-roll__list b { font: 700 16.5px/1.25 var(--f-display); color: var(--pit-ink); }
.pit-roll__list span { font-size: 14.5px; line-height: 1.5; color: var(--pit-body); }

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
  .pit-who__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pit-move__tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .pit-hero__grid, .pit-build__grid, .pit-calc, .pit-move__wrap { grid-template-columns: minmax(0, 1fr); }
  .pit-stack__grid, .pit-pk__list { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .pit-roll__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pit-bp { grid-template-columns: minmax(0, 1fr) 210px; }
}
@media (max-width: 760px) {
  .pit-trip__list::before { left: 10px; }
  .pit-bp { grid-template-columns: minmax(0, 1fr); margin-left: 30px; }
  .pit-bp::before { left: -33px; width: 14px; height: 14px; }
  .pit-bp__main { padding: 20px 20px 16px 24px; }
  .pit-bp__stub { border-left: 0; border-top: 2px dashed #CBD5E1; border-radius: 0 0 20px 20px; padding: 16px 20px 18px 24px; }
  .pit-bp__stub::before { left: -11px; top: -11px; }
  .pit-bp__stub::after { left: auto; right: -11px; top: -11px; bottom: auto; box-shadow: none; }
  .pit-bp__apps { flex-direction: row; flex-wrap: wrap; gap: 8px 14px; }
  .pit-law__grid, .pit-calc__out { grid-template-columns: minmax(0, 1fr); }
  .pit-move__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .pit-who__grid { grid-template-columns: minmax(0, 1fr); }
  .pit-roll__list { grid-template-columns: minmax(0, 1fr); }
  .pit-itin { padding: 16px 14px 14px; }
  .pit-row { grid-template-columns: minmax(0, 1fr) auto; row-gap: 3px; }
  .pit-row__k { grid-column: 1 / -1; }
  .pit-sched__list { grid-template-columns: minmax(0, 1fr); }
  .pit-pay { grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 8px; }
  .pit-quote, .pit-plan, .pit-build__apps { padding: 16px 14px; }
  .pit-plan__list { grid-template-columns: minmax(0, 1fr); }
  .pit-quote__t { font-size: 13px; }
  .pit-quote__t th, .pit-quote__t td { padding: 7px 4px; }
}
@media (prefers-reduced-motion: reduce) {
  .pit-row, .pit-bp, .pit-sched, .pit-pay, .pit-who__grid a, .pit-move__tiles button, .pit-plan__list li { transition: none !important; animation: none !important; }
  .pit-js .pit-row, .pit-js .pit-bp, .pit-js .pit-sched { opacity: 1; transform: none; }
}
