/*fern-site-stylesheet*/@font-face {
    font-family: 'BattersonSans';
    src: url('/_fern-files/travelers.docs.buildwithfern.com/d4fcf4b86fec0b72861f766db3afaa985f0c1e5c804c9dbde95df6856acbed9b/assets/fonts/BattersonSansUI-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0100-019D, U+01E6-0237, U+0259-0272, U+0303-0326, U+1E80-1EF9, U+2070-20BF, U+2116-2123, U+2153-215E, U+2248-2265, U+2460-2468, U+24EA-24FF, U+2776-277E, U+FB01-FB02;
}
@font-face {
    font-family: 'BattersonSans';
    src: url('/_fern-files/_img/d4fcf4b86fec0b72861f766db3afaa98-v1.latin.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0020-007E, U+00A1-00A3, U+00A5-00A7, U+00A9, U+00AB, U+00AE, U+00B0-00B3, U+00B7, U+00B9, U+00BB-00FF, U+0131, U+0152-0153, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212;
}
@font-face {
    font-family: 'BattersonSans';
    src: url('/_fern-files/travelers.docs.buildwithfern.com/5927c9d02ec56a45e03140a229b9fb0f1362b09726292f32fd93608c83d3fe36/assets/fonts/BattersonSansUI-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0100-019D, U+01E6-0237, U+0259-0272, U+0303-0326, U+1E80-1EF9, U+2070-20BF, U+2116-2123, U+2153-215E, U+2248-2265, U+2460-2468, U+24EA-24FF, U+2776-277E, U+FB01-FB02;
}
@font-face {
    font-family: 'BattersonSans';
    src: url('/_fern-files/_img/5927c9d02ec56a45e03140a229b9fb0f-v1.latin.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0020-007E, U+00A1-00A3, U+00A5-00A7, U+00A9, U+00AB, U+00AE, U+00B0-00B3, U+00B7, U+00B9, U+00BB-00FF, U+0131, U+0152-0153, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212;
}
@font-face {
    font-family: 'BattersonSans';
    src: url('/_fern-files/travelers.docs.buildwithfern.com/59e4f3a97cd3fd0fc524cd11a006f1f3eaa939a1359d8eeed99eaafaf29582af/assets/fonts/BattersonSansUI-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0100-019D, U+01E6-0237, U+0259-0272, U+0303-0326, U+1E80-1EF9, U+2070-20BF, U+2116-2123, U+2153-215E, U+2248-2265, U+2460-2468, U+24EA-24FF, U+2776-277E, U+FB01-FB02;
}
@font-face {
    font-family: 'BattersonSans';
    src: url('/_fern-files/_img/59e4f3a97cd3fd0fc524cd11a006f1f3-v1.latin.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0020-007E, U+00A1-00A3, U+00A5-00A7, U+00A9, U+00AB, U+00AE, U+00B0-00B3, U+00B7, U+00B9, U+00BB-00FF, U+0131, U+0152-0153, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212;
}
@font-face {
    font-family: 'BattersonSlab';
    src: url('/_fern-files/travelers.docs.buildwithfern.com/93245ccc9b43b8046098eb01f96e6e0ac9129743ba1d423fef6eff17753d7248/assets/fonts/BattersonSlabUI-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0100-019D, U+01E6-0237, U+0259-0272, U+0303-0326, U+1E80-1EF9, U+2070-20BF, U+2116-2123, U+2153-215E, U+2248-2265, U+2460-2468, U+24EA-24FF, U+2776-277E;
}
@font-face {
    font-family: 'BattersonSlab';
    src: url('/_fern-files/_img/93245ccc9b43b8046098eb01f96e6e0a-v1.latin.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0020-007E, U+00A1-00A3, U+00A5-00A7, U+00A9, U+00AB, U+00AE, U+00B0-00B3, U+00B7, U+00B9, U+00BB-00FF, U+0131, U+0152-0153, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212;
}
@font-face {
    font-family: 'BattersonSlab';
    src: url('/_fern-files/travelers.docs.buildwithfern.com/16d05b80992af2f6dab7bfd243f07a3957e3cd7112c782f484b466e8a9978df7/assets/fonts/BattersonSlabUI-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0100-019D, U+01E6-0237, U+0259-0272, U+0303-0326, U+1E80-1EF9, U+2070-20BF, U+2116-2123, U+2153-215E, U+2248-2265, U+2460-2468, U+24EA-24FF, U+2776-277E;
}
@font-face {
    font-family: 'BattersonSlab';
    src: url('/_fern-files/_img/16d05b80992af2f6dab7bfd243f07a39-v1.latin.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0020-007E, U+00A1-00A3, U+00A5-00A7, U+00A9, U+00AB, U+00AE, U+00B0-00B3, U+00B7, U+00B9, U+00BB-00FF, U+0131, U+0152-0153, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212;
}
@font-face {
    font-family: 'BattersonSlab';
    src: url('/_fern-files/travelers.docs.buildwithfern.com/d8088da9a074b0687756225dd14d7d5c1747c09adbe15eee416292aba23c8c27/assets/fonts/BattersonSlabUI-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0100-019D, U+01E6-0237, U+0259-0272, U+0303-0326, U+1E80-1EF9, U+2070-20BF, U+2116-2123, U+2153-215E, U+2248-2265, U+2460-2468, U+24EA-24FF, U+2776-277E;
}
@font-face {
    font-family: 'BattersonSlab';
    src: url('/_fern-files/_img/d8088da9a074b0687756225dd14d7d5c-v1.latin.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0020-007E, U+00A1-00A3, U+00A5-00A7, U+00A9, U+00AB, U+00AE, U+00B0-00B3, U+00B7, U+00B9, U+00BB-00FF, U+0131, U+0152-0153, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212;
}
@font-face {
    font-family: 'BattersonSans Fallback';
    src: local('Arial'), local('ArialMT'), local('Liberation Sans'), local('Arimo');
    size-adjust: 102.51%;
    ascent-override: 82.33%;
    descent-override: 15.22%;
    line-gap-override: 19.51%;
}
@font-face {
    font-family: 'BattersonSlab Fallback';
    src: local('Arial'), local('ArialMT'), local('Liberation Sans'), local('Arimo');
    size-adjust: 108.79%;
    ascent-override: 77.58%;
    descent-override: 14.34%;
    line-gap-override: 18.38%;
}

:root {
  --header-height: 64px;
  --header-height-real: 64px;
  --mobile-header-height-real: 64px;
  --content-width: 640px;
  --sidebar-width: 288px;
  --page-width: 100vw;
  --logo-height: 28px;
  --font-body: 'BattersonSans', 'BattersonSans Fallback', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-heading: 'BattersonSlab', 'BattersonSlab Fallback', 'BattersonSans', 'BattersonSans Fallback', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-code: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
}

:root {
  --typography-body-font-family: var(--font-body);
  --typography-heading-font-family: var(--font-heading);
  --typography-code-font-family: var(--font-code);
}


.light, :root {
  --accent-1: #fffcfc;
  --accent-2: #fff8f6;
  --accent-3: #ffeae7;
  --accent-4: #ffdad3;
  --accent-5: #ffcbc2;
  --accent-6: #ffbab0;
  --accent-7: #fca599;
  --accent-8: #f4897c;
  --accent-9: #e01719;
  --accent-10: #d00000;
  --accent-11: #db0a13;
  --accent-12: #641c17;

  --accent-a1: #ff000003;
  --accent-a2: #ff390009;
  --accent-a3: #ff200018;
  --accent-a4: #ff29002c;
  --accent-a5: #ff26003d;
  --accent-a6: #ff21004f;
  --accent-a7: #f81e0066;
  --accent-a8: #ea1a0083;
  --accent-a9: #dd0002e8;
  --accent-a10: #d00000;
  --accent-a11: #da0009f5;
  --accent-a12: #550600e8;

  --accent-contrast: #fff;
  --accent-surface: #fff6f4cc;
  --accent-indicator: #e01719;
  --accent-track: #e01719;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --accent-1: oklch(99.4% 0.0036 28.08);
      --accent-2: oklch(98.4% 0.0087 28.08);
      --accent-3: oklch(95.5% 0.0246 28.08);
      --accent-4: oklch(92.7% 0.0537 28.08);
      --accent-5: oklch(89.4% 0.0711 28.08);
      --accent-6: oklch(85.4% 0.0867 28.08);
      --accent-7: oklch(80.5% 0.1053 28.08);
      --accent-8: oklch(74.3% 0.1327 28.08);
      --accent-9: oklch(57.6% 0.2267 28.08);
      --accent-10: oklch(53.2% 0.2267 28.08);
      --accent-11: oklch(56.3% 0.2267 28.08);
      --accent-12: oklch(34.3% 0.1046 28.08);

      --accent-a1: color(display-p3 0.6745 0.0235 0.0235 / 0.012);
      --accent-a2: color(display-p3 0.8941 0.2392 0.0235 / 0.036);
      --accent-a3: color(display-p3 0.8314 0.1412 0.0118 / 0.091);
      --accent-a4: color(display-p3 0.8627 0.1647 0.0039 / 0.169);
      --accent-a5: color(display-p3 0.8667 0.1569 0.0039 / 0.232);
      --accent-a6: color(display-p3 0.8706 0.1451 0.0039 / 0.302);
      --accent-a7: color(display-p3 0.851 0.1333 0.0039 / 0.389);
      --accent-a8: color(display-p3 0.8039 0.1137 0.0039 / 0.499);
      --accent-a9: color(display-p3 0.7725 0.0471 0 / 0.84);
      --accent-a10: color(display-p3 0.7176 0.0588 0 / 0.895);
      --accent-a11: color(display-p3 0.7529 0.0353 0 / 0.855);
      --accent-a12: color(display-p3 0.2863 0.0275 0 / 0.895);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.9961 0.9647 0.9608 / 0.8);
      --accent-indicator: oklch(57.6% 0.2267 28.08);
      --accent-track: oklch(57.6% 0.2267 28.08);
    }
  }
}


.light, :root {
  --grayscale-1: #fdfdfc;
  --grayscale-2: #f9f9f8;
  --grayscale-3: #f1f0ef;
  --grayscale-4: #e9e8e6;
  --grayscale-5: #e2e1de;
  --grayscale-6: #dad9d6;
  --grayscale-7: #cfceca;
  --grayscale-8: #bcbbb5;
  --grayscale-9: #8d8d86;
  --grayscale-10: #82827c;
  --grayscale-11: #63635e;
  --grayscale-12: #21201c;

  --grayscale-a1: #55550003;
  --grayscale-a2: #25250007;
  --grayscale-a3: #20100010;
  --grayscale-a4: #1f150019;
  --grayscale-a5: #1f180021;
  --grayscale-a6: #19130029;
  --grayscale-a7: #19140035;
  --grayscale-a8: #1915014a;
  --grayscale-a9: #0f0f0079;
  --grayscale-a10: #0c0c0083;
  --grayscale-a11: #080800a1;
  --grayscale-a12: #060500e3;

  --grayscale-contrast: #000;
  --grayscale-surface: #ffffffcc;
  --grayscale-indicator: #8d8d86;
  --grayscale-track: #8d8d86;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --grayscale-1: color(display-p3 0.992 0.992 0.989);
      --grayscale-2: color(display-p3 0.977 0.977 0.973);
      --grayscale-3: color(display-p3 0.943 0.942 0.936);
      --grayscale-4: color(display-p3 0.913 0.912 0.903);
      --grayscale-5: color(display-p3 0.885 0.883 0.873);
      --grayscale-6: color(display-p3 0.854 0.852 0.839);
      --grayscale-7: color(display-p3 0.813 0.81 0.794);
      --grayscale-8: color(display-p3 0.738 0.734 0.713);
      --grayscale-9: color(display-p3 0.553 0.553 0.528);
      --grayscale-10: color(display-p3 0.511 0.511 0.488);
      --grayscale-11: color(display-p3 0.388 0.388 0.37);
      --grayscale-12: color(display-p3 0.129 0.126 0.111);

      --grayscale-a1: #55550003;
      --grayscale-a2: #25250007;
      --grayscale-a3: #20100010;
      --grayscale-a4: #1f150019;
      --grayscale-a5: #1f180021;
      --grayscale-a6: #19130029;
      --grayscale-a7: #19140035;
      --grayscale-a8: #1915014a;
      --grayscale-a9: #0f0f0079;
      --grayscale-a10: #0c0c0083;
      --grayscale-a11: #080800a1;
      --grayscale-a12: #060500e3;

      --grayscale-contrast: #000;
      --grayscale-surface: color(display-p3 1 1 1 / 80%);
      --grayscale-indicator: color(display-p3 0.553 0.553 0.528);
      --grayscale-track: color(display-p3 0.553 0.553 0.528);
    }
  }
}


.dark {
  --accent-1: #170e0d;
  --accent-2: #211211;
  --accent-3: #3e0f0e;
  --accent-4: #56040a;
  --accent-5: #670b10;
  --accent-6: #791b1c;
  --accent-7: #932b2a;
  --accent-8: #be3938;
  --accent-9: #f5333a;
  --accent-10: #e61d2d;
  --accent-11: #ff8f87;
  --accent-12: #ffd0ca;

  --accent-a1: #f600000c;
  --accent-a2: #f51d0017;
  --accent-a3: #fc080035;
  --accent-a4: #fe00004e;
  --accent-a5: #fe020760;
  --accent-a6: #fd282473;
  --accent-a7: #ff3f3a8e;
  --accent-a8: #ff4744bb;
  --accent-a9: #ff343bf5;
  --accent-a10: #ff1e30e5;
  --accent-a11: #ff8f87;
  --accent-a12: #ffd0ca;

  --accent-contrast: #fff;
  --accent-surface: #36130d80;
  --accent-indicator: #f5333a;
  --accent-track: #f5333a;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --accent-1: oklch(17.5% 0.0155 25.22);
      --accent-2: oklch(20.3% 0.0246 25.22);
      --accent-3: oklch(25% 0.0741 25.22);
      --accent-4: oklch(28.9% 0.1114 25.22);
      --accent-5: oklch(33.1% 0.1239 25.22);
      --accent-6: oklch(38.2% 0.1292 25.22);
      --accent-7: oklch(45% 0.1398 25.22);
      --accent-8: oklch(54.3% 0.1699 25.22);
      --accent-9: oklch(63.2% 0.2274 25.22);
      --accent-10: oklch(59.1% 0.2274 25.22);
      --accent-11: oklch(78.4% 0.1902 25.22);
      --accent-12: oklch(90.2% 0.0608 25.22);

      --accent-a1: color(display-p3 0.9765 0 0 / 0.038);
      --accent-a2: color(display-p3 0.9961 0.1725 0 / 0.075);
      --accent-a3: color(display-p3 1 0.0902 0 / 0.182);
      --accent-a4: color(display-p3 0.9961 0.0235 0 / 0.269);
      --accent-a5: color(display-p3 1 0.1137 0.0784 / 0.335);
      --accent-a6: color(display-p3 1 0.2431 0.1843 / 0.405);
      --accent-a7: color(display-p3 1 0.3294 0.2706 / 0.509);
      --accent-a8: color(display-p3 1 0.3569 0.3216 / 0.67);
      --accent-a9: color(display-p3 0.9961 0.3059 0.2863 / 0.881);
      --accent-a10: color(display-p3 1 0.251 0.2431 / 0.819);
      --accent-a11: color(display-p3 1 0.6196 0.5765 / 0.939);
      --accent-a12: color(display-p3 1 0.8471 0.8196 / 0.972);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.1882 0.0784 0.0471 / 0.5);
      --accent-indicator: oklch(63.2% 0.2274 25.22);
      --accent-track: oklch(63.2% 0.2274 25.22);
    }
  }
}


.dark {
  --grayscale-1: #111113;
  --grayscale-2: #18191b;
  --grayscale-3: #212225;
  --grayscale-4: #272a2d;
  --grayscale-5: #2e3135;
  --grayscale-6: #363a3f;
  --grayscale-7: #43484e;
  --grayscale-8: #5a6169;
  --grayscale-9: #696e77;
  --grayscale-10: #777b84;
  --grayscale-11: #b0b4ba;
  --grayscale-12: #edeef0;

  --grayscale-a1: #00000000;
  --grayscale-a2: #d8f4f609;
  --grayscale-a3: #ddeaf814;
  --grayscale-a4: #d3edf81d;
  --grayscale-a5: #d9edfe25;
  --grayscale-a6: #d6ebfd30;
  --grayscale-a7: #d9edff40;
  --grayscale-a8: #d9edff5d;
  --grayscale-a9: #dfebfd6d;
  --grayscale-a10: #e5edfd7b;
  --grayscale-a11: #f1f7feb5;
  --grayscale-a12: #fcfdffef;

  --grayscale-contrast: #fff;
  --grayscale-surface: rgba(0, 0, 0, 0.05);
  --grayscale-indicator: #696e77;
  --grayscale-track: #696e77;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --grayscale-1: color(display-p3 0.067 0.067 0.074);
      --grayscale-2: color(display-p3 0.095 0.098 0.105);
      --grayscale-3: color(display-p3 0.13 0.135 0.145);
      --grayscale-4: color(display-p3 0.156 0.163 0.176);
      --grayscale-5: color(display-p3 0.183 0.191 0.206);
      --grayscale-6: color(display-p3 0.215 0.226 0.244);
      --grayscale-7: color(display-p3 0.265 0.28 0.302);
      --grayscale-8: color(display-p3 0.357 0.381 0.409);
      --grayscale-9: color(display-p3 0.415 0.431 0.463);
      --grayscale-10: color(display-p3 0.469 0.483 0.514);
      --grayscale-11: color(display-p3 0.692 0.704 0.728);
      --grayscale-12: color(display-p3 0.93 0.933 0.94);

      --grayscale-a1: #00000000;
      --grayscale-a2: #d8f4f609;
      --grayscale-a3: #ddeaf814;
      --grayscale-a4: #d3edf81d;
      --grayscale-a5: #d9edfe25;
      --grayscale-a6: #d6ebfd30;
      --grayscale-a7: #d9edff40;
      --grayscale-a8: #d9edff5d;
      --grayscale-a9: #dfebfd6d;
      --grayscale-a10: #e5edfd7b;
      --grayscale-a11: #f1f7feb5;
      --grayscale-a12: #fcfdffef;

      --grayscale-contrast: #fff;
      --grayscale-surface: color(display-p3 0 0 0 / 5%);
      --grayscale-indicator: color(display-p3 0.415 0.431 0.463);
      --grayscale-track: color(display-p3 0.415 0.431 0.463);
    }
  }
}

.light, :root {
  color-scheme: light;
  --accent: rgba(224, 23, 25, 1);
  --background: rgba(255, 255, 255, 1);
  --border: initial;
  --sidebar-background: initial;
  --header-background: rgba(255, 255, 255, 1);
  --card-background: initial;
  --theme-color: #fff;
}

.dark {
  color-scheme: dark;
  --accent: rgba(245, 51, 58, 1);
  --background: rgba(12, 17, 22, 1);
  --border: initial;
  --sidebar-background: initial;
  --header-background: rgba(12, 17, 22, 1);
  --card-background: initial;
  --theme-color: #0c1116;
}

/* ================================================================
   Travelers Developer Platform — landing page styles
   Brand: Travelers Red #E01719, darker #B3121A, Ming #335D79,
   charcoal #0C1116, fonts BattersonSlab (headings) / BattersonSans (body)
   All classes are scoped under .tv-landing to avoid touching Fern chrome.
   ================================================================ */

.tv-landing {
  --tv-red: #e01719;
  --tv-red-dark: #b3121a;
  --tv-ming: #335d79;
  --tv-ink: #0c1116;
  --tv-slate: #4a5568;
  --tv-line: rgba(12, 17, 22, 0.08);
  --tv-surface: #ffffff;
  --tv-wash: #f6f7f9;
  margin: -1.5rem -1rem 0; /* bleed to full width inside the page container */
}
.dark .tv-landing {
  --tv-ink: #f5f7fa;
  --tv-slate: #aab4c0;
  --tv-line: rgba(255, 255, 255, 0.1);
  --tv-surface: #10161d;
  --tv-wash: #0c1116;
}

.tv-landing * { box-sizing: border-box; }
.tv-section { padding: clamp(3rem, 6vw, 6rem) clamp(1.25rem, 5vw, 5rem); }
.tv-wrap { max-width: 1120px; margin: 0 auto; }

/* ---------- Hero ---------- */
.tv-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(1200px 500px at 85% -10%, rgba(224, 23, 25, 0.14), transparent 60%),
    linear-gradient(180deg, var(--tv-wash), var(--tv-surface));
  border-bottom: 1px solid var(--tv-line);
}
.tv-hero-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 2.5rem;
  align-items: center;
}
.tv-eyebrow {
  display: inline-flex; align-items: center; gap: 0.5rem;
  font-family: "BattersonSans", system-ui, sans-serif;
  font-weight: 700; font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--tv-red);
  background: rgba(224, 23, 25, 0.09);
  padding: 0.4rem 0.8rem; border-radius: 999px;
}
.tv-hero h1 {
  font-family: "BattersonSlab", Georgia, serif;
  font-weight: 700;
  font-size: clamp(2.4rem, 5.2vw, 4rem);
  line-height: 1.04;
  letter-spacing: -0.01em;
  color: var(--tv-ink);
  margin: 1.1rem 0 0;
}
.tv-hero h1 .tv-accent { color: var(--tv-red); }
.tv-hero p.tv-lede {
  font-size: clamp(1.05rem, 1.6vw, 1.3rem);
  line-height: 1.55; color: var(--tv-slate);
  margin: 1.1rem 0 1.8rem; max-width: 34ch;
}
.tv-cta-row { display: flex; flex-wrap: wrap; gap: 0.8rem; }
.tv-btn {
  display: inline-flex; align-items: center; gap: 0.5rem;
  font-family: "BattersonSans", system-ui, sans-serif; font-weight: 700; font-size: 0.98rem;
  padding: 0.8rem 1.4rem; border-radius: 6px; text-decoration: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.tv-btn-primary { background: var(--tv-red); color: #fff; box-shadow: 0 8px 22px rgba(224, 23, 25, 0.28); }
.tv-btn-primary:hover { background: var(--tv-red-dark); transform: translateY(-2px); box-shadow: 0 12px 28px rgba(224, 23, 25, 0.34); }
.tv-btn-primary:focus-visible { background: var(--tv-red-dark); transform: translateY(-2px); box-shadow: 0 12px 28px rgba(224, 23, 25, 0.34); }
.tv-btn-ghost { background: transparent; color: var(--tv-ink); border: 1.5px solid var(--tv-line); }
.tv-btn-ghost:hover { border-color: var(--tv-red); color: var(--tv-red); transform: translateY(-2px); }
.tv-btn-ghost:focus-visible { border-color: var(--tv-red); color: var(--tv-red); transform: translateY(-2px); }

/* umbrella hero art */
.tv-hero-art { display: flex; justify-content: center; align-items: center; }
.tv-hero-art svg { width: min(360px, 80%); height: auto; filter: drop-shadow(0 24px 48px rgba(224, 23, 25, 0.25)); }

/* stat strip */
.tv-stats { display: flex; flex-wrap: wrap; gap: 2.2rem; margin-top: 2.4rem; padding-top: 1.6rem; border-top: 1px solid var(--tv-line); }
.tv-stat .n { font-family: "BattersonSlab", Georgia, serif; font-weight: 700; font-size: 1.9rem; color: var(--tv-ink); line-height: 1; }
.tv-stat .l { font-size: 0.85rem; color: var(--tv-slate); margin-top: 0.3rem; }

/* ---------- Section heading ---------- */
.tv-h2 { font-family: "BattersonSlab", Georgia, serif; font-weight: 700; font-size: clamp(1.7rem, 3vw, 2.3rem); color: var(--tv-ink); letter-spacing: -0.01em; margin: 0; }
.tv-sub { color: var(--tv-slate); font-size: 1.05rem; margin: 0.6rem 0 2.2rem; max-width: 56ch; }

/* ---------- Feature cards ---------- */
.tv-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.1rem; }
.tv-card {
  display: block; text-decoration: none; background: var(--tv-surface);
  border: 1px solid var(--tv-line); border-radius: 14px; padding: 1.6rem;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
  position: relative; overflow: hidden;
}
.tv-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--tv-red); transform: scaleX(0); transform-origin: left; transition: transform 0.2s ease; }
.tv-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(12, 17, 22, 0.1); border-color: transparent; }
.tv-card:focus-visible { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(12, 17, 22, 0.1); border-color: transparent; }
.tv-card:hover::before { transform: scaleX(1); }
.tv-card:focus-visible::before { transform: scaleX(1); }
.tv-ico { width: 44px; height: 44px; border-radius: 11px; background: rgba(224, 23, 25, 0.1); color: var(--tv-red); display: grid; place-items: center; font-size: 1.25rem; margin-bottom: 1rem; }
.tv-card h3 { font-family: "BattersonSans", system-ui, sans-serif; font-weight: 700; font-size: 1.12rem; color: var(--tv-ink); margin: 0 0 0.4rem; }
.tv-card p { color: var(--tv-slate); font-size: 0.94rem; line-height: 1.5; margin: 0; }
.tv-card .tv-soon { display: inline-block; margin-top: 0.8rem; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--tv-ming); background: rgba(51, 93, 121, 0.12); padding: 0.2rem 0.55rem; border-radius: 999px; }

/* ---------- Quickstart split ---------- */
.tv-split { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 2.5rem; align-items: center; }
.tv-terminal { background: #0c1116; border-radius: 14px; border: 1px solid rgba(255,255,255,0.08); box-shadow: 0 24px 60px rgba(12,17,22,0.28); overflow: hidden; }
.tv-terminal-bar { display: flex; gap: 0.4rem; padding: 0.8rem 1rem; background: rgba(255,255,255,0.03); border-bottom: 1px solid rgba(255,255,255,0.06); }
.tv-dot { width: 11px; height: 11px; border-radius: 50%; }
.tv-terminal pre { margin: 0; padding: 1.3rem 1.4rem; overflow-x: auto; }
.tv-terminal code { font-family: "Berkeley Mono", ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.86rem; line-height: 1.7; color: #e6edf3; white-space: pre; }
.tv-terminal .c-key { color: #ff7b72; }
.tv-terminal .c-fn { color: #d2a8ff; }
.tv-terminal .c-str { color: #7ee787; }
.tv-terminal .c-com { color: #8b949e; }

/* ---------- CTA band ---------- */
.tv-band { background: linear-gradient(120deg, var(--tv-red), var(--tv-red-dark)); border-radius: 20px; padding: clamp(2.2rem, 5vw, 3.4rem); text-align: center; color: #fff; }
.tv-band h2 { font-family: "BattersonSlab", Georgia, serif; font-weight: 700; font-size: clamp(1.7rem, 3.4vw, 2.6rem); margin: 0 0 0.7rem; color: #fff; }
.tv-band p { color: rgba(255,255,255,0.9); font-size: 1.08rem; margin: 0 0 1.6rem; }
.tv-band .tv-btn-primary { background: #fff; color: var(--tv-red); box-shadow: 0 10px 26px rgba(0,0,0,0.18); }
.tv-band .tv-btn-primary:hover { background: #fff; color: var(--tv-red-dark); }
.tv-band .tv-btn-primary:focus-visible { background: #fff; color: var(--tv-red-dark); }
.tv-wash-bg { background: var(--tv-wash); }

/* ---------- Responsive ---------- */
@media (max-width: 860px) {

  .tv-hero-grid, .tv-split { grid-template-columns: 1fr; }
  .tv-hero-art { order: -1; }
  .tv-hero-art svg { width: 200px; }
  .tv-grid { grid-template-columns: 1fr; }

}

/* ---------- SVG icons in feature cards ---------- */
.tv-ico svg { width: 22px; height: 22px; stroke: var(--tv-red); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- How it works ---------- */
.tv-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.1rem; counter-reset: step; }
.tv-step { position: relative; background: var(--tv-surface); border: 1px solid var(--tv-line); border-radius: 14px; padding: 1.7rem 1.5rem 1.5rem; }
.tv-step .num {
  width: 38px; height: 38px; border-radius: 10px; background: var(--tv-red); color: #fff;
  font-family: "BattersonSlab", Georgia, serif; font-weight: 700; font-size: 1.1rem;
  display: grid; place-items: center; margin-bottom: 0.9rem;
}
.tv-step h3 { font-family: "BattersonSans", system-ui, sans-serif; font-weight: 700; font-size: 1.08rem; color: var(--tv-ink); margin: 0 0 0.35rem; }
.tv-step p { color: var(--tv-slate); font-size: 0.93rem; line-height: 1.5; margin: 0; }
.tv-step code { font-family: "Berkeley Mono", ui-monospace, monospace; font-size: 0.82rem; color: var(--tv-red); background: rgba(224,23,25,0.08); padding: 0.1rem 0.4rem; border-radius: 5px; }
@media (max-width: 860px) {
 .tv-steps { grid-template-columns: 1fr; } 
}

/* soft umbrella watermark behind hero */
.tv-hero::after {
  content: ""; position: absolute; right: -80px; bottom: -120px; width: 420px; height: 420px;
  background: radial-gradient(circle at center, rgba(51,93,121,0.10), transparent 70%);
  pointer-events: none;
}

/* ---------- Lifestyle photo slideshow (Travelers-style) ---------- */
.tv-showcase { position: relative; overflow: hidden; width: 100%; }
.tv-slideshow { position: relative; height: clamp(420px, 52vw, 620px); background: #ffffff; }
.dark .tv-slideshow { background: #000000; }
.tv-slide {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block;
  opacity: 0; animation: tvFade 35s infinite; will-change: opacity;
}
.tv-slide-1 { animation-delay: 0s; }
.tv-slide-2 { animation-delay: -7s; }
.tv-slide-3 { animation-delay: -14s; }
.tv-slide-4 { animation-delay: -21s; }
.tv-slide-5 { animation-delay: -28s; }
/* gapless crossfade: each slide visible 0-24% of the cycle, slots spaced 20% apart */
@keyframes tvFade {
  0%   { opacity: 0; }
  4%   { opacity: 1; }
  20%  { opacity: 1; }
  24%  { opacity: 0; }
  100% { opacity: 0; }
}
.tv-showcase-overlay {
  position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end;
  padding: clamp(1.75rem, 5vw, 4.5rem);
  background: linear-gradient(180deg, rgba(12,17,22,0) 25%, rgba(12,17,22,0.30) 55%, rgba(12,17,22,0.86) 100%);
}
.tv-showcase-overlay .tv-tag {
  display: inline-flex; align-self: flex-start; align-items: center; gap: 0.5rem; margin-bottom: 1rem;
  font-family: "BattersonSans", system-ui, sans-serif; font-weight: 700; font-size: 0.72rem;
  letter-spacing: 0.12em; text-transform: uppercase; color: #fff;
  background: var(--tv-red); padding: 0.4rem 0.8rem; border-radius: 999px;
}
.tv-showcase-overlay h2 {
  font-family: "BattersonSlab", Georgia, serif; font-weight: 700; color: #fff;
  font-size: clamp(1.7rem, 4vw, 3rem); line-height: 1.06; margin: 0; max-width: 20ch;
  text-shadow: 0 2px 24px rgba(0,0,0,0.4);
}
.tv-showcase-overlay p { color: rgba(255,255,255,0.94); font-size: clamp(1rem,1.5vw,1.2rem); margin: 0.9rem 0 0; max-width: 48ch; text-shadow: 0 1px 12px rgba(0,0,0,0.45); }
.tv-dots { position: absolute; bottom: 1.4rem; right: 1.6rem; display: flex; gap: 0.45rem; z-index: 2; }
.tv-dots span { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,0.5); }
@media (prefers-reduced-motion: reduce) {
 .tv-slide { animation: none; } .tv-slide-1 { opacity: 1; } 
}

/* ---------- Custom Travelers-style footer (site-wide, theme-aware) ---------- */
.tv-footer {
  --tv-red: #e01719; --tv-red-dark: #b3121a; --tv-ming: #335d79;
  width: 100%;
  border-top: 3px solid var(--tv-red);
  padding: clamp(2.8rem, 5vw, 4.5rem) clamp(1.25rem, 5vw, 5rem) 1.8rem;
  /* light mode (default) */
  background: #f4f6f8;
  color: #4a5568;
}
.dark .tv-footer { background: #0a0f14; color: #b8c0c9; }

.tv-footer-top { max-width: 1160px; margin: 0 auto; display: grid; grid-template-columns: 1.5fr repeat(4, 1fr); gap: 2.2rem; }
.tv-footer-brand .tv-fmark { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 1rem; }
.tv-footer-brand .tv-fmark svg { width: 30px; height: 30px; }
.tv-umbrella-shaft { stroke: #0c1116; }
.dark .tv-umbrella-shaft { stroke: #e6edf3; }
.tv-fword { font-family: "BattersonSlab", Georgia, serif; font-weight: 700; font-size: 1.4rem; letter-spacing: 0.2px; color: #0c1116; }
.dark .tv-fword { color: #fff; }
.tv-footer-brand p { color: #6b7480; font-size: 0.92rem; line-height: 1.5; max-width: 30ch; margin: 0 0 1.2rem; }
.dark .tv-footer-brand p { color: #8b95a1; }

.tv-social { display: flex; gap: 0.6rem; }
.tv-social a { width: 34px; height: 34px; border-radius: 8px; display: grid; place-items: center; background: rgba(12,17,22,0.06); transition: background 0.15s ease, transform 0.15s ease; }
.tv-social a:hover { background: var(--tv-red); transform: translateY(-2px); }
.tv-social a:focus-visible { background: var(--tv-red); transform: translateY(-2px); }
.tv-social svg { width: 17px; height: 17px; fill: #4a5568; transition: fill 0.15s ease; }
.tv-social a:hover svg { fill: #fff; }
.tv-social a:focus-within svg { fill: #fff; }
.dark .tv-social a { background: rgba(255,255,255,0.06); }
.dark .tv-social svg { fill: #fff; }

.tv-footer h4 { font-family: "BattersonSans", system-ui, sans-serif; font-weight: 700; font-size: 0.82rem; letter-spacing: 0.08em; text-transform: uppercase; margin: 0 0 1rem; color: #0c1116; }
.dark .tv-footer h4 { color: #fff; }
.tv-footer ul { list-style: none; padding: 0; margin: 0; }
.tv-footer li { margin-bottom: 0.65rem; }
.tv-footer-top a { color: #5a6472; text-decoration: none; font-size: 0.92rem; transition: color 0.15s ease; }
.tv-footer-top a:hover { color: var(--tv-red); }
.tv-footer-top a:focus-visible { color: var(--tv-red); }
.dark .tv-footer-top a { color: #b3bcc6; }
.dark .tv-footer-top a:hover { color: #fff; }
.dark .tv-footer-top a:focus-visible { color: #fff; }

.tv-footer-bottom {
  max-width: 1160px; margin: 2.6rem auto 0; padding-top: 1.5rem;
  border-top: 1px solid rgba(12,17,22,0.1);
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem;
  font-size: 0.82rem; color: #6b7480;
}
.dark .tv-footer-bottom { border-top-color: rgba(255,255,255,0.09); color: #7d8794; }
/* the real Built-with-Fern badge, bottom-right */
.tv-fern-slot { display: inline-flex; align-items: center; }
.tv-fern-slot .tv-fern-badge, .tv-fern-slot a { display: inline-flex; align-items: baseline; gap: 4px; opacity: 0.85; transition: opacity 0.15s ease; }
.tv-fern-slot a:hover { opacity: 1; }
.tv-fern-slot a:focus-visible { opacity: 1; }
.tv-fern-slot svg { height: 14px; width: auto; }
/* hide any auto external-link icon inside the footer */
.tv-footer a svg.external-link-icon, .tv-footer a svg[class*="external"] { display: none !important; }

@media (max-width: 860px) {

  .tv-footer-top { grid-template-columns: 1fr 1fr; }
  .tv-footer-brand { grid-column: 1 / -1; }
  .tv-footer-bottom { flex-direction: column; align-items: flex-start; }

}

/* De-duplicate the Built-with-Fern badge: hide Fern's auto one, keep the one in our footer */
#builtwithfern { display: none !important; }
.tv-footer #builtwithfern, .tv-fern-slot #builtwithfern { display: inline-flex !important; }

/* Full-bleed: break the injected footer out of the max-width content container */
.tv-injected-footer { width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); box-sizing: border-box; }

