/* Privacy Policy — publication-ready layout for the reviewed development draft. */
.privacy-policy-page {
  --privacy-ink:#232323;
  --privacy-muted: #6e6e6e;
  --privacy-line: rgba(35,35,35,.14);
  --privacy-paper:#ffffff;
  --privacy-accent: #c81020;
  color: var(--privacy-ink);
  background:#ffffff;
}
.privacy-policy-page .site-header { position: relative; z-index: 20; color:var(--text-main); background:rgba(255,255,255,.96); border-bottom:1px solid var(--border); box-shadow:0 7px 32px rgba(16,16,16,.045); backdrop-filter:blur(12px); }
.privacy-breadcrumb { display:flex; gap:12px; align-items:center; padding-top:22px; color:#757575; font-size:12px; letter-spacing:.04em; }
.privacy-breadcrumb a { color:inherit; text-decoration:none; }
.privacy-breadcrumb a:hover { color:#202020; }
.privacy-hero { display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:clamp(38px,8vw,120px); align-items:end; padding-top:78px; padding-bottom:82px; }
.privacy-hero-copy { max-width:850px; }
.privacy-hero .eyebrow, .privacy-summary .eyebrow { margin:0 0 24px; }
.privacy-hero h1 { max-width:850px; margin:0; font-size:clamp(46px,6.2vw,86px); line-height:.99; letter-spacing:-.065em; font-weight:500; }
.privacy-hero h1 em, .privacy-summary h2 em, .privacy-content h2 em { color:#a30e1b; font-family:var(--font-serif, Georgia, serif); font-weight:400; }
.privacy-lead { max-width:690px; margin:28px 0 20px; color:#5d5d5d; font-size:clamp(16px,1.45vw,19px); line-height:1.75; }
.privacy-meta { display:flex; align-items:center; gap:9px; margin:0; color:#747474; font-size:12px; letter-spacing:.035em; }
.privacy-status-dot { width:8px; height:8px; display:inline-block; border-radius:50%; background:#cb8653; box-shadow:0 0 0 4px rgba(203,134,83,.13); }
.privacy-hero-aside { border-top:1px solid var(--privacy-line); padding-top:14px; }
.privacy-aside-index { display:block; margin-bottom:20px; color:#7f7f7f; font-size:11px; letter-spacing:.17em; }
.privacy-hero-aside dl { margin:0; }
.privacy-hero-aside dl > div { display:grid; grid-template-columns:1fr auto; gap:12px; border-bottom:1px solid var(--privacy-line); padding:12px 0; }
.privacy-hero-aside dt, .privacy-hero-aside dd { margin:0; font-size:12px; }
.privacy-hero-aside dt { color:#727272; }
.privacy-hero-aside dd { text-align:right; font-weight:600; }
.privacy-hero-aside > p { margin:14px 0 0; color:#7b7b7b; font-size:14px; line-height:1.65; }
.privacy-notice { display:grid; grid-template-columns:44px minmax(0,1fr) auto; align-items:center; gap:18px; padding:24px 28px; background:#ffffff; border:1px solid #e0e0e0; }
.privacy-notice-mark { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; color:#fff; background:#a30e1b; font-family:Georgia,serif; font-size:19px; }
.privacy-notice h2 { margin:0 0 5px; font-size:15px; font-weight:600; }
.privacy-notice p { max-width:900px; margin:0; color:#646464; font-size:14px; line-height:1.7; }
.privacy-notice > a { color:#4a4a4a; font-size:11px; white-space:nowrap; text-decoration:none; border-bottom:1px solid #b8aa8b; padding-bottom:5px; }
.privacy-summary { display:grid; grid-template-columns:minmax(210px,.7fr) minmax(0,1.6fr); gap:clamp(35px,8vw,120px); padding-top:94px; padding-bottom:92px; border-bottom:1px solid var(--privacy-line); }
.privacy-summary h2 { max-width:340px; margin:0; font-size:clamp(35px,4.3vw,54px); line-height:1.04; font-weight:500; letter-spacing:-.05em; }
.privacy-summary-list { display:grid; grid-template-columns:1fr 1fr; gap:0 30px; }
.privacy-summary-list article { display:grid; grid-template-columns:30px 1fr; gap:13px; align-items:start; border-top:1px solid var(--privacy-line); padding:16px 0; }
.privacy-summary-list article > span { color:#a30e1b; font-size:14px; letter-spacing:.12em; padding-top:3px; }
.privacy-summary-list p { margin:0; color:#555555; font-size:14px; line-height:1.65; }
.privacy-layout { display:grid; grid-template-columns:220px minmax(0,810px); gap:clamp(45px,8vw,120px); align-items:start; padding-top:82px; padding-bottom:110px; }
.privacy-toc-desktop { position:sticky; top:30px; padding:2px 0; }
.privacy-toc-label { margin:0 0 15px; color:#878787; font-size:11px; letter-spacing:.16em; }
.privacy-toc-desktop nav { display:grid; gap:2px; border-left:1px solid var(--privacy-line); }
.privacy-toc-desktop a { display:block; margin-left:-1px; border-left:2px solid transparent; padding:8px 12px; color:#757575; font-size:11px; line-height:1.45; text-decoration:none; transition:color .2s,border-color .2s; }
.privacy-toc-desktop a:hover, .privacy-toc-desktop a.is-active { color:#272727; border-left-color:#a30e1b; }
.privacy-toc-mobile { display:none; }
.privacy-content { min-width:0; }
.privacy-section { scroll-margin-top:35px; padding:0 0 45px; margin:0 0 48px; border-bottom:1px solid var(--privacy-line); }
.privacy-section-kicker { margin:0 0 17px; color:#a30e1b; font-size:11px; letter-spacing:.15em; }
.privacy-content h2 { max-width:760px; margin:0 0 23px; font-size:clamp(30px,3.7vw,48px); line-height:1.06; font-weight:500; letter-spacing:-.045em; }
.privacy-content h3 { margin:0 0 8px; font-size:16px; font-weight:600; letter-spacing:-.015em; }
.privacy-content p { margin:0 0 15px; color:#5b5b5b; font-size:14px; line-height:1.82; }
.privacy-content strong { color:#303030; }
.privacy-content a { color:#a30e1b; text-decoration-thickness:1px; text-underline-offset:3px; }
.privacy-content code { padding:2px 5px; background:#ffffff; color:#444444; font-size:.86em; overflow-wrap:anywhere; }
.privacy-owner-card, .privacy-contact-panel { display:grid; grid-template-columns:1fr 1fr; gap:18px 25px; margin:23px 0; padding:22px; border:1px solid #dcdcdc; background:#ffffff; }
.privacy-owner-card > div, .privacy-contact-panel > div { display:grid; gap:7px; align-content:start; }
.privacy-owner-card span, .privacy-contact-panel span { color:#858585; font-size:11px; letter-spacing:.15em; }
.privacy-owner-card strong, .privacy-contact-panel strong, .privacy-contact-panel a { overflow-wrap:anywhere; font-size:13px; line-height:1.5; }
.privacy-contact-panel > p { grid-column:1/-1; margin:0; padding-top:14px; border-top:1px solid var(--privacy-line); font-size:14px; }
.privacy-data-table-wrap { overflow-x:auto; margin:22px 0; border:1px solid #dcdcdc; }
.privacy-data-table { width:100%; min-width:610px; border-collapse:collapse; text-align:left; }
.privacy-data-table th, .privacy-data-table td { padding:13px 15px; border-bottom:1px solid #e1e1e1; vertical-align:top; font-size:11px; line-height:1.55; }
.privacy-data-table th { color:#757575; background:#ffffff; font-size:11px; letter-spacing:.12em; font-weight:600; }
.privacy-data-table td { color:#5d5d5d; }
.privacy-data-table tr:last-child td { border-bottom:0; }
.privacy-storage-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:23px 0; }
.privacy-storage-grid article { padding:20px; background:#ffffff; border:1px solid #e3e3e3; }
.privacy-storage-grid article > span { display:block; margin-bottom:12px; color:#a30e1b; font-size:11px; letter-spacing:.13em; }
.privacy-storage-grid h3 { margin-bottom:7px; font-size:15px; }
.privacy-storage-grid p { margin:0; font-size:14px; line-height:1.7; }
.privacy-review-note { display:grid; grid-template-columns:140px 1fr; gap:15px; margin-top:18px; padding:17px 19px; background:#ffffff; }
.privacy-review-note strong { color:#a30e1b; font-size:11px; }
.privacy-review-note p { margin:0; font-size:14px; }
.privacy-endnote { margin:0; padding:21px; background:#ffffff; color:#666666 !important; font-size:12px !important; }
.privacy-footer .privacy-terms-pending { display:block; color:rgba(255,255,255,.44); font-size:12px; line-height:1.5; cursor:default; }
.privacy-footer .footer-disclosure { max-width:380px; }
.privacy-policy-page :focus-visible { outline:2px solid #a30e1b; outline-offset:4px; }
@media (max-width: 980px) {
  .privacy-hero { grid-template-columns:minmax(0,1fr) 220px; gap:35px; padding-top:60px; padding-bottom:65px; }
  .privacy-layout { grid-template-columns:180px minmax(0,1fr); gap:38px; }
  .privacy-toc-desktop a { padding:7px 10px; font-size:11px; }
  .privacy-summary { gap:40px; }
}
@media (max-width: 760px) {
  .privacy-breadcrumb { padding-top:17px; font-size:11px; }
  .privacy-hero { grid-template-columns:minmax(0,1fr); gap:30px; padding-top:48px; padding-bottom:42px; }
  .privacy-hero h1 { font-size:clamp(43px,11vw,66px); }
  .privacy-lead { margin-top:21px; font-size:16px; }
  .privacy-hero-aside { display:grid; grid-template-columns:1fr 1.4fr; gap:0 16px; align-items:start; }
  .privacy-aside-index { grid-column:1/-1; margin-bottom:8px; }
  .privacy-hero-aside dl { display:grid; grid-template-columns:1fr 1fr; gap:0 12px; }
  .privacy-hero-aside dl > div { grid-template-columns:minmax(0,1fr); gap:4px; }
  .privacy-hero-aside dd { text-align:left; }
  .privacy-hero-aside > p { margin:10px 0 0; }
  .privacy-notice { grid-template-columns:34px 1fr; gap:13px; padding:19px; }
  .privacy-notice-mark { width:30px; height:30px; }
  .privacy-notice > a { grid-column:2; justify-self:start; margin-top:2px; }
  .privacy-summary { grid-template-columns:minmax(0,1fr); gap:24px; padding-top:60px; padding-bottom:58px; }
  .privacy-summary-list { grid-template-columns:minmax(0,1fr); }
  .privacy-summary-list article { padding:13px 0; }
  .privacy-layout { grid-template-columns:minmax(0,1fr); gap:28px; padding-top:34px; padding-bottom:70px; }
  .privacy-toc-desktop { display:none; }
  .privacy-toc-mobile { display:block; border:1px solid #dcdcdc; background:#ffffff; }
  .privacy-toc-mobile summary { display:flex; justify-content:space-between; align-items:center; padding:15px 17px; color:#4a4a4a; cursor:pointer; list-style:none; font-size:14px; font-weight:600; }
  .privacy-toc-mobile summary::-webkit-details-marker { display:none; }
  .privacy-toc-mobile[open] summary { border-bottom:1px solid #dcdcdc; }
  .privacy-toc-mobile summary span { color:#a30e1b; font-size:18px; }
  .privacy-toc-mobile nav { display:grid; grid-template-columns:1fr 1fr; padding:8px 14px 13px; }
  .privacy-toc-mobile a { padding:9px 4px; color:#646464; font-size:11px; line-height:1.4; text-decoration:none; }
  .privacy-section { padding-bottom:34px; margin-bottom:35px; }
  .privacy-content h2 { font-size:clamp(30px,8vw,42px); }
  .privacy-content p { font-size:14px; }
  .privacy-storage-grid { grid-template-columns:minmax(0,1fr); }
  .privacy-footer .footer-bottom { align-items:flex-start; }
}
@media (max-width: 430px) {
  .privacy-hero { padding-top:38px; }
  .privacy-hero h1 { font-size:43px; }
  .privacy-hero-aside { grid-template-columns:minmax(0,1fr); }
  .privacy-hero-aside dl { grid-template-columns:1fr 1fr; }
  .privacy-hero-aside > p { max-width:320px; }
  .privacy-notice { align-items:start; }
  .privacy-notice p { font-size:14px; }
  .privacy-toc-mobile nav { grid-template-columns:minmax(0,1fr); }
  .privacy-owner-card, .privacy-contact-panel { grid-template-columns:minmax(0,1fr); gap:15px; padding:18px; }
  .privacy-contact-panel > p { grid-column:1; }
  .privacy-review-note { grid-template-columns:minmax(0,1fr); gap:6px; }
}
@media (prefers-reduced-motion: reduce) {
  .privacy-policy-page *, .privacy-policy-page *::before, .privacy-policy-page *::after { scroll-behavior:auto !important; transition-duration:.01ms !important; }
}




.privacy-data-rows { margin:22px 0; border-top:1px solid var(--privacy-line); }
.privacy-data-rows details { border-bottom:1px solid var(--privacy-line); }
.privacy-data-rows summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px 2px; color:#333333; cursor:pointer; list-style:none; font-size:14px; font-weight:600; }
.privacy-data-rows summary::-webkit-details-marker { display:none; }
.privacy-data-rows summary span { color:#a30e1b; font-size:17px; font-weight:400; }
.privacy-data-rows details[open] summary { padding-bottom:6px; }
.privacy-data-rows details p { margin:0; padding:0 28px 16px 2px; font-size:14px; }
.privacy-callout { margin:22px 0; padding:22px 24px; border-left:3px solid #a30e1b; background:#ffffff; }
.privacy-callout strong { display:block; margin-bottom:7px; font-size:13px; }
.privacy-callout p { margin:0; font-size:14px; }
.privacy-small-note { padding:12px 15px; background:#ffffff; font-size:11px !important; }
.footer-link-pending { color:rgba(255,255,255,.48); font-size:inherit; line-height:inherit; cursor:default; }
@media (max-width:760px) { .privacy-data-rows summary { font-size:14px; } }
.privacy-policy-page [hidden] { display:none !important; }
