    @import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=Inter:wght@400;500;600;700;800&display=swap");

    :root {
      --green-900: #063f23;
      --green-850: #064625;
      --green-800: #075028;
      --green-700: #0c642f;
      --green-600: #18733a;
      --gold: #c8a35e;
      --gold-2: #e4c988;
      --line: #dfe8df;
      --muted: #68756f;
      --text: #20362a;
      --soft: #f7faf7;
      --card: rgba(255, 255, 255, .94);
      --sans: "Inter", "Segoe UI", Arial, sans-serif;
      --serif: "Cormorant Garamond", Georgia, serif;
    }

    .policy-check-hero {
      min-height: 22rem;
      border-bottom: 1px solid rgba(12, 100, 47, .1);
      background:
        radial-gradient(circle at 78% 25%, rgba(200, 163, 94, .14), transparent 24rem),
        linear-gradient(118deg, #f9fcf9 0%, #eef8f1 58%, #e5f2e9 100%);
    }

    .policy-check-hero-inner {
      min-height: 22rem;
      display: flex;
      align-items: center;
      gap: 2rem;
    }

    .policy-check-hero-icon {
      width: 8rem;
      height: 8rem;
      border: 1px solid rgba(12, 100, 47, .15);
      border-radius: 1.5rem;
      background: rgba(255, 255, 255, .84);
      color: var(--green-700);
      display: grid;
      place-items: center;
      box-shadow: 0 1.3rem 2.8rem rgba(10, 77, 40, .1);
      flex: none;
    }

    .policy-check-hero h1 {
      margin: 0;
      color: var(--green-900);
      font-family: var(--serif);
      font-size: 4.8rem;
      line-height: 1;
    }

    .policy-check-hero p {
      max-width: 62rem;
      margin: 1rem 0 0;
      color: #5d6e64;
      font-size: 1.4rem;
      font-weight: 600;
      line-height: 1.55;
    }

    .policy-check-page {
      padding: 4rem 0 6rem;
      background: #f8fbf8;
    }

    .policy-check-content {
      display: grid;
      gap: 2rem;
    }

    .policy-check-form,
    .policy-check-results {
      border: 1px solid #e0e9e2;
      border-radius: 1.2rem;
      background: #fff;
      box-shadow: 0 1rem 2.4rem rgba(25, 61, 41, .07);
    }

    .policy-check-form {
      padding: 2.2rem;
    }

    .policy-check-form-heading {
      display: flex;
      align-items: center;
      gap: 1rem;
    }

    .policy-check-form-heading > span {
      width: 4.4rem;
      height: 4.4rem;
      border-radius: .85rem;
      background: #edf8f0;
      color: var(--green-700);
      display: grid;
      place-items: center;
      flex: none;
    }

    .policy-check-form-heading h2,
    .policy-check-result-heading h2 {
      margin: 0;
      color: var(--green-900);
      font-size: 1.75rem;
    }

    .policy-check-form-heading p {
      margin: .25rem 0 0;
      color: var(--muted);
      font-size: 1.05rem;
      font-weight: 600;
    }

    .policy-check-form-row {
      max-width: 74rem;
      margin-top: 1.8rem;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: end;
      gap: 1rem;
    }

    .policy-check-form-row label {
      display: grid;
      gap: .5rem;
      color: #44574b;
      font-size: 1.05rem;
      font-weight: 800;
    }

    .policy-check-form-row label em {
      color: #b42318;
      font-style: normal;
    }

    .policy-check-form-row input {
      width: 100%;
      height: 4.6rem;
      padding: 0 1.2rem;
      border: 1px solid #d5e2d8;
      border-radius: .7rem;
      background: #fff;
      color: #26382e;
      font: inherit;
      font-size: 1.2rem;
      font-weight: 700;
      text-transform: uppercase;
      transition: border-color .18s ease, box-shadow .18s ease;
    }

    .policy-check-form-row input:focus {
      border-color: var(--green-600);
      box-shadow: 0 0 0 3px rgba(24, 115, 58, .13);
      outline: 0;
    }

    .policy-check-form-row button {
      min-width: 12rem;
      height: 4.6rem;
      padding: 0 1.4rem;
      border: 0;
      border-radius: .7rem;
      background: linear-gradient(180deg, #14833f, #07592b);
      color: #fff;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: .65rem;
      font: inherit;
      font-size: 1.12rem;
      font-weight: 900;
      cursor: pointer;
      box-shadow: 0 .7rem 1.3rem rgba(7, 89, 43, .18);
      transition: filter .18s ease, box-shadow .18s ease, transform .18s ease;
    }

    .policy-check-form-row button:hover {
      filter: brightness(1.06);
      box-shadow: 0 .9rem 1.6rem rgba(7, 89, 43, .24);
      transform: translateY(-1px);
    }

    .policy-check-form-row button:focus-visible {
      outline: 3px solid rgba(24, 115, 58, .28);
      outline-offset: 3px;
    }

    .policy-check-helper {
      margin: .8rem 0 0;
      color: #718078;
      display: flex;
      align-items: center;
      gap: .45rem;
      font-size: .96rem;
      font-weight: 600;
    }

    .policy-check-results {
      min-height: 0;
      overflow: hidden;
    }

    .policy-check-results:empty {
      display: none;
    }

    .policy-check-message {
      min-height: 10rem;
      padding: 2rem;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
    }

    .policy-check-message strong {
      color: var(--green-900);
      font-size: 1.45rem;
    }

    .policy-check-message span {
      margin-top: .4rem;
      color: var(--muted);
      font-size: 1.08rem;
      font-weight: 600;
    }

    .policy-check-message.error strong {
      color: #a12222;
    }

    .policy-check-result-heading {
      padding: 1.6rem 1.8rem;
      border-bottom: 1px solid #e3ebe5;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1.5rem;
    }

    .policy-check-result-heading span {
      color: #a67d38;
      font-size: .9rem;
      font-weight: 900;
      letter-spacing: .06em;
      text-transform: uppercase;
    }

    .policy-check-result-heading small {
      padding: .55rem .8rem;
      border-radius: 999px;
      background: #edf8f0;
      color: var(--green-700);
      font-size: .95rem;
      font-weight: 800;
      white-space: nowrap;
    }

    .policy-check-table-wrap {
      overflow: visible;
    }

    .policy-check-table-wrap table {
      width: 100%;
      min-width: 0;
      table-layout: fixed;
      border-collapse: collapse;
    }

    .policy-check-table-wrap th,
    .policy-check-table-wrap td {
      padding: 1rem .65rem;
      border-bottom: 1px solid #e6ede8;
      color: #2b3d33;
      text-align: left;
      vertical-align: middle;
      font-size: .94rem;
      font-weight: 650;
      overflow-wrap: anywhere;
      white-space: normal;
    }

    .policy-check-table-wrap th {
      background: #f8fbf8;
      color: var(--green-800);
      font-size: .86rem;
      font-weight: 900;
    }

    .policy-check-table-wrap th:nth-child(1),
    .policy-check-table-wrap td:nth-child(1) { width: 11%; }
    .policy-check-table-wrap th:nth-child(2),
    .policy-check-table-wrap td:nth-child(2) { width: 10%; }
    .policy-check-table-wrap th:nth-child(3),
    .policy-check-table-wrap td:nth-child(3) { width: 11%; }
    .policy-check-table-wrap th:nth-child(4),
    .policy-check-table-wrap td:nth-child(4) { width: 17%; }
    .policy-check-table-wrap th:nth-child(5),
    .policy-check-table-wrap td:nth-child(5) { width: 11%; }
    .policy-check-table-wrap th:nth-child(6),
    .policy-check-table-wrap td:nth-child(6) { width: 17%; }
    .policy-check-table-wrap th:nth-child(7),
    .policy-check-table-wrap td:nth-child(7) { width: 10%; }
    .policy-check-table-wrap th:nth-child(8),
    .policy-check-table-wrap td:nth-child(8) { width: 13%; }

    .policy-check-table-wrap tbody tr:last-child td {
      border-bottom: 0;
    }

    .policy-check-table-wrap tbody tr:hover {
      background: #fbfdfb;
    }

    .policy-check-code {
      color: var(--green-800);
      font-variant-numeric: tabular-nums;
    }

    .policy-check-dates {
      display: inline-flex;
      align-items: center;
      gap: .45rem;
      font-variant-numeric: tabular-nums;
    }

    .policy-check-dates b {
      color: #94a198;
      font-weight: 600;
    }

    .policy-check-status {
      min-height: 2.6rem;
      padding: 0 .8rem;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: .92rem;
      font-weight: 900;
    }

    .policy-check-status.active,
    .policy-check-status.paid {
      background: #e5f6e9;
      color: #146534;
    }

    .policy-check-status.cancel {
      background: #fdeaea;
      color: #a12626;
    }

    @media (max-width: 640px) {
      .policy-check-hero,
      .policy-check-hero-inner {
        min-height: 20rem;
      }

      .policy-check-hero-inner {
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        gap: 1.2rem;
      }

      .policy-check-hero-icon {
        width: 5.8rem;
        height: 5.8rem;
      }

      .policy-check-hero-icon svg {
        width: 3.6rem;
        height: 3.6rem;
      }

      .policy-check-hero h1 {
        font-size: 3.8rem;
      }

      .policy-check-page {
        padding: 2.4rem 0 4rem;
      }

      .policy-check-form {
        padding: 1.5rem;
      }

      .policy-check-form-row {
        grid-template-columns: 1fr;
      }

      .policy-check-form-row button {
        width: 100%;
      }

      .policy-check-result-heading {
        align-items: flex-start;
        flex-direction: column;
      }

      .policy-check-table-wrap table,
      .policy-check-table-wrap tbody,
      .policy-check-table-wrap tr,
      .policy-check-table-wrap td {
        width: 100%;
        display: block;
      }

      .policy-check-table-wrap thead {
        display: none;
      }

      .policy-check-table-wrap tbody {
        padding: 1rem;
      }

      .policy-check-table-wrap tr {
        margin-bottom: 1rem;
        border: 1px solid #e0e9e2;
        border-radius: .85rem;
        overflow: hidden;
      }

      .policy-check-table-wrap tr:last-child {
        margin-bottom: 0;
      }

      .policy-check-table-wrap td,
      .policy-check-table-wrap td:nth-child(n) {
        width: 100%;
        min-height: 4.2rem;
        padding: .85rem 1rem;
        display: grid;
        grid-template-columns: minmax(10rem, .8fr) minmax(0, 1.2fr);
        align-items: center;
        gap: 1rem;
      }

      .policy-check-table-wrap td::before {
        content: attr(data-label);
        color: var(--green-800);
        font-size: .88rem;
        font-weight: 900;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .policy-check-form-row button {
        transition: none;
      }
    }

    .profile-dropdown {
      position: relative;
    }

    .profile-dropdown summary {
      min-height: 3.2rem;
      padding: 0 .95rem;
      border: 1px solid var(--line);
      border-radius: .8rem;
      background: #fff;
      color: var(--green-900);
      display: inline-flex;
      align-items: center;
      gap: .55rem;
      font-size: 1.16rem;
      font-weight: 800;
      list-style: none;
      cursor: pointer;
      box-shadow: 0 .55rem 1.15rem rgba(8, 70, 37, .06);
      transition: border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
    }

    .profile-dropdown summary::-webkit-details-marker {
      display: none;
    }

    .profile-dropdown summary:hover,
    .profile-dropdown[open] summary {
      border-color: rgba(12, 100, 47, .45);
      color: var(--green-700);
      box-shadow: 0 .75rem 1.45rem rgba(8, 70, 37, .12);
      transform: translateY(-1px);
    }

    .profile-dropdown-menu {
      width: 17.5rem;
      padding: .45rem;
      position: absolute;
      right: 0;
      top: calc(100% + .72rem);
      z-index: 35;
      border: 1px solid rgba(210, 225, 215, .95);
      border-radius: .9rem;
      background: rgba(255, 255, 255, .98);
      box-shadow: 0 1.3rem 2.5rem rgba(19, 52, 34, .16);
    }

    .profile-dropdown-menu a {
      min-height: 3.25rem;
      padding: 0 .85rem;
      border-radius: .65rem;
      color: #1e3328;
      display: flex;
      align-items: center;
      text-decoration: none;
      font-size: 1.14rem;
      font-weight: 750;
    }

    .profile-dropdown-menu a:hover {
      background: rgba(16, 121, 55, .1);
      color: var(--green-800);
    }

    .footer-inner.footer-inner-simple {
      grid-template-columns: minmax(18rem, 1.1fr) minmax(12rem, .7fr) minmax(16rem, .9fr) minmax(20rem, 1.1fr);
    }

    .calculator-page-wrap {
      padding-top: 4rem;
    }

    .calculator-card {
      margin: 0 auto;
    }

    .dashboard-calculator-card {
      min-height: 0;
      margin: 0;
      padding: 1.75rem;
      background: #fff;
      box-shadow: 0 1rem 2.2rem rgba(26, 55, 40, .08);
      backdrop-filter: none;
    }

    .dashboard-calculator-card .form-grid {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .dashboard-calculator-card .section-title {
      margin-bottom: .2rem;
    }

    .calculator-purpose-card {
      min-width: 0;
      margin: .35rem 0 0;
      padding: 1.3rem;
      border: 1px solid #dce7df;
      border-radius: .9rem;
      background: #f8fbf8;
      grid-column: 1 / -1;
    }

    .calculator-purpose-card .purpose-title {
      padding: 0 .35rem;
      font-family: var(--sans);
      font-size: 1.3rem;
      font-weight: 900;
    }

    .calculator-purpose-card .purpose-title span {
      font-size: 1rem;
    }

    .calculator-purpose-note {
      margin: .25rem 0 0;
      color: #65746b;
      font-size: 1rem;
      line-height: 1.45;
      font-weight: 700;
    }

    .calculator-purpose-options {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .calculator-purpose-options .purpose-radio {
      min-height: 100%;
      font-size: 1.02rem;
    }

    .calculator-hidden-field {
      display: none;
    }

    .calculator-result-row {
      margin-top: 1.45rem;
      padding-top: 1.25rem;
      border-top: 1px solid #e4ebe6;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 1.2rem;
      flex-wrap: wrap;
    }

    .calculator-result-row strong {
      min-width: 8.5rem;
      min-height: 3.7rem;
      padding: .75rem 1rem;
      border: 1px solid rgba(12, 100, 47, .18);
      border-radius: .75rem;
      background: rgba(236, 248, 238, .9);
      color: var(--green-900);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 1.35rem;
      font-weight: 900;
    }

    @media (max-width: 980px) {
      .footer-inner.footer-inner-simple {
        grid-template-columns: 1fr 1fr;
      }
    }

    @media (max-width: 640px) {
      .profile-dropdown summary span {
        max-width: 10rem;
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }

      .profile-dropdown-menu {
        right: -.25rem;
      }

      .footer-inner.footer-inner-simple {
        grid-template-columns: 1fr;
      }

      .calculator-result-row {
        align-items: stretch;
        flex-direction: column;
      }

      .calculator-result-row .calc-button,
      .calculator-result-row strong {
        width: 100%;
      }

      .dashboard-calculator-card {
        padding: 1.4rem;
      }
    }

    * {
      box-sizing: border-box;
    }

    html {
      background: #fff;
      color: var(--text);
      font-family: var(--sans);
      font-size: 10px;
      line-height: 1.35;
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      min-width: 320px;
      background: #fff;
    }

    button,
    input,
    select {
      font: inherit;
    }

    button {
      cursor: pointer;
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
    }

    button:hover:not(:disabled) {
      filter: brightness(1.02);
    }

    button:disabled {
      cursor: not-allowed;
    }

    button:focus-visible,
    a:focus-visible,
    input:focus-visible,
    select:focus-visible {
      outline: 3px solid rgba(200, 163, 94, .35);
      outline-offset: 3px;
    }

    .page {
      min-height: 100vh;
      overflow: hidden;
      background:
        radial-gradient(circle at 92% 24%, rgba(229, 243, 239, .5), transparent 28rem),
        linear-gradient(#fff, #fbfdfb 43%, #fff 70%);
    }

    .container {
      width: min(94.6rem, calc(100% - 14rem));
      margin: 0 auto;
    }

    .site-header {
      height: 6.2rem;
      border-bottom: 1px solid rgba(8, 70, 37, .1);
      background: rgba(255, 255, 255, .9);
      backdrop-filter: blur(12px);
      position: relative;
      z-index: 10;
    }

    .header-inner {
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 2rem;
    }

    .brand {
      display: inline-flex;
      align-items: center;
      gap: .9rem;
      color: var(--green-900);
      text-decoration: none;
      min-width: 15rem;
    }

    .brand-mark {
      width: 3.55rem;
      height: 3.85rem;
      flex: none;
    }

    .brand-text {
      display: grid;
      line-height: .82;
      letter-spacing: .12rem;
      font-weight: 800;
      font-size: 2.34rem;
      color: #0a532b;
    }

    .brand-text span:last-child {
      margin-top: .28rem;
      font-size: 1.54rem;
      letter-spacing: .1rem;
    }

    .main-nav {
      flex: 1;
      min-width: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: clamp(1.1rem, 2.2vw, 2.8rem);
      height: 100%;
      white-space: nowrap;
    }

    .main-nav a {
      color: #1e3328;
      text-decoration: none;
      font-size: 1.25rem;
      font-weight: 600;
      line-height: 6.2rem;
      position: relative;
      transition: color .2s ease, transform .2s ease;
    }

    .main-nav a::after {
      content: "";
      height: .23rem;
      border-radius: 9rem;
      background: var(--green-700);
      position: absolute;
      left: .2rem;
      right: .2rem;
      bottom: 0;
      transform: scaleX(0);
      transform-origin: center;
      transition: transform .2s ease;
    }

    .main-nav a:hover {
      color: var(--green-700);
      transform: translateY(-1px);
    }

    .main-nav a.active {
      color: var(--green-900);
    }

    .main-nav a.active::after {
      transform: scaleX(1);
    }

    .main-nav a:hover::after {
      transform: scaleX(1);
    }

    .header-actions {
      display: flex;
      align-items: center;
      gap: .9rem;
    }

    .mobile-check-link {
      display: none;
    }

    .language-menu {
      position: relative;
    }

    .language {
      min-width: 6.7rem;
      height: 2.9rem;
      padding: 0 .75rem;
      border: 1px solid var(--line);
      border-radius: .8rem;
      color: var(--green-900);
      background: #fff;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: .45rem;
      font-weight: 700;
      font-size: 1.16rem;
      box-shadow: 0 .55rem 1.15rem rgba(8, 70, 37, .06);
    }

    .language:hover,
    .language-menu.open .language {
      border-color: rgba(12, 100, 47, .45);
      color: var(--green-700);
      box-shadow: 0 .75rem 1.45rem rgba(8, 70, 37, .12);
      transform: translateY(-1px);
    }

    .language-menu.open .language svg {
      transform: rotate(180deg);
    }

    .language svg {
      transition: transform .18s ease;
    }

    .language-options {
      width: 15.5rem;
      padding: .45rem;
      position: absolute;
      right: 0;
      top: calc(100% + .72rem);
      z-index: 30;
      border: 1px solid rgba(210, 225, 215, .95);
      border-radius: .9rem;
      background: rgba(255, 255, 255, .98);
      box-shadow: 0 1.3rem 2.5rem rgba(19, 52, 34, .16);
      opacity: 0;
      pointer-events: none;
      transform: translateY(-.5rem) scale(.98);
      transform-origin: top right;
      transition: opacity .18s ease, transform .18s ease;
    }

    .language-menu.open .language-options {
      opacity: 1;
      pointer-events: auto;
      transform: translateY(0) scale(1);
    }

    .language-options button {
      width: 100%;
      min-height: 3.35rem;
      border: 0;
      border-radius: .65rem;
      background: transparent;
      color: #26392f;
      display: flex;
      align-items: center;
      gap: .8rem;
      padding: 0 .85rem;
      font-size: 1.08rem;
      font-weight: 700;
      text-align: left;
    }

    .language-options button:hover,
    .language-options button[aria-selected="true"] {
      background: #f2f8f3;
      color: var(--green-700);
    }

    .lang-flag,
    .phone-flag {
      width: 2.05rem;
      height: 1.35rem;
      border-radius: .18rem;
      border: 1px solid rgba(0, 0, 0, .12);
      flex: none;
      position: relative;
      overflow: hidden;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .25);
    }

    .country-emoji {
      width: 2.05rem;
      height: 1.35rem;
      border-radius: .18rem;
      border: 1px solid rgba(0, 0, 0, .12);
      flex: none;
      display: inline-grid;
      place-items: center;
      overflow: hidden;
      background: #fff;
      font-size: 1.55rem;
      line-height: 1;
      box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .25);
    }

    .flag-az {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 600'%3E%3Cpath fill='%2300b5e2' d='M0 0h1200v200H0z'/%3E%3Cpath fill='%23ef3340' d='M0 200h1200v200H0z'/%3E%3Cpath fill='%23509e2f' d='M0 400h1200v200H0z'/%3E%3Ccircle cx='565' cy='300' r='86' fill='%23fff'/%3E%3Ccircle cx='600' cy='300' r='70' fill='%23ef3340'/%3E%3Cpath fill='%23fff' d='M720 238l18 45 48-9-27 41 39 31-49 7 5 49-34-36-34 36 5-49-49-7 39-31-27-41 48 9z'/%3E%3C/svg%3E");
    }

    .flag-az::before,
    .flag-az::after {
      content: none;
    }

    .flag-en {
      background:
        linear-gradient(90deg, transparent 43%, #c8102e 43% 57%, transparent 57%),
        linear-gradient(transparent 39%, #c8102e 39% 61%, transparent 61%),
        linear-gradient(32deg, transparent 44%, #fff 44% 56%, transparent 56%),
        linear-gradient(-32deg, transparent 44%, #fff 44% 56%, transparent 56%),
        #012169;
    }

    .flag-gb {
      background:
        linear-gradient(90deg, transparent 43%, #c8102e 43% 57%, transparent 57%),
        linear-gradient(transparent 39%, #c8102e 39% 61%, transparent 61%),
        linear-gradient(32deg, transparent 44%, #fff 44% 56%, transparent 56%),
        linear-gradient(-32deg, transparent 44%, #fff 44% 56%, transparent 56%),
        #012169;
    }

    .flag-ru {
      background: linear-gradient(#fff 0 33.33%, #1c57a7 33.33% 66.66%, #d52b1e 66.66%);
    }

    .flag-tr {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 800'%3E%3Cpath fill='%23e30a17' d='M0 0h1200v800H0z'/%3E%3Ccircle cx='470' cy='400' r='180' fill='%23fff'/%3E%3Ccircle cx='525' cy='400' r='145' fill='%23e30a17'/%3E%3Cpath fill='%23fff' d='M720 300l24 72 76-1-61 45 24 72-63-43-62 43 23-72-61-45 76 1z'/%3E%3C/svg%3E");
    }

    .flag-us {
      background:
        linear-gradient(#b22234 0 7.69%, #fff 7.69% 15.38%, #b22234 15.38% 23.07%, #fff 23.07% 30.76%, #b22234 30.76% 38.45%, #fff 38.45% 46.14%, #b22234 46.14% 53.83%, #fff 53.83% 61.52%, #b22234 61.52% 69.21%, #fff 69.21% 76.9%, #b22234 76.9% 84.59%, #fff 84.59% 92.28%, #b22234 92.28%),
        #fff;
      position: relative;
    }

    .flag-us::before {
      content: "";
      width: 42%;
      height: 54%;
      position: absolute;
      left: 0;
      top: 0;
      background: #3c3b6e;
    }

    .flag-ge {
      background:
        linear-gradient(90deg, transparent 43%, #e4002b 43% 57%, transparent 57%),
        linear-gradient(transparent 38%, #e4002b 38% 62%, transparent 62%),
        #fff;
    }

    .login {
      height: 2.95rem;
      padding: 0 1.28rem;
      border: 0;
      border-radius: .72rem;
      display: inline-flex;
      align-items: center;
      gap: .48rem;
      color: #fff;
      background: linear-gradient(180deg, #0d5f30, #084723);
      box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14), 0 .7rem 1.4rem rgba(6, 63, 35, .18);
      font-weight: 700;
      font-size: 1.19rem;
    }

    .login:hover {
      background: linear-gradient(180deg, #13703a, #075029);
      box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .2), 0 .95rem 1.7rem rgba(6, 63, 35, .24);
      transform: translateY(-1px);
    }

    .hero {
      min-height: 36rem;
      margin-top: 0;
      position: relative;
      overflow: hidden;
      background:
        linear-gradient(90deg, #fbfdfb 0%, #fbfdfb 37%, rgba(251, 253, 251, .96) 44%, rgba(251, 253, 251, .68) 52%, rgba(251, 253, 251, .08) 65%, rgba(251, 253, 251, 0) 100%),
        url("../img/hero-travel-insurance.png") right center / auto 122% no-repeat,
        linear-gradient(105deg, #fff 0%, #f4faf7 40%, #dceeed 100%);
    }

    .hero::after {
      content: "";
      height: 13rem;
      width: 78rem;
      position: absolute;
      right: -13rem;
      bottom: -9rem;
      border-radius: 100% 0 0 0;
      background: #fff;
      opacity: .92;
      transform: rotate(8deg);
    }

    .hero-content {
      position: relative;
      z-index: 2;
      padding-top: 3.55rem;
      /* quote-card hero-nun üstünə çıxır: mətnlə form arasında rahat boşluq saxlayırıq */
      padding-bottom: 12.5rem;
      width: min(46rem, 100%);
    }

    .hero h1 {
      margin: 0;
      color: var(--green-900);
      font-family: var(--serif);
      font-size: 6.12rem;
      font-weight: 700;
      line-height: .98;
      letter-spacing: 0;
    }

    .hero p {
      width: min(40rem, 100%);
      margin: 1.45rem 0 0;
      color: #596861;
      font-size: 1.65rem;
      line-height: 1.55;
      font-weight: 500;
    }

    .hero-points {
      margin-top: 2.55rem;
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      gap: 1.5rem 2.55rem;
    }

    .hero-point {
      display: grid;
      grid-template-columns: 3.25rem minmax(0, auto);
      align-items: center;
      gap: .86rem;
      max-width: 100%;
      color: #34453b;
      font-size: 1.11rem;
      font-weight: 700;
      line-height: 1.22;
    }

    .circle-icon {
      width: 3.15rem;
      height: 3.15rem;
      border-radius: 50%;
      border: 1.35px solid var(--gold);
      display: inline-grid;
      place-items: center;
      color: #ad8644;
      background: rgba(255, 255, 255, .62);
    }

    .quote-wrap {
      position: relative;
      z-index: 5;
      margin-top: -6rem;
    }

    .quote-card {
      min-height: 36.25rem;
      padding: 1.7rem 2rem 1.85rem;
      border: 1px solid rgba(214, 228, 220, .98);
      border-radius: 1.28rem;
      background: var(--card);
      box-shadow: 0 1.6rem 3.2rem rgba(26, 55, 40, .15);
      backdrop-filter: blur(16px);
      font-size: 1.2rem;
    }

    .insurance-product-switch {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1rem;
      margin-bottom: 1.65rem;
      padding-bottom: 1.55rem;
      border-bottom: 1px solid #e1ebe5;
    }

    .insurance-product-option {
      min-height: 6.65rem;
      padding: .9rem 1rem;
      display: flex;
      align-items: center;
      gap: 1rem;
      position: relative;
      border: 1px solid #dbe7e0;
      border-radius: 1rem;
      background: #f8fbf9;
      color: #304238;
      text-decoration: none;
      transition: border-color .18s ease, box-shadow .18s ease, background .18s ease, transform .18s ease;
    }

    .insurance-product-option:hover {
      border-color: rgba(17, 112, 57, .45);
      background: #fff;
      box-shadow: 0 .55rem 1.4rem rgba(16, 79, 45, .09);
      transform: translateY(-1px);
    }

    .insurance-product-option:focus-visible {
      outline: 3px solid rgba(24, 115, 58, .2);
      outline-offset: 2px;
    }

    .insurance-product-option.active {
      border-color: var(--green-600);
      background: linear-gradient(135deg, #edf8f1, #f8fcf9);
      box-shadow: inset 0 0 0 1px rgba(24, 115, 58, .08), 0 .55rem 1.3rem rgba(16, 79, 45, .08);
      color: var(--green-900);
    }

    .insurance-product-icon {
      width: 3.9rem;
      height: 3.9rem;
      flex: 0 0 3.9rem;
      display: grid;
      place-items: center;
      border-radius: .85rem;
      background: #fff;
      border: 1px solid #d9e7df;
      color: var(--green-600);
    }

    .insurance-product-option.active .insurance-product-icon {
      color: #fff;
      border-color: var(--green-600);
      background: var(--green-600);
    }

    .insurance-product-copy {
      min-width: 0;
      display: grid;
      gap: .25rem;
      line-height: 1.25;
    }

    .insurance-product-copy strong {
      font-size: 1.14rem;
      font-weight: 800;
    }

    .insurance-product-copy small {
      color: #68786f;
      font-size: .96rem;
      font-weight: 500;
    }

    .insurance-product-check {
      width: 1.7rem;
      height: 1.7rem;
      margin-left: auto;
      display: none;
      flex: 0 0 1.7rem;
      place-items: center;
      border-radius: 50%;
      background: var(--green-600);
      color: #fff;
      font-size: .95rem;
      font-weight: 800;
    }

    .insurance-product-option.active .insurance-product-check {
      display: grid;
    }

    .section-title {
      margin: 0;
      display: flex;
      align-items: center;
      gap: .85rem;
      color: var(--green-900);
      font-family: var(--serif);
      font-size: 2.44rem;
      line-height: 1;
      font-weight: 700;
    }

    .section-title .small-shield {
      width: 2.3rem;
      height: 2.3rem;
      border-radius: 50%;
      border: 1px solid #b9ceb9;
      display: grid;
      place-items: center;
      background: #fff;
      color: var(--green-600);
    }

    .restricted-edit-note {
      margin-top: 1.25rem;
      padding: 1rem 1.15rem;
      border: 1px solid #cfe1d4;
      border-radius: .8rem;
      background: #f2f8f4;
      color: #294b37;
      display: flex;
      align-items: flex-start;
      gap: .8rem;
      font-size: 1.05rem;
      line-height: 1.5;
      font-weight: 650;
    }

    .restricted-edit-note svg {
      margin-top: .05rem;
      color: var(--green-700);
      flex: none;
    }

    .quote-card[data-restricted-edit] .insurance-product-switch {
      opacity: .58;
      pointer-events: none;
    }

    .quote-card[data-restricted-edit] .is-edit-locked {
      opacity: .76;
    }

    .quote-card[data-restricted-edit] :disabled {
      cursor: not-allowed;
    }

    .quote-card[data-restricted-edit] input:disabled,
    .quote-card[data-restricted-edit] select:disabled {
      border-color: #dce3de;
      background-color: #f0f3f1;
      color: #59675f;
      opacity: 1;
      -webkit-text-fill-color: #59675f;
    }

    .quote-card[data-restricted-edit] .purpose-radio:has(input:disabled),
    .quote-card[data-restricted-edit] .terms-check:has(input:disabled) {
      cursor: not-allowed;
      pointer-events: none;
      opacity: .7;
    }

    .form-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 1.55rem 2rem;
      margin-top: 1.65rem;
    }

    .domestic-policy-facts {
      grid-column: 1 / -1;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1rem;
    }

    .domestic-policy-fact {
      min-height: 5.6rem;
      padding: .95rem 1.1rem;
      display: grid;
      align-content: center;
      gap: .3rem;
      border: 1px solid #dce9e1;
      border-radius: .85rem;
      background: linear-gradient(135deg, #f5faf7, #fff);
    }

    .domestic-policy-fact span {
      color: #6a7970;
      font-size: .92rem;
      font-weight: 600;
    }

    .domestic-policy-fact strong {
      color: var(--green-900);
      font-size: 1.17rem;
      font-weight: 800;
    }

    .field {
      min-width: 0;
    }

    .field label,
    .field-label,
    .counter-label {
      display: block;
      margin: 0 0 .75rem .15rem;
      color: #283a30;
      font-size: 1.09rem;
      font-weight: 700;
    }

    .input,
    .select,
    .phone {
      height: 4.2rem;
      width: 100%;
      border: 1px solid #dce4df;
      border-radius: .72rem;
      background: rgba(255, 255, 255, .92);
      color: #2a3b30;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7);
      font-size: 1.16rem;
      font-weight: 500;
      transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
    }

    .input:hover,
    .select:hover,
    .phone:hover {
      border-color: rgba(12, 100, 47, .35);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7), 0 .35rem 1rem rgba(7, 80, 40, .06);
    }

    .input:focus,
    .select:focus,
    .phone:focus-within,
    .date-input.is-open .input {
      outline: 0;
      border-color: var(--green-600);
      box-shadow: 0 0 0 3px rgba(24, 115, 58, .13);
      background: #fff;
    }

    .js-date {
      cursor: text;
    }

    .js-date.is-invalid,
    .js-date-mask.is-invalid {
      border-color: #c75d4f;
      box-shadow: 0 0 0 3px rgba(199, 93, 79, .12);
    }

    .input,
    .select {
      padding: 0 1.3rem;
    }

    .select {
      appearance: none;
      background:
        linear-gradient(45deg, transparent 50%, #68756f 50%) right 1.28rem center / .55rem .55rem no-repeat,
        linear-gradient(135deg, #68756f 50%, transparent 50%) right .94rem center / .55rem .55rem no-repeat,
        rgba(255, 255, 255, .92);
      padding-right: 2.75rem;
    }

    .date-input {
      position: relative;
    }

    .date-input::before {
      content: "";
      width: 1.34rem;
      height: 1.34rem;
      position: absolute;
      left: .9rem;
      top: 50%;
      transform: translateY(-50%);
      background:
        linear-gradient(#758078, #758078) 50% 28% / 70% 1px no-repeat,
        linear-gradient(#758078, #758078) 30% 0 / 1px 35% no-repeat,
        linear-gradient(#758078, #758078) 70% 0 / 1px 35% no-repeat;
      border: 1px solid #758078;
      border-radius: .22rem;
      pointer-events: none;
      opacity: .9;
    }

    .date-input .input {
      padding-left: 3rem;
    }

    .date-input.is-open::before,
    .date-input:hover::before {
      border-color: var(--green-700);
      opacity: 1;
    }

    .date-picker {
      width: 31rem;
      max-width: calc(100vw - 2.4rem);
      padding: 1rem;
      position: absolute;
      z-index: 100;
      display: none;
      border: 1px solid rgba(207, 222, 211, .98);
      border-radius: 1rem;
      background: rgba(255, 255, 255, .98);
      box-shadow: 0 1.5rem 3rem rgba(20, 55, 35, .18);
      transform-origin: top center;
    }

    .date-picker.is-open {
      display: block;
      animation: pickerIn .16s ease-out;
    }

    @keyframes pickerIn {
      from {
        opacity: 0;
        transform: translateY(-.55rem) scale(.98);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    .picker-head {
      display: grid;
      grid-template-columns: 3.1rem minmax(0, 1fr) 8.6rem 3.1rem;
      align-items: center;
      gap: .6rem;
      margin-bottom: .85rem;
    }

    .picker-month {
      color: var(--green-900);
      text-align: center;
      font-size: 1.28rem;
      font-weight: 800;
      text-transform: capitalize;
    }

    .picker-year {
      height: 3.1rem;
      border: 1px solid #dfe8df;
      border-radius: .7rem;
      background:
        linear-gradient(45deg, transparent 50%, #68756f 50%) right 1.05rem center / .5rem .5rem no-repeat,
        linear-gradient(135deg, #68756f 50%, transparent 50%) right .75rem center / .5rem .5rem no-repeat,
        #fff;
      color: var(--green-900);
      appearance: none;
      padding: 0 2.2rem 0 .85rem;
      font-size: 1.12rem;
      font-weight: 800;
      transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
    }

    .picker-year:hover,
    .picker-year:focus {
      border-color: rgba(12, 100, 47, .42);
      box-shadow: 0 .35rem 1rem rgba(7, 80, 40, .06);
      outline: 0;
    }

    .picker-nav {
      height: 3.1rem;
      border: 1px solid #dfe8df;
      border-radius: .7rem;
      background: #fff;
      color: var(--green-800);
      display: grid;
      place-items: center;
      font-size: 1.45rem;
      font-weight: 800;
    }

    .picker-nav:hover {
      border-color: rgba(12, 100, 47, .42);
      background: #f5fbf6;
      transform: translateY(-1px);
    }

    .picker-weekdays,
    .picker-grid {
      display: grid;
      grid-template-columns: repeat(7, 1fr);
      gap: .35rem;
    }

    .picker-weekdays {
      margin-bottom: .45rem;
    }

    .picker-weekdays span {
      height: 2.2rem;
      display: grid;
      place-items: center;
      color: #78867d;
      font-size: .98rem;
      font-weight: 800;
    }

    .date-day {
      height: 3.15rem;
      border: 0;
      border-radius: .68rem;
      background: transparent;
      color: #273a30;
      display: grid;
      place-items: center;
      font-size: 1.12rem;
      font-weight: 700;
    }

    .date-day:hover:not(:disabled) {
      background: #edf7ef;
      color: var(--green-800);
      transform: translateY(-1px);
    }

    .date-day.outside {
      color: #aeb8b1;
      font-weight: 600;
    }

    .date-day.today {
      box-shadow: inset 0 0 0 1px rgba(200, 163, 94, .55);
      color: #9a7436;
    }

    .date-day.in-range {
      background: #e7f4eb;
      color: var(--green-800);
    }

    .date-day.selected {
      background: linear-gradient(180deg, #23803c, #0b5b2d);
      color: #fff;
      box-shadow: 0 .55rem 1.1rem rgba(9, 92, 44, .18);
    }

    .date-day:disabled {
      cursor: not-allowed;
      color: #cbd3ce;
      background: #f7f9f7;
      opacity: .72;
    }

    .login-modal {
      position: fixed;
      inset: 0;
      z-index: 200;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 2rem;
      background: rgba(4, 28, 16, .42);
      backdrop-filter: blur(7px);
    }

    .login-modal.is-open {
      display: flex;
      animation: modalFade .16s ease-out;
    }

    @keyframes modalFade {
      from { opacity: 0; }
      to { opacity: 1; }
    }

    .login-panel {
      width: min(42rem, 100%);
      max-height: calc(100dvh - 3rem);
      border: 1px solid rgba(217, 230, 220, .98);
      border-radius: 1.15rem;
      background: #fff;
      box-shadow: 0 2rem 4rem rgba(5, 34, 19, .25);
      overflow: auto;
      animation: modalIn .18s ease-out;
    }

    @keyframes modalIn {
      from {
        opacity: 0;
        transform: translateY(1rem) scale(.98);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    .login-panel-head {
      min-height: 9rem;
      padding: 1.6rem 1.7rem;
      color: #fff;
      background:
        radial-gradient(circle at 88% 12%, rgba(229, 201, 129, .34), transparent 10rem),
        linear-gradient(145deg, #0b6233, #06391f);
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 1.2rem;
    }

    .login-panel-head h2 {
      margin: 0;
      font-family: var(--serif);
      font-size: 2.55rem;
      line-height: 1;
    }

    .login-panel-head p {
      margin: .55rem 0 0;
      color: rgba(255, 255, 255, .84);
      font-size: 1.14rem;
      line-height: 1.4;
    }

    .modal-close {
      width: 3.1rem;
      height: 3.1rem;
      border: 1px solid rgba(255, 255, 255, .28);
      border-radius: .75rem;
      background: rgba(255, 255, 255, .08);
      color: #fff;
      font-size: 2.1rem;
      line-height: 1;
    }

    .modal-close:hover {
      background: rgba(255, 255, 255, .16);
      transform: translateY(-1px);
    }

    .login-form {
      display: grid;
      gap: 1.05rem;
      padding: 1.6rem 1.7rem 1.75rem;
    }

    .login-form label {
      display: grid;
      gap: .55rem;
      color: #283a30;
      font-size: 1.1rem;
      font-weight: 800;
    }

    .login-form .input {
      height: 3.55rem;
    }

    .login-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      color: #526158;
      font-size: 1.05rem;
      font-weight: 700;
    }

    .remember {
      display: inline-flex;
      align-items: center;
      gap: .55rem;
    }

    .remember input {
      width: 1.4rem;
      height: 1.4rem;
      accent-color: var(--green-700);
    }

    .forgot-link {
      border: 0;
      padding: 0;
      background: transparent;
      color: var(--green-700);
      font-size: 1.05rem;
      font-weight: 800;
    }

    .login-submit {
      min-height: 3.55rem;
      border: 0;
      border-radius: .68rem;
      background: linear-gradient(180deg, #23803c, #0b5b2d);
      color: #fff;
      font-size: 1.28rem;
      font-weight: 800;
      box-shadow: 0 .8rem 1.6rem rgba(9, 92, 44, .18);
    }

    .login-submit:hover {
      background: linear-gradient(180deg, #2c9148, #0b6732);
      transform: translateY(-1px);
      box-shadow: 0 1rem 1.9rem rgba(9, 92, 44, .23);
    }

    .login-note {
      min-height: 2.6rem;
      display: none;
      align-items: center;
      border-radius: .62rem;
      padding: .55rem .8rem;
      background: #f0f8f1;
      color: var(--green-800);
      font-size: 1.05rem;
      font-weight: 800;
    }

    .login-note.is-visible {
      display: flex;
    }

    .counter {
      height: max(4.2rem, 44px);
      width: 16.5rem;
      max-width: 100%;
      display: grid;
      grid-template-columns: max(4.2rem, 44px) 1fr max(4.2rem, 44px);
      align-items: center;
      border: 1px solid #dce4df;
      border-radius: .72rem;
      overflow: hidden;
      background: #fff;
      transition: border-color .18s ease, box-shadow .18s ease;
    }

    .counter:hover {
      border-color: rgba(12, 100, 47, .35);
      box-shadow: 0 .35rem 1rem rgba(7, 80, 40, .06);
    }

    .counter button {
      height: 100%;
      border: 0;
      color: #a98543;
      background: #fbfaf6;
      font-size: 1.8rem;
      font-weight: 700;
      cursor: pointer;
    }

    .counter button:hover {
      background: #f2f8f3;
      color: var(--green-700);
    }

    .counter button:disabled {
      background: #f5f6f5;
      color: #aeb6b1;
      cursor: not-allowed;
    }

    .counter output {
      text-align: center;
      color: #2a3b30;
      font-size: 1.22rem;
      font-weight: 700;
    }

    .currency,
    .choice-toggle {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: .55rem;
    }

    .amount-options {
      grid-template-columns: repeat(3, 1fr);
    }

    .currency button,
    .choice-toggle button {
      min-height: 4.2rem;
      border: 1px solid #dce4df;
      border-radius: .72rem;
      background: #fff;
      color: #2b3c31;
      font-size: 1.14rem;
      font-weight: 700;
    }

    .currency button:hover,
    .choice-toggle button:hover {
      border-color: rgba(12, 100, 47, .42);
      color: var(--green-700);
      background: #fbfdfb;
      transform: translateY(-1px);
    }

    .currency button.active,
    .currency button[aria-pressed="true"],
    .choice-toggle button.active,
    .choice-toggle button[aria-checked="true"] {
      border-color: var(--green-700);
      color: var(--green-700);
      box-shadow: inset 0 0 0 1px rgba(24, 115, 58, .12);
      background: #fbfffb;
    }

    .check-control {
      min-height: 4.2rem;
      border: 1px solid #dce4df;
      border-radius: .72rem;
      background: #fff;
      display: flex;
      align-items: center;
      gap: .85rem;
      padding: 0 1.05rem;
      color: #2b3c31;
      font-size: 1.12rem;
      font-weight: 750;
      cursor: pointer;
      transition: border-color .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
    }

    .check-control:hover,
    .check-control:focus-within {
      border-color: rgba(12, 100, 47, .42);
      color: var(--green-700);
      background: #fbfdfb;
      box-shadow: 0 .35rem 1rem rgba(7, 80, 40, .06);
    }

    .check-control input {
      width: 1.65rem;
      height: 1.65rem;
      flex: none;
      accent-color: var(--green-700);
    }

    .field .zone-check-compact {
      width: fit-content;
      min-height: 44px;
      margin: .6rem 0 0;
      padding: 0 .8rem;
      border-color: #e0e9e2;
      background: #f7faf8;
      display: inline-flex;
      gap: .55rem;
      font-size: 1rem;
      font-weight: 700;
      line-height: 1.25;
    }

    .field .zone-check-compact[hidden] {
      display: none;
    }

    .field .zone-check-compact input {
      width: 1.4rem;
      height: 1.4rem;
      margin: 0;
    }

    .personal-title {
      margin-top: 2.25rem;
      padding-top: 1.65rem;
      border-top: 1px solid #e3ebe5;
      display: flex;
      align-items: center;
      gap: .85rem;
      color: var(--green-900);
      font-family: var(--serif);
      font-size: 2.11rem;
      font-weight: 700;
      line-height: 1;
    }

    .personal-title svg {
      color: var(--green-600);
      flex: none;
    }

    .personal-grid {
      display: grid;
      grid-template-columns: 1.35fr 1fr 1fr;
      gap: 1.45rem 1.55rem;
      margin-top: 1.25rem;
    }

    .contact-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.6fr);
      gap: 1.45rem 1.55rem;
      margin-top: 1.35rem;
    }

    .field.span-2 {
      grid-column: span 2;
    }

    .phone {
      display: grid;
      grid-template-columns: 10.8rem 1fr;
      padding: 0;
      overflow: visible;
      position: relative;
    }

    .country-menu {
      height: 100%;
      position: relative;
      z-index: 4;
    }

    .country {
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      gap: .72rem;
      padding: 0 .85rem 0 1.05rem;
      border-right: 1px solid #dce4df;
      border-top: 0;
      border-bottom: 0;
      border-left: 0;
      background: #fbfdfb;
      font-weight: 700;
      color: #314339;
    }

    .country:hover,
    .country-menu.open .country {
      color: var(--green-700);
      background: #f3faf4;
    }

    .country svg {
      margin-left: auto;
      transition: transform .18s ease;
    }

    .country-menu.open .country svg {
      transform: rotate(180deg);
    }

    .country-options {
      width: min(30rem, calc(100vw - 2.4rem));
      overflow: hidden;
      padding: .45rem;
      position: absolute;
      left: 0;
      top: calc(100% + .72rem);
      z-index: 50;
      border: 1px solid rgba(210, 225, 215, .95);
      border-radius: .9rem;
      background: rgba(255, 255, 255, .98);
      box-shadow: 0 1.3rem 2.5rem rgba(19, 52, 34, .16);
      opacity: 0;
      pointer-events: none;
      transform: translateY(-.5rem) scale(.98);
      transform-origin: top left;
      transition: opacity .18s ease, transform .18s ease;
    }

    .country-menu.open .country-options {
      opacity: 1;
      pointer-events: auto;
      transform: translateY(0) scale(1);
    }

    .country-search-wrap {
      padding: .2rem .2rem .55rem;
      position: sticky;
      top: 0;
      z-index: 2;
      background: rgba(255, 255, 255, .98);
    }

    .country-search {
      width: 100%;
      height: 3.15rem;
      border: 1px solid #dce4df;
      border-radius: .65rem;
      background: #fbfdfb;
      color: #26392f;
      padding: 0 .9rem;
      font-size: 1.08rem;
      font-weight: 700;
      outline: 0;
    }

    .country-search:focus {
      border-color: rgba(12, 100, 47, .45);
      box-shadow: 0 0 0 3px rgba(24, 115, 58, .1);
      background: #fff;
    }

    .country-list {
      max-height: 25rem;
      overflow: auto;
      display: grid;
      gap: .22rem;
      padding-right: .15rem;
    }

    .country-list button {
      width: 100%;
      min-height: 3.35rem;
      border: 0;
      border-radius: .65rem;
      background: transparent;
      display: grid;
      grid-template-columns: 2.05rem 1fr auto;
      align-items: center;
      gap: .8rem;
      padding: 0 .85rem;
      color: #26392f;
      font-size: 1.08rem;
      font-weight: 700;
      text-align: left;
    }

    .country-list button:hover,
    .country-list button[aria-selected="true"] {
      background: #f2f8f3;
      color: var(--green-700);
    }

    .country-list strong {
      color: var(--green-900);
      font-size: 1.05rem;
    }

    .country-empty {
      padding: 1rem;
      color: #78867d;
      font-size: 1.08rem;
      font-weight: 700;
      text-align: center;
    }

    .phone input {
      border: 0;
      min-width: 0;
      height: 100%;
      padding: 0 1.15rem;
      color: #758078;
      background: transparent;
    }

    .privacy-box {
      width: 100%;
      min-height: 3.65rem;
      max-width: none;
      margin-top: 1.35rem;
      border: 1px solid #efe4d2;
      border-radius: .78rem;
      background: linear-gradient(135deg, #fffdfa, #f7f1e8);
      display: flex;
      align-items: center;
      gap: 1rem;
      padding: .75rem 1.15rem;
      color: #756a5a;
      font-size: 1.04rem;
      font-weight: 700;
      line-height: 1.2;
    }

    .privacy-box span {
      min-width: 0;
      white-space: nowrap;
    }

    .privacy-box br {
      display: none;
    }

    .privacy-box svg {
      color: #d0a957;
      flex: none;
    }

    .traveler-extra-list {
      display: grid;
      gap: 1.35rem;
      margin-top: 1.35rem;
    }

    .traveler-card {
      border: 1px solid #e0ebe3;
      border-radius: .9rem;
      background: rgba(250, 253, 250, .88);
      padding: 1.25rem 1.35rem;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75);
    }

    .traveler-card-main {
      margin-top: 1.35rem;
    }

    .traveler-card h3 {
      margin: 0 0 .85rem;
      color: var(--green-900);
      font-family: var(--serif);
      font-size: 1.62rem;
      line-height: 1;
    }

    .traveler-card-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      margin-bottom: .85rem;
    }

    .traveler-card-head h3 {
      margin-bottom: 0;
    }

    .traveler-remove {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: .45rem;
      min-width: 4.75rem;
      min-height: 2.75rem;
      border: 1px solid #efc8c3;
      border-radius: .7rem;
      background: #fff;
      color: #a82a20;
      padding: .55rem .8rem;
      font: inherit;
      font-size: .9rem;
      font-weight: 700;
      cursor: pointer;
      transition: background-color .2s ease, border-color .2s ease, color .2s ease;
    }

    .traveler-remove:hover {
      border-color: #d99b94;
      background: #fff3f1;
      color: #851d15;
    }

    .traveler-remove:focus-visible {
      outline: 3px solid rgba(24, 105, 67, .28);
      outline-offset: 2px;
    }

    .traveler-remove svg {
      flex: none;
    }

    @media (prefers-reduced-motion: reduce) {
      .traveler-remove {
        transition: none;
      }
    }

    .sr-only {
      position: absolute !important;
      width: 1px !important;
      height: 1px !important;
      padding: 0 !important;
      margin: -1px !important;
      overflow: hidden !important;
      clip: rect(0, 0, 0, 0) !important;
      white-space: nowrap !important;
      border: 0 !important;
    }

    .traveler-card .personal-grid {
      margin-top: 0;
      grid-template-columns: 1.35fr 1fr 1fr;
    }

    .passport-lookup {
      position: relative;
    }

    .passport-suggestions {
      position: absolute;
      z-index: 55;
      top: calc(100% + .35rem);
      left: 0;
      right: 0;
      max-height: 14rem;
      overflow-y: auto;
      border: 1px solid #dce4df;
      border-radius: .72rem;
      background: #fff;
      box-shadow: 0 1rem 2.2rem rgba(15, 55, 35, .14);
      padding: .45rem;
    }

    .passport-suggestions[hidden] {
      display: none;
    }

    .passport-suggestion {
      width: 100%;
      min-height: 3rem;
      border: 0;
      border-radius: .55rem;
      background: transparent;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: .8rem;
      padding: .6rem .75rem;
      color: #2b3c31;
      font: inherit;
      text-align: left;
      cursor: pointer;
    }

    .passport-suggestion:hover,
    .passport-suggestion:focus-visible {
      outline: none;
      background: #eef7f0;
      color: var(--green-700);
    }

    .passport-suggestion strong,
    .passport-suggestion span {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .passport-suggestion strong {
      flex: none;
      font-weight: 850;
    }

    .purpose-card {
      margin-top: 1.6rem;
      padding-top: 1.55rem;
      border-top: 1px solid #e3ebe5;
      position: relative;
    }

    .purpose-title {
      margin: 0;
      color: var(--green-900);
      font-family: var(--serif);
      font-size: 2.08rem;
      line-height: 1.05;
    }

    .purpose-title span {
      color: #728078;
      font-family: var(--sans);
      font-size: 1.08rem;
      font-weight: 700;
    }

    .purpose-radio-list {
      display: grid;
      gap: .8rem;
      margin-top: 1.1rem;
    }

    .purpose-radio {
      min-height: 4.2rem;
      border: 1px solid #dce4df;
      border-radius: .72rem;
      background: #fff;
      display: grid;
      grid-template-columns: 1.8rem minmax(0, 1fr);
      align-items: flex-start;
      gap: .9rem;
      padding: 1rem 1.05rem;
      color: #2b3c31;
      font-size: 1.12rem;
      line-height: 1.38;
      font-weight: 750;
      cursor: pointer;
      transition: border-color .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
    }

    .purpose-radio:hover,
    .purpose-radio:focus-within {
      border-color: rgba(12, 100, 47, .42);
      color: var(--green-700);
      background: #fbfdfb;
      box-shadow: 0 .35rem 1rem rgba(7, 80, 40, .06);
    }

    .purpose-radio input {
      width: 1.55rem;
      height: 1.55rem;
      margin: .1rem 0 0;
      accent-color: var(--green-700);
    }

    .w-100 {
      width: 100%;
    }

    .purpose-select {
      min-height: 3.6rem;
      margin-top: 1rem;
      border: 1px solid #dce4df;
      border-radius: .72rem;
      background-color: #fff;
      color: #2b3c31;
      appearance: none;
      padding: .75rem 3.2rem .75rem 1rem;
      font-size: 1.13rem;
      font-weight: 800;
      line-height: 1.35;
      white-space: normal;
      transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
    }

    .custom-arrow {
      background:
        linear-gradient(45deg, transparent 50%, #68756f 50%) right 1.35rem center / .58rem .58rem no-repeat,
        linear-gradient(135deg, #68756f 50%, transparent 50%) right .98rem center / .58rem .58rem no-repeat,
        #fff;
    }

    .with-shadow {
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72), 0 .55rem 1.2rem rgba(7, 80, 40, .055);
    }

    .purpose-select:hover,
    .purpose-select:focus {
      border-color: rgba(12, 100, 47, .42) !important;
      color: var(--green-800);
      box-shadow: 0 0 0 3px rgba(24, 115, 58, .11), 0 .65rem 1.35rem rgba(7, 80, 40, .08);
      outline: 0;
    }

    .terms-check {
      margin-top: 1.45rem;
      border: 1px solid #e1eadf;
      border-radius: .78rem;
      background: #fbfdfb;
      display: grid;
      grid-template-columns: 1.65rem minmax(0, 1fr);
      align-items: flex-start;
      gap: .85rem;
      padding: .95rem 1.05rem;
      color: #35463b;
      font-size: 1.12rem;
      line-height: 1.4;
      font-weight: 700;
      cursor: pointer;
    }

    .terms-check:hover {
      border-color: rgba(12, 100, 47, .35);
      background: #f8fcf9;
    }

    .terms-check input {
      width: 1.45rem;
      height: 1.45rem;
      margin: .15rem 0 0;
      accent-color: var(--green-700);
    }

    .terms-check a {
      color: var(--green-700);
      font-weight: 800;
      text-decoration: none;
      border-bottom: 1px solid rgba(12, 100, 47, .3);
    }

    .terms-check a:hover {
      color: var(--green-900);
      border-bottom-color: currentColor;
    }

    /* Policy form readability: keep the three section headings unchanged. */
    .quote-card .insurance-product-copy strong {
      font-size: 1.36rem;
    }

    .quote-card .insurance-product-copy small {
      font-size: 1.18rem;
    }

    .quote-card .restricted-edit-note {
      font-size: 1.25rem;
    }

    .quote-card .form-alert {
      font-size: 1.28rem;
    }

    .quote-card .domestic-policy-fact span {
      font-size: 1.14rem;
    }

    .quote-card .domestic-policy-fact strong {
      font-size: 1.39rem;
    }

    .quote-card .field label,
    .quote-card .field-label,
    .quote-card .counter-label {
      font-size: 1.31rem;
    }

    .quote-card .input,
    .quote-card .select,
    .quote-card .phone {
      font-size: 1.38rem;
    }

    .quote-card .counter output {
      font-size: 1.44rem;
    }

    .quote-card .currency button,
    .quote-card .choice-toggle button {
      font-size: 1.36rem;
    }

    .quote-card .check-control {
      font-size: 1.34rem;
    }

    .quote-card .field .zone-check-compact {
      font-size: 1.2rem;
    }

    .quote-card .country-search,
    .quote-card .country-list button,
    .quote-card .country-empty {
      font-size: 1.28rem;
    }

    .quote-card .country-list strong {
      font-size: 1.25rem;
    }

    .quote-card .privacy-box {
      font-size: 1.26rem;
    }

    .quote-card .traveler-card h3 {
      font-size: 1.84rem;
    }

    .quote-card .traveler-remove {
      font-size: 1.1rem;
    }

    .quote-card .purpose-radio {
      font-size: 1.34rem;
    }

    .quote-card .purpose-select {
      font-size: 1.35rem;
    }

    .quote-card .terms-check {
      font-size: 1.34rem;
    }

    .rules-modal {
      position: fixed;
      inset: 0;
      z-index: 220;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 2rem;
      background: rgba(4, 28, 16, .48);
      backdrop-filter: blur(8px);
    }

    .rules-modal.is-open {
      display: flex;
      animation: modalFade .16s ease-out;
    }

    .rules-panel {
      width: min(92rem, 100%);
      max-height: calc(100dvh - 4rem);
      border: 1px solid rgba(217, 230, 220, .98);
      border-radius: 1.1rem;
      background: #fff;
      box-shadow: 0 2rem 4.4rem rgba(5, 34, 19, .28);
      display: flex;
      flex-direction: column;
      overflow: hidden;
      animation: modalIn .18s ease-out;
    }

    .rules-head {
      min-height: 6.4rem;
      padding: 1.25rem 1.45rem;
      color: #fff;
      background:
        radial-gradient(circle at 92% 10%, rgba(229, 201, 129, .28), transparent 10rem),
        linear-gradient(145deg, #0b6233, #06391f);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
    }

    .rules-head h2 {
      margin: 0;
      font-family: var(--serif);
      font-size: 2.45rem;
      line-height: 1.05;
    }

    .rules-body {
      padding: 1.55rem 1.65rem 1.75rem;
      overflow: auto;
      color: #2c3e34;
      font-size: 1.16rem;
      line-height: 1.65;
    }

    .rules-body.is-loading,
    .rules-body.is-error {
      min-height: 16rem;
      display: grid;
      place-items: center;
      color: #6e7a72;
      font-weight: 800;
      text-align: center;
    }

    .rules-body h1,
    .rules-body h2,
    .rules-body h3,
    .rules-body strong {
      color: var(--green-900);
    }

    .rules-body p {
      margin: 0 0 1rem;
    }

    .rules-body table {
      width: 100% !important;
      max-width: 100%;
      margin: 1rem 0;
      border-collapse: collapse;
      table-layout: auto;
      font-size: 1.04rem;
    }

    .rules-body td,
    .rules-body th {
      border-color: #d8e4dc;
      padding: .65rem .7rem;
      vertical-align: top;
    }

    .rules-body img {
      max-width: 100%;
      height: auto;
    }

    .calc-button,
    .page-submit {
      min-height: 4.2rem;
      width: 100%;
      margin-top: 1.45rem;
      position: relative;
      border: 0;
      border-radius: .66rem;
      color: #fff;
      background: linear-gradient(180deg, #23803c, #0b5b2d);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18);
      display: flex;
      align-items: center;
      justify-content: center;
      gap: .75rem;
      font-size: 1.42rem;
      font-weight: 800;
    }

    .calc-button:hover,
    .page-submit:hover {
      background: linear-gradient(180deg, #2c9148, #0b6732);
      box-shadow: 0 .95rem 1.9rem rgba(9, 92, 44, .22), inset 0 1px 0 rgba(255, 255, 255, .22);
      transform: translateY(-1px);
    }

    .calc-button:disabled {
      background: linear-gradient(180deg, #9db4a4, #7f9787);
      color: rgba(255, 255, 255, .82);
      box-shadow: none;
      opacity: .78;
    }

    .calc-button:disabled:hover {
      transform: none;
      box-shadow: none;
    }

    .calc-button:active,
    .page-submit:active,
    .login:active,
    .help-cta:active,
    .more-faq:active {
      transform: translateY(0);
    }

    .calc-button .arrow,
    .page-submit .arrow {
      position: absolute;
      right: 2.25rem;
      font-size: 1.86rem;
      line-height: 1;
    }

    .why-strip {
      min-height: 7.35rem;
      margin-top: 2.2rem;
      border: 1px solid var(--line);
      border-radius: 1.02rem;
      background: rgba(255, 255, 255, .88);
      box-shadow: 0 .65rem 1.8rem rgba(23, 52, 37, .04);
      display: grid;
      grid-template-columns: 17rem repeat(4, minmax(0, 1fr));
      align-items: center;
      gap: 2.05rem;
      padding: 1.5rem 2.2rem;
    }

    .why-title {
      color: var(--green-900);
      font-family: var(--serif);
      font-size: 3.08rem;
      font-weight: 700;
      line-height: 1.05;
    }

    .why-item {
      display: grid;
      grid-template-columns: 4.9rem minmax(0, 1fr);
      align-items: center;
      gap: 1.2rem;
      min-width: 0;
    }

    .why-icon {
      width: 4.7rem;
      height: 4.7rem;
      flex: none;
      color: var(--green-800);
      display: grid;
      place-items: center;
    }

    .why-icon svg {
      width: 100%;
      height: 100%;
    }

    .why-item strong {
      display: block;
      color: var(--green-900);
      font-size: 1.44rem;
      line-height: 1.15;
      margin-bottom: .36rem;
    }

    .why-copy {
      min-width: 0;
    }

    .why-copy span {
      display: block;
      color: #3f4f45;
      font-size: 1.18rem;
      font-weight: 500;
      line-height: 1.32;
    }

    .content-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1.075fr);
      gap: 3.5rem;
      margin-top: 2rem;
    }

    .content-grid.single {
      grid-template-columns: 1fr;
    }

    .content-grid.single .info-card {
      min-height: 20rem;
    }

    .info-card,
    .extra-card,
    .faq-card,
    .help-card {
      border: 1px solid var(--line);
      border-radius: .9rem;
      background: rgba(255, 255, 255, .9);
      box-shadow: 0 .65rem 1.75rem rgba(15, 50, 30, .035);
    }

    .info-card {
      min-height: 21.3rem;
      padding: 1.8rem 2rem 1.4rem;
      position: relative;
      overflow: hidden;
    }

    .card-heading {
      margin: 0 0 1.3rem;
      color: var(--green-900);
      font-family: var(--serif);
      font-weight: 700;
      line-height: 1.08;
      font-size: 3.12rem;
    }

    .info-card p,
    .extra-card p {
      margin: 0;
      color: #465449;
      font-size: 1.26rem;
      line-height: 1.42;
      font-weight: 500;
    }

    .benefits {
      list-style: none;
      padding: 0;
      margin: 1.35rem 0 0;
      display: grid;
      gap: .78rem;
      width: 60%;
    }

    .benefits li {
      display: flex;
      align-items: center;
      gap: .72rem;
      color: #314237;
      font-size: 1.23rem;
      font-weight: 600;
    }

    .check-dot {
      width: 1.6rem;
      height: 1.6rem;
      border-radius: 50%;
      flex: none;
      color: #fff;
      background: #55a65a;
      display: grid;
      place-items: center;
      font-size: 1rem;
    }

    .travel-art {
      width: 22.8rem;
      height: 13.5rem;
      position: absolute;
      right: -.8rem;
      bottom: .2rem;
      background: url("../img/new_site.png") -26.2rem -89.2rem / 108.6rem 144.8rem no-repeat;
      filter: saturate(1.02);
    }

    .travel-assistance {
      margin-top: 1.7rem;
    }

    .travel-assistance-card {
      border: 1px solid var(--line);
      border-radius: .9rem;
      background:
        linear-gradient(90deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .9)),
        linear-gradient(135deg, rgba(240, 208, 123, .14), rgba(12, 100, 47, .08));
      box-shadow: 0 .7rem 1.8rem rgba(15, 50, 30, .045);
      display: grid;
      grid-template-columns: minmax(20rem, .78fr) minmax(0, 1.35fr) minmax(21rem, .72fr);
      gap: 2rem;
      align-items: center;
      padding: 1.65rem 1.8rem;
    }

    .section-kicker {
      display: inline-flex;
      min-height: 2.2rem;
      align-items: center;
      border: 1px solid rgba(12, 100, 47, .16);
      border-radius: 99rem;
      background: #f6fbf7;
      color: var(--green-700);
      padding: 0 .9rem;
      font-size: 1rem;
      font-weight: 900;
      text-transform: uppercase;
    }

    .travel-assistance-card h2 {
      margin: .8rem 0 0;
      color: var(--green-900);
      font-family: var(--serif);
      font-size: 2.75rem;
      line-height: 1.04;
    }

    .travel-assistance-copy {
      display: grid;
      gap: .8rem;
    }

    .travel-assistance-copy p {
      margin: 0;
      color: #405247;
      font-size: 1.2rem;
      line-height: 1.55;
      font-weight: 600;
    }

    .travel-alert {
      min-height: 10rem;
      border: 1px solid rgba(200, 163, 94, .36);
      border-radius: .82rem;
      background: linear-gradient(135deg, #fffaf0, #f7efd9);
      display: grid;
      align-content: center;
      gap: .55rem;
      padding: 1.15rem;
      color: #645235;
    }

    .travel-alert strong {
      color: #9a6d17;
      font-size: 1.1rem;
      font-weight: 900;
      letter-spacing: 0;
    }

    .travel-alert span {
      color: #675d4c;
      font-size: 1.08rem;
      line-height: 1.35;
      font-weight: 700;
    }

    .travel-alert a {
      color: var(--green-900);
      font-size: 1.95rem;
      line-height: 1;
      font-weight: 900;
      text-decoration: none;
      white-space: nowrap;
    }

    .travel-alert a:hover {
      color: var(--green-700);
    }

    .extra-card {
      min-height: 21.3rem;
      padding: 1.8rem 1.55rem 1.45rem;
    }

    .extra-card .card-heading {
      margin-bottom: 1rem;
    }

    .coverage-grid {
      margin-top: 1.2rem;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: .9rem;
    }

    .coverage {
      min-height: 4.45rem;
      border: 1px solid #dfe7df;
      border-radius: .62rem;
      background: #fff;
      color: #2f4035;
      display: flex;
      align-items: flex-start;
      gap: .8rem;
      padding: 1rem .9rem;
      font-size: 1.19rem;
      line-height: 1.2;
      font-weight: 700;
      text-align: left;
    }

    .coverage:hover {
      border-color: rgba(12, 100, 47, .35);
      background: #fbfffb;
      box-shadow: 0 .65rem 1.45rem rgba(13, 86, 45, .08);
      transform: translateY(-1px);
    }

    .coverage.active {
      border-color: rgba(12, 100, 47, .55);
      background: #f7fcf8;
      color: var(--green-800);
      box-shadow: inset 0 0 0 1px rgba(24, 115, 58, .08);
    }

    .box {
      width: 1.4rem;
      height: 1.4rem;
      border: 1.6px solid #73b178;
      border-radius: .24rem;
      flex: none;
      margin-top: .1rem;
      background: #fff;
      position: relative;
    }

    .coverage.active .box::after {
      content: "";
      width: .65rem;
      height: .38rem;
      border-left: 2px solid #0f6d34;
      border-bottom: 2px solid #0f6d34;
      transform: rotate(-45deg);
      position: absolute;
      left: .25rem;
      top: .28rem;
    }

    .notice {
      min-height: 3.95rem;
      margin-top: 1.7rem;
      border-radius: .72rem;
      background: linear-gradient(90deg, #fff8ec, #f5ead7);
      color: #81715c;
      display: flex;
      align-items: center;
      gap: .85rem;
      padding: .8rem 1.15rem;
      font-size: 1.14rem;
      font-weight: 700;
    }

    .notice svg {
      width: 2rem;
      height: 2rem;
      color: #d2a64c;
      flex: none;
    }

    .lower-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1.075fr);
      gap: 3.5rem;
      margin-top: 1.7rem;
    }

    .faq-card {
      min-height: 16.1rem;
      padding: 1.55rem 1.55rem 1.35rem;
    }

    .faq-card .card-heading {
      font-size: 2.6rem;
      margin-bottom: 1rem;
    }

    .faq-list {
      display: grid;
      gap: .35rem;
    }

    .faq-item {
      border: 1px solid #e5ece7;
      border-radius: .32rem;
      background: #fff;
      overflow: hidden;
    }

    .faq-question {
      min-height: 2.1rem;
      width: 100%;
      border: 0;
      background: transparent;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: .45rem 1.2rem;
      color: #33443a;
      font-size: 1.18rem;
      font-weight: 700;
      text-align: left;
    }

    .faq-question:hover {
      background: #f7fbf8;
      color: var(--green-800);
    }

    .faq-question svg {
      width: 1.65rem;
      height: 1.65rem;
      flex: none;
      color: var(--green-700);
      transition: transform .2s ease;
    }

    .faq-item.open .faq-question svg {
      transform: rotate(180deg);
    }

    .faq-answer {
      display: none;
      padding: 0 1.2rem .85rem;
      color: #596760;
      font-size: 1.17rem;
      line-height: 1.45;
    }

    .faq-item.open .faq-answer {
      display: block;
    }

    .more-faq {
      width: 100%;
      min-height: 2.12rem;
      padding: .35rem .8rem;
      margin-top: .75rem;
      border: 1px solid #d7e1d9;
      border-radius: .35rem;
      background: #fff;
      color: var(--green-800);
      font-size: 1.31rem;
      font-weight: 800;
    }

    .more-faq:hover {
      border-color: rgba(12, 100, 47, .45);
      background: #f8fcf9;
      color: var(--green-700);
      box-shadow: 0 .45rem 1rem rgba(7, 80, 40, .07);
    }

    .help-card {
      min-height: 16.1rem;
      padding: 2rem 2.2rem;
      overflow: hidden;
      position: relative;
      color: #fff;
      background:
        radial-gradient(circle at 95% 0, rgba(33, 127, 68, .82), transparent 29%),
        linear-gradient(145deg, #0a5d30 0%, #05391f 100%);
      border-color: transparent;
      box-shadow: 0 1.2rem 2.7rem rgba(9, 71, 37, .2);
    }

    .help-card::after {
      content: "";
      width: 22rem;
      height: 12rem;
      position: absolute;
      right: 2.4rem;
      top: 2.1rem;
      background: url("../img/new_site.png") -75.6rem -107.2rem / 108.6rem 144.8rem no-repeat;
      opacity: .83;
      filter: saturate(1.1);
    }

    .help-content {
      width: 62%;
      position: relative;
      z-index: 2;
    }

    .help-title {
      display: flex;
      align-items: center;
      gap: 1rem;
      margin: 0 0 .7rem;
      font-family: var(--serif);
      font-size: 2.74rem;
      font-weight: 700;
      line-height: 1;
    }

    .help-title svg {
      width: 4.25rem;
      height: 4.25rem;
      flex: none;
    }

    .help-card p {
      margin: 0 0 1.3rem;
      font-size: 1.2rem;
      line-height: 1.45;
      font-weight: 500;
      color: rgba(255, 255, 255, .88);
    }

    .phone-big {
      color: var(--gold-2);
      font-size: 2.49rem;
      font-weight: 800;
      letter-spacing: .02rem;
      white-space: nowrap;
    }

    .time-row {
      margin-top: 1rem;
      display: flex;
      align-items: center;
      gap: .55rem;
      color: rgba(255, 255, 255, .86);
      font-size: 1.12rem;
      font-weight: 700;
    }

    .time-row svg {
      width: 1.65rem;
      height: 1.65rem;
      flex: none;
    }

    .help-cta {
      min-height: 2.7rem;
      min-width: 13.3rem;
      padding: .4rem 1.4rem;
      margin-top: 1.35rem;
      border: 0;
      border-radius: .52rem;
      color: #315021;
      background: linear-gradient(180deg, #f1d88e, #d6b15e);
      font-size: 1.37rem;
      font-weight: 800;
      box-shadow: 0 .7rem 1.5rem rgba(0, 0, 0, .18);
    }

    .help-cta:hover {
      background: linear-gradient(180deg, #f6df9b, #e0bd69);
      box-shadow: 0 .9rem 1.8rem rgba(0, 0, 0, .23);
      transform: translateY(-1px);
    }

    .trust-row {
      min-height: 5.7rem;
      margin-top: 1.35rem;
      padding: 1.1rem 0;
      border-top: 1px solid #e5ece7;
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      align-items: center;
      gap: 1.5rem;
    }

    .trust-item {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 1rem;
      min-width: 0;
      color: #33483c;
      font-size: 1.2rem;
      line-height: 1.2;
      font-weight: 700;
    }

    .trust-item svg {
      width: 3.8rem;
      height: 3.8rem;
      color: var(--green-700);
      flex: none;
    }

    .page-hero {
      min-height: 24rem;
      position: relative;
      overflow: hidden;
      background:
        linear-gradient(90deg, rgba(251, 253, 251, .98), rgba(251, 253, 251, .84) 48%, rgba(251, 253, 251, .3)),
        url("../img/hero-travel-insurance.png") right center / auto 132% no-repeat,
        linear-gradient(105deg, #fff 0%, #f4faf7 46%, #dceeed 100%);
    }

    .page-hero::after {
      content: "";
      width: 64rem;
      height: 9rem;
      position: absolute;
      right: -12rem;
      bottom: -6.7rem;
      border-radius: 100% 0 0 0;
      background: #fff;
      opacity: .9;
      transform: rotate(7deg);
    }

    .page-hero-inner {
      min-height: 24rem;
      position: relative;
      z-index: 2;
      display: flex;
      align-items: center;
    }

    .page-hero-inner > div {
      width: min(54rem, 100%);
    }

    .page-kicker {
      display: inline-flex;
      margin-bottom: .75rem;
      color: #ad8644;
      font-size: 1.1rem;
      font-weight: 900;
      text-transform: uppercase;
      letter-spacing: .06em;
    }

    .page-hero h1 {
      margin: 0;
      color: var(--green-900);
      font-family: var(--serif);
      font-size: 5.2rem;
      line-height: .98;
    }

    .page-hero p {
      width: min(48rem, 100%);
      margin: 1.2rem 0 0;
      color: #596861;
      font-size: 1.5rem;
      line-height: 1.55;
      font-weight: 600;
    }

    .page-link-button {
      min-height: 3.35rem;
      margin-top: 1.6rem;
      padding: 0 1.35rem;
      border-radius: .66rem;
      color: #fff;
      background: linear-gradient(180deg, #23803c, #0b5b2d);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 1.18rem;
      font-weight: 900;
      text-decoration: none;
      box-shadow: 0 .75rem 1.5rem rgba(8, 86, 42, .16);
    }

    .page-link-button:hover {
      transform: translateY(-1px);
      background: linear-gradient(180deg, #2c9148, #0b6732);
      box-shadow: 0 1rem 1.8rem rgba(8, 86, 42, .22);
    }

    .contact-page-grid {
      display: grid;
      grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
      gap: 2rem;
      margin-top: 2rem;
      margin-bottom: 2.2rem;
    }

    .contact-panel {
      border: 1px solid rgba(214, 228, 220, .98);
      border-radius: 1rem;
      background: #fff;
      padding: 1.65rem;
      box-shadow: 0 1rem 2.2rem rgba(26, 55, 40, .08);
    }

    .contact-panel h2 {
      margin: 0 0 1.3rem;
      color: var(--green-900);
      font-family: var(--serif);
      font-size: 2.55rem;
      line-height: 1;
    }

    .contact-method {
      min-height: 5.2rem;
      border: 1px solid #e4ece6;
      border-radius: .78rem;
      display: grid;
      grid-template-columns: 3.5rem minmax(0, 1fr);
      align-items: center;
      gap: 1rem;
      padding: .9rem 1rem;
      background: #fbfdfb;
    }

    .contact-method + .contact-method {
      margin-top: .8rem;
    }

    .contact-method-icon {
      width: 3.45rem;
      height: 3.45rem;
      border: 1px solid #c9decf;
      border-radius: 50%;
      display: grid;
      place-items: center;
      color: var(--green-700);
      background: #fff;
    }

    .contact-method strong,
    .contact-method span {
      display: block;
    }

    .contact-method strong {
      color: var(--green-900);
      font-size: 1.2rem;
      font-weight: 900;
    }

    .contact-method div > span {
      margin-top: .25rem;
      color: #596861;
      font-size: 1.12rem;
      font-weight: 700;
      line-height: 1.35;
    }

    .contact-form {
      display: grid;
      gap: 1rem;
    }

    .contact-form h2 {
      margin-bottom: .2rem;
    }

    .contact-textarea {
      min-height: 11rem;
      resize: vertical;
      padding-top: 1rem;
      line-height: 1.45;
    }

    .contact-submit {
      margin-top: .25rem;
    }

    .inner-page {
      padding-bottom: 3rem;
    }

    .page-surface-hero {
      min-height: 32rem;
      position: relative;
      overflow: hidden;
      background-size: cover;
      background-position: center;
    }

    .page-surface-hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .9) 32%, rgba(255, 255, 255, .2) 64%, rgba(255, 255, 255, 0) 100%);
      z-index: 1;
    }

    .about-hero {
      background-image: url("../img/page-about-hero.png");
      background-position: center;
    }

    .about-hero-inner {
      min-height: 32rem;
      position: relative;
      z-index: 2;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: center;
    }

    .page-pill {
      height: 3rem;
      padding: 0 1.25rem;
      border: 1px solid #e0ebe3;
      border-radius: 99rem;
      background: rgba(255, 255, 255, .92);
      color: var(--green-800);
      display: inline-flex;
      align-items: center;
      gap: .65rem;
      font-size: 1.18rem;
      font-weight: 900;
      box-shadow: 0 .8rem 1.7rem rgba(19, 52, 34, .08);
    }

    .about-hero h1,
    .contact-hero-modern h1,
    .services-hero-modern h1 {
      margin: 1.45rem 0 0;
      font-family: var(--serif);
      font-size: clamp(4.8rem, 6vw, 6.9rem);
      line-height: .98;
      letter-spacing: 0;
    }

    .about-hero h1 {
      color: var(--green-900);
    }

    .about-hero p {
      width: min(44rem, 100%);
      margin: 1.35rem 0 0;
      color: #4f5f56;
      font-size: 1.4rem;
      line-height: 1.65;
      font-weight: 600;
    }

    .page-center-copy {
      padding: 2rem 0 1.4rem;
      text-align: center;
    }

    .page-center-copy h2,
    .about-why h2,
    .page-section-title h2,
    .process-section h2 {
      margin: 0;
      color: var(--green-900);
      font-family: var(--serif);
      font-size: 3rem;
      line-height: 1.05;
    }

    .page-center-copy h2::after,
    .about-why h2::after,
    .page-section-title h2::after {
      content: "";
      width: 4.2rem;
      height: .18rem;
      margin: .75rem auto 0;
      border-radius: 99rem;
      display: block;
      background: var(--green-700);
    }

    .page-center-copy p {
      width: min(70rem, 100%);
      margin: 1rem auto 0;
      color: #5e6c64;
      font-size: 1.22rem;
      line-height: 1.65;
      font-weight: 600;
    }

    .about-stats {
      min-height: 11.8rem;
      border: 1px solid #dfe8df;
      border-radius: .9rem;
      background: #fff;
      box-shadow: 0 1rem 2.1rem rgba(30, 56, 42, .12);
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      align-items: center;
      margin-top: 1.4rem;
      overflow: hidden;
    }

    .about-stat {
      min-height: 9rem;
      display: grid;
      place-items: center;
      align-content: center;
      gap: .35rem;
      color: var(--green-800);
      position: relative;
    }

    .about-stat + .about-stat::before {
      content: "";
      width: 1px;
      height: 5.6rem;
      position: absolute;
      left: 0;
      top: 50%;
      transform: translateY(-50%);
      background: #dfe8df;
    }

    .about-stat strong {
      color: var(--green-900);
      font-family: var(--serif);
      font-size: 3rem;
      line-height: .95;
    }

    .about-stat span {
      color: #536259;
      font-size: 1.15rem;
      font-weight: 700;
    }

    .mission-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.8rem;
      margin-top: 2.4rem;
    }

    .mission-card {
      min-height: 12rem;
      border: 1px solid #d9e8df;
      border-radius: .85rem;
      background: linear-gradient(135deg, #f9fcfa, #eef7f1);
      display: grid;
      grid-template-columns: 10rem 1fr;
      align-items: center;
      gap: 1.25rem;
      padding: 1.45rem 2rem;
      box-shadow: 0 .8rem 1.8rem rgba(24, 72, 42, .06);
    }

    .mission-icon {
      width: 8rem;
      height: 8rem;
      border-radius: 50%;
      color: var(--green-700);
      background: #fff;
      display: grid;
      place-items: center;
      box-shadow: 0 .9rem 1.8rem rgba(20, 63, 34, .12);
    }

    .mission-card h3 {
      margin: 0;
      color: var(--green-900);
      font-family: var(--serif);
      font-size: 2.45rem;
      line-height: 1;
    }

    .mission-card p {
      margin: .75rem 0 0;
      color: #506158;
      font-size: 1.2rem;
      font-weight: 600;
      line-height: 1.6;
    }

    .about-why {
      margin-top: 2rem;
      text-align: center;
    }

    .about-why-grid {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 1.3rem;
      margin-top: 1.6rem;
      text-align: left;
    }

    .about-why-grid > div {
      min-height: 9.4rem;
      border-right: 1px solid #dfe8df;
      padding: 0 1.25rem;
    }

    .about-why-grid > div:last-child {
      border-right: 0;
    }

    .mini-icon {
      width: 3.65rem;
      height: 3.65rem;
      border-radius: 50%;
      color: var(--green-700);
      background: #edf7f0;
      display: grid;
      place-items: center;
      margin-bottom: .65rem;
    }

    .about-why strong {
      display: block;
      color: var(--green-900);
      font-size: 1.16rem;
      font-weight: 900;
    }

    .about-why p {
      margin: .75rem 0 0;
      color: #64736a;
      font-size: 1.05rem;
      line-height: 1.55;
      font-weight: 600;
    }

    .partner-strip {
      min-height: 5.5rem;
      margin-top: 1.8rem;
      border: 1px solid #dfe8df;
      border-radius: .85rem;
      background: #fff;
      display: grid;
      grid-template-columns: 1.5fr repeat(5, 1fr);
      align-items: center;
      gap: 1.1rem;
      padding: 0 1.6rem;
      box-shadow: 0 .7rem 1.6rem rgba(30, 56, 42, .07);
    }

    .partner-strip strong {
      color: var(--green-900);
      font-size: 1.24rem;
      font-weight: 900;
    }

    .partner-strip span {
      color: #154476;
      font-size: 1.65rem;
      font-weight: 900;
      text-align: center;
      letter-spacing: -.02em;
    }

    .team-cta {
      min-height: 15rem;
      margin-top: 1.55rem;
      border: 1px solid #dce8df;
      border-radius: .95rem;
      overflow: hidden;
      background:
        linear-gradient(90deg, rgba(247, 252, 249, .98) 0%, rgba(247, 252, 249, .93) 38%, rgba(247, 252, 249, .1) 62%),
        url("../img/page-about-team.png") right center / auto 116% no-repeat,
        #f7fcf9;
    }

    .team-copy {
      width: min(37rem, 100%);
      padding: 2rem 2.7rem;
    }

    .team-copy h2 {
      margin: 0;
      color: var(--green-900);
      font-family: var(--serif);
      font-size: 2.75rem;
      line-height: 1.02;
    }

    .team-copy p {
      margin: 1rem 0 0;
      color: #53645a;
      font-size: 1.16rem;
      line-height: 1.55;
      font-weight: 650;
    }

    .contact-hero-modern,
    .services-hero-modern {
      min-height: 29rem;
      position: relative;
      overflow: hidden;
      color: #fff;
      background-position: center;
      background-size: cover;
    }

    .contact-hero-modern {
      background-image:
        linear-gradient(90deg, rgba(2, 62, 33, .92) 0%, rgba(2, 62, 33, .75) 38%, rgba(2, 62, 33, .1) 67%),
        url("../img/page-contact-hero.png");
    }

    .services-hero-modern {
      background-image:
        linear-gradient(90deg, rgba(2, 62, 33, .96) 0%, rgba(2, 62, 33, .78) 42%, rgba(2, 62, 33, .12) 67%),
        url("../img/page-services-hero.png");
    }

    .contact-hero-copy,
    .services-hero-copy {
      min-height: 29rem;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
    }

    .contact-hero-modern h1,
    .services-hero-modern h1 {
      color: #fff;
      margin-top: 0;
    }

    .contact-hero-modern p,
    .services-hero-modern p {
      width: min(41rem, 100%);
      margin: 1.2rem 0 0;
      color: rgba(255, 255, 255, .9);
      font-size: 1.42rem;
      line-height: 1.55;
      font-weight: 600;
    }

    .hero-note,
    .service-hero-points {
      margin-top: 2.2rem;
      display: inline-flex;
      align-items: center;
      gap: .8rem;
      color: #fff;
      font-size: 1.18rem;
      font-weight: 800;
    }

    .breadcrumb-line {
      display: flex;
      align-items: center;
      gap: 1rem;
      margin-bottom: 1.5rem;
      color: rgba(255, 255, 255, .9);
      font-size: 1.12rem;
      font-weight: 800;
    }

    .service-hero-points {
      gap: 2.2rem;
      flex-wrap: wrap;
    }

    .service-hero-points span {
      display: inline-flex;
      align-items: center;
      gap: .75rem;
    }

    .contact-info-row {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 1.45rem;
      margin-top: -3.4rem;
      position: relative;
      z-index: 2;
    }

    .contact-info-row article,
    .help-list-card,
    .contact-form-card,
    .map-card,
    .emergency-card,
    .service-card-grid article,
    .service-promo,
    .policy-stats,
    .policy-filters,
    .policy-table-card {
      border: 1px solid rgba(214, 228, 220, .98);
      border-radius: .9rem;
      background: #fff;
      box-shadow: 0 1rem 2.2rem rgba(26, 55, 40, .08);
    }

    .contact-info-row article {
      min-height: 11.8rem;
      padding: 1.55rem 1.65rem;
    }

    .contact-info-row article > span {
      width: 3.8rem;
      height: 3.8rem;
      border-radius: .65rem;
      color: #fff;
      background: linear-gradient(145deg, #0d7537, #064924);
      display: grid;
      place-items: center;
      box-shadow: 0 .8rem 1.5rem rgba(5, 83, 38, .18);
    }

    .contact-info-row h3 {
      margin: 1rem 0 .55rem;
      color: #1f3027;
      font-size: 1.12rem;
      font-weight: 900;
    }

    .contact-info-row strong {
      display: block;
      color: var(--green-700);
      font-size: 1.55rem;
      line-height: 1.2;
      font-weight: 900;
    }

    .contact-info-row p {
      margin: .85rem 0 0;
      color: #55645b;
      font-size: 1.06rem;
      line-height: 1.55;
      font-weight: 600;
    }

    .contact-main-grid,
    .contact-lower-grid {
      display: grid;
      gap: 1.7rem;
      margin-top: 2rem;
    }

    .contact-main-grid {
      grid-template-columns: minmax(0, .8fr) minmax(0, 1.15fr);
    }

    .help-list-card,
    .contact-form-card,
    .map-card,
    .emergency-card {
      padding: 1.75rem;
    }

    .help-list-card h2,
    .contact-form-card h2,
    .map-card h2 {
      margin: 0 0 1.4rem;
      color: #15261c;
      font-size: 1.75rem;
      line-height: 1.15;
    }

    .help-list-card a {
      min-height: 6.25rem;
      border: 1px solid #e1e8e3;
      border-radius: .45rem;
      color: #1f3027;
      text-decoration: none;
      display: grid;
      grid-template-columns: 3.4rem 1fr 1.4rem;
      gap: .9rem;
      padding: .85rem 1rem;
      transition: border-color .18s ease, background .18s ease, transform .18s ease;
    }

    .help-list-card a + a {
      margin-top: .4rem;
    }

    .help-list-card a:hover {
      border-color: rgba(12, 100, 47, .3);
      background: #fbfdfb;
      transform: translateX(.2rem);
    }

    .help-list-card a span {
      width: 3.2rem;
      height: 3.2rem;
      border-radius: .55rem;
      color: var(--green-700);
      background: #edf7f0;
      display: grid;
      place-items: center;
      grid-column: 1;
      grid-row: 1 / span 2;
      align-self: center;
    }

    .help-list-card strong,
    .help-list-card small {
      display: block;
      min-width: 0;
    }

    .help-list-card strong {
      grid-column: 2;
      grid-row: 1;
      align-self: end;
      font-size: 1.13rem;
      font-weight: 900;
    }

    .help-list-card small {
      grid-column: 2;
      grid-row: 2;
      align-self: start;
      margin-top: .25rem;
      color: #5c6a62;
      font-size: 1rem;
      line-height: 1.35;
      font-weight: 600;
    }

    .help-list-card b {
      grid-column: 3;
      grid-row: 1 / span 2;
      align-self: center;
      color: var(--green-800);
      font-size: 2rem;
      justify-self: end;
    }

    .contact-form-card p {
      margin: -.75rem 0 1.1rem;
      color: #66746c;
      font-size: 1.08rem;
      font-weight: 600;
    }

    .contact-form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1rem 1.2rem;
    }

    .contact-form-grid label {
      display: grid;
      gap: .55rem;
      color: #26382e;
      font-size: 1.08rem;
      font-weight: 900;
    }

    .contact-form-grid label > span {
      display: inline-flex;
      align-items: center;
      gap: .25rem;
      line-height: 1.2;
    }

    .contact-form-grid em {
      color: #d64040;
      font-style: normal;
    }

    .contact-form-grid .wide {
      grid-column: 1 / -1;
    }

    .form-bottom-note {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      margin-top: 1.1rem;
    }

    .form-bottom-note > span {
      display: inline-flex;
      align-items: center;
      gap: .55rem;
      color: #69776f;
      font-size: .98rem;
      font-weight: 700;
      line-height: 1.35;
    }

    .form-bottom-note .page-submit {
      width: 11rem;
      margin: 0;
      min-height: 3.15rem;
      flex: none;
    }

    .contact-lower-grid {
      grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    }

    .map-visual {
      height: 21rem;
      border: 1px solid #dce8df;
      border-radius: .7rem;
      position: relative;
      overflow: hidden;
      background: #eef2ef;
    }

    .map-visual::before,
    .map-visual::after {
      display: none;
    }

    .map-visual iframe {
      width: 100%;
      height: 100%;
      border: 0;
      display: block;
      filter: saturate(.92) contrast(.98);
    }

    .map-label {
      width: 18rem;
      position: absolute;
      right: 1.15rem;
      top: 1.15rem;
      border-radius: .7rem;
      background: #fff;
      padding: 1rem;
      box-shadow: 0 .8rem 1.8rem rgba(30, 56, 42, .16);
      z-index: 2;
    }

    .map-label strong,
    .map-label span {
      display: block;
    }

    .map-label strong {
      color: var(--green-800);
      font-size: 1.1rem;
      font-weight: 900;
    }

    .map-label span {
      margin-top: .35rem;
      color: #536158;
      font-size: .98rem;
      line-height: 1.4;
      font-weight: 650;
    }

    .map-route {
      position: absolute;
      left: 1.2rem;
      bottom: 1.2rem;
      height: 3rem;
      border: 1px solid #d6e3da;
      border-radius: .55rem;
      background: #fff;
      color: var(--green-700);
      padding: 0 1.1rem;
      font-weight: 900;
      box-shadow: 0 .55rem 1rem rgba(30, 56, 42, .08);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      text-decoration: none;
      z-index: 2;
      transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
    }

    .map-route:hover {
      border-color: rgba(12, 100, 47, .35);
      box-shadow: 0 .8rem 1.4rem rgba(30, 56, 42, .12);
      transform: translateY(-.08rem);
    }

    .emergency-card {
      background: linear-gradient(135deg, #fff, #fff3f2);
      display: grid;
      grid-template-columns: 7rem 1fr;
      gap: 1rem;
    }

    .emergency-icon {
      width: 6rem;
      height: 6rem;
      border-radius: 50%;
      background: linear-gradient(145deg, #ef4056, #c92339);
      color: #fff;
      display: grid;
      place-items: center;
      box-shadow: 0 .85rem 1.6rem rgba(214, 48, 64, .22);
    }

    .emergency-card small {
      display: block;
      color: #e1394c;
      font-size: 1.25rem;
      font-weight: 900;
    }

    .emergency-card strong {
      display: block;
      margin-top: .25rem;
      color: #e1394c;
      font-size: 2.2rem;
      font-weight: 900;
      line-height: 1;
    }

    .emergency-card p {
      margin: .9rem 0 0;
      color: #4f5e56;
      font-size: 1.08rem;
      line-height: 1.5;
      font-weight: 650;
    }

    .emergency-features {
      grid-column: 1 / -1;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: .75rem;
      margin-top: .9rem;
      text-align: center;
    }

    .emergency-features span {
      color: #34433a;
      font-size: .96rem;
      font-weight: 800;
    }

    .emergency-note {
      grid-column: 1 / -1;
      border: 1px solid rgba(224, 60, 76, .22);
      border-radius: .58rem;
      background: rgba(238, 67, 82, .08);
      padding: .8rem 1rem;
      color: #d8364a !important;
      font-size: .98rem !important;
      font-weight: 800 !important;
    }

    .contact-trust-row {
      min-height: 5.8rem;
      margin-top: 2rem;
      border-radius: .8rem;
      background: #f1f8f3;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      align-items: center;
      gap: 1.2rem;
      padding: 1rem 2rem;
    }

    .contact-trust-row strong,
    .contact-trust-row span {
      display: block;
    }

    .contact-trust-row strong {
      color: var(--green-800);
      font-size: 1.12rem;
      font-weight: 900;
    }

    .contact-trust-row span {
      margin-top: .25rem;
      color: #65736b;
      font-size: 1rem;
      font-weight: 650;
    }

    .page-section-title {
      padding: 2.4rem 0 1.4rem;
      text-align: center;
    }

    .page-section-title span,
    .services-faq-inner > div > span,
    .service-promo-copy > span {
      display: block;
      color: #c0913c;
      font-size: 1.05rem;
      font-weight: 900;
      text-transform: uppercase;
      letter-spacing: .14em;
    }

    .service-card-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1.6rem;
    }

    .service-card-grid article {
      min-height: 12rem;
      padding: 1.5rem 1.6rem 1.35rem;
      display: grid;
      grid-template-columns: 6rem 1fr;
      gap: .4rem 1.1rem;
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }

    .service-card-grid article:hover {
      transform: translateY(-3px);
      border-color: rgba(12, 100, 47, .26);
      box-shadow: 0 1.2rem 2.3rem rgba(26, 55, 40, .13);
    }

    .service-card-grid i {
      width: 5rem;
      height: 5rem;
      border-radius: 50%;
      color: #fff;
      background: radial-gradient(circle at 28% 20%, #1a8d46, #064825);
      display: grid;
      place-items: center;
      grid-row: span 3;
      box-shadow: 0 .8rem 1.5rem rgba(4, 65, 31, .2);
    }

    .service-card-grid h3 {
      margin: .25rem 0 0;
      color: #22352a;
      font-family: var(--serif);
      font-size: 2rem;
      line-height: 1.1;
    }

    .service-card-grid p {
      margin: .45rem 0 0;
      color: #526158;
      font-size: 1.08rem;
      font-weight: 650;
      line-height: 1.5;
    }

    .service-card-grid a {
      margin-top: .65rem;
      color: var(--green-700);
      font-size: 1.05rem;
      font-weight: 900;
      text-decoration: none;
    }

    .service-promo {
      min-height: 18rem;
      margin-top: 2.4rem;
      display: grid;
      grid-template-columns: .82fr 1.18fr;
      overflow: hidden;
    }

    .service-promo-art {
      background:
        linear-gradient(90deg, rgba(255,255,255,0), #fff),
        url("../img/hero-travel-insurance.png") center / cover no-repeat;
    }

    .service-promo-copy {
      padding: 2rem 2.2rem;
    }

    .service-promo-copy h2 {
      margin: .4rem 0 0;
      color: #22352a;
      font-family: var(--serif);
      font-size: 2.5rem;
      line-height: 1.05;
    }

    .service-promo-copy p {
      margin: .9rem 0 0;
      color: #526158;
      font-size: 1.14rem;
      line-height: 1.55;
      font-weight: 650;
    }

    .promo-features {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: .8rem;
      margin-top: 1.6rem;
      text-align: center;
    }

    .promo-features b,
    .promo-features small {
      display: block;
    }

    .promo-features b {
      color: var(--green-900);
      font-size: 1.05rem;
      font-weight: 900;
    }

    .promo-features small {
      margin-top: .3rem;
      color: #66746c;
      font-size: .92rem;
      font-weight: 650;
    }

    .process-section {
      margin-top: 1.8rem;
    }

    .process-steps {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 2.3rem;
      position: relative;
      margin-top: 1.4rem;
    }

    .process-steps article {
      text-align: center;
      position: relative;
    }

    .process-steps article + article::before {
      content: "";
      height: 1px;
      width: calc(100% - 3rem);
      position: absolute;
      top: 2.1rem;
      right: 50%;
      border-top: 1px dashed #caa057;
      z-index: 0;
    }

    .process-steps i {
      width: 4.2rem;
      height: 4.2rem;
      border: 1px solid #dbe7df;
      border-radius: 50%;
      margin: 0 auto .8rem;
      background: #fff;
      color: var(--green-700);
      display: grid;
      place-items: center;
      position: relative;
      z-index: 1;
      font-style: normal;
      font-weight: 900;
      box-shadow: 0 .6rem 1.3rem rgba(30, 56, 42, .08);
    }

    .process-steps strong {
      display: block;
      color: #2e3d34;
      font-size: 1.08rem;
      font-weight: 900;
    }

    .process-steps p {
      margin: .45rem 0 0;
      color: #66746c;
      font-size: .98rem;
      line-height: 1.45;
      font-weight: 650;
    }

    .services-faq-band {
      margin-top: 2.4rem;
      padding: 2rem 0;
      background:
        linear-gradient(90deg, #f2f8f4, rgba(242, 248, 244, .86)),
        url("../img/page-policies-card.png") right bottom / auto 115% no-repeat;
    }

    .services-faq-inner {
      display: grid;
      grid-template-columns: .8fr 1.2fr;
      gap: 2rem;
      align-items: center;
    }

    .services-faq-inner h2 {
      margin: .35rem 0 0;
      color: #22352a;
      font-family: var(--serif);
      font-size: 2.8rem;
    }

    .services-faq-inner p {
      margin: .8rem 0 0;
      color: #5d6b63;
      font-size: 1.12rem;
      line-height: 1.5;
      font-weight: 650;
    }

    .service-faq-list {
      display: grid;
      gap: .85rem;
    }

    .service-faq-list button {
      min-height: 4.4rem;
      border: 1px solid #dfe8df;
      border-radius: .65rem;
      background: rgba(255, 255, 255, .96);
      color: #33433a;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: .8rem 1.35rem;
      font-size: 1.08rem;
      font-weight: 850;
      text-align: left;
    }

    .service-faq-list button:hover {
      border-color: rgba(12, 100, 47, .32);
      color: var(--green-800);
      transform: translateX(.2rem);
    }

    .policies-page {
      min-height: 78rem;
      display: grid;
      grid-template-columns: 22rem minmax(0, 1fr);
      background: #f8faf8;
    }

    .policy-sidebar {
      background: linear-gradient(180deg, #064623, #07391f);
      color: #fff;
      padding: 2rem 1.45rem;
      position: relative;
    }

    .policy-side-logo {
      display: flex;
      align-items: center;
      gap: .85rem;
      color: #fff;
      font-size: 1.75rem;
      line-height: .92;
      font-weight: 900;
      letter-spacing: .04em;
    }

    .policy-side-logo .brand-mark {
      width: 3.7rem;
      height: 4rem;
    }

    .policy-buy {
      height: 4rem;
      margin-top: 5rem;
      border-radius: .55rem;
      color: #fff;
      background: linear-gradient(180deg, #0d803c, #07592b);
      display: flex;
      align-items: center;
      justify-content: center;
      text-decoration: none;
      font-size: 1.18rem;
      font-weight: 900;
      box-shadow: 0 .75rem 1.4rem rgba(0, 0, 0, .18);
    }

    .policy-nav {
      display: grid;
      gap: .45rem;
      margin-top: 2.5rem;
    }

    .policy-nav a {
      min-height: 4.4rem;
      border-left: .25rem solid transparent;
      border-radius: .55rem;
      color: rgba(255, 255, 255, .82);
      display: flex;
      align-items: center;
      gap: .8rem;
      padding: 0 1rem;
      text-decoration: none;
      font-size: 1.12rem;
      font-weight: 800;
      transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
    }

    .policy-nav a svg {
      width: 2rem;
      height: 2rem;
      flex: none;
    }

    .policy-nav a:hover,
    .policy-nav a.active {
      border-left-color: #3ed07a;
      color: #084522;
      background: rgba(255, 255, 255, .92);
      transform: translateX(.12rem);
    }

    .policy-nav a.danger {
      color: rgba(255, 218, 218, .92);
    }

    .policy-nav a.danger:hover {
      border-left-color: #ff8585;
      color: #9f1c2c;
      background: #fff1f1;
    }

    .policy-side-card {
      min-height: 25rem;
      margin-top: 4rem;
      border-radius: .8rem;
      padding: 1.5rem;
      color: #fff;
      background:
        linear-gradient(180deg, rgba(6, 63, 35, .2), rgba(6, 63, 35, .92)),
        url("../img/page-policies-card.png") center bottom / cover no-repeat;
      display: flex;
      align-items: flex-start;
      box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14);
    }

    .policy-side-card strong {
      font-size: 1.7rem;
      line-height: 1.35;
    }

    .policy-content {
      min-width: 0;
      padding: 2.1rem 2.6rem 2.4rem;
    }

    .policy-topbar,
    .policy-heading,
    .policy-top-actions,
    .policy-pagination {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
    }

    .policy-topbar button {
      width: 3.4rem;
      height: 3.4rem;
      border: 0;
      background: transparent;
      display: grid;
      gap: .35rem;
      align-content: center;
    }

    .policy-topbar button span {
      width: 1.6rem;
      height: .18rem;
      border-radius: 99rem;
      background: #1d2e25;
      display: block;
    }

    .policy-top-actions {
      color: #20352a;
      font-size: 1.15rem;
      font-weight: 850;
    }

    .notif {
      width: 2.5rem;
      height: 2.5rem;
      border-radius: 50%;
      color: #fff;
      background: var(--green-700);
      display: grid;
      place-items: center;
      font-size: .98rem;
    }

    .policy-heading {
      margin-top: 0;
      align-items: flex-start;
    }

    .dashboard-heading {
      margin-bottom: 2rem;
    }

    .policy-breadcrumb {
      color: #6c7a72;
      font-size: 1.05rem;
      font-weight: 700;
    }

    .policy-heading h1 {
      margin: 2rem 0 .4rem;
      color: #17271f;
      font-size: 3.2rem;
      line-height: 1;
    }

    .policy-heading p {
      margin: 0;
      color: #69776f;
      font-size: 1.16rem;
      font-weight: 650;
    }

    .policy-heading-actions {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: .85rem;
    }

    .export-btn {
      min-height: 4.25rem;
      border: 1px solid #d6e4db;
      border-radius: .72rem;
      background: #fff;
      color: var(--green-800);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: .75rem;
      padding: 0 1.35rem;
      text-decoration: none;
      font-size: 1.1rem;
      font-weight: 900;
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
    }

    .export-btn span {
      width: 2rem;
      height: 2rem;
      border-radius: 50%;
      display: grid;
      place-items: center;
      background: rgba(12, 100, 47, .1);
      font-size: 1.45rem;
      line-height: 1;
    }

    .export-btn:hover {
      border-color: rgba(12, 100, 47, .34);
      background: #f8fcf9;
      color: var(--green-700);
      box-shadow: 0 .75rem 1.5rem rgba(7, 80, 40, .09);
      transform: translateY(-1px);
    }

    .excel-policy-btn {
      min-width: 13rem;
    }

    .excel-policy-btn svg {
      width: 1.05rem;
      height: 1.05rem;
      display: block;
    }

    .new-policy-btn {
      min-width: 16rem;
      border-color: rgba(7, 80, 40, .18);
      background: linear-gradient(180deg, #23803c, #0b5b2d);
      color: #fff;
      box-shadow: 0 .9rem 1.8rem rgba(9, 92, 44, .2), inset 0 1px 0 rgba(255, 255, 255, .18);
    }

    .new-policy-btn span {
      background: rgba(255, 255, 255, .16);
      color: #fff;
    }

    .new-policy-btn:hover {
      border-color: rgba(7, 80, 40, .28);
      background: linear-gradient(180deg, #2c9148, #0b6732);
      color: #fff;
      box-shadow: 0 1rem 2rem rgba(9, 92, 44, .25), inset 0 1px 0 rgba(255, 255, 255, .2);
    }

    .policy-stats {
      min-height: 12rem;
      margin-top: 2rem;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1rem;
      padding: 1.6rem;
    }

    .policy-stats article {
      display: grid;
      grid-template-columns: 4.3rem 1fr;
      grid-template-rows: auto auto auto;
      gap: .25rem 1rem;
      align-content: center;
    }

    .policy-stats i {
      width: 4.2rem;
      height: 4.2rem;
      border-radius: .9rem;
      background: #e5f5eb;
      color: var(--green-700);
      display: grid;
      place-items: center;
      grid-row: span 3;
      font-style: normal;
    }

    .policy-stats span {
      color: #53635a;
      font-size: 1rem;
      font-weight: 750;
    }

    .policy-stats strong {
      color: #182820;
      font-size: 2rem;
      line-height: 1.1;
      font-weight: 900;
    }

    .policy-stats small {
      color: #7a877f;
      font-size: .96rem;
      font-weight: 650;
    }

    .policy-filters {
      display: grid;
      grid-template-columns: minmax(20rem, 1.45fr) minmax(12rem, .8fr) minmax(18rem, 1fr) auto auto;
      gap: 1rem;
      margin-top: 2rem;
      padding: 1.6rem;
      align-items: end;
    }

    .policy-filters.archive-policy-filters {
      grid-template-columns: minmax(20rem, 1.45fr) minmax(18rem, 1fr) auto auto;
    }

    .policy-filters label {
      display: grid;
      gap: .45rem;
      color: #66746c;
      font-size: .96rem;
      font-weight: 850;
    }

    .policy-filters input,
    .policy-filters select,
    .policy-search {
      height: 4rem;
      border: 1px solid #dfe8df;
      border-radius: .55rem;
      background: #fff;
      color: #26382e;
      font: inherit;
      padding: 0 1rem;
    }

    .policy-search {
      display: flex;
      align-items: center;
      padding: 0 .9rem;
    }

    .policy-search input {
      border: 0;
      height: 100%;
      min-width: 0;
      padding: 0;
      flex: 1;
      outline: 0;
    }

    .policy-date-range-field {
      display: block;
      position: relative;
    }

    .policy-date-range-field::before {
      content: "";
      width: 1.2rem;
      height: 1.2rem;
      position: absolute;
      left: 1rem;
      top: 50%;
      transform: translateY(-50%);
      background:
        linear-gradient(#758078, #758078) 50% 28% / 70% 1px no-repeat,
        linear-gradient(#758078, #758078) 30% 0 / 1px 35% no-repeat,
        linear-gradient(#758078, #758078) 70% 0 / 1px 35% no-repeat;
      border: 1px solid #758078;
      border-radius: .2rem;
      pointer-events: none;
      opacity: .9;
      z-index: 1;
    }

    .policy-date-range-field:hover::before,
    .policy-date-range-field:focus-within::before {
      border-color: var(--green-700);
      opacity: 1;
    }

    .policy-filters .policy-date-range-input {
      cursor: pointer;
      padding-left: 3rem;
    }

    .travel-date-range-field .travel-date-range-input {
      cursor: pointer;
      padding-left: 3rem;
    }

    .policy-filters .policy-date-range-input:focus {
      border-color: var(--green-600);
      box-shadow: 0 0 0 3px rgba(24, 115, 58, .13);
      outline: 0;
    }

    .policy-date-range-picker {
      width: 34rem;
      max-width: calc(100vw - 2.4rem);
      padding: 1rem;
      position: absolute;
      z-index: 120;
      display: none;
      border: 1px solid rgba(207, 222, 211, .98);
      border-radius: 1rem;
      background: rgba(255, 255, 255, .98);
      box-shadow: 0 1.5rem 3rem rgba(20, 55, 35, .18);
      transform-origin: top center;
    }

    .policy-date-range-picker.is-open {
      display: block;
      animation: pickerIn .16s ease-out;
    }

    .policy-range-values {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: .7rem;
      margin-bottom: .9rem;
    }

    .policy-range-values span {
      min-height: 4rem;
      border: 1px solid #dfe8df;
      border-radius: .65rem;
      background: #f8fbf8;
      padding: .55rem .75rem;
      display: grid;
      gap: .15rem;
    }

    .policy-range-values span.is-active {
      border-color: rgba(12, 100, 47, .4);
      background: #eff8f1;
      box-shadow: 0 0 0 3px rgba(24, 115, 58, .08);
    }

    .policy-range-values small {
      color: #748078;
      font-size: .85rem;
      font-weight: 850;
    }

    .policy-range-values strong {
      color: #24362d;
      font-size: 1.02rem;
      font-weight: 900;
    }

    .policy-range-actions {
      display: flex;
      justify-content: flex-end;
      gap: .7rem;
      margin-top: 1rem;
    }

    .policy-range-actions button {
      height: 3.2rem;
      border-radius: .65rem;
      padding: 0 1.15rem;
      font-weight: 900;
    }

    .policy-range-actions button:first-child {
      border: 1px solid #cfe2d5;
      background: #fff;
      color: var(--green-700);
    }

    .policy-range-actions button:last-child {
      border: 0;
      background: linear-gradient(180deg, #0d803c, #07592b);
      color: #fff;
    }

    .policy-range-actions button:disabled {
      cursor: not-allowed;
      opacity: .5;
    }

    .clear-filter,
    .search-filter {
      height: 3.8rem;
      border-radius: .55rem;
      min-width: 11rem;
      font-weight: 900;
    }

    .clear-filter {
      border: 1px solid #cfe2d5;
      background: #fff;
      color: var(--green-700);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      text-decoration: none;
    }

    .search-filter {
      border: 0;
      color: #fff;
      background: linear-gradient(180deg, #0d803c, #07592b);
    }

    .archive-back-btn {
      border-color: #cfe2d5;
      color: var(--green-700);
      background: #fff;
    }

    .policy-table-card {
      margin-top: 2rem;
      overflow: hidden;
    }

    .policy-table-wrap {
      overflow: auto;
    }

    .policy-table-card table {
      width: 100%;
      min-width: 90rem;
      border-collapse: collapse;
    }

    .policy-table-card th,
    .policy-table-card td {
      border-bottom: 1px solid #e4ebe6;
      padding: 1.15rem .9rem;
      text-align: left;
      vertical-align: middle;
      font-size: 1.18rem;
      white-space: nowrap;
    }

    .policy-table-card th {
      color: var(--green-800);
      background: #fbfdfb;
      font-weight: 900;
    }

    .policy-table-card td {
      color: #26382e;
      font-weight: 650;
    }

    .policy-table-card td small {
      display: block;
      margin-top: .28rem;
      font-size: .94rem;
      color: #849087;
      font-weight: 650;
    }

    .zone-dot {
      width: 2.4rem;
      height: 2.4rem;
      margin-right: .55rem;
      border-radius: 50%;
      color: #fff;
      background: var(--green-700);
      display: inline-grid;
      place-items: center;
      font-weight: 900;
    }

    .status-badge {
      min-width: 7.2rem;
      height: 2.2rem;
      border-radius: .45rem;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 1.1rem;
      font-weight: 900;
    }

    .status-badge.active { color: #087235; background: #e2f6e8; }
    .status-badge.done { color: #1f6eb2; background: #e4f0fb; }
    .status-badge.wait { color: #d0711d; background: #fff0df; }
    .status-badge.cancel { color: #d73a4a; background: #ffe8eb; }

    .policy-agent-cell {
      min-width: 13rem;
    }

    .policy-agent-input {
      width: 13rem;
      height: 3rem;
      border: 1px solid #d5e5da;
      border-radius: .45rem;
      background: #fff;
      color: #26382e;
      padding: 0 .8rem;
      font: inherit;
      font-weight: 750;
      outline: 0;
      transition: border-color .18s ease, box-shadow .18s ease, background .18s ease, opacity .18s ease;
    }

    .policy-agent-input:focus {
      border-color: var(--green-600);
      box-shadow: 0 0 0 3px rgba(24, 115, 58, .13);
    }

    .policy-agent-input.is-saving {
      opacity: .65;
      background: #f5f8f6;
    }

    .policy-agent-input.is-saved {
      border-color: rgba(8, 114, 53, .48);
      background: #f8fcf9;
    }

    .policy-agent-input.is-error {
      border-color: #ef3340;
      background: #fff4f5;
    }

    .policy-actions {
      display: inline-flex;
      align-items: center;
      gap: .35rem;
    }

    .policy-table-card td button,
    .policy-action {
      min-width: 3rem;
      height: 3rem;
      border: 1px solid #d5e5da;
      border-radius: .45rem;
      background: #fff;
      color: var(--green-700);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 1.08rem;
      font-weight: 900;
      text-decoration: none;
    }

    .policy-table-card td button:last-child,
    .policy-action.danger {
      color: #ef3340;
    }

    .policy-empty {
      height: 7rem;
      text-align: center !important;
      color: #7a877f !important;
    }

    .policy-pagination {
      min-height: 5rem;
      padding: .9rem 1.2rem;
      color: #7a877f;
      font-size: 1.04rem;
      font-weight: 750;
    }

    .policy-pagination div {
      display: flex;
      gap: .45rem;
    }

    .policy-pagination a,
    .policy-pagination button {
      min-width: 3rem;
      height: 3rem;
      border: 1px solid #dfe8df;
      border-radius: .45rem;
      background: #fff;
      color: #425249;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-weight: 850;
      text-decoration: none;
    }

    .policy-pagination a.active,
    .policy-pagination button.active {
      color: #fff;
      background: var(--green-700);
      border-color: var(--green-700);
    }

    .account-card {
      border: 1px solid rgba(214, 228, 220, .98);
      border-radius: .9rem;
      background: #fff;
      padding: 2rem;
      box-shadow: 0 1rem 2.2rem rgba(26, 55, 40, .08);
    }

    .account-form {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.2rem 1.4rem;
    }

    .password-card .account-form {
      grid-template-columns: minmax(0, 1fr);
      max-width: 54rem;
    }

    .account-form label {
      display: grid;
      gap: .55rem;
      color: #26382e;
      font-size: 1.08rem;
      font-weight: 900;
    }

    .account-form-actions {
      grid-column: 1 / -1;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      margin-top: .55rem;
      padding-top: 1.2rem;
      border-top: 1px solid #e4ebe6;
    }

    .account-form-actions span {
      color: #6a776f;
      font-size: 1.04rem;
      font-weight: 700;
    }

    .account-form-actions .page-submit {
      width: 13rem;
      margin: 0;
      flex: none;
    }

    .form-alert {
      margin-bottom: 1.2rem;
      border-radius: .7rem;
      padding: 1rem 1.2rem;
      font-size: 1.08rem;
      line-height: 1.45;
      font-weight: 800;
    }

    .form-alert.success {
      border: 1px solid #bfe8ce;
      color: #087235;
      background: #edf9f1;
    }

    .form-alert.error {
      border: 1px solid #ffd0d6;
      color: #bd2639;
      background: #fff1f3;
    }

    .site-footer {
      min-height: 16.7rem;
      background:
        radial-gradient(circle at 100% 0, rgba(42, 123, 62, .38), transparent 31rem),
        linear-gradient(145deg, #063a20 0%, #0a5a30 100%);
      color: #eef6ef;
    }

    .footer-inner {
      padding: 2.25rem 0 1.1rem;
      display: grid;
      grid-template-columns: 19rem minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.3fr) 22rem;
      gap: 2rem;
      align-items: start;
    }

    .footer-brand {
      display: flex;
      flex-direction: column;
      gap: 1rem;
    }

    .footer-brand .brand {
      min-width: 0;
      color: #f0d07b;
    }

    .footer-brand .brand-text {
      color: #fff;
    }

    .footer-brand .brand-mark path,
    .footer-brand .brand-mark ellipse {
      stroke: #f0d07b;
    }

    .footer-brand p {
      margin: 0;
      color: rgba(255, 255, 255, .84);
      font-size: 1.29rem;
      line-height: 1.42;
    }

    .socials {
      display: flex;
      gap: .7rem;
    }

    .socials a {
      width: 3rem;
      height: 3rem;
      border: 1px solid rgba(255, 255, 255, .75);
      border-radius: 50%;
      color: #fff;
      display: grid;
      place-items: center;
      text-decoration: none;
      font-size: 1.23rem;
      font-weight: 800;
      transition: transform .18s ease, background .18s ease, border-color .18s ease;
    }

    .socials a svg {
      width: 1.55rem;
      height: 1.55rem;
    }

    .socials a:hover {
      border-color: #f0d07b;
      background: rgba(240, 208, 123, .14);
      transform: translateY(-1px);
    }

    .footer-col {
      min-width: 0;
      border-left: 1px solid rgba(255, 255, 255, .13);
      padding-left: 1.6rem;
    }

    .footer-col h3,
    .license h3 {
      margin: 0 0 .95rem;
      color: #fff4ce;
      font-family: var(--serif);
      font-size: 1.85rem;
      font-weight: 700;
    }

    .footer-col a,
    .footer-col span {
      display: block;
      color: rgba(255, 255, 255, .9);
      text-decoration: none;
      font-size: 1.23rem;
      line-height: 1.75;
      font-weight: 500;
    }

    .footer-col a {
      transition: color .18s ease, transform .18s ease;
    }

    .footer-col a:hover {
      color: #fff4ce;
      transform: translateX(.25rem);
    }

    .contact-row {
      display: grid;
      grid-template-columns: 1.7rem minmax(0, auto);
      gap: .75rem;
      align-items: start;
      margin-bottom: .62rem;
    }

    .contact-row svg {
      width: 1.65rem;
      height: 1.65rem;
      margin-top: .34rem;
      color: #d9bd71;
    }

    .license {
      min-height: 6.9rem;
      border: 1px solid rgba(232, 205, 128, .38);
      border-radius: .75rem;
      padding: 1.4rem 1.35rem;
      display: grid;
      grid-template-columns: 4.7rem minmax(0, auto);
      gap: 1.2rem;
      align-items: center;
      color: rgba(255, 255, 255, .88);
      font-size: 1.2rem;
      line-height: 1.38;
      font-weight: 700;
      background: rgba(255, 255, 255, .035);
    }

    .license svg {
      width: 4.7rem;
      height: 4.7rem;
      color: #d9bd71;
    }

    .footer-bottom {
      min-height: 3.6rem;
      padding: .7rem 0;
      gap: 1.5rem;
      border-top: 1px solid rgba(255, 255, 255, .12);
      color: rgba(255, 255, 255, .74);
      display: flex;
      align-items: center;
      justify-content: space-between;
      font-size: 1.12rem;
      font-weight: 500;
    }

    svg {
      display: block;
    }

    @media (max-width: 980px) {
      .container {
        width: min(94.6rem, calc(100% - 4rem));
      }

      .main-nav {
        display: none;
      }

      .mobile-check-link {
        min-height: 44px;
        padding: 0 1rem;
        border: 1px solid rgba(12, 100, 47, .28);
        border-radius: .8rem;
        color: var(--green-800);
        background: #f4faf5;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: .5rem;
        text-decoration: none;
        font-size: 1.08rem;
        font-weight: 850;
        white-space: nowrap;
        transition: border-color .18s ease, background .18s ease, color .18s ease;
      }

      .mobile-check-link:hover,
      .mobile-check-link.active {
        border-color: var(--green-600);
        color: #fff;
        background: var(--green-700);
      }

      .mobile-check-link:focus-visible {
        outline: 3px solid rgba(24, 115, 58, .28);
        outline-offset: 2px;
      }

      .hero {
        height: auto;
        min-height: 42rem;
        background-position: center top, center -6.2rem, center center;
      }

      .hero-content {
        width: min(43rem, 100%);
        padding-bottom: 13rem;
      }

      .form-grid,
      .personal-grid,
      .contact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .traveler-card .personal-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }

      .why-strip,
      .content-grid,
      .lower-grid,
      .travel-assistance-card,
      .contact-page-grid,
      .trust-row,
      .mission-grid,
      .contact-main-grid,
      .contact-lower-grid,
      .service-promo,
      .services-faq-inner,
      .policies-page,
      .footer-inner {
        grid-template-columns: 1fr;
        height: auto;
      }

      .about-stats,
      .about-why-grid,
      .contact-info-row,
      .contact-trust-row,
      .service-card-grid,
      .process-steps,
      .policy-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .policy-sidebar {
        display: block;
        padding: 1.5rem;
      }

      .policy-side-logo {
        justify-content: center;
      }

      .policy-nav {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        margin-top: 1.35rem;
      }

      .policy-nav a {
        min-height: 4rem;
        border-left: 0;
        border-bottom: .22rem solid transparent;
        justify-content: center;
        padding: 0 .7rem;
        text-align: center;
      }

      .policy-nav a:hover,
      .policy-nav a.active {
        border-left-color: transparent;
        border-bottom-color: #3ed07a;
        transform: translateY(-.06rem);
      }

      .policy-side-card {
        display: none;
      }

      .policy-content {
        padding: 2.4rem;
      }

      .policy-filters,
      .policy-filters.archive-policy-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .dashboard-calculator-card .form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .calculator-purpose-options {
        grid-template-columns: 1fr;
      }

      .service-promo-art {
        min-height: 18rem;
      }

      .partner-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .partner-strip strong {
        grid-column: 1 / -1;
        text-align: center;
      }

      .why-strip {
        padding: 2rem;
      }

      .trust-row {
        padding: 1.5rem 0;
      }

      .footer-col {
        border-left: 0;
        padding-left: 0;
      }
    }

    @media (max-width: 640px) {
      html {
        font-size: 9px;
      }

      .date-picker,
      .policy-date-range-picker {
        width: auto !important;
        max-width: none;
        max-height: calc(100vh - 16px);
        max-height: calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
        position: fixed !important;
        left: max(8px, env(safe-area-inset-left)) !important;
        right: max(8px, env(safe-area-inset-right)) !important;
        top: auto !important;
        bottom: max(8px, env(safe-area-inset-bottom)) !important;
        padding: 1rem;
        box-sizing: border-box;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        transform-origin: bottom center;
      }

      .date-picker .picker-head,
      .policy-date-range-picker .picker-head {
        grid-template-columns: 44px minmax(0, 1fr) minmax(72px, 8.6rem) 44px;
        gap: 4px;
      }

      .date-picker .picker-nav,
      .date-picker .picker-year,
      .policy-date-range-picker .picker-nav,
      .policy-date-range-picker .picker-year {
        height: 44px;
      }

      .date-picker .picker-weekdays,
      .date-picker .picker-grid,
      .policy-date-range-picker .picker-weekdays,
      .policy-date-range-picker .picker-grid {
        gap: 2px;
      }

      .date-picker .date-day,
      .policy-date-range-picker .date-day {
        width: 100%;
        min-width: 0;
        height: 44px;
        touch-action: manipulation;
      }

      .policy-date-range-picker .policy-range-values span,
      .policy-date-range-picker .policy-range-actions button {
        min-height: 44px;
      }

      .container {
        width: calc(100% - 2.8rem);
      }

      .site-header {
        height: 6.8rem;
      }

      .brand {
        min-width: auto;
      }

      .brand-text {
        font-size: 2rem;
      }

      .header-actions {
        gap: .55rem;
      }

      .language,
      .login,
      .profile-dropdown summary {
        min-height: 44px;
      }

      .login {
        width: 44px;
        padding: 0;
        justify-content: center;
      }

      .login span,
      .profile-dropdown summary span {
        display: none;
      }

      .profile-dropdown summary {
        width: 44px;
        padding: 0;
        justify-content: center;
      }

      .language {
        min-width: 44px;
        padding: 0 .65rem;
      }

      .language .lang-flag,
      .language > svg {
        display: none;
      }

      .mobile-check-link {
        padding: 0 .8rem;
      }

      .hero {
        min-height: 41rem;
        background:
          linear-gradient(90deg, rgba(251, 253, 251, .98), rgba(251, 253, 251, .84)),
          url("../img/hero-travel-insurance.png") right center / auto 112% no-repeat;
      }

      .page-hero {
        min-height: 22rem;
        background:
          linear-gradient(90deg, rgba(251, 253, 251, .98), rgba(251, 253, 251, .88)),
          url("../img/hero-travel-insurance.png") right center / auto 105% no-repeat;
      }

      .page-hero-inner {
        min-height: 22rem;
      }

      .page-hero h1 {
        font-size: 4.2rem;
      }

      .page-hero p {
        font-size: 1.32rem;
      }

      .page-surface-hero,
      .contact-hero-modern,
      .services-hero-modern {
        min-height: 24rem;
      }

      .about-hero-inner,
      .contact-hero-copy,
      .services-hero-copy {
        min-height: 24rem;
      }

      .about-hero h1,
      .contact-hero-modern h1,
      .services-hero-modern h1 {
        font-size: 4.25rem;
      }

      .page-surface-hero {
        background:
          linear-gradient(90deg, rgba(247, 251, 248, .98) 0%, rgba(247, 251, 248, .86) 56%, rgba(247, 251, 248, .48) 100%),
          url("../img/page-about-hero.png") 64% center / cover no-repeat;
      }

      .contact-hero-modern {
        background:
          linear-gradient(90deg, rgba(0, 75, 43, .94) 0%, rgba(0, 75, 43, .78) 58%, rgba(0, 75, 43, .35) 100%),
          url("../img/page-contact-hero.png") 64% center / cover no-repeat;
      }

      .services-hero-modern {
        background:
          linear-gradient(90deg, rgba(0, 78, 44, .95) 0%, rgba(0, 78, 44, .79) 58%, rgba(0, 78, 44, .28) 100%),
          url("../img/page-services-hero.png") 64% center / cover no-repeat;
      }

      .hero h1 {
        font-size: 5.05rem;
      }

      .hero p {
        width: 100%;
      }

      .hero-points {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
      }

      .hero-point {
        width: 100%;
      }

      .quote-wrap {
        margin-top: -4rem;
      }

      .quote-card {
        padding: 1.4rem;
      }

      .insurance-product-switch,
      .domestic-policy-facts {
        grid-template-columns: 1fr;
      }

      .insurance-product-option {
        min-height: 6.2rem;
      }

      .form-grid,
      .personal-grid,
      .contact-grid,
      .coverage-grid,
      .about-stats,
      .mission-grid,
      .about-why-grid,
      .partner-strip,
      .contact-info-row,
      .contact-main-grid,
      .contact-lower-grid,
      .contact-trust-row,
      .contact-form-grid,
      .service-card-grid,
      .service-promo,
      .promo-features,
      .process-steps,
      .services-faq-inner,
      .policy-stats,
      .policy-filters,
      .policy-filters.archive-policy-filters,
      .account-form,
      .dashboard-calculator-card .form-grid {
        grid-template-columns: 1fr;
      }

      .traveler-card .personal-grid {
        grid-template-columns: 1fr;
      }

      .login-modal {
        align-items: flex-end;
        padding: 1rem;
      }

      .rules-modal {
        align-items: flex-end;
        padding: 1rem;
      }

      .rules-panel {
        max-height: calc(100dvh - 2rem);
        border-radius: 1rem;
      }

      .rules-head {
        min-height: 5.8rem;
        padding: 1.15rem 1.25rem;
      }

      .rules-head h2 {
        font-size: 2rem;
      }

      .rules-body {
        padding: 1.25rem;
        font-size: 1.12rem;
      }

      .rules-body table {
        min-width: 58rem;
      }

      .login-panel {
        border-radius: 1rem;
      }

      .login-row {
        align-items: flex-start;
        flex-direction: column;
      }

      .field.span-2 {
        grid-column: auto;
      }

      .privacy-box span {
        white-space: normal;
      }

      .benefits {
        width: 100%;
      }

      .travel-assistance-card {
        padding: 1.35rem;
        gap: 1.35rem;
      }

      .travel-alert a {
        font-size: 1.65rem;
      }

      .contact-panel {
        padding: 1.35rem;
      }

      .about-stat + .about-stat::before,
      .about-why-grid > div::after,
      .process-steps article + article::before {
        display: none;
      }

      .about-why-grid > div {
        border-right: 0;
        border-bottom: 1px solid #dfe8df;
        padding: 0 0 1.4rem;
      }

      .about-why-grid > div:last-child {
        border-bottom: 0;
        padding-bottom: 0;
      }

      .mission-card,
      .service-card-grid article,
      .emergency-card {
        grid-template-columns: 1fr;
      }

      .mission-card {
        text-align: center;
      }

      .mission-icon,
      .service-card-grid i {
        margin: 0 auto;
      }

      .team-cta {
        min-height: 30rem;
        padding: 2.2rem;
        background:
          linear-gradient(90deg, rgba(240, 249, 243, .98) 0%, rgba(240, 249, 243, .93) 52%, rgba(240, 249, 243, .42) 100%),
          url("../img/page-about-team.png") right bottom / auto 76% no-repeat;
      }

      .form-bottom-note {
        align-items: stretch;
        flex-direction: column;
      }

      .form-bottom-note .page-submit {
        width: 100%;
      }

      .map-visual {
        height: 24rem;
      }

      .map-label {
        left: 1rem;
        right: 1rem;
        top: 1rem;
        width: auto;
      }

      .map-route {
        left: 1rem;
        bottom: 1rem;
        min-width: 12rem;
      }

      .emergency-features {
        grid-template-columns: 1fr;
        text-align: left;
      }

      .service-promo-art {
        min-height: 17rem;
      }

      .policy-content {
        min-width: 0;
        padding: 1.4rem;
      }

      .policy-sidebar {
        padding: 1.25rem;
      }

      .policy-side-logo {
        justify-content: flex-start;
      }

      .policy-nav {
        grid-template-columns: 1fr;
      }

      .policy-nav a {
        border-left: .25rem solid transparent;
        border-bottom: 0;
        justify-content: flex-start;
        text-align: left;
      }

      .policy-nav a:hover,
      .policy-nav a.active {
        border-left-color: #3ed07a;
        border-bottom-color: transparent;
        transform: translateX(.12rem);
      }

      .policy-heading,
      .policy-topbar,
      .policy-pagination {
        align-items: flex-start;
        flex-direction: column;
      }

      .policy-topbar {
        gap: 1.4rem;
      }

      .policy-heading-actions {
        width: 100%;
      }

      .export-btn,
      .search-filter {
        width: 100%;
        justify-content: center;
      }

      .account-card {
        padding: 1.4rem;
      }

      .account-form-actions {
        align-items: stretch;
        flex-direction: column;
      }

      .account-form-actions .page-submit {
        width: 100%;
      }

      .travel-art {
        opacity: .22;
      }

      .help-content {
        width: 100%;
      }

      .help-card::after {
        opacity: .25;
      }

      .footer-bottom {
        height: auto;
        min-height: 4.8rem;
        gap: 1rem;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
      }
    }
