/* privacy.css — DEUCE privacy-policy page. Tone matched to the home: dark #0a0a0a, Neue Haas Grotesk,
   "—" bullets, accent #ffdb1f, generous legal-readable spacing. JP/EN via data-ja/data-en. */
:root{
  --bg:#0a0a0a; --fg:#f4f4f4; --soft:#cfcfcf; --mute:#9a9a9a; --line:#2a2a2a; --accent:#ffdb1f;
  --sans:'neue-haas-grotesk-text','Helvetica Neue',Helvetica,Arial,'Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic','Noto Sans JP',sans-serif;
}
*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{ margin:0; background:var(--bg); color:var(--fg); font-family:var(--sans);
  font-size:15px; line-height:1.9; letter-spacing:.01em; -webkit-font-smoothing:antialiased; }
a{ color:inherit; }

/* header: back link (left) + JP/EN (right), sticky */
.pp-head{ position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between;
  padding:1.1rem 4vw; background:rgba(10,10,10,.82); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line); font-size:12px; letter-spacing:-.01em; }
.pp-back{ text-decoration:none; color:var(--fg); border-bottom:1px solid transparent; transition:border-color .2s; }
.pp-back:hover{ border-color:var(--fg); }

/* JP / EN toggle — same idiom as the rest of the site (active = bold, hover = accent) */
.lang-toggle{ display:flex; align-items:center; gap:.4em; font-size:12px; letter-spacing:-.02em; color:var(--fg); user-select:none; }
.lang-toggle button{ background:none; border:0; padding:0; margin:0; font:inherit; letter-spacing:inherit; color:inherit; cursor:pointer; opacity:.45; transition:opacity .2s,color .2s; }
.lang-toggle button.is-active{ opacity:1; font-weight:500; }
.lang-toggle button:hover{ opacity:1; color:var(--accent); }
.lang-toggle .lang-sep{ opacity:.35; }

/* body */
.pp{ max-width:1100px; margin:0 auto; padding:4.5rem 4vw 5.5rem; }
.pp-kicker{ margin:0 0 1rem; font-size:11px; text-transform:uppercase; letter-spacing:.2em; color:var(--mute); }
.pp-title{ margin:0; font-weight:600; font-size:clamp(2rem,5.5vw,3.1rem); letter-spacing:-.02em; line-height:1.05; }
.pp-intro{ margin:1.9rem 0 0; color:var(--soft); }

.pp-art{ margin:2.8rem 0 0; padding:2.6rem 0 0; border-top:1px solid var(--line); }
.pp-art h2{ margin:0 0 1.1rem; font-size:1.02rem; font-weight:600; letter-spacing:.005em; color:#fff; }
.pp-art p{ margin:0 0 1rem; color:var(--soft); }
.pp-art p:last-child{ margin-bottom:0; }

/* "—" bullet lists (mirrors the site's em-dash marker); nested = middot */
.pp-list{ margin:1rem 0 .2rem; padding:0; list-style:none; }
.pp-list li{ position:relative; padding-left:1.4em; margin:.55rem 0; color:var(--soft); }
.pp-list li::before{ content:"—"; position:absolute; left:0; color:var(--mute); }
.pp-list .pp-list{ margin:.55rem 0 .4rem; }
.pp-list .pp-list li::before{ content:"·"; left:.15em; }

/* contact — definition rows, like the home's company data */
.pp-contact{ margin:1.4rem 0 0; }
.pp-contact > div{ display:grid; grid-template-columns:140px 1fr; gap:1rem; padding:.75rem 0; border-bottom:1px solid var(--line); }
.pp-contact > div:first-child{ border-top:1px solid var(--line); }
.pp-contact dt{ margin:0; color:var(--mute); font-size:13px; }
.pp-contact dd{ margin:0; color:var(--fg); font-size:14px; }
.pp-contact a{ border-bottom:1px solid var(--mute); text-decoration:none; transition:color .2s,border-color .2s; }
.pp-contact a:hover{ color:var(--accent); border-color:var(--accent); }

/* reference-translation disclaimer (the Japanese version is authoritative) */
.pp-note{ margin:3rem 0 0; padding:1.9rem 0 0; border-top:1px solid var(--line); font-size:12px; line-height:1.8; color:var(--mute); }

/* page foot */
.pp-foot{ max-width:1100px; margin:3.5rem auto 0; padding:1.6rem 4vw 1.6rem; border-top:1px solid var(--line);
  display:flex; align-items:baseline; justify-content:space-between; gap:1rem; font-size:11px; color:var(--mute); }
.pp-foot a{ text-decoration:none; color:var(--mute); border-bottom:1px solid transparent; transition:color .2s,border-color .2s; }
.pp-foot a:hover{ color:var(--fg); border-color:var(--fg); }

@media (max-width:640px){
  body{ font-size:14px; }
  .pp-head{ padding:1rem 7vw; }
  .pp{ padding:3.2rem 7vw 4.5rem; }
  .pp-contact > div{ grid-template-columns:1fr; gap:.2rem; }
  .pp-foot{ flex-direction:column; gap:.5rem; }
}
