.privacy-intro { padding-block:48px 44px; border-bottom:1px solid var(--line); }
.privacy-intro h1 { font-size:clamp(1.65rem,3vw,2.5rem); }
.privacy-intro .body-copy { max-width:44rem; }
.privacy-layout { display:grid; grid-template-columns:220px minmax(0,1fr); align-items:start; gap:64px; padding-block:52px 72px; }
.privacy-nav { position:sticky; top:calc(var(--header) + 28px); font-size:.8125rem; }
.privacy-nav>p { font-weight:700; margin-bottom:16px; }
.privacy-nav ol { list-style:none; margin:0; padding:0; }
.privacy-nav a { display:block; padding:10px 0; min-height:44px; color:var(--body); text-decoration:underline; text-decoration-color:transparent; text-underline-offset:5px; }
.privacy-nav a:hover { color:var(--blue-deep); text-decoration-color:currentColor; }
.privacy-content { min-width:0; max-width:48rem; }
.privacy-content>section { padding-block:36px; border-bottom:1px solid var(--line); }
.privacy-content>section:first-child { padding-top:0; }
.privacy-content>section:last-child { border-bottom:0; padding-bottom:0; }
.privacy-content h2 { display:flex; align-items:baseline; gap:16px; font-size:1.25rem; line-height:1.6; letter-spacing:0; text-wrap:wrap; margin-bottom:20px; }
.privacy-content h2>span { font:700 .8125rem/1.5 var(--font-en); color:var(--blue); flex:0 0 24px; }
.privacy-content p,.privacy-content dd { color:var(--body); font-size:1rem; line-height:1.95; }
.privacy-content p { margin-bottom:20px; }
.privacy-content p:last-child { margin-bottom:0; }
.privacy-content dl { margin:24px 0; }
.privacy-purposes>div,.privacy-services>div { padding:20px 0; border-bottom:1px solid var(--line); }
.privacy-purposes>div:first-child,.privacy-services>div:first-child { padding-top:0; }
.privacy-purposes>div:last-child,.privacy-services>div:last-child { padding-bottom:0; border:0; }
.privacy-content dt { font-weight:700; margin-bottom:8px; }
.privacy-content dd { margin:0; overflow-wrap:anywhere; }
.privacy-content dd a { color:var(--blue-deep); text-decoration:underline; text-underline-offset:4px; }
.privacy-services dd a { display:block; width:fit-content; margin-top:10px; padding-block:6px; min-height:44px; font-size:.875rem; }
.privacy-company>div { display:grid; grid-template-columns:72px minmax(0,1fr); gap:20px; padding-block:12px; }
.privacy-company dt { margin-bottom:0; font-size:.875rem; line-height:2; }
.privacy-contact .email-fallback { margin:28px 0 0; padding:24px; border-radius:16px; background:var(--surface-soft); }
.privacy-contact .email-fallback p { font-size:.8125rem; }
@media (max-width:1024px) {
  .privacy-layout { grid-template-columns:1fr; gap:40px; }
  .privacy-nav { position:static; padding-bottom:28px; border-bottom:1px solid var(--line); }
  .privacy-nav ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:20px; }
  .privacy-content { max-width:none; }
}
@media (max-width:760px) {
  .privacy-intro { padding-block:28px 32px; }
  .privacy-intro .eyebrow { margin-bottom:16px; }
  .privacy-intro h1 { font-size:clamp(1.4rem,6vw,1.75rem); letter-spacing:-.025em; }
  .privacy-layout { padding-block:28px 48px; gap:32px; }
  .privacy-nav { padding-bottom:24px; }
  .privacy-nav ol { gap:8px; }
  .privacy-nav a { display:flex; align-items:center; height:100%; padding:12px; font-size:.8125rem; line-height:1.7; background:var(--surface-soft); border:1px solid var(--line); border-radius:10px; }
  .privacy-content>section { padding-block:28px; }
  .privacy-content h2 { gap:8px; font-size:1.125rem; }
  .privacy-content h2>span { flex-basis:22px; }
  .privacy-company>div { grid-template-columns:1fr; gap:4px; }
  .privacy-contact .email-fallback { padding:20px 16px; }
  .privacy-contact>.button { width:100%; }
}
@media (max-width:360px) {
  .privacy-nav ol { grid-template-columns:1fr; }
}
@media print { .privacy-nav { display:none; } .privacy-layout { display:block; } .privacy-content { max-width:none; } }
