

/* ------------------------------------------------------------ opening */
.kv-hero__title { font-size: clamp(2.8rem, 5.4vw, 6.2rem); }
.kv-hero__meta { max-width: 31rem; margin-top: clamp(1.6rem, 2.4vw, 2.2rem); border-top: 1px solid var(--on-dark-line); }
.kv-hero__meta div { display: flex; justify-content: space-between; gap: 1.5rem; padding-block: .7rem; border-bottom: 1px solid var(--on-dark-line); }
.kv-hero__meta dt { flex: none; color: var(--on-dark-muted); font-size: .78rem; }
.kv-hero__meta dd { color: var(--on-dark-ink); font-size: .86rem; font-weight: 600; text-align: right; }

.kv-summary { grid-area: index; align-self: end; padding: clamp(1.5rem, 2.4vw, 2.3rem); border: 1px solid var(--on-dark-line); border-top: 2px solid var(--gold-lit); }
.kv-summary__title { color: var(--gold-lit); font-size: .72rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.kv-summary ul { display: grid; gap: 1rem; margin-top: 1.2rem; }
.kv-summary li { position: relative; padding-left: 1.9rem; color: var(--on-dark-body); font-size: clamp(.95rem, 1.05vw, 1.04rem); line-height: 1.65; }
.kv-summary li::before { content: ''; position: absolute; left: .1rem; top: .42em; width: .8rem; height: .45rem; border-left: 1.5px solid var(--gold-lit); border-bottom: 1.5px solid var(--gold-lit); transform: rotate(-45deg); }

/* ------------------------------------------------------------ the text */
.kvkk { background: var(--surface-light); padding-block: clamp(2.5rem, 5vw, 5rem) clamp(3.5rem, 5.5vw, 6rem); }
.kvkk__inner { margin-inline: var(--gutter); display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 2rem clamp(2.5rem, 6vw, 7rem); align-items: start; }

.kv-toc { position: sticky; top: calc(var(--header-h, var(--masthead)) + 1.5rem); }
.kv-toc__title { color: var(--muted); font-size: .72rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.kv-toc ol { margin-top: .9rem; border-top: 1px solid var(--line); }
.kv-toc a { display: grid; grid-template-columns: 2.2rem minmax(0, 1fr); align-items: center; min-height: 2.9rem; padding-block: .45rem; border-bottom: 1px solid var(--line); font-size: .9rem; line-height: 1.35; transition: color 200ms ease; }
.kv-toc a span { color: var(--gold-ink); font-size: .72rem; letter-spacing: .08em; font-variant-numeric: tabular-nums; }
.kv-toc a:hover { color: var(--gold-ink); }

.kv-doc { max-width: 48rem; }
.kv-draft { margin-bottom: clamp(1.5rem, 3vw, 2.5rem); padding: clamp(1.2rem, 2vw, 1.8rem); border: 1px dashed var(--field-line); border-radius: 6px; }
.kv-draft__title { display: flex; align-items: center; gap: .7rem; font-size: 1.02rem; font-weight: 600; }
.kv-draft__title::before { content: ''; width: .55rem; height: .55rem; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 4px rgb(209 154 23 / .18); }
.kv-draft p + p { margin-top: .5rem; color: var(--muted); font-size: .92rem; line-height: 1.7; }

.kv-sec { padding-block: clamp(2rem, 3.6vw, 3.4rem); }
.kv-sec + .kv-sec { border-top: 1px solid var(--line); }
.kv-sec:first-of-type { padding-top: 0; }
.kv-sec__title { font-size: clamp(1.55rem, 2.5vw, 2.5rem); font-weight: 500; line-height: 1.12; letter-spacing: -.04em; }
.kv-sec__no { display: block; margin-bottom: .7rem; color: var(--gold-ink); font-size: .76rem; font-weight: 500; letter-spacing: .08em; font-variant-numeric: tabular-nums; }
.kv-sec__sub { margin-top: 2rem; font-size: 1.08rem; font-weight: 600; letter-spacing: -.01em; }
.kv-sec p, .kv-sec li { color: var(--ink); font-size: clamp(1rem, 1.1vw, 1.1rem); line-height: 1.8; }
.kv-sec__title + *, .kv-sec__sub + * { margin-top: 1.1rem; }
.kv-sec p + p, .kv-sec p + ul, .kv-sec ul + p, .kv-sec ul + .kv-sec__sub, .kv-sec .kv-table + p, .kv-sec .kv-table + .kv-sec__note, .kv-sec p + .kv-facts { margin-top: 1.2rem; }
.kv-sec ul { display: grid; gap: .8rem; }
.kv-sec ul li { position: relative; padding-left: 1.8rem; }
.kv-sec ul li::before { content: ''; position: absolute; left: 0; top: .9em; width: 1rem; height: 1px; background: var(--gold-ink); }
.kv-sec__note { padding: 1rem 1.2rem; border-left: 2px solid var(--gold); background: rgb(255 255 255 / .55); font-size: .96rem !important; }

.kv-facts { border-top: 1px solid var(--line); }
.kv-facts div { display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: 1rem; padding-block: .75rem; border-bottom: 1px solid var(--line); }
.kv-facts dt { color: var(--muted); font-size: .84rem; }
.kv-facts dd { font-weight: 600; overflow-wrap: anywhere; }

.kv-table { overflow-x: auto; border-top: 1px solid var(--ink); }
.kv-table:focus-visible { outline: 2px solid var(--gold-ink); outline-offset: 4px; }
.kv-table table { width: 100%; border-collapse: collapse; }
.kv-table thead th { padding: .8rem 1rem .8rem 0; color: var(--muted); font-size: .74rem; font-weight: 600; letter-spacing: .1em; text-align: left; text-transform: uppercase; border-bottom: 1px solid var(--line); }
.kv-table tbody th, .kv-table td { padding: 1rem 1rem 1rem 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; font-size: .98rem; line-height: 1.65; }
.kv-table tbody th { width: 34%; font-weight: 600; }
.kv-table td { color: var(--ink); }

.kv-address address { margin-top: 1rem; font-style: normal; line-height: 1.7; }

/* ---------------------------------------------------------- responsive */
@media (max-width: 63.99em) {
  .kvkk__inner { grid-template-columns: 1fr; }
  .kv-toc { position: static; }
  .kv-toc ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.5rem; }
}
@media (max-width: 47.99em) {
  .kv-hero__title { font-size: clamp(2.4rem, 11vw, 3.4rem); }
  .kv-toc ol { grid-template-columns: 1fr; }
  .kv-facts div { grid-template-columns: 1fr; gap: .2rem; }
  /* the two-column tables become one block per row */
  .kv-table { border-top-color: var(--line); }
  .kv-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .kv-table tr, .kv-table tbody th, .kv-table td { display: block; width: auto; }
  .kv-table tbody th { padding: 1rem 0 .3rem; border-bottom: 0; }
  .kv-table td { padding: 0 0 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .kv-toc a { transition: none; }
}

/* ---------------------------------------------------------------- print */
@media print {
  @page { margin: 18mm 16mm; }
  .skip-link, .site-header, .mnav, .site-footer, .pol-crumbs, .kv-summary, .kv-toc, .kv-contact, .preloader { display: none !important; }
  body, .pol-hero, .kvkk { background: #fff !important; color: #000 !important; }
  .pol-hero { padding: 0 0 6mm; border-bottom: 1px solid #000; }
  .pol-hero, .pol-hero * { --on-dark-ink: #000; --on-dark-body: #222; --on-dark-muted: #444; --on-dark-line: #999; --gold-lit: #000; color: #000 !important; }
  .pol-hero__inner, .kvkk__inner { margin-inline: 0; display: block; }
  .kv-hero__title { font-size: 24pt; }
  .pol-hero__lede { max-width: none; font-size: 10.5pt; }
  .kv-doc { max-width: none; }
  .kv-sec { padding: 5mm 0; break-inside: avoid-page; }
  .kv-sec__title { font-size: 15pt; }
  .kv-sec p, .kv-sec li, .kv-table td, .kv-table th { font-size: 10pt; line-height: 1.55; color: #000; }
}
