/* Public surfaces only. Existing business/clinic panels never match these roots. */
@font-face{font-family:RankingPublicSans;src:url('/fonts/poppins-latin.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:RankingPublicSans;src:url('/fonts/poppins-600-latin.woff2') format('woff2');font-weight:600;font-display:swap}
body:is(.ranking-public,.ranking-onboarding-public,.ranking-account-access-public,.ranking-public-document,.ranking-demo-public),
body.ranking-general-access:not(.ranking-mobile):has(.login-wrap){
  --rpd-font:'IBM Plex Sans',RankingPublicSans,system-ui,sans-serif;
  --rpd-ink:#182027;--rpd-muted:#515e66;--rpd-line:#d8e0e4;--rpd-accent:#007ca8;
  font-family:var(--rpd-font);scrollbar-color:#929fa7 #f4f6f7;text-underline-offset:4px;
}
body:is(.ranking-public,.ranking-onboarding-public,.ranking-account-access-public,.ranking-public-document,.ranking-demo-public) ::selection{background:#bfeafa;color:#12313b}
body:is(.ranking-public,.ranking-onboarding-public,.ranking-account-access-public,.ranking-public-document,.ranking-demo-public) :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid #007ca8;outline-offset:4px}
body:is(.ranking-public,.ranking-onboarding-public,.ranking-account-access-public,.ranking-public-document,.ranking-demo-public) :is(input,textarea){caret-color:#007ca8}
body.ranking-public :is(.rp-root,.rtl,.rtl-dialog,.rtg-dialog,.rtb-dialog),
body.ranking-onboarding-public :is(.ranking-onboarding,.rtg-dialog),body.ranking-account-access-public .ranking-account-access{font-family:var(--rpd-font);font-size:15px;line-height:1.65}
body.ranking-public :is(h1,h2,h3,h4,.rtg-group-title,.rp-button,.rtg-primary),
body.ranking-onboarding-public :is(h1,h2,h3,.ro-button),body.ranking-account-access-public :is(h1,h2,.raa-button){font-family:var(--rpd-font);letter-spacing:-.025em}
body.ranking-public :is(.rp-eyebrow,.rtl-eyebrow,.rtb-eyebrow,.rp-hero-foot),
body.ranking-onboarding-public .ro-eyebrow,body.ranking-account-access-public .raa-eyebrow{display:none}
body.ranking-public .rp-root{--rp-muted:var(--rpd-muted);--rp-ink:var(--rpd-ink);--rp-line:var(--rpd-line);--text3:var(--rpd-muted);background:#fff}
body.ranking-public{--text:#182027;--text2:#515e66;--text3:#515e66;--border:#d8e0e4;--border2:#9daeb8;--bg-card:#fff;--bg-input:#fff}
body.ranking-public .rp-root .rp-header{min-height:96px;padding-inline:max(32px,calc((100vw - 1328px)/2));gap:24px}
body.ranking-public .rp-top-nav a{font-size:14px;padding:12px 0;min-height:44px}
body.ranking-public .rp-root .rp-login{font-size:14px;min-height:44px;border-radius:8px}
body.ranking-public .rp-hero{max-width:1392px;padding:72px 32px 80px;gap:56px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
body.ranking-public .rp-hero-copy h1{font-size:clamp(40px,4.2vw,60px);font-weight:600;letter-spacing:-.035em;line-height:1.1;margin:0 0 24px}
body.ranking-public .rp-hero-copy h1>span{color:var(--rpd-accent)}
body.ranking-public .rp-hero-copy>p:not(.rp-hero-caption){font-size:17px;line-height:1.7;max-width:48ch;color:var(--rpd-muted)}
body.ranking-public .rp-hero-actions{gap:16px;margin-top:32px}
body.ranking-public .rp-root .rp-button{background:var(--rpd-accent);border-color:var(--rpd-accent);border-radius:8px;font-size:15px!important;min-height:48px;padding:12px 20px;font-weight:600;gap:16px;color:#fff!important}
body.ranking-public .rp-root .rp-button:hover{background:#00698f;border-color:#00698f}
body.ranking-public .rp-hero-example{font-size:15px;min-height:48px;padding:12px 4px;color:var(--rpd-ink)}
body.ranking-public .rp-hero-caption{font-size:13px!important;color:var(--rpd-muted)!important;margin-top:16px!important}
body.ranking-public .rp-panel-film{border-radius:10px;border-color:var(--rpd-line);box-shadow:0 12px 32px -24px #18202750}
body.ranking-public .rp-film-heading{font-size:12px;letter-spacing:0;padding:16px 20px;color:var(--rpd-muted)}
body.ranking-public .rp-film-heading>span:last-child{font-size:12px;color:var(--rpd-muted)}
body.ranking-public .rp-panel-film figcaption{font-size:13px;padding:8px 20px;color:var(--rpd-muted);gap:12px}
body.ranking-public .rp-panel-film figcaption button{font-size:13px;min-height:44px;color:#00698f}
body.ranking-public :is(.rp-tools-section,.rp-templates-section){padding:72px max(32px,calc((100vw - 1328px)/2))}
body.ranking-public .rp-tools-section{background:#f4f6f7}
body.ranking-public .rp-templates-section{background:#fff;border-top:1px solid var(--rpd-line)}
body.ranking-public :is(.rtl-intro h2,.rtg-intro h2){font-size:clamp(32px,3.6vw,44px);font-weight:600;line-height:1.15;letter-spacing:-.03em;margin:0 0 16px}
body.ranking-public :is(.rtl-intro>p,.rtg-intro p){font-size:16px;line-height:1.7;color:var(--rpd-muted);max-width:60ch}
body.ranking-public :is(.rtl-controls,.rtg-filters){gap:24px;margin-top:24px}
body.ranking-public .rtl-search{flex-basis:280px;font-size:14px;color:var(--rpd-muted);gap:8px}
body.ranking-public :is(.rtl-search input,.rtg-filters input,.rtg-filters select){font-size:16px;min-height:48px;border:1px solid #9daeb8;border-radius:8px;padding:12px;background:#fff;color:var(--rpd-ink)}
body.ranking-public .rtl-categories button{min-height:44px;font-size:14px;border-radius:8px;padding:10px 14px}
body.ranking-public :is(.rtl-count,.rtg-count){font-size:14px;color:var(--rpd-muted)}
body.ranking-public .rtl-grid{gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}
body.ranking-public :is(.rtl-card,.rtg-card){border:1px solid var(--rpd-line);border-radius:10px;padding:24px;box-shadow:none;min-width:0}
body.ranking-public .rtl-card:hover{transform:none;border-color:var(--rpd-accent)}
body.ranking-public .rtl-card h3{font:600 21px/1.35 var(--rpd-font);margin:16px 0 12px!important}
body.ranking-public :is(.rtl-card>p,.rtg-card p){font-size:15px;line-height:1.65;color:var(--rpd-muted)}
body.ranking-public :is(.rtl-card-top,.rtl-card-bottom,.rtl-availability,.rtl-operations,.rtg-modules span){font-size:13px;line-height:1.6;color:var(--rpd-muted)}
body.ranking-public .rtl-card-bottom>span{color:#00698f}
body.ranking-public .rtg-group{border-radius:10px;border-color:var(--rpd-line);overflow:clip}
body.ranking-public .rtg-group>summary{padding:20px 24px;min-height:72px}
body.ranking-public .rtg-group-title{font-size:20px;font-weight:600}
body.ranking-public .rtg-group-count{font-size:13px;color:var(--rpd-muted)}
body.ranking-public .rtg-group-icon{border-radius:6px}
body.ranking-public .rtg-card h3{font-size:20px;font-weight:600}
body.ranking-public .rtg-card-actions :is(button,a){min-height:44px;font-size:14px;border-radius:8px}
body.ranking-public .rtg-category{font-size:12px;color:#00698f}
body.ranking-public :is(.rtl-dialog,.rtg-dialog,.rtb-dialog,.rp-dialog){border:1px solid var(--rpd-line);border-radius:12px;line-height:1.6}
body.ranking-public :is(.rtl-dialog,.rtg-dialog,.rtb-dialog,.rp-dialog) :is(button,input,select){min-height:44px;border-radius:8px;font-size:15px}
body.ranking-public :is(.rtl-dialog,.rtg-dialog,.rtb-dialog,.rp-dialog) :is(p,li,label,small){font-size:14px;line-height:1.65}
body.ranking-public :is(.rtl-dialog h2,.rtg-dialog h2,.rtb-dialog h2,.rp-dialog h2){font-size:30px;font-weight:600;line-height:1.25}
body.ranking-public :is(.rtl-dialog>header button,.rtg-dialog-head button,.rtb-close,.rp-close){min-width:44px;min-height:44px}
body.ranking-public .rtl-dialog footer button{background:#007ca8;border-color:#007ca8;color:#fff}
body.ranking-public .rtl-destination{border-top:1px solid var(--rpd-line)}
body.ranking-public .rp-process{max-width:1328px;padding:56px 0;gap:48px;margin-inline:auto}
body.ranking-public .rp-process h2{font-size:22px;line-height:1.35;font-weight:600}
body.ranking-public .rp-process p{font-size:15px;line-height:1.7;color:var(--rpd-muted)}
body.ranking-public .rp-process>div>span{font-size:14px;color:var(--rpd-accent)}
body.ranking-public .rp-mobile-section{padding:64px max(32px,calc((100vw - 1328px)/2)) 0;background:#18252d;gap:64px}
body.ranking-public .rp-mobile-copy h2{font-size:clamp(36px,4vw,52px);line-height:1.15;font-weight:600;margin:0 0 24px}
body.ranking-public .rp-mobile-copy>p{font-size:16px;color:#d0dce2;line-height:1.7}
body.ranking-public .rp-store-state{font-size:13px;color:#c2d1d9;margin-top:16px;line-height:1.6}
body.ranking-public .rp-phone{width:320px;padding:16px 24px 0;box-shadow:none}
body.ranking-public .rp-phone-heading strong{font-family:var(--rpd-font);font-size:28px}
body.ranking-public :is(.rp-phone-heading>span,.rp-phone-date,.rp-phone-note>span){font-size:11px;line-height:1.5;color:#4d6572;letter-spacing:.03em}
body.ranking-public :is(.rp-phone-heading p,.rp-phone-event>span,.rp-phone-event p,.rp-phone-note p,.rp-phone-nav){font-size:12px;color:#4d6572;line-height:1.6}
body.ranking-public :is(.rp-phone-event strong,.rp-phone-note strong){font-size:14px}
body.ranking-public .rp-root .rp-start{padding:64px 0;gap:32px}
body.ranking-public .rp-root .rp-start h2{font-size:40px;font-weight:600;margin:0 0 16px}
body.ranking-public .rp-root .rp-start p{font-size:16px;color:var(--rpd-muted)}
body.ranking-public .rp-root .rp-start-actions .rp-account-link{font-size:14px;color:var(--rpd-muted);min-height:44px}
body.ranking-public .rp-root .rp-footer{font-size:13px;color:var(--rpd-muted);padding:24px 0;gap:24px;flex-wrap:wrap}
body.ranking-public .rp-footer>a{min-height:44px;color:#365364}
/* Public forms share the same readable controls without touching authenticated forms. */
body.ranking-onboarding-public .ranking-onboarding :is(.ro-header,.ro-card,.ro-summary,.ro-tool,.rt-preview),
body.ranking-account-access-public .ranking-account-access .raa-header{border-radius:10px}
body.ranking-onboarding-public .ranking-onboarding .ro-header,body.ranking-account-access-public .ranking-account-access .raa-header{border-radius:0;border-bottom:1px solid #18252d;min-height:96px}
body.ranking-onboarding-public .ranking-onboarding :is(h1,.ro-lead),body.ranking-account-access-public .ranking-account-access h1{letter-spacing:-.025em}
body.ranking-onboarding-public .ranking-onboarding :is(.ro-lead,.ro-tool strong,.ro-tool small,.ro-note,.ro-summary p),
body.ranking-account-access-public .ranking-account-access :is(.raa-lead,label){font-size:15px;line-height:1.7}
body.ranking-onboarding-public .ranking-onboarding :is(label,.ro-progress li,.ro-header-link,.ro-footer),
body.ranking-account-access-public .ranking-account-access :is(small,.raa-header-link,.raa-footer){font-size:13px;line-height:1.6}
body.ranking-onboarding-public .ranking-onboarding :is(input:not([type=checkbox]),select,.ro-button,.ro-password-toggle),
body.ranking-account-access-public .ranking-account-access :is(input,.raa-button,.raa-password button){min-height:48px;font-size:16px;border-radius:8px}
body.ranking-onboarding-public .ranking-onboarding :is(.ro-note,.ro-message),body.ranking-account-access-public .ranking-account-access .raa-message{border-left-width:1px;border-radius:8px;font-size:14px}
body.ranking-onboarding-public .ranking-onboarding .ro-footer,body.ranking-account-access-public .ranking-account-access .raa-footer{color:#515e66}
body.ranking-onboarding-public .ranking-onboarding .ro-progress span{border-radius:50%;width:28px;height:28px}
body.ranking-general-access:not(.ranking-mobile) .login-wrap{font-family:var(--rpd-font)}
body.ranking-general-access:not(.ranking-mobile) .login-wrap :is(.lg-h,.lg-pitch){font-family:var(--rpd-font);letter-spacing:-.025em}
body.ranking-general-access:not(.ranking-mobile) .login-wrap :is(.lg-sub,.lg-foot,.ranking-recovery-link){font-size:14px;line-height:1.6}
body.ranking-general-access:not(.ranking-mobile) .login-wrap :is(input:not([type=checkbox]),.lg-btn){min-height:48px;font-size:16px;border-radius:8px}
body.ranking-general-access:not(.ranking-mobile) .login-wrap :is(.lg-sub,.lg-foot){color:#515e66}
body.ranking-general-access:not(.ranking-mobile) .login-wrap input::placeholder{color:#58666e;opacity:1}
body.ranking-general-access:not(.ranking-mobile) .login-wrap #l-btn{min-height:48px;border-radius:8px;background:#007ca8;border-color:#007ca8;color:#fff}
body.ranking-general-access:not(.ranking-mobile) .login-wrap .ranking-recovery-link{display:inline-flex;align-items:center;min-height:44px;margin-right:20px;color:#00698f;text-underline-offset:4px}
/* Only the public account-creation form, never the saved-business chooser. */
body.ranking-my-businesses:not(.ranking-mobile):has(.rmb-register){--rpd-font:'IBM Plex Sans',RankingPublicSans,system-ui,sans-serif}
body.ranking-my-businesses:not(.ranking-mobile):has(.rmb-register) :is(.ranking-my-businesses,h1,h2){font-family:var(--rpd-font)}
body.ranking-my-businesses:not(.ranking-mobile):has(.rmb-register) .rmb-eyebrow{display:none}
body.ranking-my-businesses:not(.ranking-mobile):has(.rmb-register) .rmb-header{border-bottom:1px solid #18252d}
body.ranking-my-businesses:not(.ranking-mobile):has(.rmb-register) .rmb-header a{min-height:44px;font-size:14px;display:inline-flex;align-items:center}
body.ranking-my-businesses:not(.ranking-mobile) .rmb-register h1{font-size:clamp(32px,4vw,44px);line-height:1.18;letter-spacing:-.03em;margin-top:0}
body.ranking-my-businesses:not(.ranking-mobile) .rmb-register :is(.rmb-lead,p,label){font-size:15px;line-height:1.7;color:#515e66}
body.ranking-my-businesses:not(.ranking-mobile) .rmb-register :is(input,button){min-height:48px;font-size:16px;border-radius:8px}
body.ranking-my-businesses:not(.ranking-mobile) .rmb-register input{border-color:#9daeb8;color:#182027;caret-color:#007ca8}
body.ranking-my-businesses:not(.ranking-mobile) .rmb-register :is(small,.rmb-privacy){font-size:13px;line-height:1.6;color:#515e66}
body.ranking-my-businesses:not(.ranking-mobile) .rmb-register :is(input,button,a):focus-visible{outline:2px solid #007ca8;outline-offset:4px}
/* Read-only public documents preserve their complete content. */
body.ranking-public-document{margin:0;background:#f4f6f7;color:var(--rpd-ink);font:16px/1.75 var(--rpd-font)}
body.ranking-public-document main{max-width:800px;padding:56px 32px;margin:auto}
body.ranking-public-document h1{font-size:clamp(32px,5vw,48px);line-height:1.15;letter-spacing:-.03em;margin:32px 0 24px}
body.ranking-public-document h2{font-size:24px;line-height:1.35;margin:40px 0 12px}
body.ranking-public-document a{color:#00698f;text-underline-offset:4px;overflow-wrap:anywhere}
body.ranking-public-document :is(li,p){max-width:72ch}
/* The standalone demonstration is public example data, never a saved business. */
body.ranking-demo-public{--muted:#52605c;font:15px/1.6 var(--rpd-font)}
body.ranking-demo-public :is(h1,h2,h3,h4){font-family:var(--rpd-font);letter-spacing:-.025em}
body.ranking-demo-public .chooser .eyebrow{display:none}
body.ranking-demo-public :is(.scenario-card,.scenario-preview,.btn,.open-scenario){border-radius:10px}
body.ranking-demo-public .scenario-card:hover{transform:none}
body.ranking-demo-public :is(.chooser-intro p,.scenario-card .summary,.chooser-note){font-size:15px;line-height:1.7}
body.ranking-demo-public :is(.open-scenario,.btn,.nav-item){min-height:44px;font-size:13px}
body.ranking-demo-public :is(input,select,textarea){min-height:44px;font-size:16px;border-radius:8px}
body.ranking-demo-public :is(.scenario-tags span,.scenario-numbers span){font-size:12px}
body.ranking-demo-public :is(.kpi,.panel){border-radius:10px}
body.ranking-demo-public .kpi.accent{border-top-width:1px;padding-top:18px}
body.ranking-demo-public .kpi-head{font-size:13px;line-height:1.5}
body.ranking-demo-public .kpi small{font-size:12px;line-height:1.6;color:#52605c}
body.ranking-demo-public .kpi strong{font-family:var(--rpd-font);letter-spacing:-.025em}
@media(max-width:1384px){body.ranking-public :is(.rp-process,.rp-root .rp-start,.rp-root .rp-footer){margin-inline:32px}}
@media(max-width:1100px){
  body.ranking-public .rp-hero{grid-template-columns:1fr;max-width:850px;gap:40px;padding-block:56px}
  body.ranking-public .rtl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1000px){body.ranking-public .rtl-search{flex-basis:auto;width:100%}}
@media(max-width:760px){
  body.ranking-public .rp-root .rp-header{padding:12px 20px;display:grid;grid-template-columns:1fr auto;gap:8px 16px}
  body.ranking-public .rp-header-sub{display:none}
  body.ranking-public .rp-root .rp-login{grid-column:2;grid-row:1;margin:0;justify-self:end}
  body.ranking-public .rp-root .rp-top-nav{display:flex;grid-column:1/-1;grid-row:2;gap:8px 20px!important;justify-content:flex-start;flex-wrap:wrap;margin:0;border-top:1px solid #353b3e;width:100%}
  body.ranking-public .rp-top-nav a{font-size:13px}
  body.ranking-public .rp-hero{padding:40px 20px 48px;gap:32px}
  body.ranking-public .rp-hero-copy h1{font-size:clamp(34px,7.2vw,50px)}
  body.ranking-public .rp-hero-copy>p:not(.rp-hero-caption){font-size:16px}
  body.ranking-public :is(.rp-tools-section,.rp-templates-section){padding:48px 20px}
  body.ranking-public .rp-process{margin-inline:20px;gap:32px;padding:40px 0}
  body.ranking-public .rp-process h2{font-size:21px}
  body.ranking-public .rp-mobile-section{padding:48px 20px 0;gap:32px}
  body.ranking-public .rp-phone{max-width:100%}
  body.ranking-public .rp-root .rp-start{margin-inline:20px;padding:48px 0;flex-direction:column;align-items:flex-start}
  body.ranking-public .rp-root .rp-start h2{font-size:34px}
  body.ranking-public .rp-root .rp-footer{margin-inline:20px;gap:8px;align-items:flex-start}
}
@media(max-width:560px){
  body.ranking-demo-public .kpis{grid-template-columns:minmax(0,1fr)}
  body.ranking-demo-public .kpi strong{font-size:28px}
  body.ranking-public .rtl-grid{grid-template-columns:minmax(0,1fr)}
  body.ranking-public .rp-film-heading,body.ranking-public .rp-panel-film figcaption{padding-inline:12px;font-size:12px}
  body.ranking-public .rp-panel-film figcaption{align-items:flex-start;flex-wrap:wrap;gap:0}
  body.ranking-public .rp-panel-film figcaption button{padding-left:0}
  body.ranking-public .rtg-group>summary{padding:16px;gap:12px}
  body.ranking-public .rtg-group-title{font-size:18px}
  body.ranking-public .rtg-group-count{white-space:normal;font-size:12px}
  body.ranking-public .rp-hero-actions{align-items:stretch;gap:12px}
  body.ranking-onboarding-public .ranking-onboarding .ro-progress li{font-size:12px;flex-direction:column;align-items:flex-start;gap:8px}
  body.ranking-public-document main{padding:32px 20px}
}
