.page-privacy{
  --p-ink:var(--c-navy);
  --p-ink-2:#38536F;
  --p-gold-ink:#8F6B23;
  --p-line:rgba(11,37,69,.14);
  --p-line-gold:rgba(214,165,74,.55);
  --p-card:#FBF7EE;
  background:var(--c-paper);
  color:var(--p-ink);
  font-family:var(--font-body);
  overflow-x:hidden;
}
.page-privacy *{box-sizing:border-box;}

/* ---------- hero ---------- */
.page-privacy .p-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding-block:40px 48px;
  color:var(--c-paper);
  background:
    radial-gradient(110% 80% at 8% 0%, rgba(40,224,200,.16), transparent 58%),
    linear-gradient(140deg,var(--c-deep) 0%, var(--c-navy) 56%, var(--c-archive) 100%);
}
.page-privacy .p-hero::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:-30%;
  right:-14%;
  width:min(560px,78vw);
  height:min(560px,78vw);
  background:repeating-linear-gradient(45deg, rgba(214,165,74,.20) 0 1px, transparent 1px 15px);
  clip-path:polygon(32% 0,100% 0,100% 68%,68% 100%,0 100%,0 42%);
  opacity:.55;
}
.page-privacy .p-hero__inner{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:30px;
  align-items:center;
}
.page-privacy .p-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0;
  font-family:var(--font-mono);
  font-size:11.5px;
  letter-spacing:.18em;
  color:var(--c-gold-bright);
}
.page-privacy .p-eyebrow::before{
  content:"";
  width:36px;
  height:1px;
  background:var(--c-gold);
}
.page-privacy .p-hero h1{
  margin:16px 0 0;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(32px,8vw,58px);
  line-height:1.06;
  letter-spacing:.01em;
}
.page-privacy .p-hero__lead{
  margin:18px 0 0;
  max-width:58ch;
  font-size:clamp(15px,1.7vw,17px);
  line-height:1.95;
  color:#D8E3EE;
}
.page-privacy .p-hero__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 22px;
  margin:24px 0 0;
  font-family:var(--font-mono);
  font-size:11.5px;
  letter-spacing:.05em;
  color:var(--c-mist);
}
.page-privacy .p-hero__meta b{
  color:var(--c-gold-bright);
  font-weight:600;
}
.page-privacy .p-hero__media{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(214,165,74,.45);
  background:rgba(7,26,51,.55);
  clip-path:polygon(0 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%);
}
.page-privacy .p-hero__media img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
  opacity:.95;
}

/* ---------- .page-privacy layout ---------- */
.page-privacy .p-body{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:34px;
  padding-block:40px 64px;
}

/* ---------- index ---------- */
.page-privacy .p-index{
  border-top:2px solid var(--c-gold);
  padding-top:14px;
}
.page-privacy .p-index__title{
  margin:0 0 8px;
  font-family:var(--font-mono);
  font-size:11.5px;
  letter-spacing:.2em;
  color:var(--p-gold-ink);
}
.page-privacy .p-index ol{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:1px;
}
.page-privacy .p-index a{
  display:flex;
  gap:12px;
  align-items:baseline;
  padding:10px 0;
  font-family:var(--font-ui);
  font-size:14px;
  color:var(--p-ink-2);
  text-decoration:none;
  border-bottom:1px solid var(--p-line);
  transition:color .25s var(--ease), border-color .25s var(--ease);
}
.page-privacy .p-index a span{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.1em;
  color:var(--p-gold-ink);
}
.page-privacy .p-index a:hover,
.page-privacy .p-index a:focus-visible{
  color:var(--p-ink);
  border-bottom-color:var(--p-line-gold);
}

/* ---------- clauses ---------- */
.page-privacy .clause{
  scroll-margin-top:calc(var(--bar-h) + 24px);
  padding-bottom:32px;
  margin-bottom:32px;
  border-bottom:1px solid var(--p-line);
  transition:box-shadow .3s var(--ease);
}
.page-privacy .clause:last-of-type{
  border-bottom:0;
  margin-bottom:0;
  padding-bottom:0;
}
.page-privacy .clause:target{
  box-shadow:inset 3px 0 0 var(--c-gold);
}
.page-privacy .clause__head{
  display:flex;
  gap:14px;
  align-items:flex-start;
}
.page-privacy .clause__num{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding-top:9px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.16em;
  color:var(--p-gold-ink);
}
.page-privacy .clause__num::before{
  content:"";
  width:7px;
  height:7px;
  background:var(--c-gold);
  clip-path:polygon(0 0,100% 0,100% 100%);
}
.page-privacy .clause__title{
  margin:0;
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(21px,4.4vw,29px);
  line-height:1.26;
  color:var(--p-ink);
  letter-spacing:.01em;
}
.page-privacy .clause p{
  max-width:70ch;
  margin:14px 0 0;
  font-size:16px;
  line-height:1.95;
  color:var(--p-ink-2);
}
.page-privacy .clause strong{
  color:var(--p-ink);
  font-weight:700;
}
.page-privacy .clause__list{
  list-style:none;
  margin:18px 0 0;
  padding:0;
  display:grid;
  gap:11px;
  max-width:74ch;
}
.page-privacy .clause__list li{
  position:relative;
  padding-left:22px;
  font-size:15.5px;
  line-height:1.9;
  color:var(--p-ink-2);
}
.page-privacy .clause__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.85em;
  width:11px;
  height:1px;
  background:var(--p-gold-ink);
}

/* ---------- data cards ---------- */
.page-privacy .data-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:12px;
  margin-top:20px;
}
.page-privacy .data-card{
  background:var(--p-card);
  border:1px solid var(--p-line);
  border-left:3px solid var(--c-gold);
  padding:16px 16px 15px;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%);
}
.page-privacy .data-card h3{
  margin:0;
  font-family:var(--font-ui);
  font-weight:700;
  font-size:15.5px;
  color:var(--p-ink);
  letter-spacing:.02em;
}
.page-privacy .data-card p{
  margin:8px 0 0;
  font-size:14.5px;
  line-height:1.85;
  color:var(--p-ink-2);
}

/* ---------- note ---------- */
.page-privacy .p-note{
  margin-top:20px;
  padding:14px 16px;
  background:rgba(214,165,74,.12);
  border-left:3px solid var(--c-gold);
  font-size:14.5px;
  line-height:1.85;
  color:var(--p-ink-2);
}

/* ---------- contact block ---------- */
.page-privacy .p-contact{
  margin-top:22px;
  padding:22px 20px;
  color:var(--c-paper);
  background:linear-gradient(135deg,var(--c-deep) 0%, var(--c-navy) 100%);
  border-top:2px solid var(--c-gold);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%);
}
.page-privacy .p-contact dl{
  margin:0;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:14px;
}
.page-privacy .p-contact dt{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.16em;
  color:var(--c-gold-bright);
}
.page-privacy .p-contact dd{
  margin:5px 0 0;
  font-family:var(--font-ui);
  font-size:15px;
  line-height:1.6;
  color:#E8EFF7;
  word-break:break-word;
}
.page-privacy .p-contact a{
  color:var(--c-paper);
  text-decoration:none;
  border-bottom:1px solid rgba(214,165,74,.55);
}
.page-privacy .p-contact a:hover,
.page-privacy .p-contact a:focus-visible{
  color:var(--c-gold-bright);
  border-bottom-color:var(--c-gold-bright);
}

/* ---------- print hint & links ---------- */
.page-privacy .p-print-hint{
  margin-top:18px;
  font-family:var(--font-ui);
  font-size:13px;
  line-height:1.8;
  color:var(--p-gold-ink);
}
.page-privacy .p-links{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:10px;
  margin-top:20px;
}
.page-privacy .p-links a{
  display:block;
  padding:15px 16px;
  font-family:var(--font-ui);
  font-size:14.5px;
  font-weight:600;
  color:var(--p-ink);
  text-decoration:none;
  background:var(--p-card);
  border:1px solid var(--p-line);
  transition:border-color .25s var(--ease), transform .25s var(--ease);
}
.page-privacy .p-links a span{
  display:block;
  margin-top:6px;
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:500;
  letter-spacing:.1em;
  color:var(--p-gold-ink);
}
.page-privacy .p-links a:hover,
.page-privacy .p-links a:focus-visible{
  border-color:var(--c-gold);
  transform:translateY(-2px);
}

/* ---------- responsive ---------- */
@media (min-width:640px){
  .page-privacy .p-hero{padding-block:52px 60px;}
  .page-privacy .p-body{padding-block:52px 80px;}
  .page-privacy .data-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
  .page-privacy .p-contact dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;}
  .page-privacy .p-links{grid-template-columns:repeat(3,minmax(0,1fr));}
}

@media (min-width:900px){
  .page-privacy .p-hero__inner{
    grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
    gap:48px;
  }
  .page-privacy .p-hero{padding-block:64px 72px;}
}

@media (min-width:1024px){
  .page-privacy .p-body{
    grid-template-columns:246px minmax(0,1fr);
    gap:56px;
    padding-block:64px 96px;
  }
  .page-privacy .p-index{
    position:sticky;
    top:calc(var(--bar-h) + 28px);
    align-self:start;
  }
  .page-privacy .clause{margin-bottom:40px;padding-bottom:40px;}
}

@media (prefers-reduced-motion:reduce){
  .page-privacy *,
  .page-privacy *::before,
  .page-privacy *::after{
    transition:none !important;
    animation:none !important;
  }
}
