/* Editorial visual system. Shared by the catalog, profiles and editor. */
:root{color-scheme:light;--bg:#f5f5f2;--surface:#fff;--ink:#202429;--muted:#71757b;--line:#e3e4e1;--accent:#356546;--accent-dark:#234d32;--green:#477b52;--soft:#edf2e9;--radius:16px;--lime:#d6f58a;--hero:#20262a;--hover:#fafbf7}
:root[data-theme="dark"]{color-scheme:dark;--bg:#15181b;--surface:#202428;--ink:#f0f1eb;--muted:#a5abae;--line:#343a3d;--accent:#d6f58a;--accent-dark:#e4ffae;--green:#c6e88e;--soft:#303b2a;--hover:#282e2e}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;letter-spacing:-.015em}
::selection{background:#d6f58a;color:#20262a}
.shell{width:min(1240px,calc(100% - 80px))}
h1,h2,h3{letter-spacing:-.05em;font-weight:700}
.site-header,:root[data-theme="dark"] .site-header{background:var(--bg);border-bottom:1px solid var(--line)}
.header-inner{min-height:88px;gap:28px}.brand{gap:10px}.brand-mark{background:var(--ink);color:var(--bg);border-radius:10px;width:36px;height:36px}.brand-name{font-size:1.65rem;letter-spacing:-.065em}.brand-dot{font-weight:500;font-size:1rem;margin-left:2px}.main-nav{margin-left:48px;gap:32px;font-size:.86rem}.main-nav a{padding:32px 0}.main-nav a:hover{color:var(--accent)}.theme-toggle{margin-left:auto;background:transparent;border:0;padding:10px;font-size:.78rem;color:var(--muted)}.theme-toggle-icon{font-size:1.3rem}.age-label{border-color:var(--line);color:var(--muted);font-size:.72rem;padding:6px 9px}
.hero{isolation:isolate;position:relative;overflow:hidden;grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr);align-items:center;gap:48px;background:var(--hero);color:#fff;border:0;border-radius:24px;margin-top:28px;padding:50px 52px 46px}.hero-copy{position:relative;z-index:1}.hero .eyebrow{font-size:.64rem;letter-spacing:.13em;color:#bdc5c4;margin-bottom:27px;gap:9px}.hero .eyebrow-separator{color:#677272}.hero .pulse-dot{background:var(--lime);box-shadow:none;width:6px;height:6px}.hero h1{font-size:clamp(2.9rem,4.8vw,4.5rem);line-height:1.04;margin:0 0 23px;letter-spacing:-.055em}.hero h1 span{color:var(--lime)}.hero .hero-description{font-size:.98rem;line-height:1.75;color:#bac1c2;max-width:430px;margin:0 0 27px}.hero-button{background:var(--lime);color:#20262a;border:1px solid var(--lime);border-radius:9px;display:inline-flex;gap:32px;align-items:center;font-size:.85rem;font-weight:700;padding:13px 18px;transition:background .15s,transform .15s}.hero-button span{font-size:1.3rem;line-height:1}.hero-button:hover{background:#e5ffb2;color:#20262a;transform:translateY(-2px)}.hero-caption{display:block;margin-top:15px;font-size:.67rem;color:#9ba6a8}.hero-orbit{position:absolute;z-index:-1;width:540px;height:540px;border:1px solid #ffffff0c;border-radius:50%;right:-78px;top:-110px}.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;inset:48px;border:1px solid #ffffff0c;border-radius:50%}.hero-orbit:after{inset:-65px}
.hero-aside{position:relative;display:block;border:1px solid #ffffff24;border-radius:16px;background:#2d3438;box-shadow:0 18px 36px #0000001a;padding:23px 25px;transform:rotate(2deg);max-width:345px;justify-self:end;width:100%}.report-top{display:flex;justify-content:space-between;align-items:center}.report-label{font-size:.58rem;letter-spacing:.18em;font-weight:600;color:#c3cbca}.report-icon{font-size:1.4rem;color:var(--lime)}.report-total{display:flex;align-items:center;gap:20px;padding:14px 0 23px;margin-bottom:4px;border-bottom:1px solid #ffffff1a}.report-total strong{font-size:5rem;line-height:1;letter-spacing:-.065em;font-weight:600}.report-total>span{color:#b7c0c1;font-size:.82rem;line-height:1.55}.report-check{display:flex;align-items:center;gap:12px;margin:19px 0;color:#f3f5f0;font-size:.8rem;font-weight:600}.report-check>span{background:#d6f58a17;color:var(--lime);border-radius:50%;width:28px;height:28px;display:grid;place-items:center}.report-check small{display:block;color:#b3bdbf;font-size:.65rem;font-weight:400;margin-top:3px}.report-bottom{border-top:1px solid #ffffff1a;padding-top:17px;margin-top:22px;display:flex;justify-content:space-between;gap:10px;font-size:.64rem;color:#b3bdbf}.report-bottom strong{color:#eff3eb;font-weight:500}
.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);padding:22px 8px;border-bottom:1px solid var(--line);gap:16px}.trust-strip>span{display:flex;align-items:center;gap:12px;font-size:.74rem;color:var(--muted)}.trust-strip>span:nth-child(2){justify-self:center}.trust-strip>span:last-child{justify-self:end}.trust-strip b{color:var(--accent);font-size:.61rem;border:1px solid var(--line);border-radius:50%;width:25px;height:25px;display:grid;place-items:center;font-weight:500}
.ranking,.directory{padding:42px 0 40px;scroll-margin-top:24px}.section-heading{align-items:center;margin-bottom:24px}.section-kicker{font-size:.61rem;letter-spacing:.14em;font-weight:600;color:var(--muted);margin-bottom:11px}.section-heading h2{font-size:2rem;display:flex;align-items:center;gap:13px}.count-badge{font-size:.74rem;letter-spacing:0;font-weight:500;border:1px solid var(--line);padding:5px 9px;border-radius:7px;color:var(--muted)}.section-note{font-size:.74rem;display:flex;align-items:center;gap:15px}.section-note:hover{color:var(--accent)}.catalog-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:19px}.catalog-tab{display:flex;align-items:center;gap:9px;min-height:42px;font-size:.8rem;font-weight:600}.catalog-tab .pulse-dot{box-shadow:none;width:6px;height:6px}.catalog-tab>span:last-child{font-size:.7rem;color:var(--muted);margin-left:3px;font-weight:400}.catalog-search{display:flex;align-items:center;gap:10px;width:285px;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:10px 13px;color:var(--muted)}.catalog-search:focus-within{outline:2px solid var(--accent);outline-offset:2px}.catalog-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:.77rem}.catalog-search input::placeholder{color:var(--muted)}.catalog-search input:focus-visible{outline:0}.search-results{font-size:.8rem;color:var(--muted);margin-bottom:15px}.ranking-status,:root[data-theme="dark"] .ranking-status{display:flex;align-items:center;gap:10px;background:var(--soft);color:var(--accent);font-size:.73rem;line-height:1.6;padding:11px 14px;border-radius:8px;margin:0 0 23px}.info-icon{border:1px solid currentColor;flex:none;border-radius:50%;width:15px;height:15px;display:grid;place-items:center;font-size:.6rem;font-family:Georgia,serif;font-weight:700;line-height:1}
.ranking-head,.ranking-row{grid-template-columns:minmax(250px,1.15fr) 145px minmax(180px,1.4fr) 95px;gap:26px}.ranking-head{padding:0 24px 11px;font-size:.58rem;letter-spacing:.12em;color:var(--muted);font-weight:500}.ranking-head>span:last-child{text-align:right}.ranking-list{border:1px solid var(--line);border-radius:13px;box-shadow:0 4px 18px #00000002}.ranking-row{padding:20px 24px;min-height:98px;transition:background .15s}.ranking-row:hover{background:var(--hover)}.rank-identity{gap:15px}.rank-number{min-width:20px;font-size:.85rem}.brand-tile{width:47px;height:47px;border-radius:12px}.brand-tile.has-logo{padding:4px;border-color:#ededeb;background:#fff}.rank-name a{font-size:.96rem;font-weight:650;letter-spacing:-.02em}.rank-name span{font-size:.7rem;margin-top:4px}.rank-score strong{font-size:1.7rem}.rank-summary,:root[data-theme="dark"] .rank-summary{font-size:.76rem;line-height:1.65;color:var(--muted);max-width:350px;-webkit-line-clamp:2}.license-status{display:flex;flex-direction:column;align-items:start;gap:5px}.verified-badge{display:inline-flex;gap:5px;align-items:center;background:var(--soft);color:var(--accent);border-radius:5px;padding:3px 7px;font-size:.67rem;font-weight:500}.verified-badge>span{font-size:.72rem}.license-status small{color:var(--muted);font-size:.65rem;padding-left:7px}.row-link{border:1px solid var(--line);border-radius:7px;padding:8px 10px;color:var(--ink);font-size:.73rem;display:flex;gap:15px;align-items:center;font-weight:500;background:var(--surface)}.row-link:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.row-link span{font-size:1rem}.search-empty{text-align:center;background:var(--surface);border:1px dashed var(--line);border-radius:12px;padding:36px}.search-empty p{color:var(--muted);font-size:.88rem;margin:0}.ranking-list:has(>li):not(:has(>li:not([hidden]))){display:none}
.directory-card{background:var(--surface);border-color:var(--line)}.directory-card:hover{border-color:var(--accent)}.method-preview,:root[data-theme="dark"] .method-preview{position:relative;overflow:hidden;grid-template-columns:1fr 1fr;gap:25px 60px;padding:39px 42px;background:var(--soft);border:1px solid var(--line);border-radius:18px;margin:20px 0 62px}.method-preview h2{font-size:2rem;line-height:1.15}.method-preview p:not(.section-kicker),:root[data-theme="dark"] .method-preview p:not(.section-kicker){font-size:.86rem;line-height:1.8;color:var(--muted)}.method-preview .text-arrow{grid-column:2;margin-top:-10px;font-size:.8rem;color:var(--accent);justify-self:start}.method-preview .section-kicker{color:var(--accent)}
.site-footer,:root[data-theme="dark"] .site-footer{background:var(--bg);color:var(--ink);border-top:1px solid var(--line);padding:34px 0 40px}.footer-brand{color:var(--ink);font-size:1.4rem}.footer-inner p,:root[data-theme="dark"] .footer-inner p{color:var(--muted);font-size:.7rem;line-height:1.7;max-width:420px}.footer-aside p{max-width:290px}.footer-aside span{border-color:var(--line);color:var(--muted)}
/* Profiles and methodology follow the same visual language. */
.inner-page{padding-top:29px}.breadcrumb,:root[data-theme="dark"] .breadcrumb{color:var(--muted);margin-bottom:35px}.breadcrumb a,:root[data-theme="dark"] .breadcrumb a{color:var(--ink)}.detail-hero{background:var(--surface);padding:32px;border:1px solid var(--line);border-radius:20px;align-items:center}.detail-hero h1{font-size:3.5rem}.detail-hero .eyebrow{font-size:.65rem;letter-spacing:.09em}.detail-lead,:root[data-theme="dark"] .detail-lead{color:var(--muted);font-size:1rem;line-height:1.8;max-width:660px}.detail-score{background:var(--soft);min-width:170px;padding:23px}.detail-score span,:root[data-theme="dark"] .detail-score span{color:var(--accent);margin-top:7px;font-size:.72rem}.detail-card,.pros-cons section,.method-steps>div,.revision-snapshot{background:var(--surface)}.detail-card h2{font-size:1.5rem}.facts div{padding:16px 0}.facts dt,.facts dd{font-size:.82rem}.facts dd{max-width:60%}.source-link{font-size:.77rem}.criterion p,.pros-cons section p:last-child,.method-steps p,.method-note,.revision-snapshot>p{color:var(--muted)}.methodology-page h1{font-size:clamp(2.5rem,5vw,4rem)}.method-steps>div{padding:30px}.method-steps>div>span{background:var(--soft);border-radius:8px;padding:8px 11px;display:inline-block}.weight-list{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:5px 24px}.weight-list div:last-child{border-bottom:0}.weight-list strong{font-size:.9rem}.weight-list span{min-width:50px;text-align:right}.method-note{line-height:1.8}
.primary-button,:root[data-theme="dark"] .primary-button{background:var(--ink);color:var(--bg)}.primary-button:hover,:root[data-theme="dark"] .primary-button:hover{background:var(--accent);color:var(--bg)}.admin-table-wrap,.admin-empty,.admin-login-card,.editor-section{background:var(--surface)}.admin-table th,:root[data-theme="dark"] .admin-table th{background:var(--soft)}.editor-form label{color:var(--ink)}.quiet-button{border-color:var(--line)}.editor-form input:not([type=checkbox]),.editor-form textarea,.admin-login-card input{background:var(--surface);border-color:var(--line)}.editor-form input:focus,.editor-form textarea:focus,.admin-login-card input:focus{box-shadow:0 0 0 3px var(--soft)}
@media(min-width:1500px){.hero{padding-block:60px}.hero h1{font-size:4.6rem}}
@media(max-width:1100px){.shell{width:calc(100% - 48px)}.hero{padding:38px 34px;gap:30px;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr)}.hero h1{font-size:3.5rem}.hero-aside{padding:20px}.hero .eyebrow{font-size:.55rem}.hero-description br{display:none}.ranking-head,.ranking-row{grid-template-columns:minmax(210px,1.1fr) 125px minmax(140px,1fr) 80px;gap:18px}.ranking-row{padding:18px}.ranking-head{padding-inline:18px}.rank-summary{font-size:.73rem}.trust-strip>span{font-size:.66rem;gap:8px}.method-preview .text-arrow{grid-column:2}}
@media(max-width:800px){.header-inner{gap:20px;min-height:76px}.main-nav{margin-left:20px;gap:22px}.main-nav a{padding:24px 0}.hero{grid-template-columns:minmax(0,1.25fr) minmax(230px,1fr);padding:32px 27px;gap:23px}.hero h1{font-size:2.8rem}.hero .eyebrow{flex-wrap:wrap;font-size:.51rem;letter-spacing:.07em}.hero .hero-description{font-size:.82rem}.hero-aside{padding:18px;transform:rotate(1deg)}.report-total strong{font-size:4rem}.report-check small{font-size:.56rem}.report-check{gap:8px;font-size:.7rem}.report-label{font-size:.5rem}.report-bottom{font-size:.55rem}.hero-caption{font-size:.58rem}.trust-strip{gap:10px}.trust-strip>span{font-size:.59rem}.trust-strip b{width:21px;height:21px;flex:none}.ranking-head,.ranking-row{grid-template-columns:minmax(195px,1fr) 120px 80px;gap:16px}.ranking-head>span:nth-child(3){display:none}.rank-summary{display:none}.section-heading h2{font-size:1.8rem}.method-preview{padding:30px;gap:22px}.method-preview h2{font-size:1.8rem}.detail-hero{padding:26px}.detail-hero h1{font-size:2.8rem}}
@media(max-width:600px){.shell{width:calc(100% - 32px)}.header-inner{min-height:68px;gap:12px}.brand-name{font-size:1.4rem}.brand-mark{width:31px;height:31px;border-radius:8px}.brand-dot{font-size:.8rem}.main-nav{margin-left:auto;gap:17px;font-size:.75rem}.main-nav a{padding:23px 0}.theme-toggle{margin-left:0;width:30px;min-height:32px;padding:0}.theme-toggle-label,.age-label{display:none}.hero{display:block;margin-top:16px;padding:30px 25px;border-radius:18px}.hero .eyebrow{font-size:.54rem;margin-bottom:23px;letter-spacing:.08em;gap:7px}.hero h1{font-size:clamp(2.6rem,9.5vw,3.7rem);margin-bottom:19px}.hero .hero-description{font-size:.86rem;line-height:1.7;max-width:380px;margin-bottom:22px}.hero-button{min-height:46px;font-size:.79rem;gap:35px}.hero-caption{font-size:.6rem;margin-top:12px}.hero-aside{transform:none;max-width:none;margin-top:28px;padding:18px 20px}.report-top{padding-bottom:12px;border-bottom:1px solid #ffffff1a}.report-label{font-size:.55rem}.report-icon{font-size:1rem}.report-total{float:left;width:38%;display:block;border:0;padding:17px 0 0;margin:0}.report-total strong{font-size:3.2rem}.report-total>span{display:block;font-size:.63rem;line-height:1.4;margin-top:5px}.report-total>span br{display:none}.report-check{font-size:.67rem;gap:8px;margin:17px 0 0}.report-check>span{width:22px;height:22px;flex:none}.report-check small{font-size:.54rem;max-width:140px}.report-bottom{clear:both;padding-top:13px;margin-top:20px;font-size:.58rem}.hero-orbit{top:25px;right:-300px}.trust-strip{grid-template-columns:1fr;padding:19px 5px;gap:11px}.trust-strip>span,.trust-strip>span:nth-child(2),.trust-strip>span:last-child{justify-self:start;font-size:.69rem;gap:10px}.trust-strip b{width:20px;height:20px;font-size:.55rem}.ranking,.directory{padding:29px 0 25px}.section-heading{margin-bottom:18px}.section-heading h2{font-size:1.55rem;gap:9px;letter-spacing:-.045em}.section-note{display:none}.section-kicker{font-size:.56rem}.count-badge{font-size:.63rem;padding:4px 7px}.catalog-toolbar{align-items:stretch;flex-direction:column;gap:7px;margin-bottom:15px}.catalog-tab{font-size:.76rem;min-height:31px}.catalog-search{width:100%;padding:12px}.catalog-search input{font-size:16px}.ranking-status,:root[data-theme="dark"] .ranking-status{font-size:.67rem;align-items:start;padding:12px;margin-bottom:17px;gap:8px}.info-icon{margin-top:2px}.ranking-head{display:none}.ranking-row{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:17px 16px;gap:12px;min-height:0}.rank-identity{gap:11px}.brand-tile{width:42px;height:42px;border-radius:10px}.rank-name a{font-size:.9rem}.rank-name span{font-size:.66rem}.rank-summary{display:-webkit-box;grid-column:1/-1;max-width:none;font-size:.74rem;-webkit-line-clamp:2}.rank-number{min-width:16px;font-size:.75rem}.license-status{align-items:end;gap:4px}.verified-badge{font-size:.59rem;padding:3px 5px}.license-status small{font-size:.57rem}.row-link{grid-column:1/-1;justify-self:stretch;justify-content:space-between;padding:8px 11px;font-size:.71rem}.rank-score strong{font-size:1.5rem}.method-preview,:root[data-theme="dark"] .method-preview{grid-template-columns:1fr;margin:12px 0 35px;padding:25px;gap:19px}.method-preview h2{font-size:1.9rem}.method-preview p:not(.section-kicker){font-size:.82rem}.method-preview .text-arrow{grid-column:1;margin:0;font-size:.78rem}.footer-inner{display:block}.footer-inner p{max-width:330px}.footer-aside{text-align:left;margin-top:24px}.footer-aside p{max-width:330px}.detail-hero{padding:23px;gap:24px;align-items:stretch;flex-direction:column}.detail-hero h1{font-size:2.5rem}.detail-brand-logo{width:50px;height:50px}.detail-hero .eyebrow{font-size:.55rem;line-height:1.7;letter-spacing:.045em}.detail-lead{font-size:.9rem}.detail-score{width:100%;padding:17px;min-width:0}.detail-score strong{font-size:2.4rem}.detail-grid,.pros-cons,.method-steps{grid-template-columns:1fr}.detail-card{padding:22px}.detail-card h2{font-size:1.35rem}.facts div{gap:15px}.facts dt,.facts dd{font-size:.73rem}.methodology-page h1{font-size:2.65rem}.method-steps>div{padding:23px}.weight-list{padding-inline:18px}.weight-list strong{font-size:.78rem}.weight-list span{font-size:.85rem}.admin-top{flex-direction:column;align-items:start}.form-grid,.criterion-editor{grid-template-columns:1fr}.form-grid .wide-field{grid-column:auto}}
@media(max-width:360px){.shell{width:calc(100% - 24px)}.header-inner{gap:8px}.brand{gap:6px}.brand-name{font-size:1.23rem}.main-nav{gap:10px;font-size:.7rem}.hero{padding:25px 20px}.hero h1{font-size:2.5rem}.hero-aside{padding:16px 14px}.section-heading h2{font-size:1.4rem}.rank-name a{font-size:.8rem}.rank-identity{gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* A compact lead keeps the first catalog rows in view. */
.hero{grid-template-columns:minmax(0,1fr) auto;gap:32px;padding:26px 34px;margin-top:18px;border-radius:18px;min-height:0}
.hero .eyebrow{margin-bottom:10px}
.hero h1{font-size:clamp(2.1rem,3.7vw,3.35rem);line-height:1.08;margin:0 0 11px;max-width:760px}
.hero .hero-description{max-width:750px;margin:0;font-size:.88rem;line-height:1.5}
.hero-aside{transform:none;max-width:none;width:215px;display:flex;flex-direction:column;gap:6px;padding:18px;background:#2d3438;box-shadow:none}
.report-date{color:#fff;font-size:1.05rem;letter-spacing:-.02em}
.hero-aside a{color:var(--lime);font-size:.7rem;margin-top:2px}
.hero-aside a:hover{text-decoration:underline}
.ranking{padding-top:23px}
.ranking .section-heading{margin-bottom:10px}
.ranking .section-heading h2{font-size:1.8rem}
.ranking .catalog-toolbar{margin-bottom:9px}
.ranking .ranking-status{margin-bottom:12px}
.rank-summary{font-size:.77rem;line-height:1.55}
.ranking-row{min-height:82px;padding-top:14px;padding-bottom:14px}
.row-link{white-space:nowrap}
.detail-overview{margin-bottom:22px;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:20px}
.detail-overview .detail-hero{margin-bottom:0;border:0;border-radius:0;background:transparent}
.quick-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border:0;border-top:1px solid var(--line);border-radius:0;overflow:hidden;background:var(--surface)}
.quick-facts>div{min-width:0;padding:17px 22px;border-right:1px solid var(--line)}
.quick-facts>div:last-child{border-right:0}
.quick-facts span{display:block;color:var(--muted);font-size:.68rem;margin-bottom:6px}
.quick-facts strong{display:block;font-size:.83rem;overflow-wrap:anywhere}
.source-links{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:18px}
.detail-disclaimer{color:var(--muted);font-size:.78rem;line-height:1.6;margin:19px 0 25px}
.about-page h1{max-width:780px}
.about-page>.detail-lead{max-width:760px;margin:16px 0 32px}
.about-page .method-steps{margin-bottom:24px}
.about-page .method-note{max-width:760px}
.footer-about{display:inline-block;color:var(--accent);font-size:.76rem;margin-top:4px}
@media(max-width:800px){.hero{grid-template-columns:minmax(0,1fr) auto;gap:20px}.hero h1{font-size:2.5rem}.hero-aside{width:175px}.main-nav{margin-left:auto}}
@media(max-width:600px){.hero{display:block;padding:21px 22px;margin-top:12px}.hero .eyebrow{margin-bottom:9px;font-size:.55rem}.hero h1{font-size:2.15rem;margin-bottom:10px}.hero .hero-description{font-size:.79rem;line-height:1.45}.hero-aside{width:auto;max-width:none;margin-top:15px;padding:10px 13px;border-radius:9px;display:grid;grid-template-columns:1fr auto;gap:2px 10px}.hero-aside .report-label{grid-column:1/-1;font-size:.49rem}.hero-aside .report-date{font-size:.9rem}.hero-aside a{margin:0;text-align:right;font-size:.64rem}.ranking{padding-top:20px}.ranking .section-heading{margin-bottom:8px}.ranking .section-heading h2{font-size:1.45rem}.ranking .catalog-toolbar{margin-bottom:8px}.ranking .ranking-status{margin-bottom:9px}.ranking-row{padding:13px}.rank-summary{font-size:.7rem}.quick-facts{grid-template-columns:1fr;margin-top:14px}.quick-facts>div{padding:11px 16px;border-right:0;border-bottom:1px solid var(--line)}.quick-facts>div:last-child{border-bottom:0}.main-nav{gap:11px}.main-nav a{font-size:.69rem}.brand-name{font-size:1.25rem}.source-links{display:block}.source-links a{display:block;margin:8px 0}}
@media(max-width:380px){.main-nav{gap:8px}.main-nav a{font-size:.64rem}.brand-name{font-size:1.1rem}}

.service-facts{margin:24px 0 26px}
.service-facts-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:14px}
.service-facts-heading h2{font-size:1.6rem;margin:0}
.service-facts-heading>span{color:var(--muted);font-size:.72rem;white-space:nowrap}
.service-facts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.service-fact{display:flex;flex-direction:column;gap:7px;min-width:0;padding:19px 20px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.service-fact>span{color:var(--muted);font-size:.68rem}
.service-fact strong{font-size:.88rem;line-height:1.45;font-weight:650}
.service-fact a{color:var(--accent);font-size:.68rem;margin-top:auto;padding-top:7px}
.service-fact a:hover{text-decoration:underline}
@media(max-width:800px){.service-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.service-facts-heading{align-items:start;flex-direction:column;gap:5px}.service-facts-heading h2{font-size:1.4rem}.service-facts-grid{grid-template-columns:1fr}.service-fact{padding:15px 17px}}

.rank-bonus{display:flex;flex-direction:column;align-items:start;gap:3px;min-width:0}
.rank-bonus strong{color:var(--accent);font-size:.94rem;font-weight:700;white-space:nowrap}
.rank-bonus-empty{color:var(--muted);font-size:1rem;font-weight:600}
.rank-name .license-label::before{content:"✓";color:var(--accent);font-weight:800;margin-right:4px}
.rank-bonus a,.bonus-fact a{color:var(--muted);font-size:.65rem;line-height:1.35}
.rank-bonus a:hover,.bonus-fact a:hover{color:var(--accent);text-decoration:underline}
.bonus-disclosure{margin:14px 0 0;color:var(--muted);font-size:.7rem;line-height:1.55}
.quick-facts.has-bonus{grid-template-columns:repeat(4,minmax(0,1fr))}
.bonus-fact strong{color:var(--accent);font-size:1.03rem}
.bonus-fact a{display:inline-block;margin-top:6px}
.directory-card .directory-bonus{color:var(--accent);font-weight:600}
.detail-bonus-note{margin:-12px 0 20px}
@media(max-width:800px){.quick-facts.has-bonus{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-facts.has-bonus>div:nth-child(2){border-right:0}.quick-facts.has-bonus>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:600px){.quick-facts.has-bonus{grid-template-columns:1fr}.quick-facts.has-bonus>div{border-right:0}.quick-facts.has-bonus>div:nth-child(2){border-bottom:1px solid var(--line)}.rank-bonus{grid-column:1/-1}.rank-bonus strong{font-size:.91rem}.rank-bonus a{font-size:.64rem}}

/* Bonus action: one clear destination, with a full-size touch target. */
.row-link.bonus-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;min-width:148px;min-height:44px;padding:9px 13px;border:1px solid var(--accent);border-radius:9px;background:var(--accent);color:var(--bg);font-size:.78rem;font-weight:750;line-height:1.2;transition:background .15s,border-color .15s,transform .15s}
.row-link.bonus-cta:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:var(--bg);transform:translateY(-1px)}
.row-link.bonus-cta:active{transform:translateY(0)}
.row-link.bonus-cta:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.row-link.bonus-cta span{font-size:1rem;line-height:1}
@media(min-width:801px){.ranking-head,.ranking-row{grid-template-columns:minmax(220px,1.1fr) 110px minmax(180px,1.2fr) 150px;gap:18px}}
@media(min-width:601px) and (max-width:800px){.ranking-head,.ranking-row{grid-template-columns:minmax(195px,1fr) 100px 150px;gap:8px 12px}.rank-bonus{grid-column:1/3;grid-row:2}.row-link.bonus-cta{grid-column:3;grid-row:1/3;align-self:center}}

/* One continuous ranking: unrated companies stay at the bottom. */
.unified-ranking-list{counter-reset:company}
.unified-ranking-list>.ranking-row{counter-increment:company}
.unified-ranking-list .rank-number::before{content:counter(company, decimal-leading-zero)}
@media(max-width:600px){.row-link.bonus-cta{width:100%;min-width:0;min-height:46px;font-size:.78rem}}

.rank-score-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
.rank-score-wrap .rank-score{white-space:nowrap}
.rank-score-empty{color:var(--muted)}
.rank-score-empty>span{font-size:.67rem;line-height:1.3}
.score-stars{display:block;width:64px;height:auto;margin-top:2px;overflow:visible}
.score-stars-empty{fill:#d5d1c8}
.score-stars-fill{fill:#ad7416}
:root[data-theme="dark"] .score-stars-empty{fill:#5c5a55}
:root[data-theme="dark"] .score-stars-fill{fill:#e9b655}
.detail-rating-source:hover{color:var(--accent-dark)}
.rating-disclosure{color:var(--muted);font-size:.71rem;line-height:1.55;margin:13px 0 0}
.detail-rating-source{display:block;color:var(--accent);font-size:.68rem;line-height:1.45;margin-top:9px;text-decoration:underline;text-underline-offset:2px}
@media(max-width:600px){.rank-score-wrap{align-items:flex-end}.rank-score-wrap .rank-score strong{font-size:1.5rem}}

/* Shared theme and navigation refinements. */
:root:not([data-theme="dark"]){--muted:#62686d}
.footer-inner p,:root[data-theme="dark"] .footer-inner p{font-size:.75rem}
@media(max-width:600px){
  .main-nav a{display:flex;align-items:center;min-height:44px;padding:0;white-space:nowrap}
  .theme-toggle{width:44px;min-width:44px;min-height:44px;padding:0}
}
@media(max-width:360px){
  .main-nav a[href="/#catalog"]{display:none}
  .header-inner{gap:7px}
}

/* Dark hero keeps a clear boundary from the page background. */
:root[data-theme="dark"] .hero{border:1px solid #3b4347;box-shadow:0 12px 34px #00000024}

/* Primary profile action links directly to the bookmaker's official domain. */
.detail-site-cta{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:180px;margin-top:21px;padding:12px 17px;border:1px solid var(--accent);border-radius:9px;background:var(--accent);color:var(--bg);transition:background .15s,border-color .15s,transform .15s}
.detail-site-cta strong{font-size:.83rem;line-height:1.3}
.detail-site-cta small{font-size:.66rem;line-height:1.35;opacity:.78}
.detail-site-cta:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:var(--bg);transform:translateY(-1px)}
.detail-site-cta:active{transform:translateY(0)}
@media(max-width:600px){.detail-site-cta{width:100%;min-height:48px}}

/* Compact catalog lead: the ranking begins without a separate hero card. */
.catalog-intro{padding:38px 0 27px;border-bottom:1px solid var(--line)}
.catalog-intro h1{max-width:none;margin:0 0 13px;font-size:clamp(2.25rem,3.5vw,3rem);line-height:1.04}
.catalog-intro-description{max-width:700px;margin:0;color:var(--muted);font-size:.9rem;line-height:1.6}
.catalog-intro+.ranking{padding-top:22px}
.catalog-toolbar{display:block}
.catalog-search{width:100%}
@media(min-width:701px){.catalog-intro h1{white-space:nowrap}}
@media(max-width:600px){
  .catalog-intro{padding:25px 0 20px}
  .catalog-intro h1{margin-bottom:11px;font-size:clamp(1.85rem,8.2vw,2.15rem);line-height:1.06}
  .catalog-intro-description{font-size:.8rem;line-height:1.5}
  .catalog-intro+.ranking{padding-top:18px}
}

/* Catalog controls and responsible-gambling context stay visible before offers. */
.catalog-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:10px;align-items:stretch}
.catalog-sort{display:flex;align-items:center;gap:9px;min-width:0;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--muted)}
.catalog-sort>span{font-size:.62rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}
.catalog-sort select{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--ink);color-scheme:light;font-size:.76rem;font-weight:650;cursor:pointer}
.catalog-sort option{background:var(--surface);color:var(--ink)}
:root[data-theme="dark"] .catalog-sort select{color-scheme:dark}
.catalog-sort:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.unified-ranking-list[data-sort="bonus"] .rank-number::before{content:attr(data-rank)}
@media(max-width:720px){.age-label{display:inline-flex;align-items:center;justify-content:center;padding:4px 6px}}
@media(max-width:600px){
  .site-header .brand .brand-lockup{width:128px}
  .catalog-toolbar{grid-template-columns:1fr}
  .catalog-sort{min-height:44px;padding:9px 12px}
  .catalog-sort select{font-size:16px}
}

/* Reasons to choose licensed bookmakers. */
.legal-benefits{padding:58px 0 76px;border-top:1px solid var(--line)}
.legal-benefits-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);column-gap:56px;align-items:end;margin-bottom:27px}
.legal-benefits-heading .section-kicker{grid-column:1/-1;margin:0 0 12px}
.legal-benefits-heading h2{margin:0;font-size:clamp(2rem,3.1vw,3rem);line-height:1.05}
.legal-benefits-heading>p:last-child{margin:0;color:var(--muted);font-size:.83rem;line-height:1.65}
.legal-benefits-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.legal-benefit{position:relative;min-height:194px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden;transition:transform .18s,border-color .18s,box-shadow .18s}
.legal-benefit:hover{transform:translateY(-3px);border-color:#b7c5b6;box-shadow:0 12px 30px #2024290b}
.legal-benefit-icon{width:40px;height:40px;display:grid;place-items:center;margin-bottom:22px;border-radius:10px;background:var(--soft);color:var(--accent)}
.legal-benefit-icon svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.legal-benefit-number{position:absolute;right:18px;top:19px;color:var(--muted);font-size:.6rem;letter-spacing:.12em}
.legal-benefit h3{margin:0 0 7px;font-size:1.04rem;letter-spacing:-.035em}
.legal-benefit p{margin:0;color:var(--muted);font-size:.74rem;line-height:1.52}
:root[data-theme="dark"] .legal-benefit:hover{border-color:#61705f;box-shadow:0 12px 30px #0003}
@media(max-width:1100px){.legal-benefits-heading{grid-template-columns:1fr;gap:12px}.legal-benefits-heading>p:last-child{max-width:630px}.legal-benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.legal-benefits{padding:41px 0 52px}.legal-benefits-heading{margin-bottom:20px}.legal-benefits-heading h2{font-size:1.85rem}.legal-benefits-heading>p:last-child{font-size:.77rem}.legal-benefits-grid{grid-template-columns:1fr}.legal-benefit{min-height:0;padding:16px}.legal-benefit-icon{width:38px;height:38px;margin-bottom:16px}.legal-benefit h3{font-size:1rem}.legal-benefit p{font-size:.73rem}}

/* Practical SEO guide for choosing and using licensed bookmakers. */
.seo-guide{border-top:1px solid var(--line)}
.seo-guide-section{padding:62px 0;border-bottom:1px solid var(--line)}
.seo-guide-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.72fr);gap:12px 56px;align-items:end;margin-bottom:30px}
.seo-guide-heading .section-kicker{grid-column:1/-1;margin:0}
.seo-guide-heading h2{margin:0;font-size:clamp(2rem,3vw,2.8rem);line-height:1.08}
.seo-guide-heading>p:last-child{margin:0;color:var(--muted);font-size:.82rem;line-height:1.7}
.seo-guide-heading.compact{grid-template-columns:minmax(0,1fr) minmax(330px,.8fr)}
.registration-steps{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.registration-steps li{display:grid;grid-template-columns:56px minmax(210px,.55fr) minmax(0,1fr);gap:28px;align-items:start;padding:22px 0;border-bottom:1px solid var(--line)}
.registration-steps li>span{color:var(--accent);font-size:.68rem;font-weight:750;letter-spacing:.12em;padding-top:4px}
.registration-steps h3{margin:0;font-size:1rem;line-height:1.35;letter-spacing:-.035em}
.registration-steps p,.info-card p,.owner-match p,.responsible-grid p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.6}
.seo-guide-note{margin:17px 0 0;padding-left:13px;border-left:2px solid var(--accent);color:var(--muted);font-size:.72rem;line-height:1.6}
.info-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.info-card{padding:21px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
.info-card h3{margin:0 0 12px;font-size:1rem}
.owner-match{display:grid;grid-template-columns:230px 1fr;gap:28px;margin-top:12px;padding:19px 21px;border-radius:12px;background:var(--soft)}
.owner-match strong{font-size:.82rem}
.bonus-types{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.bonus-types span{padding:9px 13px;border:1px solid var(--line);border-radius:100px;background:var(--surface);font-size:.74rem;font-weight:650}
.bonus-checklist{display:grid;grid-template-columns:230px 1fr;gap:28px;padding:22px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
.bonus-checklist h3{margin:0;font-size:1rem}
.bonus-checklist ul,.pros-cons-grid ul{margin:0;padding-left:18px;color:var(--muted);font-size:.76rem;line-height:1.75}
.pros-cons-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pros-cons-grid section{padding:25px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.pros-cons-grid h3{margin:0 0 16px;font-size:1.08rem}
.pros-card h3{color:var(--accent)}
.cons-card h3{color:#9b5a42}
:root[data-theme="dark"] .cons-card h3{color:#e1a68e}
.tax-section{position:relative}
.tax-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}
.tax-facts p{margin:0;padding:20px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--muted);font-size:.75rem;line-height:1.62}
.tax-facts strong{display:block;margin-bottom:7px;color:var(--ink);font-size:.78rem}
.official-link,.help-links a{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-size:.75rem;font-weight:700}
.official-link:hover,.help-links a:hover{text-decoration:underline;text-underline-offset:3px}
.legal-update{margin:10px 0 0;color:var(--muted);font-size:.66rem}
.responsible-section{position:relative;margin:0 0 72px;padding:38px;border:0;border-radius:18px;background:var(--hero);color:#fff}
.responsible-section .seo-guide-heading{padding-right:90px}
.responsible-section .section-kicker{color:var(--lime)}
.responsible-section .seo-guide-heading>p:last-child,.responsible-grid p{color:#bbc5c3}
.responsible-age{position:absolute;right:38px;top:38px;display:grid;place-items:center;width:54px;height:54px;border:1px solid #ffffff42;border-radius:50%;color:var(--lime);font-size:.9rem;font-weight:800}
.responsible-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-bottom:22px;border:1px solid #ffffff24;border-radius:13px;overflow:hidden;background:#ffffff24}
.responsible-grid section{padding:21px;background:#2b3235}
.responsible-grid h3{margin:0 0 9px;font-size:.97rem;color:#fff}
.help-links{display:flex;flex-wrap:wrap;gap:12px 25px}
.help-links a{color:var(--lime)}
.responsible-warning{margin:20px 0 0;padding-top:18px;border-top:1px solid #ffffff24;color:#bbc5c3;font-size:.69rem;line-height:1.55}
@media(max-width:950px){.seo-guide-heading,.seo-guide-heading.compact{grid-template-columns:1fr;align-items:start}.seo-guide-heading>p:last-child{max-width:720px}.registration-steps li{grid-template-columns:45px minmax(190px,.65fr) minmax(0,1fr);gap:20px}.info-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tax-facts{grid-template-columns:1fr}.responsible-grid{grid-template-columns:1fr}}
@media(max-width:600px){.seo-guide-section{padding:42px 0}.seo-guide-heading{margin-bottom:21px}.seo-guide-heading h2{font-size:1.8rem}.seo-guide-heading>p:last-child{font-size:.76rem}.info-card-grid,.pros-cons-grid{grid-template-columns:1fr}.registration-steps li{grid-template-columns:35px 1fr;gap:10px;padding:17px 0}.registration-steps li p{grid-column:2}.owner-match,.bonus-checklist{grid-template-columns:1fr;gap:8px;padding:17px}.pros-cons-grid section{padding:19px}.responsible-section{margin-bottom:50px;padding:25px 20px;border-radius:14px}.responsible-section .seo-guide-heading{padding-right:0}.responsible-age{position:static;width:45px;height:45px;margin-bottom:18px}.responsible-grid section{padding:18px}.help-links{display:grid;gap:11px}}
