/* ==========================================================================
   Privacy page (help-contact builder). Scoped under .pg-privacy.
   A calm reading layout: short summary first, contents on the left on wide screens.
   ========================================================================== */
.pg-privacy .privacy-hero .lead { max-width: 40em; }

.pg-privacy .privacy-layout { display: grid; gap: clamp(32px, 5vw, 72px); }
@media (min-width: 1024px) {
  .pg-privacy .privacy-layout { grid-template-columns: 220px minmax(0, 720px); justify-content: start; }
  .pg-privacy .privacy-layout > .privacy-sum, .pg-privacy .privacy-layout > .privacy-prose { grid-column: 2; }
}

/* ---------- the short version ---------- */
.pg-privacy .privacy-summary { padding-bottom: clamp(48px, 6vw, 88px); }
.pg-privacy .privacy-sum {
  background: var(--white); border-radius: var(--r-lg); box-shadow: var(--shadow-sm);
  padding: clamp(24px, 3.5vw, 44px); border-top: 6px solid var(--lilac-mid);
}
.pg-privacy .privacy-sum h2 { font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.2rem); margin-bottom: .2rem; }
.pg-privacy .privacy-sum__sub { color: var(--ink-soft); margin-bottom: 1.2rem; }
.pg-privacy .privacy-sum__list { margin: 0; display: grid; }
.pg-privacy .privacy-sum__list > div {
  display: grid; gap: .2rem 1.5rem; padding: .9rem 0; border-top: 1px solid var(--line);
}
@media (min-width: 640px) { .pg-privacy .privacy-sum__list > div { grid-template-columns: 10rem minmax(0, 1fr); } }
.pg-privacy .privacy-sum__list dt { font-weight: 700; color: var(--forest); }
.pg-privacy .privacy-sum__list dd { margin: 0; }

/* ---------- contents (wide screens only) ---------- */
.pg-privacy .privacy-toc { display: none; }
@media (min-width: 1024px) {
  .pg-privacy .privacy-toc { display: block; grid-column: 1; grid-row: 1; position: sticky; top: calc(var(--header-h) + 32px); align-self: start; }
}
.pg-privacy .privacy-toc__title {
  margin: 0 0 .8rem; font-size: .82rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--garden);
}
.pg-privacy .privacy-toc ol { list-style: none; border-left: 1px solid var(--line); }
.pg-privacy .privacy-toc a {
  display: flex; align-items: center; min-height: 40px; padding: .3rem 0 .3rem 1rem; margin-left: -1px;
  border-left: 2px solid transparent; color: var(--ink-soft); text-decoration: none; font-size: .95rem; line-height: 1.3;
}
.pg-privacy .privacy-toc a:hover { color: var(--forest); border-left-color: var(--garden); }

/* ---------- the policy text ---------- */
.pg-privacy .privacy-prose { min-width: 0; }
.pg-privacy .privacy-prose section { padding-block: clamp(28px, 3.5vw, 44px); border-top: 1px solid var(--line); }
.pg-privacy .privacy-prose section:first-child { border-top: 0; padding-top: 0; }
.pg-privacy .privacy-prose h2 { font-size: clamp(1.5rem, 1.25rem + 1vw, 2rem); margin-bottom: .7em; }
.pg-privacy .privacy-prose h3 { font-size: 1.3rem; margin: 1.6em 0 .5em; }
.pg-privacy .privacy-prose .leaf-list { margin: 0 0 1em; gap: .6rem; }
.pg-privacy .privacy-prose a { overflow-wrap: anywhere; }

.pg-privacy .privacy-card { margin: 0; display: grid; gap: .5rem; }
.pg-privacy .privacy-card > div { display: grid; grid-template-columns: minmax(9.5rem, 14rem) minmax(0, 1fr); gap: 1rem; }
.pg-privacy .privacy-card dt { font-weight: 700; color: var(--forest); }
.pg-privacy .privacy-card dd { margin: 0; }
.pg-privacy dd a { display: inline-block; padding-block: .6rem; margin-block: -.6rem; }  /* 44px tap area, text does not move */

.pg-privacy .privacy-bases { list-style: none; display: grid; gap: .5rem; margin: 0 0 1em; padding-left: 1.1rem; border-left: 3px solid var(--mint); }

.pg-privacy .privacy-rights { list-style: none; counter-reset: right; display: grid; gap: .8rem; margin: 0 0 1.2em; }
.pg-privacy .privacy-rights li { counter-increment: right; display: grid; align-items: baseline; grid-template-columns: 2.2rem minmax(0, 1fr); gap: .6rem; }
.pg-privacy .privacy-rights li::before {
  content: counter(right); font-family: var(--serif); font-size: 1.5rem; line-height: 1.1; font-weight: 300; color: var(--rose-deep);
}

.pg-privacy .privacy-ico { background: var(--mint); border-radius: var(--r); padding: 1.2rem 1.4rem; }
/* 19 Oct 2026: the new policy's contact labels are long (Registered office address) */
@media (max-width: 560px) { .pg-privacy .privacy-card > div { grid-template-columns: 1fr; gap: .15rem; } }
/* 19 Oct 2026: the client's policy has 15 sections, so the sticky contents list must fit the viewport */
@media (min-width: 1024px) {
  .pg-privacy .privacy-toc { max-height: calc(100vh - var(--header-h, 76px) - 48px); overflow-y: auto; overscroll-behavior: contain; }
  .pg-privacy .privacy-toc a { min-height: 34px; padding-block: .22rem; }
}
.pg-privacy .privacy-card { margin: 0 0 1.1em; }
