.policy-page { max-width: 1000px; margin: 50px auto 80px; color: #34463e; }
.policy-intro { border-bottom: 1px solid #d9d7ca; padding: 0 0 28px; }
.policy-kicker { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: #8b754b; }
.policy-page h1 { font: normal clamp(40px,5vw,62px)/1.12 Georgia,serif; color: #244637; margin: 19px 0; }
.policy-lead { max-width: 690px; font-size: 18px; line-height: 1.7; color: #667163; }
.policy-meta { display: flex; flex-wrap: wrap; gap: 14px 32px; margin-top: 28px; font-size: 13px; color: #667163; }
.policy-page a { color: #28553f; text-underline-offset: 4px; }
.policy-page a:focus-visible { outline: 2px solid #8b754b; outline-offset: 4px; }
.policy-note { padding: 20px 24px; margin: 28px 0 8px; background: #e9ecdf; border-left: 3px solid #8b754b; font-size: 14px; line-height: 1.7; }
.policy-note strong { display: block; color: #244637; }
.policy-section { display: grid; grid-template-columns: 55px minmax(0,1fr); gap: 20px; padding: 34px 0; border-bottom: 1px solid #deddd2; }
.policy-number { color: #8b754b; font: 14px/2 Georgia,serif; padding-top: 3px; }
.policy-section h2 { font: normal 28px/1.25 Georgia,serif; color: #244637; margin: 0 0 20px; }
.policy-section p,.policy-section li { font-size: 16px; line-height: 1.8; }
.policy-section p { margin: 0 0 17px; }
.policy-section p:last-child { margin-bottom: 0; }
.policy-section ol { padding-left: 22px; margin: 0 0 20px; }
.policy-section li { padding-left: 6px; margin-bottom: 10px; }
@media(max-width:600px) { .policy-page { margin: 30px auto 45px; } .policy-section { grid-template-columns: 25px minmax(0,1fr); gap: 10px; padding: 28px 0; } .policy-section h2 { font-size: 25px; } .policy-note { padding: 17px; } .policy-page a { overflow-wrap: anywhere; } }
@media print { .ah-home-header,.ah-home-footer,.ah-skip { display: none !important; } .policy-page { max-width: none; margin: 0; } .policy-section { break-inside: auto; } .policy-section h2 { break-after: avoid; } .policy-page p { orphans: 3; widows: 3; } }
