*{box-sizing:border-box}
html{color-scheme:light;scroll-padding-top:2rem}
body{margin:0;background:#fff;color:#112139;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:1rem;line-height:1.75}
a{color:inherit;text-underline-offset:5px}
a:hover{text-decoration-thickness:2px}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid #112139;outline-offset:5px;background:#fff2d5}
.shell{max-width:1180px;margin:auto;padding:0 clamp(20px,5vw,72px)}
.site-header{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-block:28px;border-bottom:1px solid #dce1e3}
.brand{font-size:1.125rem;font-weight:750;letter-spacing:-.04em;text-decoration:none}
.brand span{color:#ef9f17}
nav{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:.9375rem}
nav a{padding:7px 0}
nav [aria-current]{text-decoration-color:#edaa31;text-decoration-thickness:3px}
.language-separator{color:#b9c0c8}
.skip{position:absolute;top:-100px;left:20px;padding:12px;background:white;z-index:2}
.skip:focus{top:10px}
.intro{max-width:850px;padding:65px 0 36px}
.status{font-size:.875rem;letter-spacing:.07em;font-weight:650;margin:0 0 28px;color:#536174}
h1{font-size:clamp(2.3rem,5.5vw,4.5rem);line-height:1.08;letter-spacing:-.045em;margin:0 0 28px}
h1,h2,h3{overflow-wrap:anywhere}
p{margin:0 0 20px}
.lead{font-size:1.2rem;line-height:1.65;max-width:740px}
.print-button{font:inherit;font-size:.9375rem;color:inherit;border:1px solid #87919e;padding:10px 16px;background:white;cursor:pointer}
.foundations{border-top:1px solid #dce1e3;padding:32px 0 40px}
.foundations>h2{font-size:1.75rem;line-height:1.3;letter-spacing:-.025em;margin:0 0 30px}
.foundation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:35px;padding:28px 0;border-top:1px solid #e0e4e8}
.foundation h3{font-size:1.4rem;line-height:1.35;letter-spacing:-.025em;margin:0}
.foundation p{margin-bottom:16px}
.foundation p:last-child{margin-bottom:0}
.related{font-size:.9375rem;color:#344359}
.details{max-width:760px;margin:0 auto;padding-bottom:45px}
.detail{border-top:1px solid #dce1e3;padding:36px 0 12px}
.detail h2{font-size:1.8rem;line-height:1.3;letter-spacing:-.025em;margin:0 0 24px}
.detail h3{font-size:1.35rem;line-height:1.4;margin:30px 0 20px}
[id]{scroll-margin-top:24px}
.page-footer{border-top:1px solid #dce1e3;padding:26px 0 38px;font-size:.875rem;color:#536174;overflow-wrap:anywhere}
.page-footer p{margin:0}
@media(max-width:700px){.intro{padding-top:38px}
.foundation{display:block;padding:26px 0}
.foundation h3{margin-bottom:17px}
.detail h2{font-size:1.5rem}
.detail{padding-top:28px}
.site-header{padding-block:20px}
}
@page{size:A4;margin:18mm 17mm}
@media print{body{font-size:10.5pt;line-height:1.5;color:#112139;background:white}
.shell{max-width:none;padding:0}
.site-header,.skip,.print-button{display:none}
.intro{padding:0 0 12pt;max-width:none}
h1{font-size:27pt;line-height:1.1;margin-bottom:16pt}
.status{font-size:9pt;margin-bottom:14pt}
.status:before{display:none}
.lead{font-size:11pt;max-width:none}
.foundations{padding:16pt 0}
.foundations>h2{font-size:17pt}
.foundation{display:block;padding:14pt 0;break-inside:avoid}
.foundation h3{font-size:13pt;margin:0 0 8pt}
.foundation p{margin:0 0 8pt}
.details{max-width:none;margin:0;padding:0}
.detail{padding:18pt 0 0}
.detail h2{font-size:16pt}
.detail h3{font-size:13pt}
h1,h2,h3{break-after:avoid}
p{orphans:3;widows:3}
.page-footer{font-size:9pt;margin-top:16pt;padding:12pt 0 0;break-inside:avoid}
a{text-decoration:none}
.related{font-size:9pt}
a[href^="https:"]:after{content:" (" attr(href) ")"}
}

/* Compact Top 5 review */
.foundation{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 28px;padding:13px 0;align-items:center}
.foundation h3{font-size:1.05rem;line-height:1.35;margin:0 0 4px;letter-spacing:-.015em}
.foundation p{font-size:.875rem;line-height:1.45;margin:0}
.foundation .qualifier{color:#344359;margin-top:3px}
.foundation .read-more{font-size:.875rem;white-space:nowrap;padding:8px 0}
.foundations{padding:24px 0 32px}
.foundations>h2{margin-bottom:18px}
.detail .related{font-size:.9375rem}
@media(max-width:700px){.foundation{grid-template-columns:minmax(0,1fr);gap:5px;padding:14px 0}
.foundation .read-more{justify-self:start;padding:4px 0}
.foundation h3{margin-bottom:4px}
}
@media print{.foundation{display:block;padding:9pt 0;break-inside:avoid}
.foundation h3{font-size:11pt}
.foundation p,.foundation .read-more{font-size:9pt}
.foundation .read-more{display:block;margin-top:4pt}
}


/* Single-summary review with descriptive links */
.foundation .read-more{font-size:1.0625rem;font-weight:550;white-space:normal;line-height:1.45;max-width:18rem}
.foundation{grid-template-columns:minmax(0,1fr) minmax(12rem,auto);gap:12px 32px}
.foundation p{margin:0}
.foundation h3{margin-bottom:5px}
@media(max-width:700px){.foundation{grid-template-columns:minmax(0,1fr);gap:7px}
.foundation .read-more{max-width:none;font-size:1rem}
}
@media print{.foundation{display:block}
.foundation .read-more{font-size:10pt}
}

/* Enterprise assurance explanation */
.assurance-additions{max-width:920px;margin:0 auto 64px}
.design-principle{background:#fff8e8;border-left:4px solid #ef9f17;padding:28px 32px;margin:4px 0 42px}
.design-principle h2{font-size:1.35rem;line-height:1.35;margin:0 0 12px;letter-spacing:-.02em}
.design-principle p{max-width:690px;margin:0;font-size:1.05rem;line-height:1.65}
.assurance-section{border-top:1px solid #dce1e3;padding:38px 0 12px}
.assurance-section h2{font-size:clamp(1.55rem,3vw,2rem);line-height:1.25;letter-spacing:-.03em;margin:0 0 20px}
.assurance-section > p{max-width:760px;color:#344359}
.boundary-table{width:100%;border-collapse:collapse;margin:22px 0 16px;font-size:.96rem}
.boundary-table th,.boundary-table td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid #dce1e3}
.boundary-table th{background:#112139;color:#fff;font-size:.9rem;font-weight:650}
.boundary-table .included{color:#375f41;font-weight:650}
.boundary-table .excluded{color:#6d4545;font-weight:650}
.boundary-table ul{padding-left:1.1rem;margin:0}
.boundary-table li{margin:.2rem 0}
.not-a-crm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0}
.not-a-crm div{border:1px solid #dce1e3;padding:17px 18px;font-size:.98rem;line-height:1.5}
.not-a-crm strong{display:block;margin-bottom:4px;color:#112139}
.flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;align-items:stretch;margin:25px 0 18px}
.flow-step{background:#f5f7f8;border:1px solid #dce1e3;min-height:105px;padding:14px 12px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:.91rem;line-height:1.35;font-weight:600}
.flow-step:first-child,.flow-step:last-child{background:#fff8e8;border-color:#ef9f17}
.retention-table{width:100%;border-collapse:collapse;margin:22px 0 16px;font-size:.96rem}
.retention-table th,.retention-table td{padding:13px 14px;text-align:left;border-bottom:1px solid #dce1e3}
.retention-table th{font-weight:650;color:#112139;width:52%}
.faq{margin:18px 0 0;border-top:1px solid #dce1e3}
.faq details{border-bottom:1px solid #dce1e3;padding:0}
.faq summary{cursor:pointer;font-weight:650;padding:16px 34px 16px 0;position:relative;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';position:absolute;right:4px;color:#ef9f17;font-size:1.4rem;line-height:1;top:13px}
.faq details[open] summary::after{content:'−'}
.faq p{padding:0 34px 16px 0;margin:0;color:#344359}
@media(max-width:760px){.design-principle{padding:22px}.not-a-crm{grid-template-columns:1fr}.boundary-table{font-size:.9rem}.boundary-table th,.boundary-table td{padding:12px}.flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.flow-step{min-height:82px}.assurance-section{padding-top:30px}}
@media print{.assurance-additions{max-width:none;margin:0}.design-principle{background:none;padding:10pt 12pt;margin:0 0 14pt}.assurance-section{padding:16pt 0 0}.boundary-table,.retention-table{font-size:9pt}.boundary-table th,.boundary-table td,.retention-table th,.retention-table td{padding:7pt}.not-a-crm{gap:8pt}.not-a-crm div{padding:8pt}.flow{grid-template-columns:repeat(6,minmax(0,1fr));gap:5pt}.flow-step{min-height:0;padding:6pt;font-size:8pt}.faq details{display:block}.faq details:not([open]) > *:not(summary){display:block}.faq summary{padding:8pt 0 4pt}.faq summary::after{display:none}.faq p{padding:0 0 8pt}}
