.agape-reader { --ar-ink:#2d2a29; --ar-muted:#6b6460; --ar-rule:#dacfc8; --ar-accent:#8c241d; color:var(--ar-ink); font-family:"Avenir Next",Avenir,sans-serif; font-size:15px; line-height:1.65; overflow-wrap:anywhere; }
.agape-reader *, .agape-reader *::before, .agape-reader *::after { box-sizing:border-box; }
.ar-chapter { padding:44px 0 52px; border-bottom:1px solid var(--ar-rule); scroll-margin-top:110px; outline:none; }
.ar-chapter:first-child { padding-top:10px; }
.ar-chapter:last-child { border-bottom:0; }
.ar-chapter:focus-visible { outline:2px solid var(--ar-accent); outline-offset:8px; }
.ar-chapter-header { margin-bottom:28px; }
.ar-eyebrow { display:block; font-size:10px; letter-spacing:.15em; font-weight:600; color:var(--ar-accent); margin-bottom:12px; }
.agape-reader h2 { margin:0; color:var(--ar-ink); font-family:Georgia,serif; font-size:32px; font-weight:400; line-height:1.2; letter-spacing:-.025em; }
.agape-reader h3 { color:var(--ar-ink); font-family:Georgia,serif; font-weight:400; font-size:23px; line-height:1.3; margin:0 0 12px; }
.agape-reader h4 { font-family:inherit; font-size:13px; line-height:1.5; margin:0 0 8px; font-weight:600; }
.agape-reader p { max-width:68ch; margin:0 0 14px; }
.agape-reader p:last-child { margin-bottom:0; }
.ar-intro { color:var(--ar-muted); margin-top:13px!important; max-width:65ch; }
.ar-scale-note { font-size:12px; color:var(--ar-muted); margin-top:12px!important; }
.ar-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; margin-top:28px; }
.ar-support { padding-top:20px; border-top:1px solid var(--ar-rule); }
.agape-reader ul, .agape-reader ol { padding-left:20px; margin:8px 0 16px; }
.agape-reader li { margin-bottom:8px; }
.agape-reader li p { margin-bottom:4px; }
.ar-disclosure { border-top:1px solid var(--ar-rule); }
.ar-disclosure:last-child { border-bottom:1px solid var(--ar-rule); }
.ar-disclosure > summary { display:flex; align-items:center; gap:12px; padding:18px 0; cursor:pointer; list-style:none; font-weight:500; line-height:1.5; }
.ar-disclosure > summary::-webkit-details-marker { display:none; }
.ar-disclosure > summary::after { content:'+'; margin-left:auto; flex:none; font-size:21px; font-weight:400; color:var(--ar-accent); }
.ar-disclosure[open] > summary::after { content:'−'; }
.ar-disclosure > summary:hover { color:var(--ar-accent); }
.ar-disclosure > summary:focus-visible, .agape-reader a:focus-visible { outline:2px solid var(--ar-accent); outline-offset:4px; }
.ar-disclosure-content { padding:0 0 24px; }
.ar-facts { margin:0; }
.ar-facts > dt { font-size:11px; letter-spacing:.035em; font-weight:600; color:var(--ar-muted); margin-top:18px; }
.ar-facts > dd { margin:4px 0 14px; }
.ar-facts > dd > p { margin:0; }
.ar-profile-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:32px; }
.ar-profile-grid dt { margin-top:0; }
.ar-profile-cell { padding:16px 0; border-bottom:1px solid var(--ar-rule); }
.ar-score { display:flex; align-items:center; gap:15px; width:100%; }
.ar-meter { height:5px; min-width:35px; flex:1; background:var(--score-track,#e8dfd8); overflow:hidden; border-radius:0; }
.ar-meter-fill { display:block; height:100%; background:var(--score-fill,var(--ar-accent)); }
.ar-score-value { flex:none; min-width:58px; font-size:12px; font-variant-numeric:tabular-nums; color:var(--ar-muted); text-align:right; }
.ar-quality-title { flex:1; min-width:0; }
.ar-quality-name { display:block; font-family:Georgia,serif; font-size:20px; }
.ar-quality-rank { display:block; color:var(--ar-muted); font-size:11px; font-weight:400; margin-top:3px; }
.ar-quality-summary > .ar-score { flex:0 1 150px; }
.ar-quality-body { padding-left:0; }
.ar-item { margin-top:22px; padding-top:18px; border-top:1px solid #e7ded8; }
.ar-item-head { display:flex; gap:20px; align-items:baseline; }
.ar-item-head h4 { flex:1; }
.ar-item-rating { flex:none; color:var(--ar-accent); font-size:12px; font-variant-numeric:tabular-nums; }
.ar-source { background:rgba(242,230,223,.45); padding:14px 18px; margin:16px 0; border-left:2px solid #c8aaa0; font-size:13px; }
.ar-source-label { color:var(--ar-muted); font-size:10px; text-transform:uppercase; letter-spacing:.08em; margin-bottom:7px!important; }
.ar-empty { color:var(--ar-muted); font-style:italic; }
.ar-summary-content { max-width:72ch; }
.ar-summary-content h1 { font:400 28px/1.3 Georgia,serif; margin:28px 0 16px; }
.ar-summary-content h2 { font-size:25px; margin:28px 0 16px; }
.ar-summary-content h3 { font-size:21px; margin-top:25px; }
.ar-summary-content blockquote { margin:20px 0; padding-left:20px; border-left:2px solid var(--ar-rule); color:var(--ar-muted); }
.ar-summary-content table { width:100%; border-collapse:collapse; font-size:13px; }
.ar-summary-content th, .ar-summary-content td { padding:10px; border-bottom:1px solid var(--ar-rule); text-align:left; }
.ar-summary-content a { color:var(--ar-accent); text-underline-offset:3px; }
@media(max-width:700px) {
 .agape-reader { font-size:14px; }
 .ar-chapter { padding:32px 0 36px; }
 .agape-reader h2 { font-size:28px; }
 .ar-columns, .ar-profile-grid { grid-template-columns:1fr; gap:20px; }
 .ar-quality-summary { flex-wrap:wrap; column-gap:12px; }
 .ar-quality-summary > .ar-score { flex-basis:100px; }
 .ar-quality-name { font-size:18px; }
 .ar-item-head { gap:12px; }
 .ar-source { padding:12px; }
}
@media print { .ar-chapter { break-before:page; } .ar-chapter:first-child { break-before:auto; } .ar-disclosure-content { display:block!important; } }

.ar-source-text { white-space:normal; }
.agape-reader .ar-prose > :first-child { margin-top:0; }
.agape-reader .ar-prose > :last-child { margin-bottom:0; }
.agape-reader .ar-prose { margin-bottom:16px; overflow-wrap:anywhere; }
.agape-reader .ar-prose p { font-size:inherit; line-height:inherit; }

.agape-reader > .ar-chapter[hidden] { display:none; }
.agape-reader > .ar-chapter { padding-top:10px; border-bottom:0; }
@media print { .agape-reader > .ar-chapter[hidden] { display:block; } }

#ar-overview > .ar-support { margin-bottom:24px; }

.ar-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin:28px 0; }
.ar-group-quality { padding:0; border-top:1px solid var(--ar-rule); }
.ar-group-quality > summary { font:20px/1.3 Georgia,serif; padding:16px 0; }
.ar-group-quality p { font-size:14px; }
.ar-group-quality .ar-scale-note { font-size:12px; }
@media(max-width:850px) { .ar-groups { grid-template-columns:1fr; } }

.ar-response-details { margin-top:14px; }
.ar-response-details > summary { padding:12px 0; color:var(--ar-muted); font-size:12px; }
.ar-inquiry-flag { color:var(--ar-accent); }
.ar-source .ar-disclosure > summary { padding:8px 0; font-size:12px; color:var(--ar-muted); }
@media(max-width:700px) {
 .ar-item-head { flex-wrap:wrap; gap:4px 12px; }
 .ar-item-head h4 { flex-basis:100%; margin-bottom:0; }
 .ar-item-rating { margin-bottom:10px; }
}

.ar-citation-ref { padding:0 2px; border:0; background:transparent; color:var(--ar-accent); font:inherit; font-size:.75em; vertical-align:super; cursor:pointer; white-space:nowrap; }
.ar-citation-ref:hover { text-decoration:underline; }
.ar-citation-ref:focus-visible, .ar-citation-legend li:focus { outline:2px solid var(--ar-accent); outline-offset:3px; }
.ar-citation-legend { margin-top:28px; font-size:13px; }
.ar-citation-legend > ol { padding-left:24px; }
.ar-citation-legend li { padding:8px 0; }
.ar-citation-legend li > p { margin-bottom:4px; }
.ar-citation-legend li .ar-disclosure > summary { padding:5px 0; font-size:12px; color:var(--ar-muted); }

.ar-privacy-notice { border-top:1px solid var(--ar-rule); padding-top:16px; margin-top:28px!important; }
.ar-client-method { color:var(--ar-muted); font-size:14px; }
.ar-client-scores, .ar-client-growth { margin-top:32px; }
.ar-client-score-table { width:100%; border-collapse:collapse; font-size:14px; line-height:1.4; }
.ar-client-score-table caption { text-align:left; color:var(--ar-muted); font-size:12px; padding:0 0 14px; }
.ar-client-score-table th, .ar-client-score-table td { padding:10px 12px; border-bottom:1px solid var(--ar-rule); text-align:left; }
.ar-client-score-table th:first-child { padding-left:0; }
.ar-client-score-table thead th { font-size:12px; color:var(--ar-muted); font-weight:500; border-bottom:1px solid var(--ar-ink); }
.ar-client-score-table th { text-transform:none; letter-spacing:normal; }
.ar-client-score-table tbody th { font:500 14px/1.4 "Avenir Next",Avenir,sans-serif; }
.ar-client-score-table .ar-client-total { white-space:nowrap; font-variant-numeric:tabular-nums; }
.ar-client-score-table th:last-child, .ar-client-score-table td:last-child { text-align:right; padding-right:0; }
.ar-client-count { font-variant-numeric:tabular-nums; color:var(--ar-muted); }
.ar-client-growth-quality { margin-top:28px; border-top:1px solid var(--ar-rule); padding-top:20px; }
.ar-client-growth-quality > h4 { font:400 21px/1.3 Georgia,serif; margin-bottom:18px; }
.agape-reader .ar-client-growth-items { list-style:none; padding:0; margin:0; }
.ar-client-growth-items > li { margin:0; padding:16px 0; border-top:1px solid #e7ded8; }
.ar-client-growth-items > li:first-child { border-top:0; padding-top:0; }
.ar-client-question-text { margin-bottom:6px!important; }
.ar-client-concept { font-size:14px; font-weight:400; margin-top:12px!important; margin-bottom:5px!important; }
.ar-client-teaching-label { font-weight:600; }
.ar-client-answer { font-size:14px; margin-bottom:0!important; }
.ar-client-answer strong { font-weight:500; }
.ar-client-growth-items .ar-scale-note { margin-top:4px!important; }
.ar-client-question { margin-top:8px; border:0!important; }
.ar-client-question > summary { padding:5px 0; font-size:12px; color:var(--ar-muted); }
.ar-client-question > summary::after { margin-left:4px; font-size:17px; }
.ar-client-question .ar-disclosure-content { padding-top:10px; padding-bottom:0; }
.ar-client-sources { margin-top:28px; }
@media(max-width:480px) {
 .ar-client-score-table { font-size:13px; }
 .ar-client-score-table th, .ar-client-score-table td { padding:9px 6px; }
 .ar-client-score-table thead th:last-child { max-width:85px; }
 .ar-client-growth-quality > h4 { font-size:20px; }
}

/* Expanded evidence needs a reading column, not a third of a dashboard. */
.ar-groups { display:block; max-width:960px; margin:28px 0; }
.ar-groups > .ar-support { display:grid; grid-template-columns:110px minmax(0, 1fr); gap:28px; padding:24px 0; }
.ar-groups > .ar-support > h3 { font-size:22px; padding-top:13px; }
.ar-group-qualities { min-width:0; }
.ar-group-quality:first-child { border-top:0; }
.ar-group-quality:last-child { border-bottom:0; }
.ar-group-quality > summary { font-family:inherit; font-size:17px; padding:13px 0; }
.ar-group-quality > .ar-disclosure-content { max-width:72ch; padding:4px 0 24px; }
.ar-source-passage { margin-top:20px; }
.ar-source-passage > summary { font-size:12px; color:var(--ar-muted); padding:12px 0; }
.ar-source-passage > summary::after { font-size:17px; }
.ar-source-passage > .ar-disclosure-content { padding:20px 24px; margin-bottom:20px; background:#f1ebe5; border-left:2px solid #c8aaa0; }
.ar-source-page { max-width:68ch; }
.ar-source-page + .ar-source-page { margin-top:28px; padding-top:24px; border-top:1px solid var(--ar-rule); }
.ar-source-page > h4 { color:var(--ar-muted); font-size:11px; font-weight:500; margin-bottom:16px; }
@media(max-width:700px) {
 .ar-groups > .ar-support { grid-template-columns:1fr; gap:8px; padding:20px 0; }
 .ar-groups > .ar-support > h3 { padding-top:0; }
 .ar-source-passage > .ar-disclosure-content { padding:16px; }
}
.agape-reader .ar-source-page > h5 { font:500 12px/1.5 "Avenir Next",Avenir,sans-serif; color:var(--ar-muted); text-transform:none; letter-spacing:normal; margin:20px 0 8px; }

/* Qualitative group colors do not change the score bar's numeric proportions. */
.ar-score--low { --score-fill:#d77c20; --score-track:#f5e2ca; }
.ar-score--middle { --score-fill:#d1b51f; --score-track:#f5edc5; }
.ar-score--high { --score-fill:#4f7d50; --score-track:#e0ebdd; }
.ar-quality-code { display:inline-flex; align-items:center; justify-content:center; flex:0 0 30px; width:30px; height:30px; border:1px solid #d5c4b8; border-radius:50%; background:#f3ece6; color:#6f5b51; font:500 11px/1 "Avenir Next",Avenir,sans-serif; }
