.page-privacy { background: #fffaf1; }
.page-privacy .privacy-wrap { width: min(1180px, calc(100% - 64px)); margin: 0 auto; padding: 72px 0 96px; }
.privacy-hero { max-width: 860px; padding-bottom: 46px; }
.privacy-eyebrow { display: block; color: #9d5871; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.privacy-hero h1 { margin: 18px 0; font: 500 clamp(38px, 5vw, 66px)/1.13 var(--display); letter-spacing: -.045em; color: #473a39; }
.privacy-hero h1 em { color: #a6657c; font-style: normal; }
.privacy-updated { display: inline-block; margin: 0 0 28px !important; padding: 9px 14px; border: 1px solid #eddbe1; border-radius: 100px; background: #f9eaf0; color: #76535f; font-size: 12px !important; }
.privacy-hero p { margin: 0 0 12px; color: #675b59; font-size: 15px; line-height: 1.8; }
.privacy-layout { display: grid; grid-template-columns: minmax(230px, 290px) minmax(0, 1fr); gap: clamp(32px, 6vw, 86px); align-items: start; border-top: 1px solid #e9d7d5; padding-top: 48px; }
.privacy-contents { position: sticky; top: 88px; max-height: calc(100vh - 110px); overflow-y: auto; scrollbar-width: thin; padding: 22px 20px 22px 22px; border: 1px solid #ead9db; border-radius: 18px; background: #fffdf8; }
.privacy-contents h2 { margin: 0 0 14px; font: 500 17px/1.3 var(--display); }
.privacy-contents ol { margin: 0; padding-left: 20px; color: #9d5871; }
.privacy-contents li { padding: 4px 0; font-size: 12px; line-height: 1.5; }
.privacy-contents a { color: #66575b; text-decoration: none; }
.privacy-contents a:hover, .privacy-contents a:focus-visible { color: #9d5871; text-decoration: underline; }
.privacy-document { min-width: 0; }
.privacy-document section { scroll-margin-top: 92px; padding: 0 0 38px; margin-bottom: 38px; border-bottom: 1px solid #e9d7d5; }
.privacy-document section:last-child { border-bottom: 0; margin-bottom: 0; }
.privacy-document h2 { margin: 0 0 19px; color: #4e3d43; font: 500 clamp(21px, 2.4vw, 28px)/1.35 var(--display); letter-spacing: -.025em; }
.privacy-document h3 { margin: 28px 0 12px; color: #8c576b; font: 500 18px/1.4 var(--display); }
.privacy-document p, .privacy-document li, .privacy-document address { color: #554c4b; font-size: 14px; line-height: 1.85; }
.privacy-document p { margin: 0 0 14px; }
.privacy-document ul { margin: 10px 0 20px; padding: 0 0 0 23px; list-style: disc; }
.privacy-document li { padding-left: 5px; margin-bottom: 4px; }
.privacy-document li::marker { color: #b98194; }
.privacy-document strong { font-weight: 600; }
.privacy-document a { color: #9a4e6a; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.privacy-document a:hover { color: #663349; }
.privacy-document .privacy-card { display: block; margin: 18px 0 0; padding: 22px 24px; border: 1px solid #efd9e0; border-radius: 18px; background: #f8eaf0; font-style: normal; }
.page-privacy .footer-bottom a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 900px) {
  .page-privacy .privacy-wrap { width: min(100% - 40px, 740px); padding: 52px 0 72px; }
  .privacy-layout { grid-template-columns: 1fr; gap: 34px; padding-top: 32px; }
  .privacy-contents { position: static; max-height: 255px; }
}
@media (max-width: 600px) {
  .page-privacy .privacy-wrap { width: calc(100% - 32px); padding: 40px 0 60px; }
  .privacy-hero { padding-bottom: 24px; }
  .privacy-hero h1 { font-size: clamp(33px, 9vw, 45px); }
  .privacy-hero p { font-size: 13px; }
  .privacy-document p, .privacy-document li, .privacy-document address { font-size: 13px; }
  .privacy-document section { padding-bottom: 24px; margin-bottom: 29px; }
  .privacy-document .privacy-card { padding: 18px; }
}