:root {
      --blue: #213b55;
      --accent: #4a8fc2;
      --white: #ffffff;
      --text: #1f2a33;
      --text-soft: #4d5a66;
      --section-alt: #f7f9fb;
      --max-width: 1120px;
      --content-width: 840px;
    }


    * {
      box-sizing: border-box;
    }


    html {
      scroll-behavior: smooth;
    }


    body {
      margin: 0;
      color: var(--text);
      background: var(--white);
      font-family: "Inter", Arial, Helvetica, sans-serif;
      line-height: 1.7;
      letter-spacing: -0.01em;
    }


    img {
      max-width: 100%;
      display: block;
    }


    a {
      color: inherit;
      text-decoration: none;
    }


    .wrap {
      width: min(var(--max-width), calc(100% - 40px));
      margin: 0 auto;
    }


    .content-wrap {
      width: min(var(--content-width), calc(100% - 40px));
      margin: 0 auto;
    }


    .brand {
      display: flex;
      align-items: center;
      min-width: 0;
      opacity: 0.85;
    }


    .nav a:hover,
    .nav a.active {
      opacity: 1;
      color: var(--accent);
    }


    .legal-subnav {
      padding: 20px 0;
      background: #fff;
      border-bottom: 1px solid rgba(33, 59, 85, 0.08);
    }


    .legal-subnav-inner {
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
    }


    .legal-subnav a {
      padding: 10px 14px;
      border: 1px solid rgba(33, 59, 85, 0.10);
      border-radius: 999px;
      color: var(--blue);
      font-size: 0.95rem;
      font-weight: 500;
      background: #fff;
      transition: 0.2s ease;
    }


    .legal-subnav a:hover {
      border-color: rgba(74, 143, 194, 0.35);
      background: rgba(74, 143, 194, 0.08);
      color: var(--accent);
    }


    .legal-section {
      scroll-margin-top: 120px;
    }


    .legal-text-block a {
      color: var(--blue);
      text-decoration: underline;
      text-underline-offset: 2px;
    }


    .legal-text-block a:hover {
      color: var(--accent);
    }


    .section-hero {
      position: relative;
      min-height: 260px;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      overflow: hidden;
      background: linear-gradient(135deg, #213b55 0%, #2f506f 100%);
    }


    .section-hero::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(180deg, rgba(18, 37, 56, 0.18) 0%, rgba(18, 37, 56, 0.60) 70%, rgba(18, 37, 56, 0.76) 100%);
    }


    .section-hero-inner {
      position: relative;
      z-index: 2;
      width: 100%;
      display: flex;
      justify-content: center;
    }


    .section-hero h2 {
      margin: 0;
      color: var(--white);
      font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
      font-weight: 500;
      line-height: 1.02;
      letter-spacing: -0.02em;
      font-size: clamp(2.5rem, 4vw, 4rem);
      max-width: 760px;
    }


    .legal-text-block {
      padding: 42px 0 78px;
      background: #fff;
      border-bottom: 1px solid rgba(33, 59, 85, 0.08);
    }


    .legal-text-block.alt {
      background: var(--section-alt);
    }


    .legal-text-block h3 {
      margin: 34px 0 12px;
      color: var(--blue);
      font-size: 1.1rem;
      font-weight: 600;
      line-height: 1.35;
    }


    .legal-text-block h3:first-child {
      margin-top: 0;
    }


    .legal-text-block p {
      margin: 0 0 16px;
      color: var(--text-soft);
      font-size: 1.03rem;
      line-height: 1.85;
    }


    .legal-text-block ul {
      margin: 0 0 20px;
      padding-left: 22px;
      color: var(--text-soft);
    }


    .legal-text-block li {
      margin-bottom: 10px;
      font-size: 1.03rem;
      line-height: 1.8;
    }


    @media (max-width: 900px) {
      .header-inner {
        min-height: auto;
        padding: 16px 0;
      }

      .nav {
        gap: 14px 18px;
      }

      .section-hero {
        min-height: 220px;
      }

      .legal-text-block {
        padding: 34px 0 64px;
      }
    }


    @media (max-width: 768px) {
      .header-inner {
        position: relative;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        flex-wrap: nowrap;
        min-height: 76px;
        padding: 14px 0;
      }

      .brand {
        display: flex;
        align-items: center;
        flex: 0 1 auto;
        min-width: 0;
      }

      .logo {
        width: 220px;
        height: auto;
      }

      .menu-toggle {
        display: block;
        font-size: 28px;
        line-height: 1;
        background: none;
        border: none;
        cursor: pointer;
        color: #213b55;
        padding: 0;
        margin: 0;
        flex: 0 0 auto;
      }

      .nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: #ffffff;
        flex-direction: column;
        padding: 20px;
        gap: 16px;
        border-top: 1px solid #e6e6e6;
        box-shadow: 0 10px 24px rgba(16, 37, 57, 0.08);
      }

      .nav.open {
        display: flex;
      }

      .section-hero {
        min-height: 180px;
      }

      .section-hero-inner {
        padding: 24px 0 22px;
      }

      .section-hero h2 {
        font-size: 2.45rem;
      }

      .legal-text-block p,
      .legal-text-block li {
        font-size: 1rem;
      }
    }


    @media (max-width: 640px) {
      .wrap,
      .content-wrap {
        width: min(var(--max-width), calc(100% - 28px));
      }

      .section-hero {
        min-height: 160px;
      }

      .section-hero h2 {
        font-size: 2.15rem;
      }
    }
