.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; }

/* A short client handout, using the same score bars as the full overview. */
.ar-client-brief { max-width:920px; margin-inline:auto; }
.ar-client-brief .ar-chapter-header { margin-bottom:22px; }
.ar-client-introduction { max-width:68ch; color:#655c56; font-size:15px; line-height:1.75; }
.ar-client-highlights { display:grid; grid-template-columns:1fr 1fr; gap:44px; margin-top:38px; }
.ar-client-band-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding-bottom:16px; border-bottom:1px solid var(--ar-rule); }
.agape-reader .ar-client-band-heading h3 { font:400 24px/1.25 Georgia,serif; margin:0; }
.ar-client-band-label { font-size:12px; color:#796b61; }
.agape-reader .ar-client-quality-list { list-style:none; padding:0; margin:0; }
.agape-reader .ar-client-quality { margin:0; padding:19px 0; border-bottom:1px solid #e7ded8; }
.ar-client-quality-heading { display:flex; align-items:center; gap:11px; margin-bottom:10px; }
.ar-client-quality-name { font:400 18px/1.35 Georgia,serif; }
.ar-client-quality .ar-score { --score-fill:var(--ar-accent); --score-track:#e8dfd8; padding-left:41px; box-sizing:border-box; }
.ar-client-quality .ar-score-value { min-width:48px; }
.ar-client-context-note { font-size:12px; color:var(--ar-muted); margin-top:18px!important; }
.ar-client-practice { margin-top:40px; padding:28px 30px; background:#f1e8df; border-left:3px solid #b38b6c; }
.agape-reader .ar-client-practice h3, .agape-reader .ar-client-scriptures h3 { font:400 27px/1.25 Georgia,serif; }
.ar-client-practice > p { font-size:14px; color:#655c56; }
.agape-reader .ar-client-steps { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:repeat(3,auto); grid-auto-flow:column; gap:22px 30px; list-style:none; margin:24px 0 0; padding:0; }
.agape-reader .ar-client-steps li { display:flex; align-items:flex-start; gap:12px; margin:0; }
.ar-client-step-number { width:25px; height:25px; flex:0 0 25px; display:flex; align-items:center; justify-content:center; border:1px solid #cbb8a8; border-radius:50%; font-size:12px; color:#785b46; }
.agape-reader .ar-client-steps h4 { font-size:15px; font-weight:500; margin:1px 0 6px; }
.ar-client-steps p { font-size:14px; line-height:1.65; color:#655c56; }
.ar-client-scriptures { margin-top:38px; }
.ar-client-scriptures blockquote { border:0; padding:0 0 0 18px; margin:22px 0; border-left:2px solid #d4c3b5; }
.ar-client-scriptures blockquote p { font:400 20px/1.5 Georgia,serif; margin-bottom:8px; }
.ar-client-scriptures cite { font:12px/1.5 "Avenir Next",Avenir,sans-serif; color:var(--ar-muted); }
@media(max-width:700px) {
 .ar-client-highlights { grid-template-columns:1fr; gap:28px; margin-top:28px; }
 .agape-reader .ar-client-band-heading h3 { font-size:23px; }
 .ar-client-practice { padding:24px 20px; }
 .agape-reader .ar-client-steps { grid-template-columns:1fr; grid-template-rows:none; grid-auto-flow:row; gap:20px; }
 .ar-client-scriptures blockquote p { font-size:19px; }
}
@media print { .ar-client-practice { break-inside:avoid; } .ar-client-quality { break-inside:avoid; } }

/* Shared columns keep each sort control centered over its actual letter/bar. */
.ar-quality-sort, .ar-quality-summary { display:grid; grid-template-columns:30px minmax(0,1fr) 150px 21px; align-items:center; column-gap:12px; }
.ar-quality-sort { padding:0 0 10px; }
.ar-quality-summary > .ar-score { width:150px; }
.ar-quality-summary::after { width:21px; text-align:center; }
.ar-score-sort { grid-column:3; display:grid; grid-template-columns:minmax(35px,1fr) 58px; column-gap:15px; }
.ar-sort-arrow { display:inline-flex; align-items:center; justify-content:center; justify-self:center; width:30px; height:32px; padding:0; border:0; border-radius:4px; background:transparent; color:#aaa39e; font:22px/1 "Avenir Next",Avenir,sans-serif; cursor:pointer; }
.ar-sort-score { width:36px; gap:0; }
.ar-sort-arrow[aria-pressed="true"] { color:#171514; }
.ar-sort-score[aria-pressed] { color:#aaa39e; }
.ar-sort-score[data-direction="ascending"] .ar-sort-up, .ar-sort-score[data-direction="descending"] .ar-sort-down { color:#171514; }
.ar-sort-arrow:hover { background:#f2e3dd; }
.ar-sort-arrow:focus-visible { outline:2px solid var(--ar-accent); outline-offset:2px; }
@media(max-width:700px) {
 .ar-quality-sort, .ar-quality-summary { grid-template-columns:30px minmax(0,1fr) 108px 21px; }
 .ar-quality-summary > .ar-score { width:108px; }
}
@media print { .ar-quality-sort { display:none; } }

.ar-growth-practice h4 { margin:18px 0 6px; font-size:13px; font-weight:600; color:var(--ar-muted); }
.ar-growth-practice h4:first-child { margin-top:4px; }
.ar-growth-practice p { font-size:15px; line-height:1.75; }

.ar-band-legend { margin:0 0 20px; }
.ar-band-legend-button { display:flex; flex-wrap:wrap; align-items:center; gap:16px; padding:7px 0; border:0; background:transparent; color:var(--ar-muted); font:13px/1.5 "Avenir Next",Avenir,sans-serif; cursor:help; }
.ar-band-legend-button:hover { background:transparent; }
.ar-band-legend-button:focus-visible { outline:2px solid var(--ar-accent); outline-offset:4px; }
.ar-band-key { display:inline-flex; align-items:center; gap:6px; }
.ar-band-swatch { width:9px; height:9px; border-radius:50%; }
.ar-band-swatch--low { background:#d77c20; }
.ar-band-swatch--middle { background:#d1b51f; }
.ar-band-swatch--high { background:#4f7d50; }
.ar-band-legend-hint { font-size:12px; color:#8a7d73; text-decoration:underline dotted; text-underline-offset:3px; }
.ar-band-legend-help { pointer-events:none; font-size:14px; line-height:1.65; }
.ar-band-legend-help .ar-band-help-title { font-weight:600; color:var(--ar-ink); }
.ar-band-legend-help p:last-child { margin-bottom:0!important; }
@media print { .ar-band-legend-help, .ar-band-legend-hint { display:none!important; } }

#ar-qualities .ar-chapter-header { position:relative; }
#ar-qualities .ar-chapter-header > h2 { padding-right:390px; }
.ar-band-legend { position:absolute; top:0; right:0; margin:0; }
@media(max-width:1100px) {
 #ar-qualities .ar-chapter-header > h2 { padding-right:0; }
 .ar-band-legend { position:static; margin-top:20px; }
 .ar-band-legend-button { gap:12px; }
}

.ar-client-quality .ar-client-encouragement { margin:10px 0 0 41px; color:var(--ar-muted); font-size:13px; line-height:1.65; }
