.tc-page { margin: 0; background: #f4f4f9; color: #111a43; font-family: "Inter", system-ui, sans-serif; }
.tc-page [hidden] { display: none !important; }
.tc-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.tc-wrap { width: min(1120px, calc(100% - 48px)); margin: 0 auto; padding: 132px 0 96px; display: grid; gap: 18px; }
.tc-title h1 { margin: 0; font-family: "Archivo", sans-serif; font-size: clamp(32px, 4vw, 48px); font-weight: 600; letter-spacing: -.035em; }
.tc-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 20px; border: 1px solid #e1e0ea; border-radius: 12px; background: #fff; font-size: 17px; }
.tc-btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border-radius: 8px; color: #fff; background: #111a43; font-size: 14px; font-weight: 600; text-decoration: none; }
.tc-btn:hover { background: #1d2a6b; }
.tc-btn .tc-ico { width: 16px; height: 16px; }
.tc-search { position: relative; display: block; }
.tc-search .tc-ico { position: absolute; top: 50%; left: 16px; width: 18px; height: 18px; transform: translateY(-50%); color: #5b617c; }
.tc-search input { box-sizing: border-box; width: 100%; padding: 14px 16px 14px 46px; border: 1px solid #e1e0ea; border-radius: 12px; color: #111a43; background: #fff; font: inherit; font-size: 15px; }
.tc-search input:focus-visible { outline: 2px solid #6220e0; outline-offset: 1px; }
.tc-empty { margin: 0; padding: 14px 18px; border-radius: 10px; color: #5b617c; background: #fff; }
.tc-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.tc-card { padding: 26px 28px 30px; border: 1px solid #e1e0ea; border-radius: 12px; background: #fff; scroll-margin-top: 110px; }
.tc-card-title { display: flex; align-items: center; gap: 12px; margin: 0 0 18px; font-family: "Archivo", sans-serif; font-size: 22px; font-weight: 600; letter-spacing: -.02em; }
.tc-ico { width: 22px; height: 22px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.tc-card-title .tc-ico { color: #6220e0; }
.tc-card p { margin: 0 0 12px; color: #3b4263; font-size: 15px; line-height: 1.65; }
.tc-card a { color: #111a43; }
.tc-sub { color: #111a43 !important; font-size: 17px !important; font-weight: 600; }
.tc-note { color: #5b617c !important; }
.tc-h3 { margin: 26px 0 10px; font-size: 17px; letter-spacing: -.01em; }
.tc-links, .tc-policylist, .tc-steps, .tc-compliance, .tc-doclist { margin: 0; padding: 0; list-style: none; }
.tc-links li { margin-bottom: 8px; }
.tc-links a { font-weight: 600; text-decoration: none; }
.tc-links a:hover, .tc-policylist a:hover { text-decoration: underline; }
.tc-compliance li { display: grid; grid-template-columns: 130px 1fr; gap: 4px 14px; align-items: baseline; padding: 11px 0; border-top: 1px solid #eeeef4; font-size: 15px; }
.tc-compliance li:first-child { border-top: 0; padding-top: 0; }
.tc-compliance li a, .tc-compliance li mark { grid-column: 2; }
.tc-compliance a { color: #6220e0; font-weight: 600; text-decoration: none; }
.tc-k { color: #5b617c; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.tc-badge { display: inline-block; margin-right: 6px; padding: 3px 9px; border-radius: 999px; color: #8a5a00; background: #fdf0d2; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.tc-placeholder { padding: 1px 5px; border-radius: 4px; color: #111a43; background: #fff2a8; font-weight: 600; }
.tc-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 16px; }
.tc-tile { padding: 20px; border: 1px solid #e1e0ea; border-radius: 10px; background: #fafaff; }
.tc-tile h3 { margin: 0 0 8px; font-size: 16px; }
.tc-tile p { margin: 0 !important; font-size: 14px !important; }
.tc-tile a { display: inline-block; margin-top: 10px; font-weight: 600; word-break: break-all; }
.tc-docs-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 36px; align-items: start; margin-top: 10px; }
.tc-doc { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; padding: 14px 16px; border: 1px solid #e1e0ea; border-radius: 10px; font-size: 15px; font-weight: 500; }
.tc-doc button { flex: 0 0 auto; padding: 8px 14px; border: 1px solid #cfd1de; border-radius: 8px; color: #111a43; background: #fff; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.tc-doc button:hover { background: #f1f1f8; }
.tc-formbox { padding: 6px 0 0; }
.tc-formbox .tc-h3 { margin-top: 0; }
.tc-field { margin: 0 0 16px; padding: 0; border: 0; }
.tc-field label, .tc-field legend { display: block; margin-bottom: 6px; padding: 0; font-size: 13px; font-weight: 600; }
.tc-field label span, .tc-field legend span { color: #6220e0; }
.tc-field input[type="text"], .tc-field input[type="email"] { box-sizing: border-box; width: 100%; padding: 12px 14px; border: 1px solid #cfd1de; border-radius: 8px; color: #111a43; font: inherit; font-size: 15px; background: #fff; }
.tc-field input:focus-visible { outline: 2px solid #6220e0; outline-offset: 1px; }
.tc-field input[aria-invalid="true"] { border-color: #c0392b; }
.tc-field small { display: block; margin-top: 4px; color: #c0392b; font-size: 12px; }
.tc-field small:empty { display: none; }
.tc-field .tc-check { display: flex; align-items: center; gap: 10px; margin: 0 0 8px; font-size: 15px; font-weight: 400; }
.tc-check input { width: 18px; height: 18px; accent-color: #111a43; }
.tc-submit { display: inline-flex; width: 100%; align-items: center; justify-content: center; gap: 8px; padding: 14px 22px; border: 0; border-radius: 8px; color: #fff; background: #111a43; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; }
.tc-submit:hover { background: #1d2a6b; }
.tc-submit[disabled] { opacity: .65; cursor: progress; }
.tc-error { padding: 12px 14px; border-radius: 8px; color: #8e2a1f !important; background: #fdecea; }
.tc-sent h3 { margin: 0 0 8px; font-family: "Archivo", sans-serif; font-size: 24px; }
.tc-trap { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.tc-table-wrap { margin: 14px 0 18px; overflow-x: auto; border: 1px solid #e1e0ea; border-radius: 10px; }
.tc-table-wrap table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 14px; line-height: 1.5; }
.tc-table-wrap th, .tc-table-wrap td { padding: 13px 16px; border-bottom: 1px solid #e1e0ea; text-align: left; vertical-align: top; }
.tc-table-wrap thead th { color: #fff; background: #111a43; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.tc-table-wrap tbody th { white-space: nowrap; }
.tc-table-wrap tr:last-child th, .tc-table-wrap tr:last-child td { border-bottom: 0; }
.tc-steps { padding-left: 1.2em; list-style: disc; color: #3b4263; font-size: 15px; line-height: 1.7; }
.tc-policylist { display: flex; flex-wrap: wrap; gap: 10px 28px; }
.tc-policylist a { font-weight: 600; text-decoration: none; }
.is-hit-hidden { display: none !important; }

@media (max-width: 900px) {
  .tc-wrap { width: calc(100% - 32px); padding-top: 112px; }
  .tc-row, .tc-docs-grid { grid-template-columns: 1fr; }
  .tc-tiles { grid-template-columns: 1fr; }
  .tc-compliance li { grid-template-columns: 1fr; }
  .tc-compliance li a, .tc-compliance li mark { grid-column: 1; }
  .tc-bar { flex-direction: column; align-items: flex-start; }
  .tc-card { padding: 22px 20px 24px; }
}
.tc-field .tc-check span { color: #111a43; }
.tc-certs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin: 0 0 20px; padding: 0; list-style: none; }
.tc-cert { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 16px 12px; border: 1px solid #e1e0ea; border-radius: 10px; background: #fff; text-align: center; font-size: 14px; }
.tc-badge-img { display: grid; width: 92px; height: 112px; place-items: center; }
.tc-badge-img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.tc-badge-missing { border: 1px dashed #cfd1de; border-radius: 8px; }
.tc-cert strong { font-size: 14px; line-height: 1.3; }
.tc-cert a, .tc-cert mark { font-size: 13px; }
.tc-cert .tc-k { margin-top: 2px; }
@media (max-width: 900px) { .tc-certs { grid-template-columns: 1fr 1fr; } }
.tc-certs { grid-template-columns: repeat(3, 1fr); margin-bottom: 0; }
.tc-cap { color: #5b617c; font-size: 12px; line-height: 1.35; }
.tc-cert strong + .tc-cap { color: #6220e0; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
@media (max-width: 900px) { .tc-certs { grid-template-columns: 1fr 1fr 1fr; } }
@media (max-width: 560px) { .tc-certs { grid-template-columns: 1fr; } }
.tc-badge-img { width: 118px; height: 144px; }
.tc-badge-img img { filter: drop-shadow(0 6px 14px rgba(17, 26, 67, .18)); }
/* grid items must be allowed to shrink so the wide incident table scrolls inside its own box instead of widening the page */
.tc-wrap { grid-template-columns: minmax(0, 1fr); }
.tc-wrap > *, .tc-row > *, .tc-docs-grid > *, .tc-tiles > *, .tc-certs > * { min-width: 0; }
@media (max-width: 900px) { .tc-row, .tc-docs-grid, .tc-tiles { grid-template-columns: minmax(0, 1fr); } .tc-certs { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 560px) { .tc-certs { grid-template-columns: minmax(0, 1fr); } }
/* Compliance badges: fully white tiles, no shadow box behind the (white-background) badge images, more air around the text and between tiles */
.tc-certs { gap: 24px; }
.tc-cert { gap: 0; padding: 26px 18px 28px; background: #fff; }
.tc-badge-img { margin-bottom: 22px; }
.tc-badge-img img { filter: none; mix-blend-mode: multiply; }
.tc-cert strong { margin-bottom: 8px; }
.tc-cert .tc-cap { margin-top: 4px; }
@media (max-width: 900px) { .tc-certs { gap: 16px; } .tc-cert { padding: 20px 10px 22px; } }
