*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

    :root[data-theme="dark"] {
      --bg: #0B0B12;
      --bg-soft: #12121C;
      --bg-card: #15151F;
      --ink: #F5F0E8;
      --ink-soft: rgba(245,240,232,0.66);
      --ink-mute: rgba(245,240,232,0.42);
      --line: rgba(245,240,232,0.10);
      --line-strong: rgba(245,240,232,0.16);
      --gold: #C4A35A;
      --gold-soft: rgba(196,163,90,0.14);
      --gold-line: rgba(196,163,90,0.24);
      --shadow-card: 0 24px 60px -20px rgba(0,0,0,0.5), 0 0 0 1px var(--line);
      --logo-filter: invert(1) brightness(1.1);
      --grain-opacity: 0.025;
    }

    :root[data-theme="light"] {
      --bg: #FAFAF7;
      --bg-soft: #FFFFFF;
      --bg-card: #FFFFFF;
      --ink: #0F0F14;
      --ink-soft: rgba(15,15,20,0.68);
      --ink-mute: rgba(15,15,20,0.46);
      --line: rgba(15,15,20,0.10);
      --line-strong: rgba(15,15,20,0.16);
      --gold: #9B7E3A;
      --gold-soft: rgba(196,163,90,0.16);
      --gold-line: rgba(155,126,58,0.30);
      --shadow-card: 0 24px 60px -20px rgba(15,15,20,0.10), 0 0 0 1px var(--line);
      --logo-filter: none;
      --grain-opacity: 0.018;
    }

    :root {
      --serif: 'Instrument Serif', Georgia, serif;
      --sans: 'Inter Tight', -apple-system, BlinkMacSystemFont, sans-serif;
      --mono: 'JetBrains Mono', monospace;
      --w-max: 980px;
      --pad-x: 32px;
      --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
      --t-fast: 180ms;
      --t-mid: 320ms;
    }

    html {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      text-rendering: optimizeLegibility;
      scroll-behavior: smooth;
    }

    body {
      font-family: var(--sans);
      background: var(--bg);
      color: var(--ink);
      line-height: 1.6;
      overflow-x: hidden;
      transition: background-color var(--t-mid) var(--ease-out), color var(--t-mid) var(--ease-out);
    }

    body::before {
      content: '';
      position: fixed;
      inset: 0;
      pointer-events: none;
      z-index: 1;
      opacity: var(--grain-opacity);
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.95' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    }

    a { color: inherit; }

    nav {
      position: sticky;
      top: 0;
      z-index: 20;
      height: 64px;
      padding: 0 var(--pad-x);
      display: flex;
      align-items: center;
      justify-content: space-between;
      background: color-mix(in srgb, var(--bg) 82%, transparent);
      backdrop-filter: saturate(140%) blur(20px);
      -webkit-backdrop-filter: saturate(140%) blur(20px);
      border-bottom: 1px solid var(--line);
    }

    .nav-logo {
      display: flex;
      align-items: center;
      gap: 10px;
      color: var(--ink);
      font-weight: 700;
      font-size: 14px;
      letter-spacing: 0.18em;
      text-decoration: none;
    }

    .nav-logo img {
      width: 30px;
      height: 30px;
      object-fit: contain;
      filter: var(--logo-filter);
    }

    .nav-links {
      display: flex;
      align-items: center;
      gap: 18px;
    }

    .nav-links a {
      color: var(--ink-soft);
      text-decoration: none;
      font-size: 14px;
      font-weight: 500;
    }

    .nav-links a:hover { color: var(--ink); }

    .theme-toggle {
      width: 36px;
      height: 36px;
      border-radius: 10px;
      border: 1px solid var(--line);
      background: var(--bg-soft);
      color: var(--ink-soft);
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: color var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out);
    }

    .theme-toggle:hover {
      color: var(--ink);
      border-color: var(--line-strong);
    }

    .theme-toggle svg { width: 16px; height: 16px; stroke-width: 2; fill: none; stroke: currentColor; }
    .theme-toggle .icon-light { display: none; }
    [data-theme="light"] .theme-toggle .icon-dark { display: none; }
    [data-theme="light"] .theme-toggle .icon-light { display: block; }

    main {
      position: relative;
      z-index: 2;
      padding: 88px var(--pad-x) 96px;
    }

    .policy {
      max-width: var(--w-max);
      margin: 0 auto;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 6px 14px;
      background: var(--gold-soft);
      border: 1px solid var(--gold-line);
      color: var(--gold);
      font-family: var(--mono);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      border-radius: 100px;
      margin-bottom: 24px;
    }

    .eyebrow::before {
      content: '';
      width: 5px;
      height: 5px;
      border-radius: 50%;
      background: var(--gold);
    }

    h1 {
      font-family: var(--serif);
      font-size: clamp(44px, 8vw, 78px);
      line-height: 0.98;
      font-weight: 400;
      letter-spacing: -0.025em;
      max-width: 12ch;
      margin-bottom: 22px;
    }

    .lead {
      max-width: 68ch;
      color: var(--ink-soft);
      font-size: clamp(16px, 1.6vw, 19px);
      margin-bottom: 34px;
    }

    .meta {
      font-family: var(--mono);
      font-size: 12px;
      color: var(--ink-mute);
      letter-spacing: 0.04em;
      margin-bottom: 46px;
    }

    .policy-card {
      background: var(--bg-soft);
      border: 1px solid var(--line);
      border-radius: 16px;
      box-shadow: var(--shadow-card);
      padding: clamp(24px, 5vw, 46px);
    }

    section + section {
      margin-top: 34px;
      padding-top: 34px;
      border-top: 1px solid var(--line);
    }

    h2 {
      font-size: clamp(22px, 2.8vw, 30px);
      line-height: 1.15;
      letter-spacing: -0.015em;
      margin-bottom: 12px;
    }

    p, li {
      color: var(--ink-soft);
      font-size: 15.5px;
    }

    p + p { margin-top: 12px; }
    ul { margin: 14px 0 0 20px; }
    li + li { margin-top: 8px; }
    strong { color: var(--ink); font-weight: 600; }

    .contact {
      display: inline-flex;
      margin-top: 14px;
      color: var(--gold);
      text-decoration: none;
      font-weight: 600;
    }

    footer {
      position: relative;
      z-index: 2;
      padding: 28px var(--pad-x);
      border-top: 1px solid var(--line);
    }

    .foot {
      max-width: var(--w-max);
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 20px;
    }

    .foot-l { font-size: 12px; color: var(--ink-mute); font-family: var(--mono); }
    .foot-r { display: flex; gap: 18px; }
    .foot-r a {
      font-size: 12px;
      color: var(--ink-mute);
      text-decoration: none;
      font-family: var(--mono);
    }
    .foot-r a:hover { color: var(--ink-soft); }

    @media (max-width: 640px) {
      :root { --pad-x: 18px; }
      nav { height: 56px; padding: 0 18px; }
      .nav-logo { font-size: 13px; gap: 8px; }
      .nav-logo img { width: 26px; height: 26px; }
      .nav-links { gap: 12px; }
      main { padding-top: 64px; padding-bottom: 72px; }
      .policy-card { border-radius: 14px; }
      .foot { flex-direction: column; gap: 12px; text-align: center; }
      .foot-r { flex-wrap: wrap; justify-content: center; }
    }
