.policy-page { padding: 40px 0 80px; background-color: #faf7f2; }
.policy-page .policy-breadcrumb { margin-bottom: 24px; }
.policy-page .policy-breadcrumb .breadcrumb-list { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.policy-page .policy-breadcrumb .breadcrumb-list .breadcrumb-item { font-size: 13px; color: rgba(26, 26, 28, 0.55); }
.policy-page .policy-breadcrumb .breadcrumb-list .breadcrumb-item a { color: #c8102e; }
.policy-page .policy-breadcrumb .breadcrumb-list .breadcrumb-item a:hover { color: #a00d24; }
.policy-page .policy-breadcrumb .breadcrumb-list .breadcrumb-sep { font-size: 12px; color: rgba(26, 26, 28, 0.25); }
.policy-page .policy-content { max-width: 800px; margin: 0 auto; padding: 0 20px; }
.policy-page .policy-content .policy-hero { margin-bottom: 40px; padding-bottom: 32px; border-bottom: 1px solid rgba(26, 26, 28, 0.08); }
.policy-page .policy-content .policy-hero .policy-title { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; font-size: 32px; line-height: 40px; color: #1a1a1c; font-weight: 800; margin-bottom: 12px; letter-spacing: -0.5px; }
.policy-page .policy-content .policy-hero .policy-meta { font-size: 14px; color: rgba(26, 26, 28, 0.55); }
.policy-page .policy-content .policy-section { margin-bottom: 36px; }
.policy-page .policy-content .policy-section .section-title { font-size: 22px; line-height: 30px; color: #1a1a1c; font-weight: 800; margin-bottom: 14px; letter-spacing: -0.2px; }
.policy-page .policy-content .policy-section .section-subtitle { font-size: 18px; font-weight: 700; color: #1a1a1c; margin-bottom: 10px; line-height: 26px; }
.policy-page .policy-content .policy-section p { font-size: 17px; line-height: 30px; color: rgba(26, 26, 28, 0.72); margin-bottom: 16px; }
.policy-page .policy-content .policy-section p:last-child { margin-bottom: 0; }
.policy-page .policy-content .policy-section p a { color: #c8102e; text-decoration: none; border-bottom: 1px solid rgba(200, 16, 46, 0.3); padding-bottom: 1px; transition: border-color 0.2s ease; }
.policy-page .policy-content .policy-section p a:hover { border-color: #c8102e; }
.policy-page .policy-content .policy-section p strong { color: #1a1a1c; font-weight: 700; }
.policy-page .policy-content .policy-section .policy-list { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }
.policy-page .policy-content .policy-section .policy-list .list-item { display: flex; align-items: flex-start; gap: 10px; font-size: 16px; line-height: 26px; color: rgba(26, 26, 28, 0.72); }
.policy-page .policy-content .policy-section .policy-list .list-item .list-icon { width: 18px; height: 18px; flex-shrink: 0; margin-top: 4px; color: #b08e2a; }
.policy-page .policy-content .policy-section .policy-list .list-item .list-icon.icon-red { color: #c8102e; }
.policy-page .policy-content .policy-section .policy-list .list-item .list-icon.icon-amber { color: #b08e2a; }
.policy-page .policy-content .policy-section .policy-list .list-item a { color: #c8102e; text-decoration: none; border-bottom: 1px solid rgba(200, 16, 46, 0.3); padding-bottom: 1px; transition: border-color 0.2s ease; }
.policy-page .policy-content .policy-section .policy-list .list-item a:hover { border-color: #c8102e; }
.policy-page .policy-content .policy-section .policy-highlight { padding: 20px 24px; background-color: rgba(176, 142, 42, 0.08); border-left: 3px solid #b08e2a; border-radius: 0 6px 6px 0; margin-bottom: 16px; }
.policy-page .policy-content .policy-section .policy-highlight p { color: rgba(26, 26, 28, 0.78); margin-bottom: 0; }
.policy-page .policy-content .policy-section .policy-warning { padding: 20px 24px; background-color: rgba(200, 16, 46, 0.06); border-left: 3px solid #c8102e; border-radius: 0 6px 6px 0; margin-bottom: 16px; }
.policy-page .policy-content .policy-section .policy-warning p { color: rgba(26, 26, 28, 0.78); margin-bottom: 0; }
.policy-page .policy-content .policy-section .policy-cta { display: inline-flex; align-items: center; gap: 8px; padding: 14px 24px; font-size: 16px; font-weight: 700; color: #ffffff; background: linear-gradient(135deg, #c8102e, #a00d24); border-radius: 4px; transition: transform 0.2s ease, box-shadow 0.2s ease; box-shadow: 0 4px 14px rgba(200, 16, 46, 0.25); margin-top: 8px; }
.policy-page .policy-content .policy-section .policy-cta:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(200, 16, 46, 0.35); color: #ffffff; }
.policy-page .policy-content .policy-section .policy-cta.cta-green { background: linear-gradient(135deg, #059669, #047857); box-shadow: 0 4px 14px rgba(5, 150, 105, 0.25); }
.policy-page .policy-content .policy-section .policy-cta.cta-green:hover { box-shadow: 0 6px 20px rgba(5, 150, 105, 0.35); }
.policy-page .policy-content .policy-section .team-grid { display: grid; grid-template-columns: 1fr; gap: 16px; margin-bottom: 16px; }
.policy-page .policy-content .policy-section .team-grid .team-member { display: flex; gap: 16px; padding: 20px; background-color: #ffffff; border-radius: 8px; border: 1px solid rgba(26, 26, 28, 0.08); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03); }
.policy-page .policy-content .policy-section .team-grid .team-member .member-avatar { width: 56px; height: 56px; border-radius: 50%; flex-shrink: 0; object-fit: cover; object-position: center top; border: 1px solid rgba(176, 142, 42, 0.35); box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); }
.policy-page .policy-content .policy-section .team-grid .team-member .member-info { flex: 1; }
.policy-page .policy-content .policy-section .team-grid .team-member .member-info .member-name { font-size: 16px; font-weight: 700; color: #1a1a1c; margin-bottom: 2px; }
.policy-page .policy-content .policy-section .team-grid .team-member .member-info .member-role { font-size: 13px; font-weight: 700; color: #b08e2a; margin-bottom: 6px; letter-spacing: 0.2px; }
.policy-page .policy-content .policy-section .team-grid .team-member .member-info .member-bio { font-size: 14px; line-height: 22px; color: rgba(26, 26, 28, 0.65); }
.policy-page .policy-content .policy-section .process-steps { display: flex; flex-direction: column; gap: 14px; margin-bottom: 16px; }
.policy-page .policy-content .policy-section .process-steps .step-item { display: flex; gap: 14px; padding: 16px 20px; background-color: #ffffff; border-radius: 8px; border: 1px solid rgba(26, 26, 28, 0.08); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03); }
.policy-page .policy-content .policy-section .process-steps .step-item .step-number { width: 32px; height: 32px; border-radius: 50%; background: linear-gradient(135deg, #c8102e, #a00d24); color: #ffffff; font-size: 14px; font-weight: 800; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.policy-page .policy-content .policy-section .process-steps .step-item .step-text { flex: 1; }
.policy-page .policy-content .policy-section .process-steps .step-item .step-text .step-title { font-size: 15px; font-weight: 700; color: #1a1a1c; margin-bottom: 2px; }
.policy-page .policy-content .policy-section .process-steps .step-item .step-text .step-desc { font-size: 14px; line-height: 22px; color: rgba(26, 26, 28, 0.65); }
.policy-page .policy-content .policy-section .resource-card { display: flex; align-items: center; gap: 14px; padding: 18px 20px; background-color: #ffffff; border: 1px solid rgba(26, 26, 28, 0.08); border-radius: 8px; margin-bottom: 12px; transition: border-color 0.2s ease, box-shadow 0.2s ease; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03); }
.policy-page .policy-content .policy-section .resource-card:hover { border-color: rgba(176, 142, 42, 0.25); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06); }
.policy-page .policy-content .policy-section .resource-card .resource-icon { width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.policy-page .policy-content .policy-section .resource-card .resource-icon.icon-bg-green { background-color: rgba(5, 150, 105, 0.1); color: #059669; }
.policy-page .policy-content .policy-section .resource-card .resource-icon.icon-bg-red { background-color: rgba(200, 16, 46, 0.1); color: #c8102e; }
.policy-page .policy-content .policy-section .resource-card .resource-icon .icon-svg { width: 20px; height: 20px; }
.policy-page .policy-content .policy-section .resource-card .resource-text { flex: 1; }
.policy-page .policy-content .policy-section .resource-card .resource-text .resource-name { font-size: 15px; font-weight: 700; color: #1a1a1c; }
.policy-page .policy-content .policy-section .resource-card .resource-text .resource-detail { font-size: 13px; color: rgba(26, 26, 28, 0.6); }
@media (min-width: 768px) {
  .policy-page { padding: 48px 0 100px; }
  .policy-page .policy-content { padding: 0 40px; }
  .policy-page .policy-content .policy-hero .policy-title { font-size: 38px; line-height: 46px; }
  .policy-page .policy-content .policy-section .team-grid { grid-template-columns: repeat(2, 1fr); }
}
@media print {
  .site-header, .site-footer, .trust-bar { display: none; }
  .policy-page { padding: 0; background-color: #ffffff; }
  .policy-page .policy-content .policy-hero .policy-title { font-size: 24px; color: #000000; }
  .policy-page .policy-content .policy-section p { font-size: 12px; line-height: 18px; color: #333333; }
  .policy-page .policy-content .policy-section .section-title { color: #000000; }
}

.policy-hero-banner { position: relative; width: 100%; min-height: 260px; background-color: #0f0f10; overflow: hidden; display: flex; align-items: flex-end; }
.policy-hero-banner .policy-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.42; filter: saturate(1.05) contrast(1.05); }
.policy-hero-banner .policy-hero-banner-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15, 15, 16, 0.55) 0%, rgba(15, 15, 16, 0.82) 85%, #faf7f2 100%); }
.policy-hero-banner .policy-hero-banner-inner { position: relative; z-index: 2; max-width: 900px; width: 100%; margin: 0 auto; padding: 64px 20px 40px; }
.policy-hero-banner .banner-crumbs { display: flex; align-items: center; gap: 8px; font-size: 13px; margin-bottom: 20px; color: rgba(255, 255, 255, 0.55); }
.policy-hero-banner .banner-crumbs a { color: #d4af37; text-decoration: none; }
.policy-hero-banner .banner-crumbs a:hover { color: #e8c84a; }
.policy-hero-banner .banner-crumbs .crumb-sep { color: rgba(255, 255, 255, 0.3); }
.policy-hero-banner .banner-title { font-size: 32px; line-height: 40px; font-weight: 900; color: #ffffff; letter-spacing: -0.5px; margin: 0 0 8px; }
.policy-hero-banner .banner-meta { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: rgba(212, 175, 55, 0.85); font-weight: 700; margin: 0; }
@media (min-width: 768px) {
  .policy-hero-banner { min-height: 320px; }
  .policy-hero-banner .policy-hero-banner-inner { padding: 96px 40px 56px; }
  .policy-hero-banner .banner-title { font-size: 44px; line-height: 52px; letter-spacing: -1px; }
}
@media (min-width: 1024px) {
  .policy-hero-banner { min-height: 360px; }
  .policy-hero-banner .banner-title { font-size: 52px; line-height: 60px; }
}
