/* Shared library components. All selectors are scoped to the plugin's templates. */
.sanor-foundation{--sm-ink:#102f1d;--sm-dark:#1e4833;--sm-neon:#96f878;--sm-grey:#f4f5f2;--sm-line:#e4e8e1;margin:0;background:#fff;color:var(--sm-ink);font-family:var(--font-sans,Inter,Arial,sans-serif);font-size:17px;line-height:1.65;overflow-x:clip}
.sanor-foundation *{box-sizing:border-box}.sanor-foundation a:where(:not(.sm-theme-footer *)){color:inherit}.sanor-foundation h1:where(:not(.sm-theme-footer *)),.sanor-foundation h2:where(:not(.sm-theme-footer *)),.sanor-foundation h3:where(:not(.sm-theme-footer *)),.sanor-foundation p:where(:not(.sm-theme-footer *)){margin:0}.sanor-foundation h1:where(:not(.sm-theme-footer *)){font-family:var(--font-display,'Source Serif 4',Georgia,serif);font-size:clamp(40px,5vw,70px);line-height:1.1;font-weight:600;letter-spacing:-.02em}.sanor-foundation h2:where(:not(.sm-theme-footer *)){font-size:23px;font-weight:500;line-height:1.4;margin-bottom:22px}.sanor-foundation h3:where(:not(.sm-theme-footer *)){font-size:20px;font-weight:550;line-height:1.35}.sanor-foundation p:where(:not(.sm-theme-footer *))+p{margin-top:18px}
.sanor-foundation::before{content:'';position:absolute;z-index:-1;inset:0 0 auto;height:980px;background:linear-gradient(to bottom,transparent 30%,#fff 100%),radial-gradient(ellipse at 20% 5%,#315d42,transparent 70%),#102f1d}
.sanor-foundation:has(.sm-directory)::before{height:720px;background:linear-gradient(to bottom,transparent 35%,#fff 100%),radial-gradient(ellipse at 15% 15%,#b2d5a6,transparent 65%),#dee9cc}
.sm-header{max-width:1350px;margin:auto;padding:28px 40px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;color:#fff}.sm-header a{text-decoration:none}.sm-header>.sm-button{justify-self:end}.sm-header-directory{color:var(--sm-ink);grid-template-columns:auto 1fr auto}.sm-header-directory nav{display:flex;justify-content:center;gap:32px}.sm-wordmark{font-family:'Sora',sans-serif;font-weight:800;font-size:30px;letter-spacing:.02em;line-height:1}.sm-back{font-size:18px}.sm-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 25px;background:var(--sm-neon);color:var(--sm-ink)!important;border:0;border-radius:30px;font:600 16px/1.4 var(--font-sans,Arial,sans-serif);text-decoration:none;cursor:pointer}.sm-button:hover{filter:brightness(.96)}
.sm-detail{padding:20px 24px 0}.sm-sheet{max-width:1000px;margin:auto;background:#fff;border-radius:20px 20px 0 0}.sm-intro{max-width:900px;margin:0 auto 26px;background:rgba(255,255,255,.76);padding:18px 26px;border-radius:14px;color:#191919;font-size:15px;line-height:1.6}.sm-intro a{font-weight:650;text-underline-offset:3px}.sm-hero{padding:36px 60px 42px}.sm-breadcrumbs{display:flex;gap:13px;margin:0 0 30px;font-size:18px;font-weight:500}.sm-breadcrumbs a{text-decoration:none}.sm-breadcrumbs a:hover{text-decoration:underline}.sm-identity{display:flex;gap:30px;align-items:center}.sm-identity>.sm-logo{width:190px;height:110px;flex-shrink:0}.sm-identity>.sm-portrait{width:150px;height:190px;flex-shrink:0}.sm-category{margin-top:15px!important;color:#657166}.sm-description{font-size:20px;line-height:1.65;margin-top:24px!important;max-width:780px}.sm-updated{font-size:17px;margin-top:22px!important}.sm-monitor-detail .sm-sheet{max-width:1350px;background:transparent}.sm-monitor-detail .sm-hero{text-align:center;color:#fff;padding:26px 0 50px}.sm-monitor-detail .sm-identity{display:block}.sm-monitor-detail h1{font-size:clamp(44px,6.5vw,104px);line-height:1.05}.sm-monitor-detail .sm-description{max-width:850px;margin:28px auto 0!important}.sm-monitor-detail .sm-content{background:#fff}.sm-monitor-detail .sm-tabs{background:#fff}
.sm-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:42px;text-align:left}.sm-stats-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm-stats-1 .sm-stat{grid-column:1}.sm-stat{position:relative;overflow:hidden;background:#f2f4ef;border:1px solid #e7ebe3;border-radius:15px;padding:22px 24px;color:var(--sm-ink);display:flex;flex-direction:column}.sm-monitor-detail .sm-stat{background:rgba(255,255,255,.94)}.sm-stat:before{content:'';position:absolute;top:0;left:-30%;width:30%;height:2px;background:linear-gradient(90deg,transparent,#96f878,transparent);animation:sm-sweep 4s linear infinite}.sm-stat h2{font-size:17px;font-weight:500;margin:0 0 18px}.sm-number{font-family:var(--font-display,Georgia,serif);font-size:clamp(35px,4vw,58px);font-weight:600;line-height:1.1}.sm-stat p{font-size:13px;line-height:1.5;margin-top:16px!important}.sm-chart{display:block;width:100%;height:58px;margin:16px 0 0;color:#2d7040;overflow:visible}.sm-chart polyline{stroke-dasharray:400;stroke-dashoffset:400;animation:sm-draw 2s ease forwards}.sm-stat:not(:has(.sm-chart)) .sm-number{margin:auto 0}
.sm-tabs{max-width:800px;margin:0 auto;display:flex;gap:28px;align-items:center;border-bottom:1px solid var(--sm-line);overflow-x:auto;scrollbar-width:thin}.sm-tabs a{position:relative;display:flex;align-items:center;gap:10px;white-space:nowrap;padding:19px 0;text-decoration:none;font-size:18px;font-weight:400}.sm-tabs a[aria-current]{box-shadow:inset 0 -3px var(--sm-ink);font-weight:550}.sm-live{display:inline-block;width:8px;height:8px;border-radius:50%;background:#e64d46;position:relative;flex:none}.sm-live:after{content:'';position:absolute;inset:0;border-radius:inherit;background:inherit;animation:sm-pulse 2s ease-out infinite}.sm-content{max-width:800px;margin:0 auto}.sm-section{padding:34px 0;border-bottom:1px solid var(--sm-line)}.sm-section>p{margin-bottom:18px}.sm-section li{margin-bottom:16px}.sm-section li::marker{color:var(--sm-ink)}.sm-section>.sm-meta{margin-top:-10px}.sm-text-link{display:inline-block;text-decoration:underline;text-underline-offset:4px;font-weight:550;margin-top:20px}.sm-cards{display:grid;gap:22px}.sm-grid-three{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.sm-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.sm-card{position:relative;background:var(--sm-grey);border-radius:15px;padding:24px;overflow:hidden;transition:box-shadow .16s;min-width:0}.sm-card[data-sm-href]{cursor:pointer}.sm-card h3>a{text-decoration:none}.sm-card:hover{box-shadow:0 3px 12px rgba(16,47,29,.1)}.sm-card p{font-size:16px;line-height:1.6;margin-top:12px}.sm-card .sm-meta{font-size:14px;color:#738075;font-weight:400}.sm-card-arrow{position:absolute;right:0;top:0;bottom:0;display:flex;align-items:center;justify-content:flex-end;padding:24px;width:100px;font-size:32px;background:linear-gradient(90deg,transparent,#fff 80%);opacity:0;transition:opacity .15s;pointer-events:none}.sm-card:hover>.sm-card-arrow,.sm-card:focus-within>.sm-card-arrow{opacity:1}.sm-meta{font-size:15px;line-height:1.5;color:#738075}.sm-card-copy{min-width:0}.sm-logo{object-fit:contain;width:115px;height:65px;display:block;margin-bottom:16px}.sm-portrait{display:block;object-fit:cover;object-position:center top;width:90px;height:120px;border-radius:10px}.sm-placeholder{background:#e9ede6;color:#738471;align-items:center;justify-content:center}.sm-placeholder svg{width:100%;height:100%;fill:currentColor}.sm-person-card{display:flex;align-items:start;gap:20px}.sm-person-card>.sm-portrait{flex:none}.sm-mentions{display:flex;flex-wrap:wrap;gap:7px 12px;font-size:14px;color:#738075;margin-top:18px}.sm-mentions a{text-underline-offset:3px}.sm-tags{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.sm-tag{display:inline-block;background:var(--sm-dark);color:#fff!important;border-radius:20px;padding:5px 12px;text-decoration:none;font-size:13px;line-height:1.5;transition:background .15s}a.sm-tag:hover{background:#326648}.sm-tag-deal{cursor:default;transition:none;background:var(--sm-neon);color:var(--sm-ink)!important}.sm-sources .sm-meta a{overflow-wrap:anywhere}.sm-timeline{border-left:1px solid #dfe5dc;padding-left:25px;margin-left:8px}.sm-timeline>.sm-card{overflow:visible}.sm-timeline>.sm-card:before{content:'';position:absolute;left:-32px;top:30px;width:11px;height:11px;background:#b2bcb0;border:2px solid white;border-radius:50%}.sm-timeline>.sm-card:first-child:before{background:#2d7040;box-shadow:0 0 0 4px #d9efc7}.sm-timeline .sm-card-arrow{border-radius:0 15px 15px 0}.sm-empty{padding:30px 0;color:#738075}.sm-pagination{display:flex;gap:16px;margin:30px 0;flex-wrap:wrap}.sm-pagination a,.sm-pagination span{padding:5px 10px}.sm-pagination .current{background:#e8efe2;border-radius:5px}
.sm-monitor-card{background:#1e4833;color:#fff;padding:28px;min-height:330px}.sm-monitor-card h3{font-family:var(--font-display,Georgia,serif);font-size:34px;line-height:1.15;font-weight:600}.sm-monitor-card .sm-meta{color:#d8e5d7}.sm-monitor-card .sm-chart{color:#96f878;margin-top:25px;height:70px}.sm-monitor-card .sm-card-arrow{background:linear-gradient(90deg,transparent,#1e4833 80%)}.sm-card-market{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:rgba(255,255,255,.11);border-radius:12px;padding:16px;margin-top:20px}.sm-card-market strong{font-family:var(--font-display,Georgia,serif);font-size:29px;display:block}.sm-card-market span{font-size:12px;line-height:1.5;display:block;margin-top:5px}.sm-directory-hero{max-width:1050px;margin:auto;text-align:center;padding:40px 24px 80px}.sm-directory-hero h1{font-size:clamp(44px,6.5vw,104px);line-height:1.05}.sm-directory-hero p{font-size:22px;line-height:1.6;font-weight:300;max-width:850px;margin:28px auto 0}.sm-directory-content{max-width:1200px;padding:35px 24px}.sm-search{display:flex;gap:12px;margin-bottom:30px}.sm-search input{flex:1;min-width:0;background:#f5f6f3;border:1px solid #e0e6db;padding:14px 20px;border-radius:10px;font:inherit}.sm-callout{max-width:1000px;margin:60px auto;background:#102f1d;color:white;border-radius:18px;text-align:center;padding:65px 40px}.sm-callout h2{font-family:var(--font-display,Georgia,serif);font-size:clamp(32px,4vw,48px);font-weight:600;line-height:1.15}.sm-callout p{max-width:720px;margin:30px auto;font-size:20px;font-weight:400}.sanor-foundation :focus-visible{outline:2px solid #72a344;outline-offset:4px}
@keyframes sm-pulse{0%{transform:scale(1);opacity:.5}85%,100%{transform:scale(2.5);opacity:0}}@keyframes sm-sweep{to{left:100%}}@keyframes sm-draw{to{stroke-dashoffset:0}}
@media(max-width:950px){.sm-header{padding:24px}.sm-header-directory nav{gap:15px;font-size:14px}.sm-grid-three{grid-template-columns:repeat(2,minmax(0,1fr))}.sm-content,.sm-tabs{margin-left:30px;margin-right:30px}.sm-hero{padding:30px}.sm-stats-4{grid-template-columns:repeat(2,minmax(0,1fr))}.sm-wordmark{font-size:34px}}
@media(max-width:600px){.sm-header{grid-template-columns:1fr auto;padding:20px}.sm-header .sm-wordmark{grid-column:2;grid-row:1}.sm-header>.sm-button,.sm-header-directory nav{display:none}.sm-header-directory .sm-wordmark{grid-column:1}.sm-back{font-size:14px}.sm-detail{padding:12px}.sm-intro{padding:16px;font-size:14px}.sm-hero{padding:24px 18px}.sm-content,.sm-tabs{margin-left:18px;margin-right:18px}.sm-identity{align-items:flex-start;gap:18px}.sm-identity>.sm-logo{width:100px;height:70px}.sm-identity>.sm-portrait{width:85px;height:115px}.sm-identity h1{font-size:36px}.sm-description{font-size:18px}.sm-stats{grid-template-columns:1fr;gap:14px}.sm-stats-4{grid-template-columns:1fr 1fr}.sm-stat{padding:18px}.sm-number{font-size:38px}.sm-grid-three,.sm-grid-two{grid-template-columns:1fr}.sm-tabs{gap:22px}.sm-tabs a{font-size:16px}.sm-card{padding:20px}.sm-breadcrumbs{font-size:15px;gap:8px}.sm-callout{margin:40px 12px;padding:36px 24px}.sm-directory-hero p{font-size:18px}.sm-directory-content{margin:0;padding:28px 20px}}
@media(prefers-reduced-motion:reduce){.sanor-foundation *{animation:none!important;transition:none!important}.sm-chart polyline{stroke-dashoffset:0}}

.sm-profile-detail:has(.sm-sources) .sm-sheet{box-shadow:0 12px 40px rgba(16,47,29,.1)}
.sm-description p{font:inherit}.sm-editor-note{font-size:14px}

/* Monitor pages retain the shared footer without the clinic-specific promotion. */
.sanor-foundation .sm-theme-footer .gm--footer{display:none}
