/* ============================================================
   Plain text pages (privacy policy). Loaded after home.css and
   service.css; reuses the hero and type styles from them.
   ============================================================ */

.lg-hero { padding-bottom: clamp(32px, 4vw, 48px); }
.lg-hero .hp-h1 { margin-bottom: 18px; }
.lg-updated { font-size: 15px; color: var(--hp-label); }
.lg-body { padding: 0 0 var(--hp-pad); }
.lg-text { max-width: 760px; }
.lg-summary {
  background: var(--hp-tint);
  border: 3px solid var(--hp-navy);
  border-radius: 22px;
  padding: clamp(22px, 3vw, 32px);
  margin-bottom: 48px;
}
.lg-summary .hp-h3 { font-size: 22px; margin-bottom: 12px; }
.lg-summary ul { padding-left: 20px; }
.lg-summary li { margin-bottom: 6px; color: var(--hp-body); }
.lg-text > h2 {
  font-family: var(--hp-serif);
  font-weight: 600;
  font-size: clamp(24px, 2.4vw, 30px);
  line-height: 1.2;
  letter-spacing: -.015em;
  margin: 44px 0 14px;
  padding-top: 28px;
  border-top: 2px dashed #cbd5e1;
}
.lg-summary + h2 { margin-top: 0; padding-top: 0; border-top: 0; }
.lg-body h3 { font-family: var(--hp-serif); font-weight: 600; font-size: 20px; margin: 22px 0 8px; }
.lg-body p,
.lg-body li { font-size: 17px; line-height: 1.65; color: var(--hp-body); }
.lg-body p + p { margin-top: 12px; }
.lg-body ul { padding-left: 22px; margin: 10px 0; }
.lg-body li { margin-bottom: 6px; }
.lg-body strong { color: var(--hp-navy); }

/* ---------- Not found page (404.html) ---------- */
.nf { padding-bottom: clamp(72px, 9vw, 110px); }
.nf .hp-two { --col: 420px; gap: 40px; align-items: center; }
.nf-links { list-style: none; margin: 0 0 32px; max-width: 520px; }
.nf-links li:last-child a { border-bottom: 2px dashed #cbd5e1; }
.hp .nf-links a {
  display: grid;
  grid-template-columns: 1fr 24px;
  gap: 16px;
  align-items: center;
  min-height: 44px;
  padding: 14px 0;
  border-top: 2px dashed #cbd5e1;
  text-decoration: none;
  color: var(--hp-navy);
}
.nf-links b { display: block; font-family: var(--hp-serif); font-weight: 600; font-size: 20px; line-height: 1.2; transition: color .18s; }
.nf-links b + span { display: block; font-size: 15px; color: var(--hp-body); margin-top: 3px; }
.nf-links a > span:last-child { font-size: 20px; text-align: right; transition: transform .18s; }
.nf-links a:hover b { color: var(--hp-blue); }
.nf-links a:hover > span:last-child { transform: translateX(5px); }
.nf-art { width: 100%; max-width: 520px; margin: 0 auto; }
.nf-art svg { display: block; width: 100%; height: auto; filter: drop-shadow(0 20px 24px rgba(10,37,64,.16)); }
