:root{
  --policy-bg:#151516;
  --policy-surface:#151516;
  --policy-surface-soft:#1f2028;
  --policy-border:#262734;
  --policy-text:#ffffff;
  --policy-muted:#cfd2dc;
  --policy-accent:#FF4136;
}

html,body{height:100%;}
body{
  margin:0;
  background:var(--policy-bg);
  color:var(--policy-text);
}

/* ULKOKUORI */
.policy-shell{
  max-width:980px;
  margin:28px auto 72px;
  padding:0 18px;
}

/* KORTTI */
.policy-card{
  background:var(--policy-surface);
  border-radius:16px;
  border:1px solid var(--policy-border);
  padding:22px 22px 26px;
  box-shadow:0 14px 40px rgba(0,0,0,.55);
}

/* HEADER */
.policy-header{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:12px;
  align-items:flex-end;
  padding-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.03);
  margin-bottom:16px;
}

.policy-title{
  margin:0 0 6px;
  font-size:1.7rem;
  font-weight:800;
}

.policy-sub{
  margin:0;
  font-size:.95rem;
  color:var(--policy-muted);
  max-width:640px;
}

.policy-updated{
  margin:0;
  font-size:.8rem;
  color:var(--policy-muted);
  padding:4px 10px;
  border-radius:999px;
  background:#11141b;
  border:1px solid rgba(255,255,255,.05);
  white-space:nowrap;
}

/* BODY + SECTIONIT */
.policy-body{
  font-size:.95rem;
  line-height:1.65;
  color:var(--policy-text);
}

.policy-section{
  padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.03);
}
.policy-section:last-of-type{
  border-bottom:none;
  padding-bottom:0;
}

.policy-section h2{
  font-size:1.1rem;
  font-weight:800;
  margin:0 0 6px;
}

.policy-section p{
  margin:0 0 8px;
  color:var(--policy-text);
}
.policy-section p + p{
  margin-top:2px;
}

.policy-section ul,
.policy-section ol{
  margin:6px 0 8px 1.1rem;
  padding:0;
}
.policy-section li{
  margin-bottom:3px;
  color:var(--policy-muted);
}

/* LINKIT */
.policy-body a{
  color:var(--policy-accent);
  text-decoration:none;
}
.policy-body a:hover{
  text-decoration:underline;
}

/* TAULUKKO (jos joskus tarvitset) */
.policy-table{
  width:100%;
  border-collapse:collapse;
  margin:8px 0 10px;
  font-size:.9rem;
}
.policy-table th,
.policy-table td{
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.06);
}
.policy-table th{
  text-align:left;
  font-weight:600;
  color:var(--policy-muted);
  background:var(--policy-surface-soft);
}

/* RESPONSIVE */
@media (max-width:768px){
  .policy-shell{
    margin:20px auto 56px;
    padding:0 14px;
  }
  .policy-card{
    padding:18px 16px 22px;
  }
  .policy-header{
    align-items:flex-start;
  }
  .policy-title{
    font-size:1.5rem;
  }
  .policy-sub{
    font-size:.9rem;
  }
  .policy-updated{
    align-self:flex-start;
  }
}
