.page-accredited{
    --rating-header-height:80px;
    --rating-ink:#211a42;
    --rating-deep:#30245f;
    --rating-purple:#5b43df;
    --rating-purple-bright:#7257fa;
    --rating-yellow:#ffd53d;
    --rating-mint:#dff8eb;
    --rating-nav:#514969;
    --rating-surface:#f7f6fc;
    --rating-line:#e4e0f2;
}

.page-accredited .nav{
    top:0;
    left:0;
    height:var(--rating-header-height);
    box-sizing:border-box;
    padding-right:max(var(--body-padding),calc((100vw - 1240px)/2 + var(--body-padding)));
    padding-left:max(var(--body-padding),calc((100vw - 1240px)/2 + var(--body-padding)));
    border-bottom:1px solid rgba(48,36,95,.08);
}
.page-accredited .nav__home{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:52px;
    min-height:44px;
}
.page-accredited .nav__items{
    align-items:stretch;
    height:100%;
    margin:0 0 0 auto;
    padding:0;
    gap:32px;
    list-style:none;
}
.page-accredited .nav__item,.page-accredited .nav__item:last-of-type{display:flex;align-items:stretch;margin:0;}
.page-accredited .nav__item-link{
    display:flex;
    align-items:center;
    min-height:44px;
    height:100%;
    box-sizing:border-box;
    color:var(--rating-nav);
    outline-offset:-4px;
    transition:color .18s ease;
}
.page-accredited .nav__home:focus-visible,
.page-accredited .nav__item-link:focus-visible{outline:3px solid var(--rating-purple);outline-offset:-4px;border-radius:4px;}
.page-accredited .nav__item-link[data-state="active"]{color:var(--rating-deep);}
.page-accredited .nav__item-link[data-state="active"]::before{
    bottom:0;
    height:3px;
    border-radius:3px 3px 0 0;
    background:var(--rating-purple);
    transform:none;
}

.rating-skip-link{
    position:fixed;
    z-index:20;
    top:8px;
    left:8px;
    padding:12px 16px;
    border-radius:8px;
    background:var(--rating-yellow);
    color:var(--rating-ink);
    font-weight:900;
    text-decoration:none;
    transform:translateY(-150%);
}
.rating-skip-link:focus{outline:3px solid #fff;outline-offset:2px;transform:translateY(0);}

.rating-hero{
    width:calc(100% + (var(--body-padding) * 2));
    margin:var(--rating-header-height) 0 0 calc(var(--body-padding) * -1);
    color:#fff;
    background:var(--rating-deep);
    overflow:hidden;
}
.rating-hero__inner{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);
    gap:clamp(36px,5vw,64px);
    align-items:center;
    width:min(1240px,100%);
    margin:0 auto;
    padding:clamp(56px,7vw,96px) var(--body-padding);
}
.rating-hero__copy{animation:rating-rise .55s cubic-bezier(.22,1,.36,1) both;}
.rating-hero__meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px;}
.rating-hero__meta span{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:0 13px;
    border:1px solid rgba(255,255,255,.26);
    border-radius:999px;
    color:rgba(255,255,255,.9);
    font-size:14px;
    font-weight:700;
}
.rating-hero h1{
    max-width:760px;
    margin:0;
    color:#fff;
    font-size:clamp(2.1rem,4.3vw,3.5rem);
    font-weight:900;
    line-height:1.02;
    letter-spacing:-.035em;
    overflow-wrap:break-word;
    text-wrap:balance;
}
.rating-hero h1 span{display:block;margin-top:.12em;color:var(--rating-yellow);}
.rating-hero .rating-lead{
    max-width:61ch;
    margin:28px 0 0;
    padding:0;
    color:rgba(255,255,255,.84);
    font-size:clamp(17px,1.65vw,20px);
    line-height:1.65;
    text-wrap:pretty;
}

.rating-summary{
    padding:clamp(26px,3.3vw,38px);
    color:var(--rating-ink);
    background:#fff;
    border-radius:16px;
    box-shadow:none;
    animation:rating-rise .55s .08s cubic-bezier(.22,1,.36,1) both;
}
.rating-kicker{
    display:inline-flex;
    align-items:center;
    min-height:32px;
    padding:0 12px;
    border-radius:999px;
    background:var(--rating-yellow);
    color:var(--rating-ink);
    font-size:14px;
    font-weight:900;
    line-height:1;
}
.rating-summary h2,.page-accredited .post .rating-summary h2{
    margin:18px 0 8px;
    color:var(--rating-ink);
    font-size:clamp(28px,3vw,38px);
    font-weight:900;
    letter-spacing:-.03em;
    line-height:1.08;
}
.rating-summary__lead{margin:0;padding:0!important;color:#4a416a;font-size:17px!important;font-weight:700;line-height:1.5;}
.rating-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin:24px 0 0;}
.rating-facts div{display:flex;flex-direction:column;gap:3px;min-width:0;padding:13px 0;border-top:1px solid var(--rating-line);}
.rating-facts strong{color:#6a6282;font-size:12px;font-weight:800;}
.rating-facts span{overflow-wrap:anywhere;color:var(--rating-ink);font-size:15px;font-weight:900;line-height:1.35;}

.rating-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0;}
.page-accredited .rating-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:12px 19px;
    border:2px solid var(--rating-deep);
    border-radius:10px;
    font-size:15px;
    font-weight:900;
    line-height:1.3;
    text-align:center;
    text-decoration:none;
    transition:transform .2s cubic-bezier(.22,1,.36,1),background .2s ease,color .2s ease,box-shadow .2s ease;
}
.page-accredited a.rating-cta--primary{background:var(--rating-deep);color:#fff;}
.page-accredited a.rating-cta--secondary{background:#fff;color:var(--rating-deep);}
.page-accredited .rating-cta:hover,.page-accredited .rating-cta:focus-visible{transform:translateY(-2px);box-shadow:0 5px 0 rgba(48,36,95,.18);}
.page-accredited a.rating-cta--primary:hover,.page-accredited a.rating-cta--primary:focus-visible{background:#211842;color:#fff;}
.page-accredited a.rating-cta--secondary:hover,.page-accredited a.rating-cta--secondary:focus-visible{background:var(--rating-surface);color:var(--rating-deep);}
.rating-disclosure{margin:15px 0 0!important;padding:0!important;color:#6a6282!important;font-size:13px!important;line-height:1.45!important;}

.page-accredited .rating-article{display:block;max-width:1080px;margin:0 auto;padding-top:clamp(46px,6vw,76px);line-height:1.65;}
.page-accredited .rating-article>p,
.page-accredited .rating-article>ul,
.page-accredited .rating-article>ol,
.page-accredited .rating-article>.rating-note,
.page-accredited .rating-article>.seo-small,
.page-accredited .rating-article>.rating-faq,
.page-accredited .rating-article>.editorial-note{
    max-width:760px;
    margin-right:auto;
    margin-left:auto;
}
.page-accredited .rating-article p{padding:0;color:#3f3857;font-size:17px;line-height:1.72;text-wrap:pretty;}
.page-accredited .rating-article>p+p{margin-top:16px;}
.page-accredited .rating-article h2{
    max-width:760px;
    margin:clamp(64px,8vw,92px) auto 22px;
    color:var(--rating-ink);
    font-size:clamp(28px,3.2vw,40px);
    font-weight:900;
    line-height:1.12;
    letter-spacing:-.03em;
    text-wrap:balance;
}
.page-accredited .rating-article>ul,.page-accredited .rating-article>ol{padding-left:25px;}
.page-accredited .rating-article>ul li,.page-accredited .rating-article>ol li{padding-left:6px;color:#3f3857;font-size:17px;line-height:1.65;}
.page-accredited .rating-article>ul li+li,.page-accredited .rating-article>ol li+li{margin-top:13px;}
.page-accredited .rating-article strong{color:var(--rating-ink);}

.rating-toc-box{
    padding:28px 30px;
    margin:0 0 10px;
    border:2px solid var(--rating-line);
    border-radius:14px;
    background:var(--rating-surface);
}
.rating-toc-box>strong{display:block;margin-bottom:16px;color:var(--rating-ink);font-size:20px;font-weight:900;}
.rating-toc-box .rating-toc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px;margin:0;padding-left:22px;list-style:decimal;}
.rating-toc-box .rating-toc li{margin:0;color:#6a6282;font-size:15px;line-height:1.45;}
.page-accredited .post .rating-toc-box a{display:flex;align-items:center;min-height:44px;color:var(--rating-deep);font-weight:800;text-decoration-thickness:1px;text-underline-offset:3px;}

.rating-note{
    padding:22px 24px;
    margin-top:28px!important;
    border:2px solid #dcd7ff;
    border-radius:12px;
    background:#f3f1ff;
    color:#3f3857;
    font-size:16px;
    line-height:1.65;
}
.rating-note strong{display:block;margin-bottom:4px;}

.rating-methodology{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;padding:0!important;list-style:none!important;}
.rating-methodology li{margin:0!important;padding:16px 0!important;border-bottom:1px solid var(--rating-line);}
.rating-methodology li:last-child{grid-column:1/-1;}
.rating-consequences{padding:0!important;list-style:none!important;}
.rating-consequences li{margin:0!important;padding:18px 0!important;border-top:1px solid var(--rating-line);}
.rating-consequences li:last-child{border-bottom:1px solid var(--rating-line);}
.seo-small,.source-link{color:#6a6282!important;font-size:14px!important;}
.seo-small{margin-top:18px!important;}

.rating-models{padding-left:0!important;list-style-position:inside!important;}
.rating-models li{padding-left:0!important;}
.rating-models li::marker{color:var(--rating-deep);font-weight:900;}

.rating-table-hint{display:none;}
.rating-table-wrap{width:100%;margin:28px 0 0;overflow-x:auto;border-radius:14px;background:var(--rating-line);-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;}
.rating-table-wrap:focus-visible{outline:3px solid var(--rating-purple);outline-offset:4px;}
.rating-table{width:100%;min-width:860px;border-spacing:1px;border-collapse:separate;background:var(--rating-line);font-size:14px;}
.rating-table th,.rating-table td{padding:16px 15px;text-align:left;vertical-align:top;line-height:1.5;}
.rating-table th{background:var(--rating-deep);color:#fff;font-size:13px;font-weight:900;}
.rating-table td{background:#fff;color:#3f3857;}
.rating-table tbody tr:hover td{background:#faf9fe;}
.rating-table .rating-table__featured td{background:#fff8d9;}
.rating-table .rating-table__featured:hover td{background:#fff4c2;}
.rating-table td:first-child{min-width:145px;}
.rating-table td:first-child strong{display:inline-block;margin-bottom:6px;color:var(--rating-ink);font-size:16px;}
.rating-table td a{display:inline-flex;align-items:center;min-height:44px;margin-top:4px;}

.rating-card{
    max-width:900px;
    margin:0 auto;
    padding:34px 0;
    border:0;
    border-top:1px solid var(--rating-line);
    border-radius:0;
    background:#fff;
    box-shadow:none;
    scroll-margin-top:100px;
}
.rating-card--featured{
    margin:34px auto 26px;
    padding:clamp(24px,4vw,40px);
    border:2px solid var(--rating-purple-bright);
    border-radius:16px;
    background:#f3f1ff;
}
.rating-card__badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;}
.rating-pill{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:0 11px;
    border:1px solid var(--rating-line);
    border-radius:999px;
    background:#fff;
    color:#514969;
    font-size:13px;
    font-weight:800;
}
.rating-pill--accent{border-color:var(--rating-yellow);background:var(--rating-yellow);color:var(--rating-ink);}
.page-accredited .rating-card h3{margin:0 0 15px;color:var(--rating-ink);font-size:clamp(24px,2.8vw,34px);font-weight:900;line-height:1.2;letter-spacing:-.025em;}
.page-accredited .rating-card p{margin:0;padding:0;font-size:16px;line-height:1.7;}
.page-accredited .rating-card p+p{margin-top:12px;}
.rating-card .rating-actions{margin-top:22px;}

.rating-checklist{padding:0!important;list-style:none!important;counter-reset:rating-check;}
.rating-checklist li{
    display:grid;
    grid-template-columns:46px minmax(0,1fr);
    gap:16px;
    align-items:start;
    margin:0!important;
    padding:18px 0!important;
    border-top:1px solid var(--rating-line);
    counter-increment:rating-check;
}
.rating-checklist li::before{
    content:counter(rating-check);
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:50%;
    background:var(--rating-yellow);
    color:var(--rating-ink);
    font-size:16px;
    font-weight:900;
}
.rating-checklist__body{display:block;min-width:0;}

.rating-conclusion{
    max-width:920px;
    margin:clamp(64px,8vw,96px) auto 0;
    padding:clamp(28px,5vw,54px);
    border:0;
    border-radius:16px;
    background:var(--rating-deep);
    color:#fff;
}
.page-accredited .post .rating-conclusion h2{max-width:720px;margin:18px 0 12px;color:#fff;font-size:clamp(30px,4vw,46px);}
.page-accredited .rating-conclusion p{max-width:720px;color:rgba(255,255,255,.82);font-size:17px;}
.page-accredited .rating-conclusion a.rating-cta--primary{border-color:var(--rating-yellow);background:var(--rating-yellow);color:var(--rating-ink);}
.page-accredited .rating-conclusion a.rating-cta--primary:hover,.page-accredited .rating-conclusion a.rating-cta--primary:focus-visible{background:#ffe16d;color:var(--rating-ink);}
.page-accredited .rating-conclusion a.rating-cta--secondary{border-color:rgba(255,255,255,.7);background:transparent;color:#fff;}
.page-accredited .rating-conclusion a.rating-cta--secondary:hover,.page-accredited .rating-conclusion a.rating-cta--secondary:focus-visible{background:#fff;color:var(--rating-deep);}
.page-accredited .rating-conclusion .rating-disclosure,
.page-accredited .rating-conclusion .rating-disclosure strong{color:rgba(255,255,255,.72)!important;}

.rating-faq{margin-top:8px!important;}
.rating-faq details{border:0;border-bottom:1px solid var(--rating-line);background:#fff;}
.rating-faq details:first-child{border-top:1px solid var(--rating-line);}
.rating-faq summary{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:20px 0;color:var(--rating-ink);font-size:17px;font-weight:900;line-height:1.4;cursor:pointer;list-style:none;}
.rating-faq summary::-webkit-details-marker{display:none;}
.rating-faq summary::after{content:'+';flex:0 0 auto;color:var(--rating-purple);font-size:28px;font-weight:500;line-height:1;}
.rating-faq details[open] summary::after{content:'−';}
.page-accredited .rating-faq details p{padding:0 44px 20px 0;color:#4b4460;font-size:16px;}
.editorial-note{padding:22px 0;margin-top:46px!important;border-top:1px solid var(--rating-line);border-bottom:1px solid var(--rating-line);}
.page-accredited .editorial-note p{color:#6a6282;font-size:14px;line-height:1.65;}

.page-accredited .quiz-container{padding:clamp(24px,5vw,50px);border:0;border-radius:16px;background:var(--rating-surface);box-shadow:none;}
.page-accredited .quiz-header{text-align:left;}
.page-accredited .quiz-title{color:var(--rating-ink);font-size:clamp(24px,3vw,34px);letter-spacing:-.025em;}
.page-accredited .quiz-subtitle{color:#59516e;}
.page-accredited .quiz-progress-bar{height:5px;background:#ded9f2;}
.page-accredited .quiz-progress-fill{background:var(--rating-purple);}
.page-accredited .quiz-option{border:2px solid var(--rating-line);border-radius:10px;color:var(--rating-ink);box-shadow:none;}
.page-accredited .quiz-option:hover{border-color:var(--rating-purple);background:#f1efff;color:var(--rating-ink);}
.page-accredited .quiz-option.selected{border-color:var(--rating-purple);background:var(--rating-purple);color:#fff;}
.page-accredited .quiz-back,.page-accredited .quiz-result-action{border-color:#d8d2f4;color:var(--rating-deep);}
.page-accredited .recommendation-card{padding:clamp(22px,4vw,38px);border:0;border-radius:14px;background:#fff;box-shadow:none;}
.page-accredited .recommendation-badge{text-transform:none;letter-spacing:0;}
.page-accredited .recommendation-title{color:var(--rating-ink);}
.page-accredited .recommendation-cta{border-radius:10px;background:var(--rating-deep);box-shadow:none;}
.page-accredited .recommendation-cta:hover{background:#211842;box-shadow:0 5px 0 rgba(48,36,95,.18);}

#difference,#without-accreditation,#models,#methodology,#comparison,#rating,#checklist,#faq{scroll-margin-top:100px;}

@keyframes rating-rise{
    from{transform:translateY(12px);}
    to{transform:translateY(0);}
}

@media only screen and (max-width:900px){
    .rating-hero__inner{grid-template-columns:1fr;}
    .rating-hero__copy{max-width:720px;}
    .rating-summary{max-width:680px;}
    .rating-methodology{grid-template-columns:1fr;}
    .rating-methodology li:last-child{grid-column:auto;}
}

@media only screen and (max-width:600px){
    .page-accredited{--rating-header-height:72px;}
    .page-accredited .nav{padding-right:var(--body-padding);padding-left:var(--body-padding);}
    .page-accredited .nav__home{min-width:48px;}
    .page-accredited .nav__items{flex:1;gap:0;margin-left:12px;}
    .page-accredited .nav__item,.page-accredited .nav__item:last-of-type{flex:1;font-size:14px;}
    .page-accredited .nav__item-link{justify-content:center;width:100%;}
    .rating-hero__inner{gap:34px;padding-top:38px;padding-bottom:44px;}
    .rating-hero__meta{margin-bottom:20px;}
    .rating-hero__meta span{min-height:30px;padding:0 10px;font-size:12px;}
    .rating-hero h1{font-size:clamp(2.05rem,9.2vw,2.7rem);letter-spacing:-.035em;}
    .rating-hero .rating-lead{margin-top:22px;font-size:16px;line-height:1.58;}
    .rating-summary{padding:23px 20px;}
    .rating-facts{grid-template-columns:1fr;}
    .rating-summary--criteria .rating-facts{grid-template-columns:repeat(2,minmax(0,1fr));}
    .rating-actions{flex-direction:column;}
    .page-accredited .rating-cta{width:100%;box-sizing:border-box;}
    .page-accredited .rating-article{padding-top:38px;}
    .rating-toc-box{padding:22px 20px;}
    .rating-toc-box .rating-toc{grid-template-columns:1fr;gap:2px;}
    .page-accredited .rating-article h2{margin-top:58px;}
    .page-accredited .rating-table-hint{display:block;margin:14px 0 0;padding:10px 12px;border-radius:8px;background:#f1efff;color:var(--rating-deep);font-size:14px;font-weight:800;line-height:1.4;}
    .rating-table-wrap{margin-top:10px;box-shadow:inset -12px 0 10px -12px rgba(48,36,95,.45);}
    .rating-table{min-width:760px;}
    .rating-table th:first-child,.rating-table td:first-child{position:sticky;left:0;z-index:1;}
    .rating-table th:first-child{z-index:2;}
    .rating-card--featured{padding:22px 20px;}
    .rating-pill{font-size:12px;}
    .rating-checklist li{grid-template-columns:40px minmax(0,1fr);gap:12px;}
    .rating-checklist li::before{width:38px;height:38px;}
    .rating-conclusion{padding:28px 20px;}
    .page-accredited .quiz-container{margin-top:28px;}
}

@media (prefers-reduced-motion:reduce){
    .rating-hero__copy,.rating-summary{animation:none;}
}
