/* Kisaka & Company — Privacy, terms and compliance pages. */
.kisaka-legal-notice
   {
      margin-bottom: 28px;
      padding: 18px 20px 20px;
      border-radius: 12px;
      border: 1px solid #e2d6cf;
      border-left: 4px solid #cb1f34;
      background: linear-gradient(135deg, #fffdfb 0%, #f8f6f4 100%);
   }

.kisaka-legal-notice__label
   {
      margin: 0 0 8px;
      font-size: 11px;
      font-weight: 800;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: #cb1f34;
   }

.kisaka-legal-notice__text
   {
      margin: 0;
      font-size: 14px;
      line-height: 1.65;
      color: #3d424a;
   }

.kisaka-legal-section__emphasis
   {
      font-size: 14px;
      line-height: 1.65;
      color: #353942;
   }

.kisaka-legal-related
   {
      margin-top: 40px;
      padding-top: 28px;
      border-top: 1px solid #e4e7ef;
   }

.kisaka-legal-related__label
   {
      margin: 0 0 12px;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: #6b6f7a;
   }

.kisaka-legal-related__list
   {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-wrap: wrap;
      gap: 10px 14px;
   }

/* Documents (Terms of Service, Compliance disclosure): the article's reading page without the photograph.
   The headline sits over the reading column, so title and text share one left edge. */
.kisaka-article-page--document .kisaka-article-page__top
   {
      display: block;
   }

.kisaka-article-page--document .kisaka-article-page__head
   {
      padding-bottom: 0;
   }

@media (min-width: 1100px)
   {
      .kisaka-article-page--document .kisaka-article-page__head
         {
            padding-left: calc(var(--kisaka-article-rail) + var(--kisaka-article-gap));
         }
   }

@media (max-width: 1099px)
   {
      .kisaka-article-page--document .kisaka-article-page__top
         {
            max-width: calc(var(--kisaka-article-measure) + 30px);
         }
   }

.kisaka-article-page__crumb
   {
      margin: 0 0 clamp(24px, 4vw, 40px);
   }

.kisaka-article-page__crumb-list
   {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-wrap: wrap;
      gap: 6px 10px;
      font-family: var(--kisaka-font-accent);
      font-size: 13px;
      font-weight: 500;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--kisaka-article-quiet);
   }

.kisaka-article-page__crumb-list a
   {
      color: inherit;
      text-decoration: none;
      transition: color 0.2s ease;
   }

.kisaka-article-page__crumb-list a:hover, .kisaka-article-page__crumb-list a:focus-visible
   {
      color: var(--kisaka-red);
   }

.kisaka-article-page__crumb-list li[aria-current="page"]
   {
      color: var(--kisaka-red);
   }

/* The notice reads as a margin rule, not a card */
.kisaka-article-page .kisaka-legal-notice
   {
      margin: 0 0 2.4em;
      padding: 0.1em 0 0.1em 1.1em;
      border: 0;
      border-left: 2px solid var(--kisaka-red);
      border-radius: 0;
      background: none;
   }

.kisaka-article-page .kisaka-legal-notice__label, .kisaka-article-page .kisaka-legal-related__label
   {
      margin: 0 0 0.6em;
      font-family: var(--kisaka-font-accent);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.08em;
      line-height: 1.3;
      text-transform: uppercase;
      color: var(--kisaka-red);
   }

.kisaka-article-page .kisaka-legal-notice__text
   {
      margin: 0;
      color: var(--kisaka-article-ink);
   }

.kisaka-article__prose .kisaka-legal-section__emphasis
   {
      color: var(--kisaka-article-ink);
   }

.kisaka-article-page .kisaka-legal-related
   {
      margin-top: clamp(48px, 6vw, 72px);
      padding-top: 20px;
      border-top: 1px solid var(--kisaka-article-line);
   }

.kisaka-article-page .kisaka-legal-related__label
   {
      color: var(--kisaka-article-quiet);
   }

.kisaka-article-page .kisaka-legal-related__list
   {
      gap: 8px 24px;
   }

.kisaka-article-page .kisaka-legal-related__list a
   {
      display: inline;
      padding: 0;
      border: 0;
      border-radius: 0;
      background: none;
      font-family: var(--kisaka-font-accent);
      font-size: 14px;
      font-weight: 500;
      color: var(--kisaka-article-quiet);
      text-decoration: none;
      transition: color 0.2s ease;
   }

.kisaka-article-page .kisaka-legal-related__list a:hover,
.kisaka-article-page .kisaka-legal-related__list a:focus-visible
   {
      background: none;
      color: var(--kisaka-red);
   }

/* --------------------------------------------------------------------------
   Privacy policy: read like an article. Same faces, measure and contents rail;
   the headline sits over the reading column because there is no photograph.
   -------------------------------------------------------------------------- */
@media (min-width: 992px)
   {
      .kisaka-article-page__top--solo
         {
            display: block;
         }
   }

@media (min-width: 1100px)
   {
      .kisaka-article-page__top--solo .kisaka-article-page__head
         {
            max-width: var(--kisaka-article-measure);
            margin-left: calc(var(--kisaka-article-rail) + var(--kisaka-article-gap));
         }
   }

@media (max-width: 1099px)
   {
      .kisaka-article-page__top--solo
         {
            max-width: calc(var(--kisaka-article-measure) + 30px);
         }
   }

.kisaka-policy-crumb
   {
      margin: 0 0 clamp(24px, 4vw, 40px);
   }

.kisaka-policy-crumb__list
   {
      display: flex;
      flex-wrap: wrap;
      gap: 0 10px;
      margin: 0;
      padding: 0;
      list-style: none;
      font-family: var(--kisaka-font-accent);
      font-size: 14px;
      font-weight: 500;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--kisaka-article-quiet);
   }

.kisaka-policy-crumb__list a
   {
      color: inherit;
      text-decoration: none;
      transition: color 0.2s ease;
   }

.kisaka-policy-crumb__list a:hover, .kisaka-policy-crumb__list a:focus-visible
   {
      color: var(--kisaka-red);
   }

.kisaka-policy-crumb__list [aria-current="page"]
   {
      color: var(--kisaka-red);
   }

/* A policy is read closer than an essay: a step down in size, the same book face */
.kisaka-policy
   {
      font-size: clamp(1.0625rem, 1rem + 0.25vw, 1.1875rem);
      line-height: 1.65;
   }

.kisaka-policy > .kisaka-article__lead
   {
      font-size: 1.12em;
      line-height: 1.5;
      margin-bottom: 1.6em;
   }

/* Phones and tablets have no rail, so the contents open the document instead */
.kisaka-policy__contents
   {
      margin: 0 0 2.4em;
      padding-top: 1em;
      border-top: 1px solid var(--kisaka-article-ink);
      font-family: var(--kisaka-font-accent);
   }

@media (min-width: 1100px)
   {
      .kisaka-policy__contents
         {
            display: none;
         }
   }

.kisaka-policy .kisaka-policy__contents-heading
   {
      margin: 0 0 0.4em;
      font-family: var(--kisaka-font-accent);
      font-size: 12px;
      font-weight: 600;
      color: var(--kisaka-article-ink);
   }

.kisaka-policy__contents-list
   {
      margin: 0;
      padding: 0;
      list-style: none;
      counter-reset: kisaka-policy-toc;
   }

.kisaka-policy__contents-list li
   {
      counter-increment: kisaka-policy-toc;
      border-bottom: 1px solid var(--kisaka-article-line);
   }

.kisaka-policy .kisaka-policy__contents-list a
   {
      display: flex;
      align-items: baseline;
      gap: 14px;
      padding: 10px 0;
      font-size: 15px;
      line-height: 1.4;
      color: var(--kisaka-article-body);
      text-decoration: none;
   }

.kisaka-policy .kisaka-policy__contents-list a::before
   {
      content: counter(kisaka-policy-toc, decimal-leading-zero);
      flex: none;
      width: 1.6em;
      font-size: 12px;
      font-weight: 600;
      color: var(--kisaka-red);
      font-variant-numeric: tabular-nums;
   }

.kisaka-policy .kisaka-policy__contents-list a:hover
   {
      color: var(--kisaka-red);
   }

/* The one passage the firm asks everyone to read: a red rule, no box */
.kisaka-policy__notice
   {
      margin: 0 0 1em;
      padding: 0.2em 0 0.2em 1.2em;
      border-left: 2px solid var(--kisaka-red);
   }

.kisaka-policy__notice p
   {
      font-size: 0.94em;
      color: var(--kisaka-article-ink);
   }

.kisaka-policy__notice p:last-child
   {
      margin-bottom: 0;
   }

.kisaka-policy .kisaka-policy__notice-label
   {
      margin: 0 0 0.5em;
      font-family: var(--kisaka-font-accent);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--kisaka-red);
   }

/* Clause headings: the headline's serif, sentence case; the number leads the same line */
.kisaka-policy .kisaka-policy__section > h2, .kisaka-policy .kisaka-policy__section > h2:first-child
   {
      margin: 2.2em 0 0.7em;
      padding-top: 1.2em;
      border-top: 1px solid var(--kisaka-article-line);
      font-family: "Newsreader", Georgia, "Times New Roman", serif;
      font-optical-sizing: auto;
      font-size: 1.45em;
      font-weight: 450;
      letter-spacing: -0.012em;
      line-height: 1.2;
      text-transform: none;
      text-wrap: balance;
   }

.kisaka-policy__num
   {
      margin-right: 0.2em;
      color: var(--kisaka-red);
      font-variant-numeric: tabular-nums;
   }

.kisaka-policy h3
   {
      margin: 1.6em 0 0.4em;
   }

.kisaka-policy__address
   {
      margin: 0;
      font-style: normal;
      line-height: 1.7;
   }

.kisaka-policy__address strong
   {
      font-weight: 600;
      color: var(--kisaka-article-ink);
   }

/* End of the document: the closing rule, then the neighbouring policies */
.kisaka-policy__related
   {
      display: flex;
      flex-wrap: wrap;
      align-items: baseline;
      gap: 12px 28px;
      margin-top: clamp(40px, 5vw, 64px);
      padding-top: 24px;
      border-top: 1px solid var(--kisaka-article-ink);
      font-family: var(--kisaka-font-accent);
   }

.kisaka-policy__related-label
   {
      margin: 0;
      font-family: inherit;
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0;
      color: var(--kisaka-article-ink);
   }

.kisaka-policy__related-list
   {
      display: flex;
      flex-wrap: wrap;
      gap: 8px 24px;
      margin: 0;
      padding: 0;
      list-style: none;
   }

.kisaka-policy__related-list a
   {
      font-size: 14px;
      font-weight: 500;
      color: var(--kisaka-article-quiet);
      text-decoration: none;
      transition: color 0.2s ease;
   }

.kisaka-policy__related-list a:hover, .kisaka-policy__related-list a:focus-visible
   {
      color: var(--kisaka-red);
   }
