/* Operation 027 v1.1: practical privacy pair only. Shared tokens supply type and colour. */
.tfst-privacy-practical {
  --privacy-canvas: var(--tfst-colour-background);
  --privacy-soft: #f7f3f5;
  --privacy-card: #fff;
  --privacy-ink: var(--tfst-colour-text);
  --privacy-link: #713e53;
  color: var(--privacy-ink);
  background: var(--privacy-canvas);
}
.tfst-privacy-practical .tfst-privacy__section { padding-block: clamp(3.75rem, 7vw, 7rem); }
.tfst-privacy-practical .tfst-privacy__section--soft { background: var(--privacy-soft); }
.tfst-privacy-practical .tfst-privacy__container { width: min(calc(100% - 2rem), 80rem); margin-inline: auto; }
.tfst-privacy-practical .tfst-privacy__section h2 { max-width: 60rem; margin-bottom: clamp(1.5rem, 2.5vw, 2.5rem); }
.tfst-privacy-practical .tfst-privacy__copy { max-width: 49rem; min-width: 0; }
.tfst-privacy-practical .tfst-privacy__copy p { margin: 0 0 1.2rem; }
.tfst-privacy-practical .tfst-privacy__copy p:last-child { margin-bottom: 0; }
.tfst-privacy-practical a { color: var(--privacy-link); overflow-wrap: anywhere; }
.tfst-privacy-practical .tfst-privacy__layout { display: grid; gap: clamp(1.75rem, 4vw, 4rem); align-items: center; min-width: 0; }
.tfst-privacy-practical .tfst-privacy__layout--media,
.tfst-privacy-practical .tfst-privacy__hero .tfst-privacy__layout { grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); }
.tfst-privacy-practical .tfst-privacy__layout--compact { grid-template-columns: minmax(0, 1.35fr) minmax(0, .65fr); }
.tfst-privacy-practical .tfst-privacy__layout--diagram { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.tfst-privacy-practical .tfst-privacy__layout--diagram > .tfst-privacy__copy { grid-column: 1 / -1; }
.tfst-privacy-practical .tfst-privacy__layout--cards { display: block; }
.tfst-privacy-practical .tfst-privacy__media { margin: 0; min-width: 0; justify-self: center; width: min(100%, 31rem); }
.tfst-privacy-practical .tfst-privacy__media img { display: block; width: 100%; height: auto; object-fit: contain; }
.tfst-privacy-practical .tfst-privacy__layout--compact .tfst-privacy__media { width: min(100%, 20rem); }
.tfst-privacy-practical .tfst-privacy__hero { padding-top: clamp(4rem, 6vw, 6rem); }
.tfst-privacy-practical .tfst-privacy__hero h1 { max-width: 12ch; }
.tfst-privacy-practical .tfst-privacy__hero .tfst-privacy__copy p:not(.tfst-eyebrow) { max-width: 43rem; font-size: clamp(1.05rem, 1.5vw, 1.25rem); }
.tfst-privacy-practical .tfst-privacy__hero .tfst-privacy__media { width: min(100%, 35rem); }
.tfst-privacy-practical .tfst-privacy__organza { position: relative; isolation: isolate; overflow: hidden; }
.tfst-privacy-practical .tfst-privacy__organza::before { content: ""; position: absolute; z-index: -1; inset: 0; background-position: center; background-size: cover; background-repeat: no-repeat; opacity: .25; -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 25%, #000 75%, transparent 100%); mask-image: linear-gradient(to right, transparent 0%, #000 25%, #000 75%, transparent 100%); pointer-events: none; }
.tfst-privacy-practical .tfst-privacy__organza--drift::before { background-image: url("../images/organza-pattern-library-v1.0/paper-tricolour/tfst-organza-01-atmospheric-drift-paper-tricolour.webp"); }
.tfst-privacy-practical .tfst-privacy__organza--mist::before { background-image: url("../images/organza-pattern-library-v1.0/teal/tfst-organza-07-tranquil-mist-teal.png"); }
.tfst-privacy-practical .tfst-privacy__organza > .tfst-privacy__container { position: relative; z-index: 1; }
.tfst-privacy-practical .tfst-privacy__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); }
.tfst-privacy-practical .tfst-privacy__card { min-width: 0; border: 1px solid var(--tfst-border); border-radius: var(--tfst-radius); padding: clamp(1.25rem, 2.5vw, 2rem); background: var(--privacy-card); }
.tfst-privacy-practical .tfst-privacy__card p { margin: 0; }
.tfst-privacy-practical .tfst-privacy__cards--four { margin-block: clamp(1.5rem, 3vw, 2.5rem); }
.tfst-privacy-practical .tfst-privacy__diagram { min-width: 0; border: 1px solid var(--tfst-border); border-radius: var(--tfst-radius); padding: clamp(1rem, 3vw, 2rem); background: var(--privacy-card); }
.tfst-privacy-practical .tfst-privacy__diagram-grid { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: .75rem; }
.tfst-privacy-practical .tfst-privacy__diagram-node { display: grid; align-content: center; gap: .55rem; min-width: 0; border-inline-start: .25rem solid var(--tfst-teal); border-radius: .35rem; padding: 1rem; background: var(--privacy-soft); overflow-wrap: anywhere; }
.tfst-privacy-practical .tfst-privacy__diagram-node strong { color: var(--tfst-plum); }
.tfst-privacy-practical .tfst-privacy__diagram-connector { color: var(--tfst-teal); font-size: 1.75rem; }
.tfst-privacy-practical .tfst-privacy__pathway { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; grid-column: 1 / -1; margin: 0; padding: 0; list-style: none; counter-reset: privacy-step; }
.tfst-privacy-practical .tfst-privacy__pathway .tfst-privacy__diagram-node { position: relative; counter-increment: privacy-step; padding-top: 2.5rem; }
.tfst-privacy-practical .tfst-privacy__pathway .tfst-privacy__diagram-node::before { content: counter(privacy-step, decimal-leading-zero); position: absolute; top: .65rem; inset-inline-start: 1rem; color: var(--tfst-plum); font-weight: 800; font-size: .85rem; }
.tfst-privacy-practical #privacy-section-7 .tfst-privacy__media { grid-column: 1 / -1; width: min(100%, 42rem); }
.tfst-privacy-practical .tfst-privacy__qa .tfst-faq { max-width: 56rem; }
.tfst-privacy-practical .tfst-privacy__qa .tfst-faq details { background: var(--privacy-card); }
.tfst-privacy-practical .tfst-privacy__qa .tfst-faq summary { min-height: 2.75rem; }
.tfst-privacy-practical .tfst-privacy__closing { padding-block: clamp(2rem, 4vw, 4rem); background: var(--privacy-soft); }
.tfst-privacy-practical .tfst-privacy__closing nav { display: flex; flex-wrap: wrap; gap: 1rem 2rem; }
.tfst-privacy-practical .tfst-privacy__closing a { display: inline-flex; align-items: center; min-height: 2.75rem; font-weight: 700; }
html[data-tfst-theme="dark"] .tfst-privacy-practical { --privacy-canvas: #201a1d; --privacy-soft: #2a2326; --privacy-card: #30282c; --privacy-ink: #f5eff1; --privacy-link: #efd4df; --tfst-border: #6d5a62; --tfst-muted: #d8cdd1; --tfst-cream: #201a1d; color: var(--privacy-ink); }
html[data-tfst-theme="dark"] .tfst-privacy-practical h1,
html[data-tfst-theme="dark"] .tfst-privacy-practical h2,
html[data-tfst-theme="dark"] .tfst-privacy-practical .tfst-privacy__diagram-node strong,
html[data-tfst-theme="dark"] .tfst-privacy-practical .tfst-privacy__pathway .tfst-privacy__diagram-node::before { color: #e8c7b4; }
html[data-tfst-theme="dark"] .tfst-privacy-practical .tfst-eyebrow { color: #e0b8c6; }
html[data-tfst-theme="dark"] .tfst-privacy-practical .tfst-faq details,
html[data-tfst-theme="dark"] .tfst-privacy-practical .tfst-faq details[open] { color: var(--privacy-ink); background: var(--privacy-card); }
html[data-tfst-theme="dark"] .tfst-privacy-practical .tfst-faq summary { color: #e8c7b4; }
@media (max-width: 64rem) {
  .tfst-privacy-practical .tfst-privacy__layout--media,
  .tfst-privacy-practical .tfst-privacy__hero .tfst-privacy__layout,
  .tfst-privacy-practical .tfst-privacy__layout--compact,
  .tfst-privacy-practical .tfst-privacy__layout--diagram { grid-template-columns: minmax(0, 1fr); }
  .tfst-privacy-practical .tfst-privacy__layout--diagram > .tfst-privacy__copy,
  .tfst-privacy-practical .tfst-privacy__pathway,
  .tfst-privacy-practical #privacy-section-7 .tfst-privacy__media { grid-column: auto; }
  .tfst-privacy-practical .tfst-privacy__hero .tfst-privacy__media { justify-self: center; }
  .tfst-privacy-practical .tfst-privacy__pathway { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 40rem) {
  .tfst-privacy-practical .tfst-privacy__cards,
  .tfst-privacy-practical .tfst-privacy__pathway { grid-template-columns: minmax(0, 1fr); }
  .tfst-privacy-practical .tfst-privacy__diagram-grid { grid-template-columns: minmax(0, 1fr); }
  .tfst-privacy-practical .tfst-privacy__diagram-connector { justify-self: center; transform: rotate(90deg); }
  .tfst-privacy-practical .tfst-privacy__hero h1 { overflow-wrap: anywhere; }
}
