/* Policy reading surface. No consent, collection, retention or workflow behavior. */
.policy-guide {
  --policy-gutter: clamp(1.125rem, 4vw, 3.5rem);
  max-width: 76rem;
  margin-inline: auto;
  background: #fff;
  color: var(--ink, #102235);
  font-size: 1rem;
  line-height: 1.7;
}
.policy-guide *, .policy-guide *::before, .policy-guide *::after { box-sizing: border-box; }
.policy-guide :where(h1, h2, h3, p, li, a) { overflow-wrap: anywhere; }
.policy-guide h1, .policy-guide h2 { font-family: Georgia, 'Times New Roman', serif; color: var(--navy, #14304a); }
.policy-guide h1 { max-width: 22ch; font-size: clamp(2rem, 3.6vw, 3.25rem); line-height: 1.12; letter-spacing: -.025em; }
.policy-guide h2 { max-width: 34ch; margin-bottom: 1rem; font-size: clamp(1.5rem, 2.5vw, 2rem); line-height: 1.25; }
.policy-guide h3 { font-size: 1.125rem; line-height: 1.4; }
.policy-guide p { max-width: 68ch; margin-bottom: 1.15rem; color: #344b60; font-size: 1rem; font-weight: 400; line-height: 1.75; }
.policy-guide li { color: #344b60; font-size: 1rem; font-weight: 400; line-height: 1.65; }
.policy-guide a { color: var(--navy, #14304a); text-decoration: underline; text-underline-offset: .18em; text-decoration-thickness: .08em; }
.policy-guide a:hover { text-decoration-thickness: .14em; }
.policy-guide a:focus-visible, .policy-guide [tabindex]:focus-visible { outline: 3px solid #805000; outline-offset: 4px; border-radius: 2px; }
.policy-guide [id] { scroll-margin-top: 8rem; }
.policy-guide .eyebrow { color: #695019; font-size: .875rem; font-weight: 700; line-height: 1.45; letter-spacing: .055em; }
.policy-guide .hero {
  grid-template-columns: minmax(0, 1fr) minmax(15rem, .5fr);
  gap: clamp(2rem, 4vw, 3.5rem);
  padding: clamp(2rem, 4vw, 3.5rem) var(--policy-gutter);
  background: #fff;
  color: var(--ink, #102235);
  border-top: .25rem solid var(--gold, #d9a63a);
}
.policy-guide .hero-text { max-width: 60ch; color: #344b60; font-size: 1.125rem; line-height: 1.65; }
.policy-guide .trust-panel { align-self: start; padding: 0 0 0 1.5rem; border: 0; border-left: 2px solid var(--line, #dbe4ec); border-radius: 0; background: transparent; }
.policy-guide .trust-panel h2 { font-family: Arial, Helvetica, sans-serif; font-size: 1.125rem; }
.policy-guide .trust-panel ul { padding-left: 1.125rem; }
.policy-guide .trust-panel li { margin-block: .65rem; color: #344b60; font-weight: 400; }
.policy-guide .actions { gap: .75rem; }
.policy-guide .button { min-height: 3rem; height: auto; padding: .8rem 1.2rem; border-radius: 6px; white-space: normal; font-size: 1rem; font-weight: 700; line-height: 1.4; text-decoration: none; box-shadow: none; }
.policy-guide .button.primary { background: var(--gold, #d9a63a); color: #102235; }
.policy-guide .policy-guide__contents { display: block; margin: 0 var(--policy-gutter); padding: 1.25rem 0; border-block: 1px solid var(--line, #dbe4ec); color: var(--navy, #14304a); font-size: 1rem; }
.policy-guide .policy-guide__contents > span { display: block; margin-bottom: .5rem; font-size: .875rem; font-weight: 700; color: #5c6f82; }
.policy-guide .policy-guide__contents ul { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; margin: 0; padding: 0; list-style: none; }
.policy-guide .policy-guide__contents li { min-width: 0; }
.policy-guide .policy-guide__contents a { display: inline-block; padding-block: .6rem; line-height: 1.45; }
.policy-guide .section { padding: clamp(2rem, 4vw, 3rem) var(--policy-gutter); background: #fff; }
.policy-guide .section + .section { border-top: 1px solid var(--line, #dbe4ec); }
.policy-guide .section + .section::before, .policy-guide .section-header::after, .policy-guide .contact-card::before { content: none; }
.policy-guide .section-header { max-width: 68ch; margin-bottom: 1.5rem; padding: 0; }
.policy-guide .split { grid-template-columns: minmax(0, 1fr) minmax(15rem, .5fr); gap: clamp(2rem, 4vw, 3.5rem); align-items: start; }
.policy-guide .contact-card, .policy-guide .quote-panel { min-width: 0; padding: 1.25rem 1.5rem; border: 0; border-top: 2px solid var(--line, #dbe4ec); border-radius: 0; background: var(--paper, #f7fafc); box-shadow: none; overflow: visible; }
.policy-guide .contact-card h2 { font-family: Arial, Helvetica, sans-serif; font-size: 1.125rem; line-height: 1.4; }
.policy-guide .contact-card p:last-child, .policy-guide .quote-panel p:last-child { margin-bottom: 0; }
.policy-guide .card-grid { display: block; max-width: 68ch; }
.policy-guide .card-grid > article { display: block; min-height: 0; padding: 1.25rem 0; border: 0; border-top: 1px solid var(--line, #dbe4ec); border-radius: 0; background: transparent; box-shadow: none; }
.policy-guide .card-grid > article h3 { margin-bottom: .5rem; }
.policy-guide .card-grid > article p:last-child { margin-bottom: 0; }
.policy-guide .contact-card ul { padding-left: 1.2rem; }
.policy-guide .contact-card li + li { margin-top: .65rem; }
@media (max-width: 760px) {
  .policy-guide .hero, .policy-guide .split { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
  .policy-guide .hero { padding-block: 2rem; }
  .policy-guide .trust-panel { padding-left: 1rem; }
  .policy-guide .policy-guide__contents ul { display: block; }
  .policy-guide .policy-guide__contents a { display: block; }
  .policy-guide .actions .button { width: 100%; }
}
@media print {
  .policy-guide { max-width: none; }
  .policy-guide .hero, .policy-guide .split { display: block; }
  .policy-guide .hero, .policy-guide .section { padding: 1rem 0; }
  .policy-guide .policy-guide__contents { margin-inline: 0; }
}
