:root{--paper:#fff9ef;--ink:#3d3027;--blue:#ad3e29;--muted:#78685a;--line:#e4d7c6;--yellow:#f1bd3f;--body:Arial,Helvetica,sans-serif;--serif:Georgia,'Times New Roman',serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px;-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 var(--body);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{color:var(--blue)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b6472d;outline-offset:5px}button{border:0}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:1.08}h1{font-size:clamp(44px,5.5vw,80px)}h2{font-size:clamp(30px,3.2vw,44px)}h3{font-weight:500;line-height:1.3;letter-spacing:-.025em}h1 em{color:var(--blue);font-weight:400}ul,ol{padding:0;margin:0;list-style:none}[hidden]{display:none!important}.wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:10px;left:15px;padding:12px 20px;background:var(--yellow);z-index:200;transform:translateY(-200%)}.skip:focus{transform:translateY(0)}.text-link{font-size:15px;font-weight:600;display:inline-flex;gap:17px;align-items:center;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}.text-link:hover{color:var(--blue)}.button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 25px;background:var(--ink);color:var(--paper);font-size:15px;line-height:1.5;border:1px solid var(--ink);border-radius:0;min-height:52px}.button:hover,.btn:hover{background:var(--blue);border-color:var(--blue);color:white}.text-button{padding:10px 0;background:transparent;color:var(--blue);font-size:14px;text-decoration:underline;text-underline-offset:5px}.wordmark{font:bold italic 41px/.95 var(--serif);letter-spacing:-3px;display:inline-flex;align-items:baseline;white-space:nowrap;color:var(--ink);padding-bottom:6px}.wordmark span{color:var(--blue);position:relative}.wordmark span:after{content:'';position:absolute;bottom:-7px;height:3px;background:var(--yellow);left:2px;right:-1px}.wordmark:hover{color:var(--ink)}
/* The identity is a wordmark. No symbol, floating tile or decorative dashboard. */
.header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{height:95px;display:flex;align-items:center;justify-content:space-between;gap:45px}.desktop-nav{display:flex;align-items:center;gap:30px;font-size:13px}.desktop-nav a{padding:12px 0}.desktop-nav .nav-propose{border-bottom:1px solid var(--ink);padding-bottom:5px}.menu-toggle{display:none;font-size:15px;background:transparent;padding:10px 0}.mobile-nav{padding:6px 0 22px;border-top:1px solid var(--line)}.mobile-nav a{display:block;padding:12px 0;font-size:16px}
.hero{display:grid;grid-template-columns:1.8fr 1fr;column-gap:65px;row-gap:45px;padding-top:64px;padding-bottom:65px}.intro-label{font-size:13px;color:var(--muted);margin-bottom:25px}.hero h1{font-size:clamp(52px,5.8vw,83px);letter-spacing:-.055em;line-height:1.08}.hero-description{align-self:end;padding-bottom:8px}.hero-description p{font-size:16px;color:#786354;line-height:1.9;margin-bottom:24px;max-width:340px}.hero-description .text-link{font-size:13px}.search-form{grid-column:1/-1;border-top:1px solid var(--line);padding-top:26px;display:grid;grid-template-columns:1fr 2.1fr;gap:40px;align-items:center}.search-form>label{font-size:15px;font-weight:500}.search-form>div{display:flex;background:transparent;border-bottom:2px solid var(--ink)}.search-form input{background:transparent;border:0;outline:0;width:100%;min-width:0;padding:17px 0;font-size:16px;color:var(--ink)}.search-form input::placeholder{color:#8b7a6b}.search-form button{background:transparent;color:var(--ink);flex:none;font-size:14px;font-weight:600;padding:15px 0 15px 25px}.search-form button span{margin-left:10px}.search-form:focus-within>div{border-color:var(--blue)}.search-form input:focus-visible{outline:none}.search-form button:hover{color:var(--blue)}
.section{padding:65px 0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:35px}.section-heading>p{font-size:14px;color:var(--muted);line-height:1.9;max-width:320px}.categories-section{border-top:3px solid var(--ink);padding-top:37px}.category-list{border-top:1px solid var(--line)}.category-line{display:grid;grid-template-columns:1.1fr 1.5fr 100px;gap:35px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line);transition:padding .2s,color .2s}.category-line:hover{padding-left:9px;color:var(--blue)}.category-line h3{font-family:var(--serif);font-size:28px;letter-spacing:-.03em}.category-line p{font-size:13px;color:var(--muted);line-height:1.8}.category-line>span{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}.category-line b{font-size:23px;font-weight:400;color:var(--ink)}
.featured-section{background:#f5e7d2;border-block:1px solid #e7d0b1}.editorial-section{padding-block:62px;display:grid;grid-template-columns:260px minmax(0,1fr);gap:65px;align-items:start}.editorial-heading{position:sticky;top:130px}.editorial-heading h2{font-size:56px;margin-bottom:19px}.editorial-heading p{font-size:15px;line-height:1.9;color:var(--muted)}.editorial-heading>a{display:inline-block;margin-top:25px;font-size:12px;text-decoration:underline;text-underline-offset:5px}.directory-row{display:grid;grid-template-columns:1fr 1.5fr;gap:15px 30px;padding:30px 0;border-bottom:1px solid var(--line);align-items:start}.directory-row:first-child{border-top:1px solid var(--line)}.category-text{font-size:12px;color:var(--muted)}.directory-name h3{font-size:24px;margin-top:8px;line-height:1.25;font-family:var(--serif)}.directory-row>p{font-size:14px;line-height:1.85;color:#7a6758}.read-link{font-size:12px;color:var(--blue);grid-column:2;text-decoration:underline;text-underline-offset:4px;justify-self:start}.read-link span{margin-left:8px}.editorial-list .directory-row:first-child{padding-top:0;border-top:0}.editorial-list .directory-row:last-child{border-bottom:0;padding-bottom:0}.method-section{display:grid;grid-template-columns:1fr 1.3fr;gap:100px;padding-top:75px;padding-bottom:70px;border-bottom:1px solid var(--line)}.method-section h2{font-size:43px;max-width:350px}.method-section>div>p{font-size:16px;line-height:1.9;color:var(--muted);margin-bottom:25px}.method-section .editorial-note{font-size:12px;line-height:1.85;margin-top:28px;margin-bottom:0}.contribution{display:grid;grid-template-columns:1fr 1.3fr;gap:100px;padding-block:60px 75px}.contribution h2{font-size:35px}.contribution p{color:var(--muted);font-size:15px;line-height:1.9;max-width:460px;margin-bottom:20px}.footer{border-top:1px solid var(--line);background:#f5e7d2}.footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;padding-block:42px}.footer-top .wordmark{font-size:36px}.footer-top p{font-size:13px;color:var(--muted);margin-top:22px}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 45px;font-size:13px}.footer-bottom{padding:20px 0;border-top:1px solid #e2cdae;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}
/* Rankings have one continuous reading surface. The number is the actual rank. */
.crumbs{padding:27px 0 15px;font-size:12px;color:var(--muted)}.crumbs ol{display:flex;flex-wrap:wrap;gap:10px}.crumbs li+li:before{content:'/';color:#a38d79;margin-right:10px}.category-heading{padding:27px 0 40px;border-bottom:2px solid var(--ink)}.category-heading h1{font-size:clamp(44px,5.5vw,72px);max-width:900px;margin-bottom:25px}.category-heading>p{font-size:17px;line-height:1.9;color:var(--muted);max-width:860px}.category-meta{margin-top:24px;font-size:12px;color:var(--muted)}.category-meta a{text-decoration:underline;text-underline-offset:4px}.category-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:72px;padding-top:45px;padding-bottom:50px}.category-sidebar{position:sticky;top:135px;align-self:start}.category-sidebar h2{font:600 13px/1.5 var(--body);letter-spacing:0;margin-bottom:20px}.category-sidebar nav{display:grid;gap:17px}.category-sidebar a{font-size:13px;color:var(--muted);line-height:1.6}.category-sidebar a[aria-current=page]{color:var(--blue);text-decoration:underline;text-underline-offset:5px}.ranking-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:12px}.ranking-toolbar h2{font-size:31px}.compact-search input{width:235px;background:transparent;border:0;border-bottom:1px solid #cdb398;font-size:13px;padding:11px 0;border-radius:0}.ranking-item{display:grid;grid-template-columns:46px minmax(0,1fr);gap:24px;padding:34px 0;border-bottom:1px solid var(--line);scroll-margin-top:115px}.rank-number{font:italic 36px/1.2 var(--serif);color:#b08d72;padding-top:1px;letter-spacing:-2px}.ranking-item:first-child .rank-number{color:var(--blue)}.ranking-body header{margin-bottom:16px}.ranking-body h3{font:400 31px/1.25 var(--serif);letter-spacing:-.03em;margin-bottom:6px}.domain{font-size:12px;color:#8b7462;overflow-wrap:anywhere}.ranking-body>p{font-size:15px;line-height:1.9;color:#6f5848}.key-points{list-style:disc;margin:20px 0 0 17px;display:grid;gap:6px;color:#846d5b;font-size:13px;line-height:1.9}.key-points li::marker{color:#c5a488}.ranking-actions{display:flex;gap:32px;align-items:center;margin-top:25px}.ranking-actions .text-link{font-size:13px}.visit-link{color:var(--muted);font-size:13px}.ranking-review{margin-top:20px;padding:15px 0 0;border-top:1px solid var(--line)}.ranking-review summary{cursor:pointer;font-size:13px;color:var(--blue)}.ranking-review h2{display:none}.ranking-review p{font-size:14px;color:var(--muted);line-height:1.95;margin-top:16px}.ranking-review[open]{padding-bottom:8px}
/* Site profiles give room to the original editorial review. */
.profile{padding:25px 0 50px}.profile-header{border-bottom:2px solid var(--ink);padding-bottom:32px}.profile-header>p{font-size:13px;color:var(--muted);margin-bottom:16px}.profile-header>p a{color:var(--blue)}.profile-header h1{font-size:clamp(42px,5.5vw,72px);overflow-wrap:anywhere}.profile-layout{display:grid;grid-template-columns:2fr 1fr;gap:85px;padding-top:40px;align-items:start}.profile-intro{font-size:22px;line-height:1.85;color:#745a47;margin-bottom:25px}.profile-main>.button{font-size:14px;padding:14px 24px;margin-bottom:10px;overflow-wrap:anywhere;max-width:100%}.review{margin-top:39px;padding-top:29px;border-top:1px solid var(--line)}.review h2,.profile-section h2{font-size:32px;margin-bottom:21px}.review p{font-size:17px;line-height:1.95;color:#695343}.profile-section{margin-top:40px}.profile-points{list-style:disc;margin-left:19px;font-size:16px;color:#745a47;display:grid;gap:15px;line-height:1.9}.profile-points li{padding-left:5px}.profile-points li::marker{color:#b88257}.source-section{border-top:1px solid var(--line);padding-top:25px;margin-top:35px}.source-section h2{font:600 14px/1.5 var(--body);letter-spacing:0;margin-bottom:13px}.source-list{display:grid;gap:9px;font-size:13px;color:var(--muted)}.source-list a{overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}.facts{border-left:1px solid var(--line);padding-left:30px;position:sticky;top:133px}.facts h2{font-size:29px;margin-bottom:16px}.facts dl{margin:0}.facts dl>div{padding:14px 0;border-bottom:1px solid var(--line)}.facts dt{font-size:12px;color:var(--muted);margin-bottom:4px}.facts dd{margin:0;font-size:14px;line-height:1.7;overflow-wrap:anywhere}.verification{font-size:12px;color:var(--muted);margin:24px 0 10px}.facts>a{font-size:12px;color:var(--blue);text-decoration:underline;text-underline-offset:4px}.facts-report,.badge-link{font-size:12px;line-height:1.9;color:var(--muted);margin-top:25px}.facts-report a,.badge-link a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}.related-section{border-top:1px solid var(--line);padding-block:36px 70px;display:grid;grid-template-columns:1fr 2fr;gap:25px 80px}.related-section h2{font-size:32px;max-width:270px}.related-section ul{display:grid;grid-template-columns:1fr 1fr;gap:16px 30px;font-size:15px}.related-section li{display:flex;gap:14px;align-items:baseline}.related-section li span{font:italic 18px/1.5 var(--serif);color:#b27b4f;min-width:18px}.related-section>.text-link{grid-column:2;font-size:13px}
.directory-section{border-top:2px solid var(--ink);padding-top:40px;padding-bottom:60px}.directory-section .section-heading{align-items:center}.directory-section h2{font-size:42px}.directory-controls{display:flex;gap:25px;align-items:flex-end;margin-bottom:26px}.directory-controls label{display:grid;gap:8px;min-width:220px;font-size:12px;color:var(--muted)}.directory-controls select{background:transparent;border:1px solid #c8ae90;border-radius:0;padding:11px 12px;color:var(--ink);font-size:14px;min-height:47px}.directory-controls>p{margin-left:auto;font-size:13px;color:var(--muted);padding-bottom:11px}.directory-list .directory-row{grid-template-columns:1fr 1.5fr 100px;gap:35px}.directory-list .read-link{grid-column:auto;align-self:center}.empty-state{padding:40px 0;border-top:1px solid var(--line);color:var(--muted)}.empty-state h3{font:400 30px/1.3 var(--serif);margin-bottom:15px;color:var(--ink)}.empty-state p{font-size:15px}.empty-state button{margin-top:15px}.toast{position:fixed;bottom:25px;left:50%;background:var(--ink);color:white;padding:14px 24px;font-size:13px;z-index:60;transform:translate(-50%,20px);opacity:0;pointer-events:none;transition:transform .2s,opacity .2s;max-width:calc(100% - 40px);width:max-content}.toast.visible{opacity:1;transform:translate(-50%,0)}
.prose{max-width:810px;margin-inline:auto;padding-block:28px 75px}.prose h1{font-size:clamp(43px,5vw,66px);margin-bottom:30px}.prose h2{font-size:32px;margin:35px 0 18px}.prose p{font-size:16px;line-height:1.95;color:#755d4c;margin-bottom:20px}.prose .lead{font-size:20px;line-height:1.85}.prose a:not(.btn){text-decoration:underline;text-underline-offset:4px}.prose .crit{list-style:decimal;margin-left:24px;display:grid;gap:18px;font-size:16px;color:#755d4c;line-height:1.95}.prose .crit li{padding-left:8px}.prose .crit strong{color:var(--ink)}.transparency-note{border-left:2px solid var(--yellow);padding-left:22px;margin-block:25px}.prose .btn{font-size:14px}.prose .profile-points{margin-bottom:28px}.proposal-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:37px 0 85px}.proposal-copy h1{font-size:clamp(40px,4.5vw,61px);margin-bottom:28px}.proposal-copy>p{color:var(--muted);font-size:17px;line-height:1.9;margin-bottom:24px}.proposal-copy .contact-note{font-size:14px;margin-top:42px}.contact-note a{font-size:18px;color:var(--ink)}.proposal-panel{border-left:1px solid var(--line);padding-left:45px}.proposal-panel form{display:flex;flex-direction:column}.proposal-panel label{font-size:13px;margin-bottom:9px}.proposal-panel input,.proposal-panel select,.proposal-panel textarea{background:transparent;border:1px solid #cbb397;border-radius:0;padding:13px 14px;margin-bottom:23px;font-size:16px;min-height:49px;width:100%}.proposal-panel textarea{min-height:110px;resize:vertical}.proposal-panel .button{font-size:13px;margin-top:2px}.form-note{font-size:12px;color:var(--muted);line-height:1.8;margin-top:18px}.form-status{font-size:13px;color:var(--blue);margin-top:15px}.badge-page>img{display:block;margin-block:28px}.badge-search{display:flex;flex-direction:column;gap:9px;margin:32px 0;font-size:14px}.badge-search input{border:1px solid #cbb397;border-radius:0;padding:12px 14px;background:transparent;font-size:16px;max-width:450px}.badge-group{margin-top:35px}.badge-group h2{font-size:28px}.snip{border-bottom:1px solid var(--line);padding-block:14px;scroll-margin-top:130px}.snip:first-of-type{border-top:1px solid var(--line)}.snip summary{cursor:pointer;font-size:16px;line-height:1.7}.snip summary span{float:right;color:var(--muted);font-size:13px}.snip>p{margin-top:18px;font-size:13px}.snip pre{font:12px/1.9 monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:#f5e7d2;padding:20px;border-left:2px solid #c4a373;max-width:100%;margin:15px 0 5px}.copy-status{font-size:12px!important;color:var(--blue)!important;margin:5px 0!important}.error-page{padding-block:85px 100px;min-height:60vh}.error-page p{color:var(--muted);font-size:17px;margin:25px 0 30px}
@media(min-width:1500px){.hero h1{font-size:87px}.hero{column-gap:80px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.header-inner{height:87px}.desktop-nav{gap:24px;font-size:12px}.wordmark{font-size:36px}.hero{gap:35px 45px;padding-top:50px}.hero h1{font-size:63px}.hero-description p{font-size:14px}.hero-description .text-link{font-size:12px}.category-line{grid-template-columns:1.2fr 1.2fr 85px;gap:30px}.category-line h3{font-size:25px}.category-line p{font-size:12px}.editorial-section{grid-template-columns:200px 1fr;gap:45px}.editorial-heading h2{font-size:48px}.directory-row{gap:14px 25px}.directory-name h3{font-size:23px}.directory-row>p{font-size:13px}.method-section,.contribution{gap:60px}.method-section h2{font-size:39px}.category-layout{grid-template-columns:185px 1fr;gap:40px}.ranking-item{gap:20px}.ranking-body h3{font-size:28px}.compact-search input{width:205px}.profile-layout{gap:50px}.facts{padding-left:25px}.profile-intro{font-size:20px}.related-section{gap:25px 45px}.proposal-layout{gap:55px}.proposal-panel{padding-left:35px}.proposal-copy h1{font-size:48px}.directory-list .directory-row{grid-template-columns:1fr 1.5fr;gap:15px 30px}.directory-list .read-link{grid-column:2}.directory-controls label{min-width:190px}}
@media(max-width:800px){.wrap{width:calc(100% - 48px)}.header-inner{height:80px}.wordmark{font-size:35px}.desktop-nav{display:none}.menu-toggle{display:block}.hero{grid-template-columns:1.8fr 1fr;gap:32px 30px;padding-top:42px;padding-bottom:47px}.hero h1{font-size:50px}.intro-label{font-size:12px;margin-bottom:20px}.hero-description{padding-bottom:0}.hero-description p{font-size:13px;line-height:1.9;margin-bottom:18px}.hero-description .text-link{font-size:11px;gap:10px}.search-form{grid-template-columns:1fr;gap:8px;padding-top:24px}.search-form>label{font-size:13px}.search-form input{font-size:16px}.search-form button{font-size:13px}.section{padding-block:48px}.categories-section{padding-top:32px}.section-heading h2{font-size:35px}.section-heading>p{font-size:12px}.category-line{grid-template-columns:1fr 1fr 76px;gap:20px;padding-block:22px}.category-line h3{font-size:23px}.category-line p{font-size:11px}.category-line>span{font-size:11px}.editorial-section{grid-template-columns:170px 1fr;gap:35px;padding-block:45px}.editorial-heading h2{font-size:42px}.editorial-heading p{font-size:13px}.editorial-heading>a{font-size:11px}.directory-row{grid-template-columns:1fr;gap:12px}.directory-row .read-link{grid-column:auto}.directory-name h3{font-size:25px;margin-top:5px}.category-text{font-size:11px}.directory-row>p{font-size:14px}.read-link{font-size:12px}.method-section,.contribution{gap:40px;padding-block:48px}.method-section h2{font-size:35px}.method-section>div>p{font-size:14px}.method-section .editorial-note{font-size:11px}.method-section .text-link,.contribution .text-link{font-size:13px}.contribution h2{font-size:31px}.contribution p{font-size:14px}.footer-top{gap:30px}.footer-top nav{gap:10px 25px;font-size:12px}.footer-top p{font-size:12px}.footer-bottom{font-size:10px}.category-heading{padding-top:24px;padding-bottom:32px}.category-heading h1{font-size:52px}.category-heading>p{font-size:16px}.category-layout{display:block;padding-top:24px}.category-sidebar{position:static;margin-bottom:24px}.category-sidebar h2{display:none}.category-sidebar nav{display:flex;overflow:auto;gap:22px;white-space:nowrap;padding-bottom:15px;border-bottom:1px solid var(--line)}.category-sidebar a{font-size:12px}.ranking-toolbar h2{font-size:31px}.compact-search input{font-size:16px;width:220px}.compact-search input::placeholder{font-size:12px}.ranking-body>p{font-size:15px}.ranking-item{grid-template-columns:46px 1fr;gap:22px}.profile-header h1{font-size:52px}.profile-layout{grid-template-columns:1.6fr 1fr;gap:35px}.profile-intro{font-size:19px}.review p{font-size:16px}.profile-main>.button{font-size:12px;padding:13px 18px}.facts{padding-left:23px}.facts dd{font-size:13px}.facts dt{font-size:11px}.related-section{gap:25px 35px}.related-section ul{grid-template-columns:1fr}.related-section h2{font-size:30px}.directory-controls{flex-wrap:wrap}.directory-controls label{flex:1;min-width:180px}.directory-controls>p{margin:0;padding:0;flex-basis:100%}.proposal-layout{gap:40px}.proposal-panel{padding-left:25px}.proposal-copy h1{font-size:43px}.proposal-copy>p{font-size:15px}.proposal-copy .text-link{font-size:13px}.proposal-panel .button{font-size:12px}.prose{padding-top:25px}.prose h1{font-size:52px}}
@media(max-width:600px){html{scroll-padding-top:88px}.wrap{width:calc(100% - 40px)}.header-inner{height:76px}.wordmark{font-size:36px}.hero{grid-template-columns:1fr;gap:24px;padding-top:32px;padding-bottom:37px}.intro-label{font-size:12px;margin-bottom:19px}.hero h1{font-size:clamp(43px,10.7vw,63px);line-height:1.12;letter-spacing:-.055em}.hero-description{max-width:450px}.hero-description p{font-size:15px;line-height:1.85;max-width:none;margin-bottom:18px}.hero-description .text-link{font-size:13px}.search-form{grid-column:1;padding-top:21px;gap:6px}.search-form>label{font-size:13px}.search-form input{font-size:16px;padding:15px 0}.search-form input::placeholder{font-size:12px}.search-form button{font-size:12px;padding-left:15px}.search-form button span{display:none}.section{padding-block:38px}.categories-section{padding-top:29px}.section-heading{display:block;margin-bottom:25px}.section-heading h2{font-size:35px;line-height:1.15}.section-heading>p{margin-top:18px;font-size:13px;line-height:1.8}.section-heading>p br{display:none}.category-line{grid-template-columns:1fr 65px;gap:8px 14px;padding-block:20px;align-items:baseline}.category-line h3{font-size:25px;grid-column:1;line-height:1.25}.category-line p{font-size:12px;grid-column:1;grid-row:2;line-height:1.8}.category-line>span{grid-column:2;grid-row:1/3;align-self:center;font-size:11px}.category-line b{font-size:21px}.category-line:hover{padding-left:0}.editorial-section{display:block;padding-block:35px}.editorial-heading{position:static;margin-bottom:31px}.editorial-heading h2{font-size:44px;margin-bottom:13px}.editorial-heading p{font-size:14px;display:inline}.editorial-heading p br{display:none}.editorial-heading>a{font-size:12px;display:block;margin-top:10px}.editorial-list{border-top:1px solid var(--line);padding-top:24px}.directory-row{gap:13px;padding:25px 0}.directory-name h3{font-size:28px;margin-top:7px}.category-text{font-size:12px}.directory-row>p{font-size:14px;line-height:1.9}.read-link{font-size:13px}.method-section,.contribution{display:block;padding-block:38px}.method-section h2{font-size:35px;max-width:360px;margin-bottom:22px}.method-section>div>p{font-size:15px;line-height:1.9;margin-bottom:21px}.method-section .editorial-note{font-size:12px;line-height:1.9;margin-top:24px}.contribution h2{font-size:34px;line-height:1.18;margin-bottom:21px}.contribution p{font-size:15px;line-height:1.9}.contribution h2 br{display:none}.contribution .text-link,.method-section .text-link{font-size:14px}.footer-top{display:block;padding-block:35px}.footer-top .wordmark{font-size:33px}.footer-top p{font-size:12px;margin-top:19px}.footer-top nav{margin-top:30px;font-size:12px;gap:15px 20px}.footer-bottom{font-size:10px;gap:20px;line-height:1.9;padding-block:19px}.footer-bottom>a{white-space:nowrap}.crumbs{font-size:11px;padding-top:22px;padding-bottom:12px}.crumbs ol{gap:7px}.crumbs li+li:before{margin-right:7px}.category-heading{padding-top:17px;padding-bottom:28px}.category-heading h1{font-size:44px;line-height:1.15;margin-bottom:20px}.category-heading>p{font-size:15px;line-height:1.9}.category-meta{font-size:11px;line-height:1.95;margin-top:19px}.category-layout{padding-top:20px;padding-bottom:30px}.category-sidebar nav{margin-right:-20px;padding-right:20px;gap:21px}.ranking-toolbar{display:block;margin-bottom:0}.ranking-toolbar h2{font-size:32px;margin-bottom:17px}.compact-search input{width:100%;font-size:16px;padding-block:12px}.compact-search input::placeholder{font-size:13px}.ranking-item{grid-template-columns:32px minmax(0,1fr);gap:15px;padding-block:30px}.rank-number{font-size:29px;letter-spacing:-1.5px}.ranking-body h3{font-size:28px}.domain{font-size:11px}.ranking-body header{margin-bottom:15px}.ranking-body>p{font-size:14px;line-height:1.9}.key-points{font-size:12px;line-height:1.95;margin-top:17px;margin-left:14px;gap:8px}.ranking-actions{gap:25px;margin-top:22px;flex-wrap:wrap}.ranking-actions .text-link,.visit-link{font-size:12px}.ranking-review p{font-size:14px;line-height:1.9}.profile{padding-top:18px;padding-bottom:36px}.profile-header{padding-bottom:27px}.profile-header>p{font-size:12px;line-height:1.8;margin-bottom:13px}.profile-header h1{font-size:44px;line-height:1.14}.profile-layout{display:flex;flex-direction:column;padding-top:29px;gap:40px}.profile-main{width:100%}.profile-intro{font-size:19px;line-height:1.85;margin-bottom:21px}.profile-main>.button{font-size:13px;min-height:50px;padding:13px 19px}.review{margin-top:30px;padding-top:26px}.review h2,.profile-section h2{font-size:30px;margin-bottom:19px}.review p{font-size:16px;line-height:1.95}.profile-section{margin-top:31px}.profile-points{font-size:15px;gap:12px;margin-left:15px;line-height:1.9}.source-section{margin-top:28px;padding-top:22px}.source-list{font-size:13px;line-height:1.9}.facts{position:static;padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:28px;width:100%}.facts h2{font-size:30px}.facts dl>div{display:grid;grid-template-columns:105px 1fr;gap:20px;padding-block:13px}.facts dd{font-size:14px}.facts dt{font-size:12px}.facts>a{font-size:13px}.verification{font-size:12px}.facts-report,.badge-link{font-size:13px}.related-section{display:block;padding-block:30px 43px}.related-section h2{font-size:32px;max-width:none;margin-bottom:25px}.related-section ul{gap:15px;font-size:15px}.related-section li span{font-size:18px}.related-section>.text-link{font-size:13px;margin-top:25px}.directory-section .section-heading{display:flex;align-items:flex-start;gap:15px}.directory-section .section-heading h2{font-size:32px}.directory-section .section-heading .text-button{font-size:11px;flex-shrink:0;padding-top:5px}.directory-controls{gap:18px 15px}.directory-controls label{min-width:130px;font-size:12px}.directory-controls select{font-size:16px;padding:10px 8px;width:100%;max-width:100%}.directory-controls>p{font-size:12px;margin-top:0}.directory-list .directory-row{display:block;padding-block:25px}.directory-list .directory-row>p{margin-top:15px}.directory-list .read-link{display:inline-block;margin-top:16px}.prose{padding-block:19px 50px}.prose h1{font-size:42px;line-height:1.15;margin-bottom:24px}.prose .lead{font-size:18px;line-height:1.85}.prose p{font-size:15px;line-height:1.95}.prose h2{font-size:29px;margin:30px 0 16px}.prose .crit{font-size:15px;line-height:1.9;gap:19px;margin-left:20px}.prose .crit li{padding-left:5px}.transparency-note{padding-left:18px}.prose .btn{font-size:13px}.proposal-layout{display:block;padding-top:18px;padding-bottom:50px}.proposal-copy h1{font-size:44px;line-height:1.16;margin-bottom:22px}.proposal-copy>p{font-size:16px}.proposal-copy .text-link{font-size:14px}.proposal-copy .contact-note{font-size:13px;margin:28px 0}.contact-note a{font-size:18px}.proposal-panel{padding:28px 0 0;border:0;border-top:1px solid var(--line);margin-top:30px}.proposal-panel label{font-size:13px}.proposal-panel input,.proposal-panel select,.proposal-panel textarea{font-size:16px;margin-bottom:23px}.proposal-panel .button{font-size:13px}.form-note{font-size:12px}.badge-search{font-size:13px}.badge-page>img{margin-block:25px}.snip summary{font-size:15px}.snip summary span{font-size:12px}.snip pre{padding:15px;font-size:11px;line-height:1.9}.snip .text-button{font-size:13px}.error-page{padding-block:55px 70px;min-height:65vh}.error-page h1{font-size:44px;line-height:1.15}.error-page p{font-size:16px}.error-page .button{font-size:14px}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}.hero h1{font-size:41px}.search-form input::placeholder{font-size:11px}.search-form button{font-size:11px;padding-left:10px}.section-heading h2{font-size:32px}.category-line h3{font-size:23px}.category-line{gap:7px 12px;grid-template-columns:1fr 57px}.category-line p{font-size:11px}.category-line>span{font-size:10px}.ranking-item{gap:12px;grid-template-columns:29px 1fr}.ranking-body h3{font-size:26px}.rank-number{font-size:26px}.profile-header h1{font-size:40px}.footer-bottom{font-size:9px}.directory-controls{display:block}.directory-controls label{margin-bottom:15px}.directory-section .section-heading{display:block}.directory-section .text-button{margin-top:15px}.proposal-copy h1{font-size:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.header,.footer,.contribution,.category-sidebar,.search-form,.ranking-toolbar input,.toast{display:none}.wrap{width:100%}body{background:white}.profile-layout,.category-layout,.editorial-section,.method-section,.related-section{display:block}.facts,.editorial-heading{position:static}.facts{padding:0;border:0;margin-top:30px}.ranking-item,.directory-row{break-inside:avoid}details.ranking-review>summary{display:none}details.ranking-review>*{display:block!important}}
.category-advice{padding-bottom:25px}.category-advice .block{max-width:820px;margin-left:auto;padding-top:35px;border-top:1px solid var(--line);margin-top:20px}.category-advice h2{font-size:34px;margin-bottom:23px}.guide-txt{font-size:16px;color:#755d4c;line-height:1.95}.guide-txt p{margin-bottom:20px}.guide-txt a{text-decoration:underline;text-underline-offset:4px;color:var(--blue)}.qa{border-bottom:1px solid var(--line);padding:20px 0}.qa summary{font-size:16px;cursor:pointer;line-height:1.8}.qa p{font-size:15px;line-height:1.95;color:var(--muted);margin-top:18px;padding-left:18px}.qa:first-child{border-top:1px solid var(--line)}@media(max-width:600px){.category-advice .block{padding-top:28px;margin-top:16px}.category-advice h2{font-size:30px;line-height:1.2}.guide-txt{font-size:15px}.qa summary{font-size:15px}.qa p{font-size:14px;padding-left:0}.category-advice{padding-bottom:15px}}
/* Warm color, a real Senegal photograph and purposeful motion. */
:root{--terracotta:#ad3e29;--sun:#f1bd3f;--peach:#f9e1c8;--soft-white:#fffdf7}.header{background:rgba(255,249,239,.97);transition:box-shadow .3s,border-color .3s;backdrop-filter:blur(12px)}.header.is-scrolled{box-shadow:0 5px 22px #6943220b;border-color:#d6b493}.wordmark{color:var(--terracotta)}.wordmark span{color:var(--terracotta)}.wordmark span:after{height:5px;background:var(--sun);bottom:-6px}.wordmark:hover{color:var(--terracotta)}.desktop-nav .nav-propose{color:var(--terracotta);border-color:var(--terracotta)}.button,.btn{background:var(--terracotta);border-color:var(--terracotta);color:#fffaf1;transition:background .2s,transform .2s,box-shadow .2s}.button:hover,.btn:hover{background:#8c2f1d;border-color:#8c2f1d;box-shadow:0 5px 0 #f0c781;transform:translateY(-2px)}.hero{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:24px 70px;padding-top:54px;padding-bottom:55px;align-items:center}.hero-heading{align-self:end;grid-column:1;grid-row:1}.intro-label{font-size:13px;color:var(--terracotta);margin-bottom:23px}.hero h1{font-size:clamp(50px,5.4vw,75px);line-height:1.08;letter-spacing:-.055em}.hero h1 em{color:var(--terracotta);position:relative;text-decoration-line:underline;text-decoration-color:var(--sun);text-decoration-thickness:7px;text-underline-offset:8px;text-decoration-skip-ink:none}.hero-description{grid-column:1;grid-row:2;align-self:start;padding-top:10px}.hero-description p{max-width:540px;font-size:17px;line-height:1.85;margin-bottom:24px;color:#79604b}.hero-description .text-link{color:var(--terracotta);font-size:14px}.hero-photo{grid-column:2;grid-row:1/3;margin:0;position:relative;padding:0;align-self:center}.hero-photo img{display:block;width:100%;height:435px;object-fit:cover;object-position:50% 64%;border-radius:125px 125px 2px 2px;border:0;box-shadow:13px 13px 0 #f1bd3f55}.hero-photo figcaption{font-size:10px;line-height:1.8;color:#78604d;margin-top:19px}.hero-photo figcaption a{text-decoration:underline;text-underline-offset:3px}.search-form{margin-top:17px;padding:26px 30px;background:#f8e4c8;border-top:0;gap:35px;grid-template-columns:1fr 2fr}.search-form>label{font:400 24px/1.3 var(--serif);letter-spacing:-.02em;color:#70402c}.search-form>div{background:var(--soft-white);border:1px solid #dec3a2;transition:box-shadow .2s,border-color .2s}.search-form input{padding:17px 18px;font-size:15px}.search-form button{background:var(--sun);padding:15px 20px;color:#57391b;font-size:13px;transition:background .2s}.search-form button:hover{background:#edaa1a;color:#57391b}.search-form:focus-within>div{box-shadow:0 0 0 3px #ad3e2912;border-color:#b4744c}.search-form input::placeholder{color:#907b65}.categories-section{border-top:0;padding-top:15px}.category-list{border-top:1px solid var(--line)}.category-line{padding:25px 15px;position:relative;isolation:isolate;transition:padding .22s,background .22s,color .22s}.category-line:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--terracotta);transform:scaleY(0);transform-origin:center;transition:transform .22s}.category-line h3{transition:color .22s;line-height:1.3}.category-line b{display:inline-block;color:var(--terracotta);transition:transform .22s}.category-line:hover,.category-line:focus-visible{background:#f9e3cb;color:#94311f;padding-left:25px}.category-line:hover:before,.category-line:focus-visible:before{transform:scaleY(1)}.category-line:hover b{transform:translateX(5px)}.category-energie-solaire:hover,.category-energie-solaire:focus-visible{background:#f8edbd}.category-investir-et-entreprendre:hover,.category-investir-et-entreprendre:focus-visible{background:#eceaca}.category-medias:hover,.category-medias:focus-visible{background:#f7e0d3}.featured-section{background:#a03b29;border-color:#a03b29;color:#fff9eb}.editorial-heading h2{color:#ffe09a}.editorial-heading p{color:#f3d7c1}.editorial-heading>a{color:#ffe09a}.editorial-list .directory-row{border-color:#ffffff35}.editorial-list .directory-row>p{color:#f6e1ce}.editorial-list .category-text{color:#f3d7c1}.editorial-list .directory-name h3{color:#fff9eb}.editorial-list .directory-name h3 a:hover{color:#ffe09a}.editorial-list .read-link{color:#ffe09a}.editorial-list .directory-row{transition:padding-left .25s}.editorial-list .directory-row:hover{padding-left:8px}.read-link span,.text-link span{display:inline-block;transition:transform .22s}.read-link:hover span,.text-link:hover span{transform:translateX(4px)}.hero-description .text-link:hover span{transform:translateY(4px)}.method-section h2{color:var(--terracotta)}.contribution{background:#f6d56a;padding:36px 42px;margin-bottom:55px;border-radius:2px}.contribution h2{color:#70402c}.contribution p{color:#79552f}.contribution .text-link{color:#84331e}.footer{background:#f5e6cd;border-color:#e3c7a3}.footer-top .wordmark{color:var(--terracotta)}.footer-top .wordmark span{color:var(--terracotta)}.category-heading{border-bottom-color:#d79b70}.category-heading h1,.profile-header h1{color:var(--terracotta)}.category-heading h1 em{color:#c08529}.category-sidebar a[aria-current=page]{color:var(--terracotta)}.ranking-item:first-child .rank-number{color:var(--terracotta)}.ranking-item{transition:background .22s}.ranking-body h3 a{transition:color .2s}.ranking-body h3 a:hover{color:var(--terracotta)}.ranking-review[open]{border-left:3px solid var(--sun);padding-left:19px}.profile-header{border-bottom-color:#d79b70}.review{background:#f8e5ce;padding:28px 28px 31px;border:0}.review h2{color:var(--terracotta)}.review p{color:#785a43}.qa[open]{background:#f8e8d1;padding-inline:20px}.qa{transition:background .2s,padding .2s}.qa summary{color:#784e33}.profile-main>.button{background:var(--terracotta)}.category-heading,.profile-header{position:relative}.category-heading:after,.profile-header:after{content:'';position:absolute;bottom:-2px;left:0;width:100px;height:4px;background:var(--sun)}
@keyframes warm-entry{from{opacity:.55;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.hero-heading{animation:warm-entry .65s ease-out both}.hero-description{animation:warm-entry .65s .08s ease-out both}.hero-photo{animation:warm-entry .8s .12s ease-out both}.search-form{animation:warm-entry .6s .2s ease-out both}.just-revealed{animation:warm-entry .55s ease-out both}}
@media(min-width:1450px){.hero h1{font-size:77px}.hero{column-gap:75px}}
@media(max-width:1050px){.hero{column-gap:40px;padding-top:44px}.hero h1{font-size:62px}.hero-photo img{height:385px;border-radius:105px 105px 2px 2px}.hero-description p{font-size:15px}.search-form{padding:22px;gap:25px}.search-form>label{font-size:21px}.search-form input{padding:15px 13px;font-size:14px}.search-form button{font-size:12px;padding-inline:15px}.search-form button span{margin-left:6px}.contribution{padding:31px;margin-bottom:45px}}
@media(max-width:800px){.hero{column-gap:28px;row-gap:20px;padding-top:37px}.hero h1{font-size:50px}.hero-photo img{height:335px;border-radius:85px 85px 2px 2px;box-shadow:9px 9px 0 #f1bd3f55}.hero-photo figcaption{font-size:9px;margin-top:13px}.hero-description p{font-size:14px;line-height:1.8;margin-bottom:18px}.hero-description .text-link{font-size:12px}.hero-description{padding-top:4px}.intro-label{font-size:11px;margin-bottom:19px}.search-form{grid-template-columns:1fr;gap:12px;padding:22px}.search-form>label{font-size:22px}.search-form input{font-size:16px}.search-form button{font-size:13px}.contribution{padding:29px;gap:30px}.review{padding:24px}.category-line{padding-inline:10px}.category-line:hover{padding-left:20px}}
@media(max-width:600px){.hero{grid-template-columns:1fr;gap:24px;padding-top:31px;padding-bottom:36px}.hero-heading{grid-column:1;grid-row:auto}.hero-description{grid-column:1;grid-row:auto;padding:0}.hero h1{font-size:clamp(43px,10.7vw,63px)}.hero h1 em{text-decoration-thickness:5px;text-underline-offset:6px}.intro-label{font-size:12px}.hero-description p{font-size:15px;line-height:1.85;margin-bottom:18px}.hero-description .text-link{font-size:13px}.hero-photo{grid-column:1;grid-row:auto;width:100%;margin-top:0}.hero-photo img{height:235px;object-position:50% 66%;border-radius:50px 2px 2px 2px;box-shadow:7px 7px 0 #f1bd3f55}.hero-photo figcaption{font-size:9px;line-height:1.8;margin-top:12px}.search-form{grid-column:1;grid-row:auto;padding:19px 16px;margin-top:0;gap:13px}.search-form>label{font-size:22px}.search-form input{font-size:16px;padding:13px 11px}.search-form input::placeholder{font-size:10px}.search-form button{font-size:11px;padding:13px 12px}.categories-section{padding-top:7px}.category-line{padding:20px 7px}.category-line:hover,.category-line:focus-visible{padding-left:12px}.category-line:before{width:3px}.category-line h3{font-size:25px}.featured-section{border:0}.editorial-list{border-color:#ffffff35}.editorial-list .directory-row:hover{padding-left:0}.contribution{padding:27px 24px;margin-bottom:39px}.contribution h2{font-size:32px}.contribution p{font-size:14px}.review{padding:24px 20px}.review p{font-size:16px;line-height:1.9}.ranking-review[open]{padding-left:13px}.qa[open]{padding-inline:15px}.footer-top{padding-top:35px}.header.is-scrolled{box-shadow:0 3px 14px #69432210}.category-heading:after,.profile-header:after{width:65px}.directory-row{padding-block:25px}}
@media(max-width:360px){.hero h1{font-size:41px}.hero-photo img{height:215px}.search-form{padding:17px 13px}.search-form input::placeholder{font-size:10px}.search-form button{font-size:10px;padding-inline:9px}.category-line h3{font-size:23px}.contribution{padding:25px 20px}.contribution h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){.hero-heading,.hero-description,.hero-photo,.search-form,.just-revealed{animation:none!important;opacity:1;transform:none}.button:hover,.btn:hover,.text-link span,.read-link span,.category-line b{transform:none!important}}
@media print{.hero-photo img{box-shadow:none;border-radius:0;max-height:220px}.featured-section{background:white;color:#3d3027}.editorial-heading h2,.editorial-heading p,.editorial-heading>a,.editorial-list .directory-row>p,.editorial-list .category-text,.editorial-list .directory-name h3,.editorial-list .read-link{color:#3d3027}.review{background:white;padding:0}.hero-heading,.hero-description,.hero-photo,.search-form,.just-revealed{animation:none!important;opacity:1;transform:none}}
