/* Public reading surfaces share the homepage's forest, ink and fine rules. */
.cp-standard,.cp-policy,.cp-about,.cp-legal,.cp-how { --cp-ink:#102a24; --cp-muted:#455a4e; background:#f5f5f0; color:var(--cp-ink); }
.cp-standard .cp-reading-hero .cp-wrap { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:0 35px; align-items:center; }
.cp-standard .cp-reading-hero h1 { grid-column:1; }
.cp-standard .cp-reading-lede { grid-column:1; max-width:720px; }
.cp-standard .cp-reading-actions { grid-column:2; grid-row:1 / span 2; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; margin:0; }
.cp-standard-body { padding-top:28px; padding-bottom:52px; }
.cp-reader-scope { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:44px; margin-top:28px; padding-block:24px; border-block:1px solid #c8d0c4; }
.cp-scope { min-width:0; }
.cp-scope h2 { font-size:1.0625rem; letter-spacing:-.015em; line-height:1.55; margin:0; }
.cp-scope p { font-size:.9375rem; line-height:1.65; color:var(--cp-muted); margin-top:12px; }
.cp-reader { display:grid; grid-template-columns:15.625rem minmax(0,1fr); gap:20px; align-items:start; scroll-margin-top:16px; }
.cp-reader-index { min-width:0; display:flex; flex-direction:column; position:sticky; top:96px; color:#f5f5f0; background:#102a24; border:1px solid #102a24; border-radius:3px; overflow:hidden; }
.cp-reader-index-heading { padding:15px 18px; border-bottom:1px solid #3a5548; }
.cp-reader-index-heading strong { display:block; font-size:1rem; line-height:1.4; font-weight:600; letter-spacing:-.015em; }
.cp-reader-index-heading p { margin-top:4px; color:#c2d4c9; font-size:.875rem; line-height:1.5; }
.cp-reader-nav { display:flex; flex-direction:column; min-height:0; padding:0; margin:0; scroll-margin-top:100px; scrollbar-color:#78988a #102a24; scrollbar-width:thin; }
.cp-reader-nav a { display:flex; gap:10px; align-items:center; min-height:44px; padding:10px 14px; color:#e3eae2; font-size:.9375rem; font-weight:450; line-height:1.4; text-decoration:none; border:1px solid transparent; border-radius:0; white-space:nowrap; transition:background .16s,color .16s,border-color .16s; }
.cp-reader-nav a span { flex:none; min-width:15px; font-family:inherit; font-size:.875rem; font-variant-numeric:tabular-nums; color:#91b4a5; }
.cp-reader-nav a:nth-child(even) { background:#1b362e; }
.cp-reader-nav a:hover { color:#fff; background:#1b3d32; }
.cp-reader-nav a:focus-visible { outline-color:#70dfba; outline-offset:-3px; }
.cp-reader-nav a[aria-selected=true] { background:#70dfba; border-color:#70dfba; color:#102a24; font-weight:600; }
.cp-reader-nav a[aria-selected=true] span { color:#174a39; }

.cp-reader-main { min-width:0; background:#fff; border:1px solid #102a24; border-radius:3px; }
.cp-reader-viewport { padding:24px; }

.cp-rule-sections { max-width:760px; margin-inline:auto; }
.cp-reader-return { margin-top:28px; padding-top:22px; border-top:1px solid #c8d0c4; }
.cp-reader.is-enhanced .cp-reader-return { display:none; }

.cp-reader-picker { display:none; padding:14px 16px; }
.cp-reader-picker label { font-size:.8125rem; color:#d4e2d6; margin-bottom:7px; }
.cp-reader-picker select { width:100%; min-width:0; min-height:44px; padding:9px 10px; font:inherit; font-size:1rem; color:#102a24; background:#f8f9f4; border:1px solid #87a28f; border-radius:3px; }
.cp-reader-pagination { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #c8d0c4; background:#e8eee3; }
.cp-reader-pagination button { min-width:0; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:2px; min-height:54px; padding:8px 20px; color:#102a24; background:transparent; border:0; border-radius:0; text-align:left; font-size:1rem; line-height:1.4; transition:background .16s; }
.cp-reader-pagination button+button { align-items:flex-end; border-left:1px solid #bdcdbd; text-align:right; }
.cp-reader-page-label { font-size:.75rem; font-weight:500; color:#4d6555; }
.cp-reader-pagination strong { font-size:.9375rem; font-weight:600; overflow-wrap:anywhere; }
.cp-reader-pagination button:disabled { opacity:.55; }
.cp-reader-pagination button:not(:disabled):hover { background:#d7e5d3; }
.cp-reader-pagination button:focus-visible { position:relative; z-index:1; outline-offset:-4px; }
.cp-standard-rule { scroll-margin-top:112px; padding:30px 0 0; border-top:1px solid #d3dfd1; }
.cp-standard-rule:first-child,.cp-reader.is-enhanced .cp-standard-rule { padding-top:0; }
.cp-standard-rule:first-child,.cp-reader.is-enhanced .cp-standard-rule { border-top:0; }
.cp-rule-heading { display:grid; grid-template-columns:24px minmax(0,1fr); gap:12px; align-items:start; }
.cp-standard .cp-rule-number { position:static; display:flex; align-items:center; justify-content:center; width:24px; height:30px; border:0; color:#123d30; font-size:1.25rem; font-weight:550; line-height:1.2; }
.cp-rule-heading>div { min-width:0; }
.cp-rule-heading .cp-kicker { color:#41644c; margin:0 0 8px; font-size:.6875rem; }
.cp-rule-heading h2 { margin:0 0 12px; font-size:1.5rem; font-weight:600; line-height:1.25; letter-spacing:-.025em; }
.cp-rule-requirement { font-size:1rem; line-height:1.55; margin:0; }
.cp-rule-why { margin:18px 0 22px; color:var(--cp-muted); font-size:1rem; line-height:1.6; }
.cp-rule-comparison { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.cp-rule-comparison>div { padding-top:16px; border-top:2px solid #becfc2; }
.cp-rule-comparison h3 { font-size:.9375rem; font-weight:600; margin:0 0 12px; display:flex; align-items:center; gap:8px; }
.cp-rule-comparison h3 span { font-weight:500; font-size:1.25rem; line-height:1; }
.cp-not-pass h3 { color:#874126; }
.cp-can-pass h3 { color:#08795a; }
.cp-rule-comparison .cp-can-pass { border-color:#85b397; }
.cp-rule-comparison ul,.cp-rule-evidence ul { padding-left:18px; margin:0; }
.cp-rule-comparison li,.cp-rule-evidence li { font-size:1rem; line-height:1.55; margin:0 0 10px; padding-left:3px; }
.cp-rule-comparison li:last-child { margin-bottom:0; }
.cp-rule-nuance { padding:20px 0 0; border-top:1px solid #c8d0c4; margin-top:24px; }
.cp-rule-nuance h3,.cp-rule-test h3 { font-size:1rem; font-weight:600; margin:0 0 8px; }
.cp-rule-nuance p,.cp-rule-test p { margin:0; font-size:1rem; line-height:1.6; }
.cp-rule-test { padding:23px 0; }
.cp-rule-evidence { padding:15px 0 0; color:var(--cp-muted); font-size:.875rem; border-top:1px solid #d3dfd1; }
.cp-rule-evidence summary { cursor:pointer; font-weight:550; min-height:36px; }
.cp-rule-evidence ul { margin-top:14px; }
.cp-policy-date { font-size:.8125rem; color:var(--cp-muted); margin-top:25px; }
.cp-policy-layout { display:grid; grid-template-columns:210px minmax(0,760px); gap:70px; padding-block:44px 65px; }
.cp-policy-nav,.cp-policy-copy { min-width:0; overflow-wrap:anywhere; }
.cp-policy-nav { display:flex; flex-direction:column; align-self:start; gap:3px; position:sticky; top:104px; max-height:calc(100svh - 124px); overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.cp-policy-nav a { min-height:44px; padding:12px 14px; border-radius:4px; text-decoration:none; color:#455a4e; font-size:.875rem; }
.cp-policy-nav a[aria-current] { background:#e0ecdc; color:#064f3d; font-weight:600; }
.cp-policy-copy section { margin-bottom:26px; scroll-margin-top:112px; }
.cp-policy-copy h2 { font-size:1.5rem; font-weight:550; line-height:1.25; letter-spacing:-.015em; margin:0 0 16px; }
.cp-policy-copy p,.cp-policy-copy li { font-size:1rem; line-height:1.72; color:#344c3d; }
.cp-policy-copy p { margin:0 0 16px; }
.cp-policy-copy ul { padding-left:22px; }
.cp-policy-copy li { margin:0 0 12px; }
.cp-standard main a:not(.cp-download),.cp-policy main a { text-underline-offset:4px; }
.cp-about-body { padding-block:44px 52px; }
.cp-about-body h2 { font-size:clamp(1.75rem,2.8vw,2.375rem); font-weight:550; line-height:1.2; letter-spacing:-.025em; }
.cp-about-body p { font-size:1.0625rem; line-height:1.8; color:#455a4e; }
.cp-about-lead { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(380px,1fr); align-items:center; gap:64px; padding-bottom:44px; }
.cp-about-lead h2 { font-size:2rem; margin-bottom:20px; }
.cp-about-intro { max-width:660px; }
.cp-about-intro p+p { margin-top:14px; }
.cp-about-intro .button { margin-top:24px; }
.cp-about-standard { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:48px; align-items:center; padding:30px 0 0; border-top:1px solid #c8d0c4; }
.cp-about-standard .cp-kicker { margin-bottom:20px; color:#12614a; font-size:.75rem; }
.cp-about-standard p:not(.cp-kicker) { margin-top:14px; max-width:640px; }
.cp-about-standard .button { margin:0; background:#123d30; }
.cp-about-identity { min-width:0; padding:26px; background:#dfe8d8; }
.cp-about-identity h2 { font-size:1.0625rem; line-height:1.5; letter-spacing:-.01em; margin:0 0 24px; }
.cp-about-identity h2 span { display:block; color:#455a4e; font-weight:450; }
.cp-about-marks { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1fr); align-items:center; gap:28px; }
.cp-about-marks img { width:100%; height:auto; display:block; }
.cp-about .cp-about-identity>.cp-kicker { margin:0 0 8px; color:#12614a; font-size:.6875rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.cp-about-identity h2 { margin-bottom:20px; }
.cp-about-marks figure { min-width:0; margin:0; }
.cp-about-marks figcaption { margin-top:10px; color:#455a4e; font-size:.75rem; line-height:1.4; text-align:center; }
.cp-legal-body { padding-block:26px 50px; }
.cp-legal-directory { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:0 50px; }
.cp-legal-directory li { border-top:1px solid #cddfcd; }
.cp-legal-directory a { display:block; padding:25px 0; text-decoration:none; }
.cp-legal-directory h2 { font-size:1.375rem; font-weight:550; letter-spacing:-.025em; margin-bottom:10px; }
.cp-legal-directory p { color:#455a4e; font-size:1rem; line-height:1.7; max-width:440px; }
.cp-legal-directory a:hover h2 { color:#08795a; text-decoration:underline; text-underline-offset:5px; }
.cp-legal-help { border-top:1px solid #cddfcd; margin-top:15px; padding-top:28px; font-size:1rem; color:#455a4e; }
.cp-legal-help h2 { color:var(--cp-ink); font-size:1.5rem; font-weight:550; letter-spacing:-.025em; }
.cp-legal-help p { margin:12px 0 20px; }
@media(max-width:1000px) {
 .cp-reader { grid-template-columns:15.625rem minmax(0,1fr); }
 .cp-reader-viewport { padding-inline:22px; }
 .cp-rule-comparison { grid-template-columns:1fr; gap:24px; }
 .cp-standard .cp-reading-hero .cp-wrap { grid-template-columns:1fr; }
 .cp-standard .cp-reading-hero .cp-reading-actions { grid-column:1; grid-row:3; justify-self:start; justify-content:flex-start; margin-top:18px; }
 .cp-about-lead { grid-template-columns:1fr 1fr; gap:36px; }
}
@media(max-width:760px) {
 .cp-standard-body { padding-top:20px; }
 .cp-reader-scope { grid-template-columns:1fr; gap:28px; }
 .cp-reader { grid-template-columns:1fr; gap:0; }
 .cp-reader.is-enhanced { height:auto; }
 .cp-reader-index { position:static; }
 .cp-reader-index-heading { padding:14px 16px; }
 .cp-reader.is-enhanced .cp-reader-picker { display:grid; }
 .cp-reader.is-enhanced .cp-reader-index-heading,.cp-reader.is-enhanced .cp-reader-nav { display:none; }
 .cp-reader-index-heading strong { font-size:1rem; }
 .cp-reader.is-enhanced .cp-reader-main { display:block; }
 .cp-reader.is-enhanced .cp-reader-viewport { overflow:visible; }
 .cp-reader.is-enhanced .cp-reader-return { display:block; }
 .cp-reader-nav { position:static; display:grid; grid-template-columns:1fr; padding:0; }
 .cp-reader-nav a { font-size:.875rem; min-height:52px; padding:11px 14px; gap:8px; border-radius:0; }
 .cp-reader-nav a span { font-size:.8125rem; }
 .cp-reader-main { border:1px solid #102a24; }
 .cp-reader-viewport { padding:25px 20px 28px; }
 .cp-reader-pagination button { padding:8px 15px; }
 .cp-reader-pagination strong { font-size:.875rem; }
 .cp-rule-heading { grid-template-columns:24px minmax(0,1fr); gap:10px; }
 .cp-standard .cp-rule-number { width:24px; height:30px; font-size:1.25rem; }
 .cp-rule-heading h2 { font-size:1.5rem; }
 .cp-rule-heading .cp-kicker { font-size:.625rem; }
 .cp-rule-requirement { font-size:1rem; }
 .cp-policy-layout { grid-template-columns:1fr; gap:28px; padding-block:28px 50px; }
 .cp-policy-nav { position:static; max-height:none; overflow:visible; flex-direction:row; flex-wrap:wrap; padding-bottom:18px; border-bottom:1px solid #ccdccc; }
 .cp-policy-nav a { padding:10px; font-size:.8125rem; }
 .cp-about-body { padding-block:32px 45px; }
 .cp-about-lead { grid-template-columns:1fr; gap:22px; padding-bottom:28px; }
 .cp-about-body h2 { font-size:1.75rem; }
 .cp-about-body p { font-size:1rem; }
 .cp-about-standard { display:block; padding-top:28px; }
 .cp-about-standard .button { margin-top:22px; }
 .cp-about-identity { margin-block:8px; padding:22px; }
 .cp-about-identity h2 { font-size:1rem; }
 .cp-about-marks { gap:24px; }
 .cp-about-organization,.cp-about-mark { width:132px; height:154px; }
 .cp-about-identity-piece { gap:18px; }
 .cp-about-identity-piece p { font-size:.75rem; }
 .cp-about-future { padding-block:32px; }
 .cp-about-ownership h2 { font-size:1.25rem; }
 .cp-about-ownership p { font-size:.9375rem; }
 .cp-legal-directory { grid-template-columns:1fr; }
 .cp-legal-directory a { padding:23px 0; }
 .cp-how .cp-player-intro { grid-template-columns:1fr; gap:24px; margin-bottom:28px; }
 .cp-how .cp-player-intro p,.cp-how .cp-maker-intro>p { font-size:1rem; }
 .cp-how .cp-player-badge { width:100%; max-width:none; flex-direction:row; justify-content:flex-start; gap:24px; padding:20px 0; border-block:1px solid #bdcbbc; }
 .cp-how .cp-player-badge img { width:120px; }
 .cp-how .cp-player-badge>span { font-size:.875rem; text-align:left; }
 .cp-how .cp-maker-intro { margin-bottom:28px; }
 .cp-cert-process li { grid-template-columns:32px minmax(0,1fr); gap:8px 16px; padding:22px 0; }
 .cp-cert-process h3 { font-size:1.125rem; }
 .cp-cert-process p { grid-column:2; }
 .cp-cert-fee { display:block; padding:22px; }
 .cp-cert-fee h3 { margin-bottom:10px; font-size:1.125rem; }
 .cp-cert-fee p { padding:0; }
}
html[data-cp-text-size='150'] .cp-reader,html[data-cp-text-size='200'] .cp-reader { grid-template-columns:1fr; }
html[data-cp-text-size='150'] .cp-reader.is-enhanced,html[data-cp-text-size='200'] .cp-reader.is-enhanced { height:auto; }
html[data-cp-text-size='150'] .cp-reader.is-enhanced .cp-reader-main,html[data-cp-text-size='200'] .cp-reader.is-enhanced .cp-reader-main { display:block; }
html[data-cp-text-size='150'] .cp-reader.is-enhanced .cp-reader-viewport,html[data-cp-text-size='200'] .cp-reader.is-enhanced .cp-reader-viewport { overflow:visible; }
html[data-cp-text-size='150'] .cp-reader-index,html[data-cp-text-size='200'] .cp-reader-index { position:static; }
html[data-cp-text-size='150'] .cp-reader-nav,html[data-cp-text-size='200'] .cp-reader-nav { position:static; }
html[data-cp-text-size='150'] .cp-reader-main,html[data-cp-text-size='200'] .cp-reader-main { border:1px solid #102a24; }
html[data-cp-text-size='200'] .cp-reader-nav { grid-template-columns:1fr; }
html[data-cp-text-size='200'] .cp-rule-comparison,html[data-cp-text-size='200'] .cp-policy-layout,html[data-cp-text-size='200'] .cp-about-lead,html[data-cp-text-size='200'] .cp-about-standard,html[data-cp-text-size='200'] .cp-legal-directory,html[data-cp-text-size='150'] .cp-reader-scope,html[data-cp-text-size='200'] .cp-reader-scope { grid-template-columns:1fr; }
html[data-cp-text-size='200'] .cp-rule-heading { grid-template-columns:1fr; }
html[data-cp-text-size='200'] .cp-standard .cp-reading-hero .cp-wrap { display:block; }
html[data-cp-text-size='200'] .cp-standard .cp-reading-actions { margin-top:24px; justify-content:flex-start; }
html[data-cp-text-size='200'] .cp-about-marks { grid-template-columns:1fr; gap:28px; }
html[data-cp-text-size='200'] .cp-about-marks img { max-width:200px; }
html[data-cp-text-size='150'] .cp-how .cp-player-intro,html[data-cp-text-size='200'] .cp-how .cp-player-intro { grid-template-columns:1fr; gap:28px; }
html[data-cp-text-size='150'] .cp-cert-process li,html[data-cp-text-size='200'] .cp-cert-process li { grid-template-columns:32px minmax(0,1fr); gap:12px 20px; }
html[data-cp-text-size='150'] .cp-cert-process p,html[data-cp-text-size='200'] .cp-cert-process p { grid-column:2; }
html[data-cp-text-size='150'] .cp-cert-fee,html[data-cp-text-size='200'] .cp-cert-fee { display:block; padding:24px; }
html[data-cp-text-size='150'] .cp-cert-fee h3,html[data-cp-text-size='200'] .cp-cert-fee h3 { margin-bottom:12px; }
@media(forced-colors:active) {
 .cp-reading-hero,.cp-reader-index,.cp-reader-nav,.cp-reader-main,.cp-reader-toolbar,.cp-reader-pagination,.cp-rule-nuance,.cp-about-standard,.cp-about-identity,.cp-cert-fee { background:Canvas; color:CanvasText; box-shadow:none; }
 .cp-reader-index p,.cp-reader-nav a,.cp-reader-nav a span,.cp-reader-position,.cp-reader-context,.cp-reader-pagination button,.cp-reader-page-label { color:CanvasText; }
 .cp-reader-nav a[aria-selected=true] { background:Highlight; color:HighlightText; }
 .cp-reader-nav a[aria-selected=true] span { color:HighlightText; }
 .cp-standard .cp-rule-number,.cp-can-pass h3,.cp-not-pass h3 { color:CanvasText; }
 .cp-download,.cp-reader-pagination button,.cp-reader-scroll-action { background:ButtonFace; color:ButtonText; border:1px solid ButtonText; }
 .cp-reader-progress span { background:Highlight; }
}
@media print {
 .site-header,.site-footer,.cp-reader-index,.cp-reader-nav,.cp-reader-toolbar,.cp-reader-pagination,.cp-reading-actions,.cp-reader-return,.cp-policy-nav,.skip-link { display:none!important; }
 .cp-reader,.cp-rule-comparison,.cp-policy-layout { display:block; }
 .cp-reader.is-enhanced { height:auto; overflow:visible; border:0; }
 .cp-reader.is-enhanced .cp-reader-main { display:block; }
 .cp-reader.is-enhanced .cp-reader-viewport { overflow:visible; padding:0; }
 .cp-reader-main { border:0; padding:0; box-shadow:none; }
 .cp-standard-rule[hidden] { display:block!important; }
 .cp-standard-rule { break-before:page; }
 .cp-reading-hero { padding:0; background:white; }
 .cp-wrap { width:100%; }
 .cp-rule-evidence { display:block; }
}

html[data-cp-text-size='150'] .cp-reader.is-enhanced .cp-reader-picker,html[data-cp-text-size='200'] .cp-reader.is-enhanced .cp-reader-picker { display:grid; }
html[data-cp-text-size='150'] .cp-reader.is-enhanced .cp-reader-index-heading,html[data-cp-text-size='150'] .cp-reader.is-enhanced .cp-reader-nav,html[data-cp-text-size='200'] .cp-reader.is-enhanced .cp-reader-index-heading,html[data-cp-text-size='200'] .cp-reader.is-enhanced .cp-reader-nav { display:none; }
