/* Trip Sheet Central marketing pages (home, plans, products, blog).
   Loaded after bootstrap.min.css, tsc-theme.css and tsc-chrome.css (see marketing/inc/header.php). Every rule is
   scoped under .tsc-mk so nothing here can restyle the app or the shared header and footer; colors and fonts come
   from the tokens in web-assets/css/tsc-theme.css. */

.tsc-mk {
  --ink: var(--tsc-ink); --muted: var(--tsc-muted); --rule: var(--tsc-rule); --sheet: var(--tsc-sheet);
  --frame: var(--tsc-ink); --blue: var(--tsc-blue); --blue-ink: #fff; --blue-soft: var(--tsc-blue-soft);
  --amber: var(--tsc-amber); --amber-ink: var(--tsc-amber-ink);
  --display: var(--tsc-display); --body: var(--tsc-body);
  color: var(--ink);
  line-height: 1.55;
}
.tsc-mk img { max-width: 100%; height: auto; }
.tsc-mk section { padding-block: 56px; }
.tsc-mk p { margin: 0; }
.tsc-mk .wrap { padding-inline: var(--tsc-gutter); }   /* same side margin as the header and footer */
.tsc-mk h1, .tsc-mk h2, .tsc-mk h3 { font-family: var(--display); font-weight: 700; line-height: 1.1; margin: 0; text-wrap: balance; }
.tsc-mk h1 { font-size: clamp(2.4rem, 7vw, 4rem); letter-spacing: -.01em; }
.tsc-mk h2 { font-size: clamp(1.8rem, 4.5vw, 2.5rem); }
.tsc-mk h3 { font-size: 1.35rem; line-height: 1.2; }

/* buttons (Bootstrap .btn base, sized and colored for the marketing pages) */
.tsc-mk .btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 22px; border-radius: 10px; font-weight: 700; font-size: 1.05rem; text-decoration: none; border: 2px solid transparent; }
.tsc-mk .btn-primary { background: var(--blue); border-color: var(--blue); color: var(--blue-ink); }
.tsc-mk .btn-primary:hover { background: var(--tsc-blue-dark); border-color: var(--tsc-blue-dark); color: var(--blue-ink); }
.tsc-mk .btn-ghost { border-color: var(--ink); color: var(--ink); background: transparent; }
.tsc-mk .btn-ghost:hover { background: var(--blue-soft); color: var(--ink); }
.tsc-mk .btn-sm { min-height: 44px; font-size: 1rem; padding: 0 16px; }
.tsc-mk .cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 6px; }

/* Apple's own badge, used unaltered: fixed height, aspect ratio untouched, clear space around it */
.tsc-mk .app-badge { display: inline-block; line-height: 0; margin: 4px; }
.tsc-mk .app-badge img { display: block; height: 56px; width: auto; }

/* ruled divider: the three lines from the logo */
.tsc-mk .rules { height: 14px; border-top: 2px solid var(--ink); border-bottom: 2px solid var(--ink); position: relative; margin: 0; }
.tsc-mk .rules::after { content: ""; position: absolute; left: 0; right: 0; top: 4px; height: 2px; background: var(--ink); }

.tsc-mk .eyebrow{font-family:var(--display);font-weight:600;letter-spacing:.16em;font-size:1rem;color:var(--blue)}
.tsc-mk .lede{font-size:1.2rem;color:var(--muted);max-width:36rem}
.tsc-mk .fine{font-size:.95rem;color:var(--muted)}
.tsc-mk .fine a{color:var(--blue);font-weight:600}
.tsc-mk .caption{text-align:center;font-size:.85rem;color:var(--muted);margin-top:12px}
.tsc-mk .stack{display:flex;flex-direction:column;gap:20px}
.tsc-mk .btn-primary{background:var(--blue);color:var(--blue-ink)}
.tsc-mk .btn-primary:hover{filter:brightness(1.12)}
.tsc-mk .btn-ghost{border-color:var(--ink);color:var(--ink);background:transparent}
.tsc-mk .btn-ghost:hover{background:var(--blue-soft)}
.tsc-mk .btn-sm{min-height:44px;font-size:1.1rem;padding:0 16px}
.tsc-mk .cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:6px}
.tsc-mk .rules{height:14px;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);position:relative;margin:0}
.tsc-mk .rules::after{content:"";position:absolute;left:0;right:0;top:4px;height:2px;background:var(--ink)}
.tsc-mk .hero{padding-block:44px 56px}
.tsc-mk .hero .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:40px;align-items:center}
.tsc-mk .hero h1 em{font-style:normal;color:var(--blue)}
.tsc-mk .page-head{padding-block:44px 28px}
.tsc-mk .page-head .wrap{display:flex;flex-direction:column;gap:14px}
.tsc-mk .page-head h1{font-size:clamp(2.6rem,8vw,4.4rem)}
.tsc-mk .phone{width:min(100%,320px);margin-inline:auto;background:var(--frame);border-radius:38px;padding:12px;box-shadow:0 24px 50px -20px rgba(14,19,38,.55)}
.tsc-mk .screen{background:var(--sheet);color:var(--ink);border-radius:28px;padding:20px 18px 18px;display:flex;flex-direction:column;gap:12px}
.tsc-mk .screen-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.tsc-mk .screen-head strong{font-family:var(--display);font-size:1.5rem;letter-spacing:.02em}
.tsc-mk .chip{font-size:.75rem;font-weight:600;letter-spacing:.08em;background:var(--blue-soft);color:var(--ink);padding:4px 8px;border-radius:999px;white-space:nowrap}
.tsc-mk .miles, .tsc-mk .ledger{list-style:none;margin:0;padding:0;font-variant-numeric:tabular-nums}
.tsc-mk .miles li, .tsc-mk .ledger li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--rule);font-weight:500}
.tsc-mk .miles li span:first-child{font-family:var(--display);font-weight:700;font-size:1.25rem;letter-spacing:.06em}
.tsc-mk .miles .total, .tsc-mk .ledger .total{border-bottom:0;border-top:2px solid var(--ink);margin-top:-1px;font-weight:600}
.tsc-mk .ledger .minus span:last-child{color:#8A1C1C}
.tsc-mk .ledger .plus span:last-child{color:#1B6B3A}
.tsc-mk .remind{background:var(--amber);color:var(--amber-ink);border-radius:10px;padding:10px 12px;font-weight:600;font-size:.95rem}
.tsc-mk .doc{background:var(--sheet);border:1px solid var(--rule);border-radius:14px;padding:22px 22px 18px;box-shadow:0 20px 44px -26px rgba(14,19,38,.5);display:flex;flex-direction:column;gap:12px;min-width:0}
.tsc-mk .doc-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-bottom:2px solid var(--ink);padding-bottom:10px}
.tsc-mk .doc-head strong{font-family:var(--display);font-size:1.6rem;letter-spacing:.02em}
.tsc-mk .doc-head span{font-size:.85rem;color:var(--muted)}
.tsc-mk .doc table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:.95rem}
.tsc-mk .doc th{font-size:.72rem;letter-spacing:.1em;color:var(--muted);text-align:left;padding:6px 0;border-bottom:1px solid var(--rule)}
.tsc-mk .doc td{padding:8px 0;border-bottom:1px solid var(--rule)}
.tsc-mk .doc .num{text-align:right}
.tsc-mk .doc tr:last-child td{border-bottom:0}
.tsc-mk .age{display:inline-block;min-width:3.2em;text-align:center;font-weight:600;border-radius:999px;padding:1px 8px;background:var(--blue-soft)}
.tsc-mk .age.late{background:var(--amber);color:var(--amber-ink)}
.tsc-mk .features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.tsc-mk .features.four{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.tsc-mk .feature{display:flex;flex-direction:column;gap:10px;min-width:0;border-top:2px solid var(--ink);padding-top:16px}
.tsc-mk .feature p{color:var(--muted)}
.tsc-mk .feature a.more{font-weight:600;color:var(--blue);text-decoration:none}
.tsc-mk .feature a.more:hover{text-decoration:underline}
.tsc-mk .split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:center}
.tsc-mk .split.flip > :first-child{order:2}
.tsc-mk .split .stack p{color:var(--muted)}
.tsc-mk .ticks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.tsc-mk .ticks li{display:flex;gap:12px;align-items:baseline;color:var(--muted)}
.tsc-mk .ticks li::before{content:"";flex:0 0 22px;height:6px;background:var(--amber);transform:translateY(-4px)}
.tsc-mk .scan{display:grid;grid-template-columns:minmax(0,.8fr) auto minmax(0,1fr);gap:24px;align-items:center;background:var(--sheet);border:1px solid var(--rule);border-radius:16px;padding:28px}
.tsc-mk .receipt{background:#FFFFFF;color:#1A1A1A;font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:.85rem;line-height:1.5;padding:16px 14px;border:1px dashed #9AA3B8;transform:rotate(-2deg);max-width:230px;margin-inline:auto}
.tsc-mk .receipt div{display:flex;justify-content:space-between;gap:10px}
.tsc-mk .arrow{font-family:var(--display);font-weight:700;font-size:2rem;color:var(--blue)}
.tsc-mk .fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;font-variant-numeric:tabular-nums}
.tsc-mk .field{border:1px solid var(--rule);border-radius:10px;padding:10px 12px;min-width:0}
.tsc-mk .field small{display:block;font-size:.75rem;letter-spacing:.1em;color:var(--muted)}
.tsc-mk .field b{font-weight:600;font-size:1.1rem}
.tsc-mk .newlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.tsc-mk .newlist li{padding:14px 0;border-bottom:1px solid var(--rule);display:flex;gap:12px;align-items:baseline}
.tsc-mk .newlist li::before{content:"";flex:0 0 22px;height:6px;background:var(--amber);transform:translateY(-4px)}
.tsc-mk .band{background:var(--blue);color:var(--blue-ink)}
.tsc-mk .band .eyebrow{color:var(--blue-ink);opacity:.85}
.tsc-mk .band h2, .tsc-mk .band h3{color:var(--blue-ink)}
.tsc-mk .band .wrap.cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.tsc-mk .band-head{grid-column:1/-1;display:flex;flex-direction:column;gap:10px;margin-bottom:8px}
.tsc-mk .band-card{display:flex;flex-direction:column;gap:16px;align-items:flex-start;border:2px solid rgba(255,255,255,.35);border-radius:16px;padding:28px}
.tsc-mk .band-card p{font-size:1.1rem;max-width:26rem}
.tsc-mk .band .btn-ghost{border-color:var(--blue-ink);color:var(--blue-ink)}
.tsc-mk .band .btn-ghost:hover{background:rgba(255,255,255,.14)}
.tsc-mk .band .btn-light{background:var(--blue-ink);color:var(--blue)}
.tsc-mk .band .btn-light:hover{filter:brightness(.94)}
.tsc-mk .band-actions{display:flex;flex-wrap:wrap;gap:12px}
.tsc-mk .plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.tsc-mk .plan{background:var(--sheet);border:1px solid var(--rule);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:14px;min-width:0}
.tsc-mk .plan.pick{border:2px solid var(--blue)}
.tsc-mk .plan .who{font-size:.8rem;font-weight:600;letter-spacing:.12em;color:var(--muted)}
.tsc-mk .price{font-family:var(--display);font-weight:700;font-size:3.4rem;line-height:1;font-variant-numeric:tabular-nums}
.tsc-mk .price small{display:block;font-family:var(--body);font-weight:500;font-size:1rem;line-height:1.4;margin-top:6px;color:var(--muted)}
.tsc-mk .plan ul{margin:0;padding-left:18px;color:var(--muted);display:flex;flex-direction:column;gap:6px;flex:1}
.tsc-mk .tag{align-self:flex-start;background:var(--amber);color:var(--amber-ink);font-size:.75rem;font-weight:600;letter-spacing:.1em;padding:4px 10px;border-radius:999px}
.tsc-mk .table-wrap{overflow-x:auto;border:1px solid var(--rule);border-radius:14px;background:var(--sheet)}
.tsc-mk table.compare{width:100%;border-collapse:collapse;min-width:640px}
.tsc-mk .compare th, .tsc-mk .compare td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--rule);vertical-align:top}
.tsc-mk .compare thead th{font-family:var(--display);font-size:1.3rem;letter-spacing:.03em;background:var(--blue-soft);border-bottom:2px solid var(--ink)}
.tsc-mk .compare thead th:not(:first-child){text-align:center}
.tsc-mk .compare tbody th{font-weight:500}
.tsc-mk .compare td{text-align:center;width:16%}
.tsc-mk .compare tr:last-child th, .tsc-mk .compare tr:last-child td{border-bottom:0}
.tsc-mk .compare .yes{color:#1B6B3A;font-weight:700}
.tsc-mk .compare .no{color:var(--muted)}
.tsc-mk details.q{border-bottom:1px solid var(--rule);padding:16px 0}
.tsc-mk details.q summary{cursor:pointer;font-weight:600;font-size:1.1rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
.tsc-mk details.q summary::-webkit-details-marker{display:none}
.tsc-mk details.q summary::after{content:"+";font-family:var(--display);font-size:1.6rem;line-height:1;color:var(--blue)}
.tsc-mk details.q[open] summary::after{content:"\2212"}
.tsc-mk details.q p{color:var(--muted);margin-top:10px;max-width:42rem}
.tsc-mk .cta-band{background:var(--frame);color:#fff}
.tsc-mk .cta-band .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px}
.tsc-mk .cta-band h2{color:#fff;max-width:20ch}
.tsc-mk .cta-band .btn-ghost{border-color:#fff;color:#fff}
.tsc-mk .cta-band .btn-ghost:hover{background:rgba(255,255,255,.14)}
.tsc-mk .cta-band .btn-light{background:#fff;color:var(--ink)}
.tsc-mk .crumbs{font-size:.9rem;color:var(--muted)}
.tsc-mk .crumbs a{color:var(--blue);text-decoration:none;font-weight:600}
.tsc-mk .crumbs a:hover{text-decoration:underline}
.tsc-mk .post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.tsc-mk .post-card{display:flex;flex-direction:column;gap:10px;background:var(--sheet);border:1px solid var(--rule);border-radius:14px;padding:22px;min-width:0;text-decoration:none;color:inherit}
.tsc-mk .post-card:hover{border-color:var(--blue)}
.tsc-mk .post-card h3{font-size:1.45rem}
.tsc-mk .post-card p{color:var(--muted);font-size:.98rem}
.tsc-mk .post-card time, .tsc-mk .meta{font-size:.85rem;letter-spacing:.08em;color:var(--muted);font-weight:600}
.tsc-mk .post-card.first{grid-column:1/-1;flex-direction:row;gap:28px;align-items:flex-start;padding:28px}
.tsc-mk .post-card.first h3{font-size:2.2rem}
.tsc-mk .article{padding-block:36px 56px}
.tsc-mk .article-head{display:flex;flex-direction:column;gap:14px;max-width:46rem;margin-bottom:28px}
.tsc-mk .article-head h1{font-size:clamp(2.4rem,7vw,4rem)}
.tsc-mk .prose{max-width:46rem;font-size:1.12rem;line-height:1.7}
.tsc-mk .prose > * + *{margin-top:1.1em}
.tsc-mk .prose h2, .tsc-mk .prose h3, .tsc-mk .prose h4{font-family:var(--display);line-height:1.05;margin-top:1.8em}
.tsc-mk .prose h2{font-size:2rem}
.tsc-mk .prose h3{font-size:1.55rem}
.tsc-mk .prose h4, .tsc-mk .prose h5{font-family:var(--display);font-size:1.3rem;margin-top:1.5em}
.tsc-mk .prose a{color:var(--blue);font-weight:500}
.tsc-mk .prose ul, .tsc-mk .prose ol{padding-left:1.4em}
.tsc-mk .prose li + li{margin-top:.4em}
.tsc-mk .prose img{max-width:100%;height:auto;border-radius:6px}
.tsc-mk .prose table{width:100%;border-collapse:collapse;font-size:1rem}
.tsc-mk .prose td, .tsc-mk .prose th{border:1px solid var(--rule);padding:8px 10px;text-align:left}
.tsc-mk .prose audio{width:100%;max-width:420px;display:block}
.tsc-mk .prose iframe{max-width:100%}
.tsc-mk .prose blockquote{margin-left:0;padding:4px 0 4px 18px;border-left:4px solid var(--amber);color:var(--muted)}
.tsc-mk .prose::after{content:"";display:block;clear:both}
.tsc-mk .post-nav{max-width:46rem;margin-top:40px;padding-top:20px;border-top:2px solid var(--ink);display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between}
.tsc-mk .post-nav a{font-weight:600;color:var(--blue);text-decoration:none}
.tsc-mk .post-nav a:hover{text-decoration:underline}
.tsc-mk .aside-cta{max-width:46rem;margin-top:36px;background:var(--blue-soft);border:1px solid var(--rule);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.tsc-mk .aside-cta h3{font-size:1.7rem}
.tsc-mk .aside-cta p{color:var(--muted)}
@media (max-width:1040px){
  .tsc-mk .features.four{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:820px){
  .tsc-mk .hero .wrap, .tsc-mk .band .wrap.cols, .tsc-mk .split{grid-template-columns:minmax(0,1fr)}
  .tsc-mk .split.flip > :first-child{order:0}
  .tsc-mk .features, .tsc-mk .plans, .tsc-mk .post-grid, .tsc-mk .newlist{grid-template-columns:minmax(0,1fr)}
  .tsc-mk .scan{grid-template-columns:minmax(0,1fr);padding:22px}
  .tsc-mk .arrow{text-align:center;transform:rotate(90deg)}
  .tsc-mk .band-actions .btn{width:auto}
  .tsc-mk .band-actions .btn{flex:1 1 140px}
  .tsc-mk .post-card.first{flex-direction:column}
  .tsc-mk .post-card.first h3{font-size:1.8rem}
  .tsc-mk .prose img{float:none !important;display:block;margin:14px auto !important;width:auto !important;max-width:100% !important;height:auto !important}
}
@media (max-width:480px){
  .tsc-mk .features.four{grid-template-columns:minmax(0,1fr)}
}

/* small tracked labels stay uppercase */
.tsc-mk .eyebrow, .tsc-mk .chip, .tsc-mk .tag, .tsc-mk .plan .who, .tsc-mk .doc th, .tsc-mk .meta,
.tsc-mk .post-card time, .tsc-mk .field small { text-transform: uppercase; }
.tsc-mk .eyebrow { font-size: .9rem; letter-spacing: .12em; }

/* app screenshots */
.tsc-mk .shots { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.tsc-mk .shots img { width: 100%; border: 1px solid var(--rule); border-radius: 12px; }
@media (max-width: 820px) { .tsc-mk .shots { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* release notes */
.tsc-mk .note { background: var(--sheet); border: 1px solid var(--rule); border-radius: 14px; padding: 24px; max-width: 52rem; }
.tsc-mk .note-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px 16px; margin-bottom: 10px; }
.tsc-mk .note h2 { font-size: 1.5rem; }
.tsc-mk .note h3 { font-size: 1.05rem; margin: 18px 0 8px; }
.tsc-mk .note ul { margin: 0; padding-left: 1.2em; display: flex; flex-direction: column; gap: 6px; color: var(--muted); }
.tsc-mk .note p { color: var(--muted); }

/* phones: less empty space between the header and the first heading */
@media (max-width: 820px) {
  .tsc-mk .hero { padding-block: 24px 40px; }
  .tsc-mk .page-head { padding-block: 24px 20px; }
}
