/* PortHill — Legal pages stylesheet (Privacy Policy + Terms of Service)
   Matches site theme: deep navy + bright blue accent */

:root{
  --ph-accent:#0066FF;
  --ph-accent-dark:#1a56db;
  --ph-bg-dark:#0B1120;
  --ph-bg-dark2:#101A30;
  --ph-bg-card:#141F36;
  --ph-bg-light:#F4F6FA;
  --ph-bg-white:#FFFFFF;
  --ph-text-primary:#FFFFFF;
  --ph-text-secondary:#94A3B8;
  --ph-text-muted:#64748B;
  --ph-text-dark:#1A1E28;
  --ph-text-dark-secondary:#4A505C;
  --ph-border:#1E2A40;
  --ph-border-light:#E2E6EE;
  --ph-font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--ph-font);
  font-size:16px;
  line-height:1.7;
  color:var(--ph-text-dark);
  background:var(--ph-bg-white);
}

/* ---------- Header / Nav ---------- */
header{
  background:var(--ph-bg-dark);
  border-bottom:1px solid var(--ph-border);
  position:sticky;
  top:0;
  z-index:100;
}
header nav{
  max-width:1180px;
  margin:0 auto;
  padding:0 24px;
  height:70px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
header .nav-container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
}
header .logo{ display:flex; align-items:center; text-decoration:none; }
header .nav-links{
  list-style:none;
  display:flex;
  gap:30px;
  margin:0;
  padding:0;
}
header .nav-links a{
  color:var(--ph-text-secondary);
  text-decoration:none;
  font-size:.95rem;
  font-weight:500;
  transition:color .2s;
}
header .nav-links a:hover{ color:var(--ph-accent); }

/* ---------- Page Hero / Banner ---------- */
.page-hero{
  background:linear-gradient(135deg, var(--ph-bg-dark) 0%, var(--ph-bg-dark2) 60%);
  border-bottom:1px solid var(--ph-border);
  padding:60px 0 48px;
}
.page-hero h1{
  margin:0 0 12px;
  font-size:2.3rem;
  font-weight:700;
  color:var(--ph-text-primary);
  letter-spacing:-.01em;
}
.page-hero .effective-date{
  margin:0;
  color:var(--ph-accent);
  font-size:.95rem;
  font-weight:600;
  letter-spacing:.02em;
  text-transform:uppercase;
}

/* ---------- Container ---------- */
.container{
  max-width:1180px;
  margin:0 auto;
  padding:0 24px;
}

/* ---------- Content ---------- */
.policy-content{
  background:var(--ph-bg-light);
  padding:52px 0 70px;
}
.policy-content .container{
  background:var(--ph-bg-white);
  border:1px solid var(--ph-border-light);
  border-radius:14px;
  padding:46px 50px;
  box-shadow:0 12px 34px rgba(11,17,32,.06);
}
.policy-content h2{
  font-size:1.42rem;
  font-weight:700;
  color:var(--ph-text-dark);
  margin:42px 0 16px;
  padding-top:26px;
  border-top:1px solid var(--ph-border-light);
}
.policy-content h2:first-child{
  margin-top:0;
  padding-top:0;
  border-top:none;
}
.policy-content h2::after{
  content:"";
  display:block;
  width:52px;
  height:4px;
  border-radius:3px;
  background:var(--ph-accent);
  margin-top:12px;
}
.policy-content h3{
  font-size:1.12rem;
  font-weight:600;
  color:var(--ph-text-dark);
  margin:24px 0 10px;
}
.policy-content p{
  color:var(--ph-text-dark-secondary);
  font-size:1rem;
  line-height:1.75;
  margin:0 0 16px;
}
.policy-content a{ color:var(--ph-accent-dark); }
.policy-content ul{ margin:0 0 18px 22px; padding:0; }
.policy-content li{
  color:var(--ph-text-dark-secondary);
  line-height:1.7;
  margin-bottom:8px;
}
.policy-content strong{ color:var(--ph-text-dark); }
.policy-content .update-note{ color:var(--ph-text-muted); font-size:.9rem; font-style:italic; }
.policy-content table{
  width:100%;
  border-collapse:collapse;
  margin:14px 0 18px;
}
.policy-content th, .policy-content td{
  border:1px solid var(--ph-border-light);
  padding:10px 14px;
  text-align:left;
  font-size:.95rem;
  color:var(--ph-text-dark-secondary);
}
.policy-content th{
  background:var(--ph-bg-light);
  color:var(--ph-text-dark);
  font-weight:600;
}

/* ---------- Footer ---------- */
footer{
  background:var(--ph-bg-dark);
  color:var(--ph-text-secondary);
  padding-top:54px;
}
footer .container{ padding-bottom:0; }
footer .footer-grid{
  display:flex;
  flex-wrap:wrap;
  gap:40px;
  justify-content:space-between;
  padding-bottom:44px;
}
footer .footer-col{ flex:1 1 200px; min-width:170px; }
footer .footer-col h4{
  color:var(--ph-text-primary);
  font-size:1rem;
  font-weight:600;
  margin:0 0 16px;
}
footer .footer-col p{
  font-size:.93rem;
  line-height:1.7;
  color:var(--ph-text-secondary);
  margin:0 0 8px;
}
footer .footer-col p.footer-org{ color:var(--ph-text-muted); }
footer .footer-col ul{ list-style:none; margin:0; padding:0; }
footer .footer-col li{ margin-bottom:10px; }
footer .footer-col a{
  color:var(--ph-text-secondary);
  text-decoration:none;
  font-size:.93rem;
  transition:color .2s;
}
footer .footer-col a:hover{ color:var(--ph-accent); }
footer .footer-bottom{
  border-top:1px solid var(--ph-border);
  padding:20px 24px;
  text-align:center;
}
footer .footer-bottom p{
  margin:0;
  font-size:.88rem;
  color:var(--ph-text-muted);
}

/* ---------- Responsive ---------- */
@media (max-width:768px){
  header nav{ height:auto; padding:16px 24px; flex-direction:column; align-items:flex-start; gap:12px; }
  header .nav-links{ flex-wrap:wrap; gap:18px; }
  .page-hero{ padding:42px 0 34px; }
  .page-hero h1{ font-size:1.85rem; }
  .policy-content{ padding:30px 0 46px; }
  .policy-content .container{ padding:28px 22px; }
  .container{ padding:0 18px; }
  footer .footer-grid{ flex-direction:column; gap:28px; }
}
