.portrait-policy-page { margin: 0; color: #25312f; background: #f8faf9; font-family: Arial, "Malgun Gothic", sans-serif; line-height: 1.8; letter-spacing: 0; word-break: keep-all; overflow-wrap: anywhere; }
.portrait-policy-page header { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 16px 24px; border-bottom: 1px solid #d9e1de; background: #fff; }
.portrait-policy-page header a { font-weight: 800; text-decoration: none; }
.portrait-policy-page main { max-width: 800px; margin: 0 auto; padding: 48px 24px; }
.portrait-policy-page h1 { font-size: 30px; line-height: 1.4; margin: 0 0 8px; }
.portrait-policy-page h2 { font-size: 21px; line-height: 1.5; margin: 0 0 16px; }
.portrait-policy-page section { border-top: 1px solid #d9e1de; padding: 28px 0 12px; }
.portrait-policy-page a { color: #12685e; text-underline-offset: 3px; }
.portrait-policy-page .policy-version { color: #586862; font-size: 13px; margin-bottom: 32px; }
.portrait-policy-page footer { display: flex; gap: 24px; flex-wrap: wrap; border-top: 1px solid #d9e1de; padding-top: 24px; }
.ws-photo-policy { border: 1px solid #b9cdc7; border-radius: 4px; padding: 14px 16px; background: #f1f7f4; color: #253d35; line-height: 1.65; overflow-wrap: anywhere; }
.ws-photo-policy summary { cursor: pointer; font-weight: 700; }
.ws-photo-policy h4 { font-size: 14px; margin: 20px 0 6px; }
.ws-photo-policy p, .ws-photo-policy li { font-size: 13px; }
.ws-photo-policy a { color: #14685a; text-decoration: underline; text-underline-offset: 3px; }
.ws-photo-policy ul { padding-left: 20px; }
.ws-policy-consents { display: grid; gap: 14px; margin: 0; padding: 18px 0 0; border: 0; }
.ws-policy-consents legend { font-weight: 700; padding: 0; }
.ws-consent-record { font-size: 12px; color: #50645b; overflow-wrap: anywhere; }
.ws-portrait-editor .ws-modal-actions > button:only-child,
#playerRosterForm .ws-modal-actions > button:only-child { grid-column: 1 / -1; white-space: nowrap; min-width: 0; }
@media (max-width: 480px) { .portrait-policy-page main { padding: 30px 18px; } .portrait-policy-page h1 { font-size: 26px; } .ws-photo-policy { padding: 12px; } }
