.page-privacy{
  --pp-rule:rgba(43,33,27,.14);
  --pp-text:rgba(43,33,27,.88);
  --pp-dim:#8a7458;
  background:var(--cream);
  color:var(--brown);
}

/* ---------- hero ---------- */
.page-privacy .pp-hero{
  position:relative;
  overflow:hidden;
  background:var(--ink-green);
  color:var(--cream);
  padding:clamp(20px,4vw,34px) 0 clamp(34px,6vw,64px);
  border-bottom:1px solid rgba(215,162,74,.45);
}
.page-privacy .pp-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    repeating-linear-gradient(115deg,rgba(147,183,201,.10) 0 1px,transparent 1px 46px),
    radial-gradient(120% 95% at 90% -15%,rgba(215,162,74,.24),transparent 62%);
}
.page-privacy .pp-hero .container{position:relative;z-index:1;}
.page-privacy .pp-hero .breadcrumb{
  margin:0 0 clamp(18px,3vw,28px);
  font-size:12px;
}
.page-privacy .pp-hero .breadcrumb__link{color:var(--gold-soft);text-decoration:none;}
.page-privacy .pp-hero .breadcrumb__link:hover{text-decoration:underline;}
.page-privacy .pp-hero .breadcrumb__sep{color:rgba(246,239,226,.45);margin:0 6px;}
.page-privacy .pp-hero .breadcrumb__item{color:var(--on-dark-dim);}

.page-privacy .pp-hero__grid{
  display:grid;
  gap:clamp(24px,4vw,44px);
  min-width:0;
}
.page-privacy .pp-hero__text{min-width:0;}
.page-privacy .pp-hero .eyebrow{
  display:inline-block;
  margin:0 0 14px;
  font-size:11px;
  letter-spacing:.24em;
  color:var(--gold);
}
.page-privacy .pp-hero h1{
  margin:0 0 16px;
  font-family:var(--font-sans);
  font-weight:900;
  font-size:clamp(30px,5.2vw,56px);
  line-height:1.12;
  letter-spacing:-.02em;
  color:var(--cream);
}
.page-privacy .pp-hero__lead{
  margin:0 0 22px;
  max-width:46ch;
  font-size:clamp(15px,1.5vw,17px);
  line-height:1.85;
  color:var(--on-dark);
}
.page-privacy .pp-hero__facts{
  display:grid;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
  font-size:14px;
  line-height:1.6;
  color:var(--on-dark);
}
.page-privacy .pp-hero__facts li{
  display:flex;
  gap:10px;
  align-items:baseline;
}
.page-privacy .pp-hero__facts .mono{
  flex:0 0 auto;
  font-size:11px;
  letter-spacing:.1em;
  color:var(--gold);
  border-bottom:1px solid rgba(215,162,74,.55);
}

.page-privacy .pp-hero__figure{
  margin:0;
  min-width:0;
  border:1px solid rgba(215,162,74,.5);
  border-radius:var(--radius-m);
  overflow:hidden;
  background:var(--ink-deep);
  box-shadow:0 18px 40px rgba(7,39,34,.35);
}
.page-privacy .pp-hero__figure img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
}
.page-privacy .pp-hero__cap{
  padding:10px 14px 12px;
  font-size:12px;
  line-height:1.6;
  color:var(--on-dark-dim);
  border-top:1px solid rgba(215,162,74,.28);
}

/* ---------- sheet layout ---------- */
.page-privacy .pp-sheet{
  background:var(--cream);
  padding:clamp(28px,5vw,56px) 0;
}
.page-privacy .pp-layout{
  display:grid;
  gap:clamp(24px,4vw,40px);
  align-items:start;
}
.page-privacy .pp-body{min-width:0;}

.page-privacy .pp-rail{min-width:0;}
.page-privacy .pp-rail__label{
  margin:0 0 12px;
  font-size:11px;
  letter-spacing:.22em;
  color:var(--pp-dim);
}
.page-privacy .chapter-rail{
  display:grid;
  gap:2px;
  border-left:1px solid var(--pp-rule);
}
.page-privacy .chapter-rail__link{
  display:block;
  margin-left:-1px;
  padding:9px 12px 9px 16px;
  border-left:2px solid transparent;
  font-size:14px;
  line-height:1.45;
  color:rgba(43,33,27,.66);
  text-decoration:none;
  transition:color .18s var(--ease),background .18s var(--ease),border-color .18s var(--ease);
}
.page-privacy .chapter-rail__link:hover{
  color:var(--brown);
  background:rgba(215,162,74,.12);
}
.page-privacy .chapter-rail__link.is-current,
.page-privacy .chapter-rail__link[aria-current="true"]{
  color:var(--ink-green);
  font-weight:700;
  border-left-color:var(--coral);
  background:rgba(215,162,74,.18);
}
.page-privacy .pp-rail__note{
  margin:18px 0 0;
  padding:14px;
  font-size:13px;
  line-height:1.75;
  color:var(--pp-text);
  background:var(--paper);
  border:1px dashed rgba(215,162,74,.6);
  border-radius:var(--radius-s);
}
.page-privacy .pp-rail__note a{color:var(--moss);text-decoration:underline;}
.page-privacy .pp-rail__note a:hover{color:var(--coral);}

/* ---------- clauses ---------- */
.page-privacy .pp-clause{
  padding:clamp(22px,3.2vw,34px) 0;
  border-top:1px solid var(--pp-rule);
  scroll-margin-top:calc(var(--header-h) + 28px);
}
.page-privacy .pp-clause:first-child{
  border-top:0;
  padding-top:0;
}
.page-privacy .pp-clause__head{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin:0 0 16px;
}
.page-privacy .pp-clause__no{
  flex:0 0 auto;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.1em;
  color:var(--ink-green);
  background:var(--gold-soft);
  border:1px solid rgba(215,162,74,.55);
  border-radius:var(--radius-s);
  padding:3px 9px;
}
.page-privacy .pp-clause h2{
  margin:0;
  font-family:var(--font-sans);
  font-weight:700;
  font-size:clamp(20px,2.6vw,27px);
  line-height:1.3;
  letter-spacing:-.01em;
  color:var(--brown);
}
.page-privacy .pp-clause p{
  margin:0 0 14px;
  font-size:clamp(15.5px,1.6vw,16.5px);
  line-height:1.85;
  color:var(--pp-text);
}
.page-privacy .pp-clause p:last-child{margin-bottom:0;}
.page-privacy .pp-clause strong{color:var(--ink-green);}

.page-privacy .pp-list{
  counter-reset:ppitem;
  display:grid;
  gap:10px;
  margin:0 0 16px;
  padding:0;
  list-style:none;
}
.page-privacy .pp-list > li{
  counter-increment:ppitem;
  position:relative;
  padding-left:38px;
  font-size:clamp(15px,1.6vw,16.5px);
  line-height:1.8;
  color:var(--pp-text);
}
.page-privacy .pp-list > li::before{
  content:counter(ppitem,decimal-leading-zero);
  position:absolute;
  left:0;
  top:5px;
  width:26px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.04em;
  color:var(--gold);
  border-bottom:1px solid rgba(215,162,74,.5);
}

.page-privacy .pp-note{
  margin:18px 0 0;
  padding:12px 14px;
  font-size:14px;
  line-height:1.75;
  color:var(--pp-text);
  background:rgba(215,162,74,.14);
  border-left:3px solid var(--gold);
  border-radius:0 var(--radius-s) var(--radius-s) 0;
}

/* ---------- definition cards ---------- */
.page-privacy .pp-defs{
  display:grid;
  gap:12px;
  margin:0 0 18px;
}
.page-privacy .pp-defs > div{
  padding:16px 16px 18px;
  min-width:0;
  background:var(--paper);
  border:1px solid var(--pp-rule);
  border-radius:var(--radius-m);
}
.page-privacy .pp-defs dt{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 0 8px;
  font-size:15px;
  font-weight:700;
  color:var(--ink-green);
}
.page-privacy .pp-defs dt::before{
  content:"";
  flex:0 0 auto;
  width:8px;
  height:8px;
  background:var(--coral);
  transform:rotate(45deg);
}
.page-privacy .pp-defs dd{
  margin:0;
  font-size:14.5px;
  line-height:1.75;
  color:rgba(43,33,27,.82);
}

/* ---------- inline term ---------- */
.page-privacy .term{
  position:relative;
  display:inline-block;
  color:var(--brown);
  border-bottom:1px dashed var(--gold);
  cursor:help;
  outline-offset:4px;
}
.page-privacy .term__tip{
  position:absolute;
  left:0;
  bottom:calc(100% + 8px);
  width:min(280px,72vw);
  padding:10px 12px;
  font-size:12.5px;
  font-weight:400;
  line-height:1.65;
  color:var(--cream);
  background:var(--ink-green);
  border-radius:var(--radius-s);
  box-shadow:0 14px 28px rgba(7,39,34,.3);
  opacity:0;
  visibility:hidden;
  transform:translateY(4px);
  transition:opacity .18s var(--ease),transform .18s var(--ease),visibility .18s var(--ease);
  z-index:6;
}
.page-privacy .term:hover .term__tip,
.page-privacy .term:focus .term__tip,
.page-privacy .term:focus-within .term__tip{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

/* ---------- flow figure ---------- */
.page-privacy .pp-flow{
  margin:0 0 18px;
  padding:14px;
  background:var(--paper);
  border:1px solid var(--pp-rule);
  border-radius:var(--radius-m);
}
.page-privacy .pp-flow svg{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
}
.page-privacy .pp-flow__node rect{
  fill:rgba(12,59,50,.06);
  stroke:rgba(12,59,50,.3);
  stroke-width:1.2;
}
.page-privacy .pp-flow__node text{
  font-family:var(--font-sans);
  font-size:15px;
  font-weight:700;
  fill:var(--ink-green);
}
.page-privacy .pp-flow__node .pp-flow__sub{
  font-family:var(--font-mono);
  font-size:9.5px;
  font-weight:400;
  fill:rgba(43,33,27,.7);
}
.page-privacy .pp-flow__arrow path{
  fill:none;
  stroke:var(--gold);
  stroke-width:1.5;
  stroke-linecap:round;
}
.page-privacy .pp-flow__arrow polygon{fill:var(--coral);}
.page-privacy .pp-flow figcaption{
  margin-top:10px;
  font-size:12.5px;
  line-height:1.6;
  color:var(--pp-dim);
}

/* ---------- table ---------- */
.page-privacy .pp-tablewrap{
  margin:0 0 18px;
  overflow-x:auto;
  background:var(--paper);
  border:1px solid var(--pp-rule);
  border-radius:var(--radius-m);
  -webkit-overflow-scrolling:touch;
}
.page-privacy .pp-table{
  width:100%;
  min-width:520px;
  border-collapse:collapse;
  font-size:14.5px;
}
.page-privacy .pp-table th{
  padding:11px 14px;
  text-align:left;
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:400;
  letter-spacing:.12em;
  color:var(--pp-dim);
  background:rgba(215,162,74,.16);
  border-bottom:1px solid var(--pp-rule);
  white-space:nowrap;
}
.page-privacy .pp-table td{
  padding:12px 14px;
  vertical-align:top;
  line-height:1.75;
  color:var(--pp-text);
  border-bottom:1px solid var(--pp-rule);
}
.page-privacy .pp-table td:first-child{
  font-weight:700;
  color:var(--ink-green);
  white-space:nowrap;
}
.page-privacy .pp-table tbody tr:last-child td{border-bottom:0;}

/* ---------- contact card ---------- */
.page-privacy .pp-contact{
  margin:20px 0 0;
  padding:18px;
  background:var(--paper);
  border:1px solid rgba(215,162,74,.55);
  border-radius:var(--radius-m);
}
.page-privacy .pp-contact__label{
  margin:0 0 6px;
  font-size:11px;
  letter-spacing:.2em;
  color:var(--pp-dim);
}
.page-privacy .pp-contact__mail{
  margin:0 0 10px;
  font-family:var(--font-mono);
  font-size:clamp(14px,2vw,17px);
  font-weight:700;
  color:var(--ink-green);
  word-break:break-all;
}
.page-privacy .pp-contact__note{
  margin:0;
  font-size:14px;
  line-height:1.8;
  color:var(--pp-text);
}
.page-privacy .pp-contact__note a{
  color:var(--moss);
  text-decoration:underline;
}
.page-privacy .pp-contact__note a:hover{color:var(--coral);}

/* ---------- cta ---------- */
.page-privacy .pp-cta{
  background:var(--ink-deep);
  color:var(--cream);
  padding:clamp(30px,5vw,54px) 0;
  border-top:1px solid rgba(215,162,74,.4);
}
.page-privacy .pp-cta__inner{
  display:grid;
  gap:20px;
}
.page-privacy .pp-cta h2{
  margin:0 0 10px;
  font-family:var(--font-sans);
  font-weight:700;
  font-size:clamp(21px,3vw,30px);
  line-height:1.25;
  color:var(--cream);
}
.page-privacy .pp-cta p{
  margin:0;
  max-width:52ch;
  font-size:15.5px;
  line-height:1.8;
  color:var(--on-dark);
}
.page-privacy .pp-cta__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

/* ---------- responsive ---------- */
@media (min-width:720px){
  .page-privacy .pp-defs{grid-template-columns:repeat(3,minmax(0,1fr));}
  .page-privacy .pp-cta__inner{
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
  }
}

@media (min-width:900px){
  .page-privacy .pp-hero__grid{
    grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
    align-items:end;
  }
}

@media (min-width:960px){
  .page-privacy .pp-layout{
    grid-template-columns:262px minmax(0,1fr);
    gap:clamp(32px,4.5vw,64px);
  }
  .page-privacy .pp-rail{
    position:sticky;
    top:calc(var(--header-h) + 24px);
    align-self:start;
  }
}

@media (max-width:719px){
  .page-privacy .pp-cta__actions .btn{flex:1 1 auto;text-align:center;}
}

@media print{
  .page-privacy .pp-rail,
  .page-privacy .pp-cta{display:none;}
  .page-privacy .pp-hero{
    background:none;
    color:var(--brown);
    border-bottom:1px solid var(--pp-rule);
  }
  .page-privacy .pp-hero h1,
  .page-privacy .pp-hero__lead,
  .page-privacy .pp-hero__facts{color:var(--brown);}
  .page-privacy .pp-clause{break-inside:avoid;}
  .page-privacy .term__tip{display:none;}
}
<<<END>>>
