:root{--color-background: #fbfcff;--color-surface: #ffffff;--color-border: #dbe3f1;--color-border-strong: #c9d5ea;--color-text: #0d2b33;--color-text-muted: #4a6670;--color-text-soft: #7a9aa6;--color-accent: #5450e8;--color-accent-strong: #4039de;--color-accent-soft: #eef0ff;--color-error: #9f2f58;--color-focus-ring: rgba(84, 80, 232, .26);--color-trust: #edf3ff;--shadow-soft: 0 16px 36px rgba(84, 80, 232, .12);--shadow-hover: 0 18px 30px rgba(84, 80, 232, .16);font-family:Avenir Next,Trebuchet MS,sans-serif;color:var(--color-text);background:var(--color-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:light}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--color-text);background:linear-gradient(180deg,#fff,#f9fbff)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;white-space:nowrap;clip:rect(0,0,0,0);border:0}h1,h2,h3,p{margin-top:0}h1{margin-bottom:.85rem;font-size:3rem;line-height:1.04}h2{margin-bottom:.5rem;font-size:2rem;line-height:1.08}h3{margin-bottom:.5rem;font-size:1.05rem}#root,.auth-stage,.dashboard-layout,.status-screen{min-height:100vh}.auth-stage{display:grid;place-items:start center;padding:clamp(.9rem,2vw,1.5rem)}.auth-stage__inner{width:min(100%,35rem);display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:.25rem 0 2rem;text-align:center}.auth-stage__brand-lockup{display:grid;justify-items:center;gap:.75rem;margin-top:.1rem}.auth-brand{display:grid;place-items:center;width:5rem;height:3.3rem;border:1px solid #f3c94f;border-radius:.7rem;background:#fff;box-shadow:0 4px 10px #23232314}.auth-brand__mark{position:relative;width:2.8rem;height:2.3rem;border-radius:.6rem;background:#090909}.auth-brand__sun{position:absolute;top:.45rem;right:.52rem;width:.28rem;height:.28rem;border-radius:999px;background:#fff}.auth-brand__ridge{position:absolute;left:.62rem;bottom:.63rem;height:.7rem;border-left:2px solid #ffffff;border-bottom:2px solid #ffffff;transform:skew(-32deg) rotate(-45deg);transform-origin:bottom left}.auth-brand__ridge--back{width:.78rem}.auth-brand__ridge--front{left:1.18rem;bottom:.57rem;width:.92rem;height:.82rem}.auth-stage__wordmark,.auth-stage__legal{margin:0;color:#7a9aa6;text-transform:uppercase;letter-spacing:.28em;font-size:.82rem}.auth-stage__eyebrow-row{display:flex;justify-content:center;width:100%}.auth-stage__eyebrow{margin:0;padding:.45rem .7rem;border-radius:.35rem;background:var(--color-accent-soft);color:var(--color-accent);font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.auth-stage__copy{max-width:26rem}.auth-stage__copy p{margin:0;color:var(--color-text-muted);font-size:1rem;line-height:1.6}.auth-stage__form{width:100%}.auth-stage__form--login{max-width:27rem}.auth-stage__form--register{margin-top:-.25rem;max-width:35rem}.auth-form-shell{width:100%}.auth-form{display:grid;gap:1.35rem;text-align:left}.auth-form--compact{gap:1rem}.auth-field-grid{display:grid;gap:1rem}.auth-field-grid--split{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-field{display:grid;gap:.55rem}.ui-field__label{color:#4a6670;font-size:.96rem;font-weight:700}.ui-input{width:100%;min-height:3.5rem;border:1px solid var(--color-border);border-radius:1rem;padding:.95rem 1.05rem;color:var(--color-text);background:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:inset 0 1px #ffffffbf;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}select.ui-input{padding-right:2.6rem;background-image:linear-gradient(45deg,transparent 50%,#4a6670 50%),linear-gradient(135deg,#4a6670 50%,transparent 50%);background-position:calc(100% - 1.25rem) 50%,calc(100% - .9rem) 50%;background-size:.36rem .36rem,.36rem .36rem;background-repeat:no-repeat}.ui-textarea{min-height:6rem;resize:vertical;line-height:1.45}.ui-input::placeholder{color:#7a9aa6}.ui-input:hover{border-color:var(--color-border-strong)}.ui-input:focus-visible{outline:none;border-color:#5450e861;box-shadow:0 0 0 4px var(--color-focus-ring)}.ui-input[aria-invalid=true]{border-color:#b3476f75;background:#b3476f09}.ui-input[aria-invalid=true]:focus-visible{box-shadow:0 0 0 4px #9f2f5833}.ui-field__helper,.ui-field__error{margin:-.15rem 0 0;font-size:.84rem;line-height:1.45}.ui-field__helper{color:var(--color-text-soft)}.ui-field__error{color:var(--color-error);font-weight:700}.form-error{margin:0;padding:.85rem .95rem;border:1px solid rgba(159,47,88,.24);border-radius:1rem;background:#9f2f5814;color:var(--color-error);font-weight:700;line-height:1.45}.form-success{margin:0;padding:.85rem .95rem;border:1px solid rgba(34,126,86,.24);border-radius:1rem;background:#ecf8f2;color:#1f704d;font-weight:700;line-height:1.45}.auth-form__utility{margin-top:-.25rem;text-align:right}.auth-verification{display:grid;gap:1rem;text-align:center}.auth-verification__status{display:grid;place-items:center;justify-self:center;width:3.4rem;height:3.4rem;border:1px solid rgba(84,80,232,.26);border-radius:1rem;background:var(--color-accent-soft);color:var(--color-accent);font-size:1rem;font-weight:800}.auth-verification--success .auth-verification__status{border-color:#227e5647;background:#ecf8f2;color:#227e56}.auth-verification--error .auth-verification__status{border-color:#9f2f583d;background:#9f2f5814;color:var(--color-error)}.auth-verification h2{margin-bottom:0;font-size:1.55rem}.auth-verification p{margin:0;color:var(--color-text-muted);line-height:1.55}.ui-button{border:1px solid transparent;border-radius:1rem;padding:1rem 1.2rem;font-weight:700;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease,color .16s ease}.ui-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-hover)}.ui-button:focus-visible{outline:none;box-shadow:0 0 0 4px var(--color-focus-ring)}.ui-button:disabled{cursor:not-allowed;opacity:.78;transform:none;box-shadow:none}.ui-button[data-loading=true]{cursor:wait}.ui-button--full{width:100%}.ui-button--primary{background:linear-gradient(90deg,var(--color-accent-strong) 0%,var(--color-accent) 100%);color:#fff}.ui-button--secondary{border-color:var(--color-border);background:#fff;color:var(--color-accent)}.auth-submit{margin-top:.15rem;min-height:4.1rem;border-radius:1.05rem;box-shadow:0 12px 28px #5450e838;font-size:1.02rem}.auth-switch-row{margin:1.35rem 0 0;color:var(--color-text-soft);font-size:.96rem;text-align:center}.auth-stage__form--login .auth-switch-row{margin-top:1.05rem;font-size:.9rem}.auth-stage__form--register .auth-switch-row{margin-top:1.15rem}.auth-inline-link{border:0;padding:0;background:transparent;color:var(--color-accent);font-weight:700}.auth-inline-link:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:4px;border-radius:.25rem}.register-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;width:100%;margin:0 0 1rem;padding:0;list-style:none}.register-steps__item button{display:flex;align-items:center;justify-content:center;gap:.45rem;width:100%;min-height:2.65rem;border:1px solid var(--color-border);border-radius:.7rem;padding:.55rem .65rem;background:#fff;color:var(--color-text-muted);font-size:.88rem;font-weight:700}.register-steps__item span{display:grid;place-items:center;width:1.45rem;height:1.45rem;border-radius:999px;background:#eef2f8;color:var(--color-text-muted);font-size:.78rem}.register-steps__item--active button,.register-steps__item[aria-current=step] button{border-color:#5450e852;background:var(--color-accent-soft);color:var(--color-accent)}.register-steps__item--active span,.register-steps__item[aria-current=step] span{background:var(--color-accent);color:#fff}.register-panel{display:grid;gap:1.05rem}.register-claim-panel{display:grid;gap:.9rem;border:1px solid var(--color-border);border-radius:.5rem;padding:1rem;background:#fbfcff;text-align:left}.register-claim-panel h3{margin-bottom:0;font-size:1.05rem}.register-actions{display:flex;align-items:center;gap:.75rem}.register-actions .ui-button{min-height:3.5rem;flex:1}.rating-field{display:grid;gap:.65rem;margin:0;padding:0;border:0}.rating-field legend{padding:0;color:#36455f;font-size:.96rem;font-weight:700}.rating-control{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem}.rating-control__button{min-height:3rem;border:1px solid var(--color-border);border-radius:.75rem;background:#fff;color:var(--color-text-muted);font-weight:800}.rating-control__button--active{border-color:#5450e84d;background:var(--color-accent);color:#fff}.register-skip{justify-self:start;font-size:.92rem}.dashboard-layout{--page-gutter: clamp(1.5rem, 3vw, 3rem);display:grid;gap:1.5rem;padding:0 0 var(--page-gutter)}.dashboard-header,.dashboard-hero,.dashboard-callout{display:flex;align-items:center;justify-content:space-between;gap:1rem}.dashboard-header h1{max-width:none;font-size:clamp(2.6rem,4vw,4rem)}.dashboard-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-card,.dashboard-hero,.dashboard-callout,.status-card{padding:1.25rem;border:1px solid var(--color-border);border-radius:1.5rem;background:var(--color-surface);box-shadow:var(--shadow-soft)}.dashboard-card li,.dashboard-hero p,.dashboard-callout p,.status-card p{color:var(--color-text-muted);line-height:1.6}.dashboard-callout{border-color:#5450e847;background:linear-gradient(180deg,#fff,#f7f8ff)}.dashboard-callout--warning{border-color:#be861947;background:linear-gradient(180deg,#fff,#fff9eb)}.dashboard-callout h2{font-size:1.55rem}.callout-feedback{margin:.55rem 0 0;font-weight:700}.callout-feedback--error{color:var(--color-error)}.dashboard-card ul{margin:0;padding-left:1.25rem}.dashboard-card li::marker{color:var(--color-accent)}.dashboard-card li+li{margin-top:.7rem}.dashboard-card--action{display:grid;align-content:start;gap:.75rem}.dashboard-card--wide{grid-column:1 / -1}.dashboard-card--action h2{margin-bottom:0;font-size:1.45rem}.dashboard-card--action p:not(.eyebrow){margin-bottom:0;color:var(--color-text-muted);line-height:1.55}.dashboard-card__link,.directory-back-link,.vendor-card__detail-link{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:2.75rem;border:1px solid var(--color-border);border-radius:.85rem;padding:.75rem 1rem;background:#fff;color:var(--color-accent);font-weight:800;text-decoration:none}.dashboard-card__link:focus-visible,.directory-back-link:focus-visible,.vendor-card__detail-link:focus-visible,.vendor-card__select:focus-visible,.vendor-contact-link:focus-visible,.vendor-contact-email:focus-visible{outline:none;box-shadow:0 0 0 4px var(--color-focus-ring)}.dashboard-card code{color:var(--color-accent-strong);font-weight:700}.admin-claims-panel,.admin-claim-list,.admin-claim-item{display:grid;gap:1rem}.admin-claim-item{grid-template-columns:minmax(0,1fr) auto;align-items:start;border:1px solid var(--color-border);border-radius:.5rem;padding:1rem;background:#fff}.admin-claim-item h3,.admin-claim-item p{margin:0}.admin-claim-item p{color:var(--color-text-muted);line-height:1.5}.admin-claim-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end}.admin-console-header{align-items:flex-start}.dashboard-header.admin-console-header h1,.directory-header.community-board-header h1{margin-bottom:.35rem;font-size:clamp(1.85rem,2.5vw,2.5rem);line-height:1.08}.dashboard-header.admin-console-header .eyebrow,.directory-header.community-board-header .eyebrow{margin-bottom:.4rem}.dashboard-header.admin-console-header .hero-copy,.directory-header.community-board-header .hero-copy{margin-bottom:0;line-height:1.45}.admin-console-panel{display:grid;gap:1rem}.admin-console-controls{display:grid;grid-template-columns:minmax(12rem,18rem) minmax(0,1fr);gap:1rem;align-items:end}.admin-console-actions{display:flex;flex-wrap:wrap;gap:.75rem}.admin-console-table{display:grid;overflow-x:auto;border:1px solid var(--color-border);border-radius:8px;background:#fff}.admin-console-table__row{display:grid;grid-template-columns:1fr 1.4fr .5fr 1fr;gap:.75rem;min-width:48rem;padding:.85rem 1rem;border-top:1px solid var(--color-border);color:var(--color-text-muted)}.admin-console-table__row:first-child{border-top:0}.admin-console-table__row--header{background:var(--color-trust);color:var(--color-text);font-weight:800}.admin-console-table--users .admin-console-table__row{grid-template-columns:1.1fr 1.4fr .5fr .6fr 1.4fr}.admin-user-company{display:block;font-size:.82rem;color:var(--color-text-muted)}.admin-user-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.admin-user-self-note{color:var(--color-text-muted);font-weight:600}.admin-flag-toggle{display:inline-flex;align-items:center;gap:.4rem;margin-right:.9rem;color:var(--color-text);font-weight:600}.chip-row{display:flex;flex-wrap:wrap;gap:.75rem}.chip{padding:.65rem .9rem;border:1px solid rgba(86,125,255,.18);border-radius:999px;background:linear-gradient(180deg,#ffffff 0%,var(--color-trust) 100%);color:#4a6670;font-weight:600}.contribution-page{--page-gutter: clamp(1.5rem, 3vw, 3rem);display:grid;gap:1.5rem;min-height:100vh;padding:0 0 var(--page-gutter)}.community-board-page{--page-gutter: clamp(1.25rem, 3vw, 3rem);display:grid;gap:1.25rem;min-height:100vh;padding:0 0 var(--page-gutter);background:var(--cave-bg)}.community-board-header{align-items:flex-start}.community-board-groups,.community-board-group{display:grid;gap:1rem}.community-board-group__heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.community-board-group__heading h2{margin:0;font-size:1.45rem}.community-board-group__heading span{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;height:2.25rem;border-radius:999px;background:#e8f4f7;color:var(--cave-teal);font-weight:800}.community-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.community-entry-card{display:grid;gap:.85rem;align-content:start;border:1px solid var(--color-border);border-radius:.5rem;padding:1rem;background:#fff;box-shadow:0 10px 22px #17233f14}.community-entry-card__header,.community-entry-card__footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.community-entry-card__header time,.community-entry-card__footer{color:var(--color-text-muted);font-size:.86rem;line-height:1.4}.community-entry-card__type{width:fit-content;margin:0;border-radius:999px;padding:.35rem .65rem;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.community-entry-card__type--vendor{background:#8034bf1a;color:var(--cave-plum)}.community-entry-card__type--site{background:#eb539e1f;color:var(--cave-magenta)}.community-entry-card h3{margin:0;color:var(--cave-dark);font-size:1.15rem}.community-entry-card__details{margin:0;color:var(--color-text-muted);line-height:1.55}.community-entry-card__tags{display:flex;flex-wrap:wrap;gap:.45rem}.community-entry-card__tags span{border:1px solid rgba(6,103,141,.14);border-radius:999px;padding:.35rem .55rem;background:#f3fafb;color:#3a5261;font-size:.8rem;font-weight:700}.community-entry-card__footer a{color:var(--cave-sky);font-weight:800;text-decoration:none}.contribution-header{align-items:flex-start}.contribution-shell{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(17rem,.7fr);gap:1rem;align-items:start}.contribution-form,.contribution-aside{display:grid;gap:1rem;padding:1.25rem;border:1px solid var(--color-border);border-radius:1.5rem;background:var(--color-surface);box-shadow:var(--shadow-soft)}.contribution-form h2,.contribution-aside h2{margin:0;font-size:1.45rem}.contribution-aside p:not(.eyebrow){color:var(--color-text-muted);line-height:1.6}.contribution-type-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:.35rem;border:1px solid var(--color-border);border-radius:1rem;background:#f6f8fc}.contribution-type-control button{min-height:2.7rem;border:1px solid transparent;border-radius:.75rem;background:transparent;color:var(--color-text-muted);font:inherit;font-weight:800;cursor:pointer}.contribution-type-control button[aria-pressed=true]{border-color:#5450e838;background:#fff;color:var(--color-accent);box-shadow:0 .6rem 1.2rem #222d4714}.verification-pill{display:inline-flex;align-items:center;width:fit-content;margin:.75rem 0 0;border:1px solid transparent;border-radius:999px;padding:.45rem .75rem;font-size:.86rem;font-weight:800}.verification-pill--verified{border-color:#227e5633;background:#ecf8f2;color:#227e56}.verification-pill--pending{border-color:#be861938;background:#fff4d9;color:#8a5d11}.verification-pill--unverified{border-color:#9f2f582e;background:#9f2f5814;color:var(--color-error)}.status-screen{display:grid;place-items:center;padding:2rem}.status-card{width:min(100%,28rem)}.vendor-directory:not(.search-page){--page-gutter: clamp(1.25rem, 3vw, 3rem);display:grid;gap:1.25rem;min-height:100vh;padding:0 0 var(--page-gutter)}.directory-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.directory-header h1{font-size:clamp(2.45rem,4vw,4rem)}.directory-header .hero-copy{max-width:48rem;color:var(--color-text-muted);line-height:1.6}.directory-toolbar,.directory-status{border:1px solid var(--color-border);border-radius:1.25rem;padding:1.1rem;background:var(--color-surface);box-shadow:var(--shadow-soft)}.directory-toolbar{display:grid;gap:1rem}.directory-search{display:grid;gap:.55rem}.directory-search__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem}.directory-search__row .ui-button{min-width:7rem}.directory-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.directory-toolbar__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem}.directory-toolbar__footer p,.directory-status p{margin:0;color:var(--color-text-muted);line-height:1.55}.directory-status h2{font-size:1.45rem}.directory-status--error{border-color:#9f2f582e;background:#9f2f580f}.directory-status--loading{display:grid;justify-items:center;text-align:center;gap:.35rem;padding:2rem 1.1rem}.directory-status--loading .cave-spinner{margin-bottom:.5rem}.cave-spinner{display:inline-flex}.cave-spinner svg{display:block;width:100%;height:100%;stroke:none}.cave-spinner__ray{transform-box:view-box;transform-origin:50% 50%;animation:cave-spinner-ray 1.4s ease-in-out infinite}@keyframes cave-spinner-ray{0%,to{transform:scale(.4);opacity:.2}22%{transform:scale(1);opacity:1}60%{transform:scale(.4);opacity:.2}}@media (prefers-reduced-motion: reduce){.cave-spinner__ray{animation:none;transform:none;opacity:1}}.vendor-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.vendor-card{display:grid;align-content:start;gap:1rem;border:1px solid var(--color-border);border-radius:.5rem;padding:1.1rem;background:#fff;box-shadow:0 10px 22px #17233f14}.vendor-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.vendor-card h2{margin-bottom:0;font-size:1.35rem;line-height:1.16}.vendor-card__header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.vendor-card__tier{flex:0 0 auto;border:1px solid rgba(34,126,86,.2);border-radius:999px;padding:.4rem .65rem;background:#ecf8f2;color:#227e56;font-size:.78rem;font-weight:800}.vendor-card__summary,.vendor-card__note p{margin:0;color:var(--color-text-muted);line-height:1.6}.vendor-card__facts{display:grid;gap:.7rem;margin:0}.vendor-card__facts div{display:grid;grid-template-columns:8.75rem minmax(0,1fr);gap:.75rem}.vendor-card__facts dt,.vendor-card__note strong{color:#4a6670;font-size:.82rem;font-weight:800;text-transform:uppercase}.vendor-card__facts dd{margin:0;color:var(--color-text-muted);line-height:1.45}.vendor-card__tags{display:flex;flex-wrap:wrap;gap:.5rem}.vendor-tag{border:1px solid rgba(86,125,255,.2);border-radius:999px;padding:.42rem .62rem;background:#f5f8ff;color:#4a6670;font-size:.82rem;font-weight:700}.vendor-tag--muted{border-color:var(--color-border);background:#fff;color:var(--color-text-soft)}.vendor-card__note{display:grid;gap:.4rem;border-top:1px solid var(--color-border);padding-top:1rem}.vendor-card__detail-link{margin-top:auto}.vendor-card__actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:auto;padding-top:1rem}.vendor-card__actions .vendor-card__detail-link{margin-top:0}.vendor-card__select{align-self:flex-start;min-height:2.75rem;border:1px solid var(--cave-plum);border-radius:.85rem;padding:.75rem 1rem;background:#fff;color:var(--cave-plum);cursor:pointer;font:inherit;font-weight:800}.vendor-card__select[aria-pressed=true]{background:var(--section-surface-tint)}.vendor-card__select:disabled{border-color:var(--color-border);color:var(--color-text-soft);cursor:not-allowed}.comparison-tray{display:grid;gap:1rem;border:1px solid var(--section-border);border-radius:8px;padding:1rem;background:#fff}.comparison-tray__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.comparison-tray__header h2{margin-bottom:0;color:var(--section-primary);font-size:1.35rem}.comparison-tray__header span{border:1px solid var(--section-border);border-radius:var(--radius-pill);padding:.4rem .65rem;background:var(--section-surface-tint);color:var(--section-primary);font-weight:600}.comparison-tray__items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0;padding:0;list-style:none}.comparison-tray__items li{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;min-width:0;border:1px solid var(--section-border);border-radius:8px;padding:.75rem;background:var(--section-surface-tint)}.comparison-tray__items strong,.comparison-tray__items span{display:block}.comparison-tray__items strong{color:var(--cave-text-primary);line-height:1.25}.comparison-tray__items span,.comparison-tray__empty{margin:0;color:var(--cave-text-secondary);line-height:1.45}.comparison-tray__items button{border:0;padding:0;background:transparent;color:var(--section-primary);font-weight:800}.comparison-tray__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem}.comparison-tray__compare{background:var(--section-accent);color:var(--cave-surface);text-decoration:none}.comparison-tray__compare:hover{background:var(--section-primary);box-shadow:none}.comparison-tray__compare:focus-visible{outline:2px solid var(--section-accent);outline-offset:2px;box-shadow:none}.comparison-tray__compare[aria-disabled=true]{pointer-events:none;opacity:.62}.comparison-tray .auth-inline-link{color:var(--section-primary)}.vendor-detail{--page-gutter: clamp(1.25rem, 3vw, 3rem);display:grid;gap:1.25rem;min-height:100vh;padding:0 0 var(--page-gutter)}.vendor-detail-nav{display:flex;justify-content:space-between;gap:1rem}.vendor-profile-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,26rem);gap:1rem;align-items:stretch}.vendor-profile-hero__copy,.vendor-profile-summary,.vendor-detail-panel{border:1px solid var(--color-border);border-radius:.5rem;background:#fff;box-shadow:0 10px 22px #17233f14}.vendor-profile-hero__copy{display:grid;align-content:start;gap:1rem;padding:clamp(1.25rem,3vw,2rem)}.vendor-profile-hero__copy h1{margin-bottom:0;font-size:clamp(2.35rem,4vw,4.25rem)}.vendor-profile-hero__former,.vendor-profile-hero__copy .hero-copy,.vendor-detail-panel p,.vendor-detail-muted,.clinical-site p,.certification-list span{margin:0;color:var(--color-text-muted);line-height:1.6}.vendor-claim-badge{width:fit-content;margin:-.2rem 0 0;border:1px solid var(--color-border);border-radius:.35rem;padding:.35rem .55rem;color:var(--color-text-muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.vendor-claim-badge--pending{border-color:#d8b96c;background:#fff8e6;color:#7b5b12}.vendor-claim-badge--claimed{border-color:#99cfb6;background:#effaf4;color:#216040}.vendor-profile-hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.25rem}.vendor-contact-link{text-decoration:none}.vendor-profile-summary{display:grid;gap:.85rem;margin:0;padding:clamp(1rem,2vw,1.35rem)}.vendor-profile-summary div,.vendor-detail-facts div{display:grid;gap:.3rem;border-bottom:1px solid var(--color-border);padding-bottom:.85rem}.vendor-profile-summary div:last-child,.vendor-detail-facts div:last-child{border-bottom:0;padding-bottom:0}.vendor-profile-summary dt,.vendor-detail-facts dt,.vendor-detail-panel__header .eyebrow{color:#4a6670;font-size:.78rem;font-weight:800;text-transform:uppercase}.vendor-profile-summary dd,.vendor-detail-facts dd{margin:0;color:var(--color-text);line-height:1.45}.vendor-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.vendor-detail-panel{display:grid;align-content:start;gap:1rem;padding:clamp(1rem,2vw,1.25rem)}.vendor-detail-panel--wide{grid-column:1 / -1}.vendor-detail-panel__header{display:grid;gap:.25rem}.vendor-detail-panel__header h2{margin-bottom:0;font-size:1.45rem}.vendor-profile-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.vendor-profile-notes section,.vendor-detail-stack section,.clinical-site{display:grid;gap:.65rem}.vendor-profile-notes h3,.vendor-detail-stack h3,.clinical-site h3{margin-bottom:0;color:var(--color-text);font-size:1rem}.vendor-detail-list,.certification-list{display:grid;gap:.7rem;margin:0;padding-left:1.15rem;color:var(--color-text-muted);line-height:1.55}.vendor-detail-facts{display:grid;gap:.85rem;margin:0}.vendor-detail-stack{display:grid;gap:1rem}.clinical-site-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.clinical-site{border:1px solid var(--color-border);border-radius:.5rem;padding:1rem;background:#fbfcff}.certification-list{list-style:none;padding-left:0}.certification-list li{display:grid;gap:.25rem;border-bottom:1px solid var(--color-border);padding-bottom:.75rem}.certification-list li:last-child{border-bottom:0;padding-bottom:0}.vendor-contact-panel{background:linear-gradient(180deg,#fff,#f6f8ff)}.vendor-contact-email{color:var(--color-accent);font-weight:800;overflow-wrap:anywhere}.vendor-contact-button{width:fit-content;text-decoration:none}.vendor-claim-form{display:grid;gap:.75rem}.vendor-claim-form__field{display:grid;gap:.45rem;color:#4a6670;font-size:.96rem;font-weight:700}.vendor-claim-button{width:fit-content;text-decoration:none}.vendor-compare-toggle{min-height:3.25rem}.vendor-comparison-page .directory-header{border-bottom:1px solid var(--section-border);padding-bottom:1rem}.vendor-comparison{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:1rem;overflow-x:auto;padding-bottom:.35rem}.vendor-comparison-card{display:grid;align-content:start;gap:0;min-width:17rem;border:1px solid var(--section-border);border-radius:8px;background:#fff}.vendor-comparison-card__header{display:grid;gap:.75rem;border-bottom:1px solid var(--section-border);padding:1rem}.vendor-comparison-card__header h2{margin-bottom:0;color:var(--section-primary);font-size:1.35rem}.vendor-comparison-card__header p:not(.eyebrow){margin:0;color:var(--cave-text-secondary);line-height:1.55}.vendor-comparison-fact{display:grid;gap:.35rem;margin:0;border-bottom:1px solid var(--section-border);padding:.85rem 1rem}.vendor-comparison-fact:last-child{border-bottom:0}.vendor-comparison-fact dt{color:var(--cave-text-secondary);font-size:.78rem;font-weight:800;text-transform:uppercase}.vendor-comparison-fact dd{margin:0;color:var(--cave-text-primary);line-height:1.45}.trial-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(22rem,1fr));gap:1rem}.trial-card,.trial-detail-main,.trial-linked-sites{display:grid;align-content:start;gap:1rem;border:1px solid var(--color-border);border-radius:8px;padding:1.1rem;background:#fff;box-shadow:0 10px 22px #17233f14}.trial-card__header{display:grid;gap:.55rem}.trial-card__header h2{margin-bottom:0;color:var(--color-text);font-size:1.35rem;line-height:1.2}.trial-card__header span{width:fit-content;border:1px solid rgba(34,126,86,.2);border-radius:999px;padding:.38rem .62rem;background:#ecf8f2;color:#227e56;font-size:.78rem;font-weight:800}.trial-card p,.trial-detail-main p{margin:0;color:var(--color-text-muted);line-height:1.6}.trial-card__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.trial-fact{display:grid;gap:.25rem;margin:0}.trial-fact dt{color:#4a6670;font-size:.78rem;font-weight:800;text-transform:uppercase}.trial-fact dd{margin:0;color:var(--color-text);line-height:1.45}.trial-card__sites{display:flex;flex-wrap:wrap;gap:.5rem}.trial-card__sites span{border:1px solid rgba(86,125,255,.2);border-radius:999px;padding:.42rem .62rem;background:#f5f8ff;color:#4a6670;font-size:.82rem;font-weight:700}.trial-card__sites a{border:1px solid rgba(86,125,255,.2);border-radius:999px;padding:.42rem .62rem;background:#f5f8ff;color:#4a6670;font-size:.82rem;font-weight:700;text-decoration:none}.trial-card__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:auto}.trial-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,24rem);gap:1rem}.trial-detail-main .trial-card__facts{grid-template-columns:repeat(3,minmax(0,1fr))}.trial-linked-sites h2{margin-bottom:0;font-size:1.35rem}.trial-linked-sites article{display:grid;gap:.3rem;border-top:1px solid var(--color-border);padding-top:.85rem}.trial-linked-sites strong{color:var(--color-text);line-height:1.3}.trial-linked-sites span,.trial-linked-sites small{color:var(--color-text-muted);line-height:1.45}.trial-glance{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.75rem;border:1px solid var(--section-border, var(--color-border));border-radius:12px;padding:1rem 1.25rem;background:var(--section-surface-tint, #f8fafc)}.trial-glance .status-pill--glance{margin-bottom:0;padding:.5rem 1.1rem;font-size:.95rem}.trial-glance__facts{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem;margin:0}.trial-detail-section{display:grid;gap:.75rem}.trial-detail-section h2{margin:0;padding-bottom:.35rem;border-bottom:1px solid var(--section-border, var(--color-border));color:var(--section-deep, var(--color-text));font-size:1.1rem}.trial-detail-section p{margin:0}.trial-detail-section__title{color:var(--color-text);font-weight:700}.trial-linked-sites__count{margin:0;color:var(--color-text-muted);font-size:.88rem}.trial-linked-sites article a{color:var(--section-primary, var(--color-text));font-weight:700;line-height:1.3;text-decoration:none}.trial-linked-sites article a:hover{text-decoration:underline}.launch-tier-control,.site-tier-control{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.launch-tier-control__buttons{display:flex;flex-wrap:wrap;gap:.5rem}.launch-tier-control button,.site-tier-control button{border:1px solid var(--color-border);border-radius:8px;padding:.55rem .8rem;background:#fff;color:var(--color-text-muted);font-weight:800}.launch-tier-control button[aria-pressed=true],.site-tier-control button[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent)}.launch-tier-control p{flex:1 1 18rem;margin:0;color:var(--color-text-muted);font-size:.92rem;line-height:1.45}.comparison-tray__gate{margin:0;padding:.7rem .8rem;border:1px solid var(--section-border);border-radius:8px;background:var(--section-surface-tint);color:var(--section-primary);font-size:.9rem;font-weight:700;line-height:1.45}.vendor-comparison-page .launch-tier-control,.site-comparison-page .site-tier-control{margin-bottom:1rem}.site-comparison-trials{display:grid;gap:.5rem}.site-comparison-trials a{color:var(--section-primary);font-weight:700;line-height:1.35;text-decoration:none}@media (max-width: 720px){.auth-stage{padding:1.25rem 1rem 2rem}.auth-stage__inner{gap:1.25rem}.auth-stage__brand-lockup{gap:.55rem}.auth-brand{width:4.5rem;height:3rem}.auth-stage__copy{max-width:24rem}.auth-field-grid--split,.register-steps,.dashboard-grid,.directory-filter-grid,.community-entry-grid,.vendor-results,.comparison-tray__items,.vendor-profile-hero,.vendor-detail-grid,.vendor-profile-notes,.clinical-site-list,.trial-card__facts,.trial-detail-layout,.trial-detail-main .trial-card__facts,.contribution-shell{grid-template-columns:1fr}.register-steps__item button{justify-content:flex-start}.dashboard-header,.dashboard-hero,.dashboard-callout,.directory-header,.vendor-detail-nav,.directory-toolbar__footer{align-items:flex-start;flex-direction:column}.directory-search__row{grid-template-columns:1fr}.directory-search__row .ui-button{width:100%}.vendor-card__facts div{grid-template-columns:1fr;gap:.25rem}}@media (max-width: 420px){h1{font-size:2.25rem;line-height:1.08}.auth-stage{padding:1rem .85rem 1.5rem}.auth-stage__inner{gap:1rem}.auth-stage__eyebrow{font-size:.74rem}.ui-input,.auth-submit{min-height:3.35rem;border-radius:.85rem}.register-actions{flex-direction:column}.register-actions .ui-button{width:100%}.auth-switch-row{line-height:1.5}}@media (prefers-reduced-motion: no-preference){.auth-stage__inner{animation:auth-stage-rise .3s ease both}}@keyframes auth-stage-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}:root{--cave-teal: #06678d;--cave-sky: #05a5cf;--cave-periwinkle: #b9e0f7;--cave-cream: #fff6dc;--cave-forest: #3e9052;--cave-emerald: #52ba6b;--cave-lime: #dee948;--cave-plum: #5b2076;--cave-violet: #8034bf;--cave-lavender: #dfcce4;--cave-magenta: #c6006f;--cave-hotpink: #eb539e;--cave-lightpink: #f2c5dc;--cave-dark: #0d1f24;--cave-surface: #ffffff;--cave-bg: #eef5f8;--cave-border-neutral: #ccdde4;--cave-border-nav: #e0e8ed;--cave-divider-nav: #dde4ea;--cave-border-how: #c4d6e4;--cave-text-primary: #0d2b33;--cave-text-secondary: #4a6670;--cave-text-secondary-home: #3a5a66;--cave-text-muted: #7a9aa6;--cave-clear-filters: #a0b8c0;--cave-toggle-hover-bg: #e4eef2;--cave-home-search-border: #b8d0dc;--cave-completed-border: var(--cave-sky);--cave-completed-bg: rgba(5, 165, 207, .12);--cave-completed-text: #004e70;--cave-inactive-border: #ff7b7b;--cave-inactive-bg: rgba(255, 123, 123, .12);--cave-inactive-text: #8c1c1c;--cave-border: var(--cave-border-neutral);--cave-text: var(--cave-text-primary);--cave-muted: var(--cave-text-secondary);--cave-rust: var(--cave-teal);--font-display: "Space Grotesk", "Inter", sans-serif;--font-body: "Inter", "Avenir Next", "Trebuchet MS", sans-serif;--text-hero: 60px;--text-h2: 32px;--text-feat-title: 18px;--text-who-title: 17px;--text-hero-sub: 17px;--text-site-name: 16px;--text-lg: 15px;--text-card-title: 15px;--text-md: 14px;--text-who-item: 13.5px;--text-sm: 13px;--text-cb-label: 12.5px;--text-xs: 12px;--text-pill: 11.5px;--text-2xs: 11px;--tracking-eyebrow: .17em;--tracking-facet: .09em;--tracking-pill: .1em;--tracking-hero: -.02em;--sp-2: 2px;--sp-3: 3px;--sp-4: 4px;--sp-5: 5px;--sp-6: 6px;--sp-7: 7px;--sp-8: 8px;--sp-9: 9px;--sp-10: 10px;--sp-11: 11px;--sp-12: 12px;--sp-14: 14px;--sp-16: 16px;--sp-18: 18px;--sp-20: 20px;--sp-22: 22px;--sp-24: 24px;--sp-26: 26px;--sp-28: 28px;--sp-30: 30px;--sp-32: 32px;--sp-34: 34px;--sp-36: 36px;--sp-40: 40px;--sp-44: 44px;--sp-48: 48px;--sp-68: 68px;--sp-76: 76px;--sp-80: 80px;--sp-88: 88px;--gutter-page: 40px;--gutter-section: 32px;--radius-checkbox: 3px;--radius-tag: 5px;--radius-xs: 6px;--radius-sm: 7px;--radius-md: 8px;--radius-btn: 9px;--radius-field: 10px;--radius-card: 12px;--radius-step: 14px;--radius-feature: 16px;--radius-pill: 20px;--shadow-nav: 0 1px 8px rgba(0, 0, 0, .06);--shadow-search-wrap: 0 4px 20px rgba(6, 103, 141, .12);--shadow-feature-hover: 0 6px 24px rgba(0, 0, 0, .08);--shadow-knob: 0 1px 3px rgba(0, 0, 0, .2);--border-hairline: 1px;--border-field: 1.5px;--transition-fast: .15s;--transition-slow: .2s;--page-max: none;--page-min: 1200px;--nav-height: 60px;--search-band-height: 69px;--shell-min-height: calc(100vh - 120px) ;--rail-width: 260px;--section-primary: var(--cave-teal);--section-accent: var(--cave-sky);--section-tint: var(--cave-periwinkle);--section-deep: #004e70;--section-bg: var(--cave-bg);--section-border: var(--cave-border-neutral);--section-surface-tint: #eaf4f8;--section-search-band: #ddf0f7;--section-card-hover-shadow: 0 4px 16px rgba(6, 103, 141, .08);--section-card-hover-border: var(--section-accent);--section-card-title: var(--section-primary);--section-soft: var(--section-surface-tint);--section-bar: var(--section-search-band);font-family:var(--font-body)}[data-section=trials],.search-page--trials{--section-primary: var(--cave-forest);--section-accent: var(--cave-emerald);--section-tint: var(--cave-lime);--section-deep: #1f4d2a;--section-bg: #f3faf4;--section-border: #c8e6cc;--section-surface-tint: #f0faf2;--section-search-band: #bae0c6;--section-card-hover-shadow: 0 4px 16px rgba(31, 77, 42, .08);--section-card-hover-border: #c0e0c4;--section-card-title: var(--section-deep)}[data-section=sites],.search-page--sites{--section-primary: var(--cave-magenta);--section-accent: var(--cave-hotpink);--section-tint: var(--cave-lightpink);--section-deep: #6b0040;--section-bg: #fdf5f9;--section-border: #f0ccd8;--section-surface-tint: #fdf0f5;--section-search-band: #f9d2e3;--section-card-hover-shadow: 0 4px 16px rgba(107, 0, 64, .08)}[data-section=vendors],.search-page--vendors{--section-primary: var(--cave-plum);--section-accent: var(--cave-violet);--section-tint: var(--cave-lavender);--section-deep: #411754;--section-bg: #f9f4fb;--section-border: #e1caeb;--section-surface-tint: #f8f0fb;--section-search-band: var(--cave-lavender);--section-card-hover-shadow: 0 4px 16px rgba(65, 23, 84, .08)}body{background:var(--cave-bg);color:var(--cave-text-primary)}h1,h2,h3,.landing-stat strong,.search-result-card h2,.vendor-card h2{font-family:var(--font-display)}svg{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;fill:none}.auth-brand-logo{display:block;width:min(13rem,70vw);height:auto}.cave-page,.vendor-directory--branded,.dashboard-layout{background:var(--cave-bg)}.dashboard-layout>:not(.cave-nav),.contribution-page>:not(.cave-nav),.community-board-page>:not(.cave-nav),.vendor-directory:not(.search-page)>:not(.cave-nav),.vendor-detail>:not(.cave-nav){margin-inline:var(--page-gutter)}.cave-nav{position:sticky;top:0;z-index:1000;border-bottom:var(--border-hairline) solid var(--cave-border-nav);background:var(--cave-surface);box-shadow:var(--shadow-nav)}.cave-nav__inner{display:flex;align-items:center;max-width:var(--page-max);height:var(--nav-height);margin:0 auto;padding:0 var(--gutter-page)}.cave-nav__logo{display:flex;align-items:center;line-height:1;text-decoration:none}.cave-nav__logo img{display:block;width:auto;height:44px}.cave-nav__spacer{flex:1}.cave-nav__links{display:flex;align-items:center;gap:var(--sp-6)}.cave-nav__link{display:inline-block;border:var(--border-field) solid transparent;border-radius:var(--radius-md);padding:7px var(--sp-16);background:transparent;font-family:var(--font-body);font-size:var(--text-md);font-weight:600;text-decoration:none;white-space:nowrap;cursor:pointer;transition:border-color var(--transition-fast)}.cave-nav__link--sites{color:var(--cave-magenta)}.cave-nav__link--sites:hover,.cave-nav__link--sites.active{border-color:var(--cave-hotpink)}.cave-nav__link--vendors{color:var(--cave-plum)}.cave-nav__link--vendors:hover,.cave-nav__link--vendors.active{border-color:var(--cave-violet)}.cave-nav__link--trials{color:var(--cave-forest)}.cave-nav__link--trials:hover,.cave-nav__link--trials.active{border-color:var(--cave-emerald)}.cave-nav__link--community,.cave-nav__link--contribute,.cave-nav__link--admin{color:var(--cave-teal)}.cave-nav__link--community:hover,.cave-nav__link--community.active,.cave-nav__link--contribute:hover,.cave-nav__link--contribute.active,.cave-nav__link--admin:hover,.cave-nav__link--admin.active{border-color:var(--cave-sky)}.cave-nav__divider{width:1px;height:22px;flex-shrink:0;margin:0 var(--sp-10);background:var(--cave-divider-nav)}.cave-nav__login{padding:7px var(--sp-6);font-family:var(--font-body);font-size:var(--text-md);font-weight:600;color:var(--cave-teal);text-decoration:none;cursor:pointer;border:0;background:transparent;transition:color var(--transition-fast)}.cave-nav__login:hover{color:var(--cave-sky)}.cave-nav__signup{display:inline-block;margin-left:var(--sp-8);border:none;border-radius:var(--radius-md);padding:var(--sp-9) var(--sp-22);background:var(--cave-teal);color:var(--cave-surface);font-family:var(--font-body);font-size:var(--text-md);font-weight:600;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background var(--transition-fast)}.cave-nav__signup:hover{background:var(--cave-sky)}.cave-nav__link:focus-visible,.cave-nav__login:focus-visible,.cave-nav__signup:focus-visible,.cave-nav__logo:focus-visible{outline:2px solid var(--cave-sky);outline-offset:2px}.landing-hero{padding:var(--sp-88) var(--gutter-page) var(--sp-80);text-align:center;background:linear-gradient(135deg,#fff6dc,#ede8d8 15%,#ddf0f7 50%,#c8e8f4)}.cave-eyebrow,.eyebrow{display:block;margin-bottom:var(--sp-20);color:var(--cave-teal);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase}.landing-hero h1{max-width:900px;margin:0 auto var(--sp-20);color:var(--cave-dark);font-size:48px;font-weight:700;line-height:1.2;letter-spacing:var(--tracking-hero)}.landing-hero h1 span{display:block;color:var(--cave-teal)}.landing-hero p,.hero-sub{max-width:560px;margin:0 auto var(--sp-44);color:var(--cave-text-secondary-home);font-size:var(--text-hero-sub);font-weight:400;line-height:1.7}.landing-hero__actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:var(--sp-12)}.hero-btn{display:inline-block;border:var(--border-field) solid;border-radius:var(--radius-field);padding:var(--sp-11) var(--sp-26);background:transparent;font-family:var(--font-body);font-size:var(--text-md);font-weight:600;text-decoration:none;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.landing-search,.section-search{display:flex;align-items:center;gap:.5rem}.landing-search{width:min(100%,38rem);margin:0 auto;padding:.4rem;border:1.5px solid #b8d0dc;border-radius:12px;background:#fff;box-shadow:0 4px 20px #06678d1f}.landing-search input{flex:1;min-width:0;border:0;outline:0;padding:.7rem .8rem;color:var(--cave-text);background:transparent}.landing-search button,.section-search button{border:0;border-radius:var(--radius-btn);background:var(--cave-sky);color:#fff;font-family:var(--font-body);font-size:var(--text-md);font-weight:600}.landing-search button{padding:var(--sp-11) var(--sp-28)}.landing-search button:hover{background:var(--cave-teal)}.landing-stats{padding:var(--sp-32) var(--gutter-page);background:var(--cave-teal)}.landing-stats__inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:min(100%,1100px);margin:0 auto}.landing-stat{display:grid;gap:var(--sp-6);justify-items:center;padding:0 var(--sp-20);border-right:1px solid rgba(255,255,255,.2);color:#ffffffbf;text-align:center}.landing-stat:last-child{border-right:0}.landing-stat strong{color:var(--cave-lime);font-family:var(--font-display);font-size:30px;font-weight:700;line-height:1}.landing-stat span{font-size:12.5px;font-weight:400}.landing-features{padding:var(--sp-68) var(--gutter-page) var(--sp-76);background:#fff}.landing-audience{padding:var(--sp-68) var(--gutter-page);background:var(--cave-cream)}.landing-section-header{margin:0 auto var(--sp-48);text-align:center}.landing-section-header h2{margin-bottom:var(--sp-8);color:var(--cave-dark);font-family:var(--font-display);font-size:var(--text-h2);font-weight:700}.landing-section-header p{margin:0;color:var(--cave-text-secondary-home);font-size:var(--text-lg);font-weight:400}.landing-feature-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));width:min(100%,1280px);margin:0 auto;gap:var(--sp-22)}.landing-feature-grid>*{grid-column:span 2}.landing-feature-grid>:nth-child(4):nth-last-child(2){grid-column:2 / span 2}.landing-audience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,1280px);margin:0 auto;gap:var(--sp-20)}.landing-feature,.audience-card{border:var(--border-hairline) solid var(--cave-border-neutral);border-radius:var(--radius-feature);background:#fff}.landing-feature{display:flex;flex-direction:column;padding:var(--sp-32) var(--sp-28) var(--sp-28);border-top:4px solid;transition:box-shadow var(--transition-slow),transform var(--transition-slow)}.landing-feature:hover{box-shadow:var(--shadow-feature-hover);transform:translateY(-2px)}.landing-feature--sites{border-top-color:var(--cave-hotpink)}.landing-feature--vendors{border-top-color:var(--cave-violet)}.landing-feature--trials{border-top-color:var(--cave-emerald)}.landing-feature--community,.landing-feature--contribute{border-top-color:var(--cave-sky)}.landing-feature__icon,.feat-icon{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;margin-bottom:var(--sp-18);border-radius:50%;overflow:hidden}.landing-feature__icon svg,.feat-icon svg{display:block;width:22px;height:22px;stroke-width:1.8}.landing-feature--sites .landing-feature__icon,.icon-sites{background:#eb539e1f;color:var(--cave-magenta)}.landing-feature--vendors .landing-feature__icon,.icon-vendors{background:#8034bf1a;color:var(--cave-plum)}.landing-feature--trials .landing-feature__icon,.icon-trials{background:#52ba6b24;color:var(--cave-forest)}.landing-feature--community .landing-feature__icon,.landing-feature--contribute .landing-feature__icon{background:#05a5cf1f;color:var(--cave-teal)}.landing-feature h3,.landing-feature p,.landing-feature span{margin:0}.landing-feature h3{margin-bottom:var(--sp-10);color:var(--cave-dark);font-family:var(--font-display);font-size:var(--text-feat-title);font-weight:700}.landing-feature>p,.landing-feature>span{flex:1;margin-bottom:var(--sp-24);color:var(--cave-text-secondary-home);font-size:var(--text-md);font-weight:400;line-height:1.7;text-transform:none;letter-spacing:normal}.landing-feature a,.feat-btn{display:inline-block;align-self:flex-start;border:var(--border-field) solid;border-radius:var(--radius-md);padding:var(--sp-9) var(--sp-20);background:transparent;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;text-decoration:none;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.landing-feature--sites a,.btn-sites{border-color:var(--cave-hotpink);color:var(--cave-magenta)}.landing-feature--sites a:hover,.btn-sites:hover{background:var(--cave-hotpink);color:#fff}.landing-feature--vendors a,.btn-vendors{border-color:var(--cave-violet);color:var(--cave-plum)}.landing-feature--vendors a:hover,.btn-vendors:hover{background:var(--cave-violet);color:#fff}.landing-feature--trials a,.btn-trials{border-color:var(--cave-emerald);color:var(--cave-forest)}.landing-feature--trials a:hover,.btn-trials:hover{background:var(--cave-emerald);color:#fff}.btn-brand{border-color:var(--cave-sky);color:var(--cave-teal)}.btn-brand:hover{background:var(--cave-sky);color:#fff}.landing-feature--community a,.landing-feature--contribute a{border-color:var(--cave-sky);color:var(--cave-teal)}.landing-feature--community a:hover,.landing-feature--contribute a:hover{background:var(--cave-sky);color:#fff}.vendor-card__detail-link,.dashboard-card__link{align-self:flex-start;margin-top:1.3rem;border:1.5px solid currentColor;border-radius:8px;padding:.62rem 1.1rem;font-weight:800;text-decoration:none}.vendor-card__detail-link{color:var(--cave-plum)}.audience-card{padding:var(--sp-30) var(--sp-26)}.audience-card--sites{background:#fce8f1;border-color:#c6006f33}.audience-card--vendors{background:#ede6f7;border-color:#8034bf38}.audience-card--sponsors{background:#e4f6fb;border-color:#05a5cf40}.audience-card h3{margin-bottom:var(--sp-6);color:var(--cave-dark);font-family:var(--font-display);font-size:var(--text-feat-title);font-weight:700}.audience-card--sites h3{color:var(--cave-magenta)}.audience-card--vendors h3{color:var(--cave-plum)}.audience-card--sponsors h3{color:var(--cave-teal)}.audience-card__subhead{margin:0 0 var(--sp-18);color:var(--cave-text-primary);font-size:var(--text-lg);font-weight:600;line-height:1.45}.audience-card__cta{margin-top:var(--sp-22)}.who-list{display:flex;flex-direction:column;gap:var(--sp-9);margin:0;padding:0;list-style:none}.who-list li{display:flex;align-items:flex-start;gap:var(--sp-9);color:var(--cave-text-secondary-home);font-size:var(--text-who-item);font-weight:400;line-height:1.5}.who-dot{width:6px;height:6px;flex-shrink:0;margin-top:var(--sp-6);border-radius:50%}.dot-sites{background:var(--cave-hotpink)}.dot-vendors{background:var(--cave-violet)}.dot-sponsors{background:var(--cave-teal)}.landing-why{padding:var(--sp-68) var(--gutter-page);background:var(--cave-surface)}.landing-why__inner{max-width:1100px;margin:0 auto}.why-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-20)}.why-card{border:var(--border-hairline) solid var(--cave-border-neutral);border-radius:var(--radius-step);padding:var(--sp-24) var(--sp-22);background:var(--cave-bg)}.why-card__icon{margin-bottom:var(--sp-12);font-size:22px;line-height:1}.why-card h4{margin:0 0 var(--sp-7);color:var(--cave-dark);font-family:var(--font-display);font-size:var(--text-md);font-weight:700}.why-card p{margin:0;color:var(--cave-text-secondary-home);font-size:var(--text-sm);font-weight:400;line-height:1.6}.footer{display:flex;align-items:center;justify-content:space-between;border-top:var(--border-hairline) solid var(--cave-border-neutral);padding:var(--sp-28) var(--gutter-page);background:var(--cave-surface)}.footer-logo{display:flex;align-items:center;gap:var(--sp-8);line-height:1;text-decoration:none}.footer-logo img{display:block;width:auto;height:24px}.footer-links{display:flex;gap:var(--sp-20)}.footer-links a{color:var(--cave-text-muted);font-size:var(--text-xs);font-weight:400;text-decoration:none;transition:color var(--transition-fast)}.footer-links a:hover{color:var(--cave-teal)}.footer-text{color:var(--cave-text-muted);font-size:var(--text-xs);font-weight:400}.feat-btn:focus-visible,.hero-btn:focus-visible,.landing-feature a:focus-visible,.footer-links a:focus-visible,.footer-logo:focus-visible,.landing-search button:focus-visible{outline:2px solid var(--cave-sky);outline-offset:2px}.search-shell{width:min(100%,1600px);margin:0 auto}.section-search{padding:.9rem clamp(1rem,2vw,2rem);border-bottom:1px solid var(--section-border);background:var(--section-bar)}.section-search label{display:flex;align-items:center;flex:1;min-width:0;gap:.6rem;border:1.5px solid var(--section-border);border-radius:10px;background:#fff;padding:.56rem .9rem;color:#7a9aa6}.section-search__location{max-width:17rem}.section-search svg{width:1rem;height:1rem;flex:0 0 auto}.section-search input{width:100%;min-width:0;border:0;outline:0;color:var(--cave-text)}.section-search button{display:grid;place-items:center;width:2.65rem;height:2.5rem;background:var(--section-accent)}.search-body{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:calc(100vh - 121px)}.search-filters{border-right:1px solid var(--section-border);background:#fff;padding:1.25rem 0}.search-filters__header,.filter-block{padding:.75rem 2rem}.search-filters__header{display:flex;align-items:center;justify-content:space-between;color:var(--cave-text);font-size:.86rem}.search-filters__header button{border:0;background:transparent;color:#9bb0ba;font-size:.76rem}.filter-block{border-top:1px solid var(--section-border)}.filter-block h2{margin:0 0 .65rem;color:var(--section-primary);font-size:.72rem;letter-spacing:.09em;text-transform:uppercase}.filter-option{display:flex;align-items:center;gap:.55rem;padding:.25rem 0;color:var(--cave-muted);font-size:.82rem}.filter-option__box{display:grid;place-items:center;width:.95rem;height:.95rem;border:1.5px solid var(--section-border);border-radius:3px}.filter-option__box.checked{border-color:var(--section-accent);background:var(--section-accent)}.filter-option__box.checked:after{content:"";width:.35rem;height:.55rem;border-right:2px solid #ffffff;border-bottom:2px solid #ffffff;transform:rotate(45deg) translateY(-1px)}.search-results{padding:1.25rem clamp(1rem,2vw,2rem)}.search-results__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;color:var(--cave-text)}.search-results__actions{display:flex;gap:.5rem}.search-results__actions button,.search-result-card__actions button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--cave-border);border-radius:8px;background:#fff;color:var(--cave-muted);font-weight:700}.search-results__actions button{min-height:2.5rem;padding:0 .9rem}.search-results__actions svg,.search-result-card__actions svg{width:1rem;height:1rem}.search-result-card{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.75rem;border:1px solid var(--section-border);border-radius:8px;background:#fff;padding:1.1rem 1.25rem}.search-result-card h2{margin:.25rem 0 .45rem;color:var(--section-primary);font-size:1rem;line-height:1.35}.search-result-card p{margin:0 0 .7rem;color:var(--cave-muted);font-size:.86rem}.search-result-card__meta{display:inline-flex;border:1px solid var(--section-border);border-radius:999px;background:var(--section-soft);padding:.2rem .75rem;color:var(--section-primary);font-size:.74rem;font-weight:800}.search-result-card__tags{display:flex;flex-wrap:wrap;gap:.4rem}.search-result-card__tags span{border:1px solid var(--section-border);border-radius:5px;background:var(--section-soft);padding:.18rem .55rem;color:var(--cave-muted);font-size:.75rem}.search-result-card__actions{display:flex;flex-direction:column;gap:.5rem}.search-result-card__actions button{width:2rem;height:2rem}.cave-page,.search-page{min-width:var(--page-min)}.search-page{background:var(--section-bg)}.search-page.vendor-directory{display:block;min-height:100vh;padding:0}.section-search-bar{display:flex;align-items:center;gap:var(--sp-8);max-width:var(--page-max);margin:0 auto;border-bottom:var(--border-hairline) solid var(--section-border);padding:var(--sp-14) var(--gutter-section);background:var(--section-search-band)}.section-search-field{display:flex;align-items:center;gap:var(--sp-10);flex:1;min-width:0;border:var(--border-field) solid var(--section-border);border-radius:var(--radius-field);padding:var(--sp-9) var(--sp-16);background:var(--cave-surface);color:var(--cave-text-muted);transition:border-color var(--transition-fast)}.section-search-field:focus-within{border-color:var(--section-accent)}.section-search-field input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--cave-text-primary);font-family:var(--font-body);font-size:var(--text-md);font-weight:400}.section-search-field input::placeholder{color:var(--cave-text-muted)}.section-search-field--location{flex:0 0 274px;gap:var(--sp-8)}.section-search-submit{display:flex;align-items:center;justify-content:center;width:42px;height:40px;flex-shrink:0;border:none;border-radius:var(--radius-field);padding:0;background:var(--section-accent);color:var(--cave-surface);cursor:pointer;transition:background var(--transition-fast)}.section-search-submit:hover{background:var(--section-primary)}.section-directory-body{display:flex;align-items:flex-start;max-width:var(--page-max);min-height:var(--shell-min-height);margin:0 auto}.section-filter-rail{width:var(--rail-width);flex-shrink:0;min-height:var(--shell-min-height);border-right:var(--border-hairline) solid var(--section-border);padding:var(--sp-20) 0;background:var(--cave-surface);overflow-y:auto}.section-results{display:grid;align-content:start;gap:var(--sp-16);flex:1;min-width:0;padding:var(--sp-20) var(--gutter-section) var(--sp-20) var(--sp-24)}.filter-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4) var(--gutter-section) var(--sp-12)}.filter-header span{color:var(--cave-text-primary);font-size:var(--text-sm);font-weight:600}.clear-filters{border:0;padding:0;background:transparent;color:var(--cave-clear-filters);font-size:var(--text-xs);font-weight:400;cursor:pointer}.clear-filters:hover{color:var(--cave-text-muted);text-decoration:underline}.section-filter-grid{display:block}.search-page .filter-section{border-top:var(--border-hairline) solid var(--section-border);padding:var(--sp-12) var(--sp-16) var(--sp-12) var(--gutter-section)}.search-page .filter-section-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-10);color:var(--section-primary);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-facet);text-transform:uppercase;cursor:pointer}.search-page .filter-section-label .chevron,.chevron{font-size:10px;color:var(--cave-text-muted)}.search-page .filter-section-label--advanced{font-size:var(--text-cb-label);letter-spacing:0;text-transform:none}.section-select{width:100%;border:var(--border-hairline) solid var(--section-border);border-radius:var(--radius-md);padding:7px var(--sp-10);background:var(--section-surface-tint);color:var(--cave-text-primary);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--transition-fast)}.section-select:focus{outline:none;border-color:var(--section-accent)}.section-select:focus-visible{outline:2px solid var(--section-accent);outline-offset:2px}.site-filter-input,.trial-filter-input{display:flex;align-items:center;gap:7px;border:var(--border-hairline) solid var(--section-border);border-radius:var(--radius-md);padding:7px var(--sp-10);background:var(--section-surface-tint);color:var(--cave-text-muted);transition:border-color var(--transition-fast)}.site-filter-input:focus-within,.trial-filter-input:focus-within{border-color:var(--section-accent)}.site-filter-input input,.trial-filter-input input{flex:1;min-width:0;width:100%;border:none;outline:none;padding:0;background:transparent;color:var(--cave-text-primary);font-family:var(--font-body);font-size:var(--text-sm);font-weight:400}.site-filter-input input::placeholder,.trial-filter-input input::placeholder{color:var(--cave-text-muted)}.trial-filter-input-extra{margin-top:var(--sp-6)}.trial-checkbox-row{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4) 0;cursor:pointer}.trial-checkbox-row:hover .trial-checkbox-left{color:var(--section-deep)}.trial-checkbox-left{display:flex;align-items:center;gap:var(--sp-8);min-width:0;color:var(--cave-text-secondary);font-size:var(--text-cb-label);line-height:1.35}.trial-checkbox-left input[type=checkbox]{width:15px;height:15px;flex-shrink:0;margin:0;accent-color:var(--section-accent);cursor:pointer}.trial-checkbox-count{flex-shrink:0;color:var(--cave-text-muted);font-size:var(--text-2xs)}.trial-filter-indent{padding-left:var(--sp-20)}.trial-filter-indent+.trial-checkbox-row{margin-top:var(--sp-4)}.trial-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4) 0;color:var(--cave-text-secondary);font-size:var(--text-cb-label);cursor:pointer}.trial-toggle-row span{flex:1;padding-right:var(--sp-8)}.trial-toggle-row input[type=checkbox]{width:32px;height:18px;flex-shrink:0;margin:0;accent-color:var(--section-accent);cursor:pointer}.trial-toggle-stack{display:grid;gap:var(--sp-8)}.trial-directory .section-search-label{flex-shrink:0;color:var(--cave-text-muted);font-size:var(--text-pill);font-weight:600;letter-spacing:var(--tracking-facet);text-transform:uppercase;white-space:nowrap;cursor:text}.trial-context-chips{display:flex;flex-wrap:wrap;gap:var(--sp-8);margin-bottom:var(--sp-12)}.trial-context-chip{display:inline-flex;align-items:center;gap:var(--sp-6);border:var(--border-hairline) solid var(--section-border);border-radius:var(--radius-tag);padding:var(--sp-4) var(--sp-10);background:var(--section-surface-tint);color:var(--cave-text-secondary);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--transition-fast)}.trial-context-chip:hover,.trial-context-chip:focus-visible{border-color:var(--section-accent)}.trial-context-chip span[aria-hidden]{color:var(--cave-text-muted)}.trial-date-row{display:flex;align-items:center;gap:var(--sp-6);margin-top:var(--sp-6)}.trial-date-row span{flex-shrink:0;color:var(--cave-text-muted);font-size:var(--text-xs)}.trial-date-input{flex:1;min-width:0;border:var(--border-hairline) solid var(--section-border);border-radius:var(--radius-sm);padding:var(--sp-6) var(--sp-8);background:var(--section-surface-tint);color:var(--cave-text-secondary);font-family:var(--font-body);font-size:var(--text-xs);outline:none;transition:border-color var(--transition-fast)}.trial-date-input:focus{border-color:var(--section-accent)}.section-results-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-16)}.section-results-header p{margin:0;color:var(--cave-text-primary);font-size:var(--text-lg);font-weight:600}.section-results-header span{color:var(--cave-text-secondary);font-size:var(--text-sm);font-weight:500}.trial-results-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-8);flex-wrap:wrap}.trial-results-action,.action-btn{display:flex;align-items:center;gap:var(--sp-6);border:var(--border-hairline) solid var(--cave-border-neutral);border-radius:var(--radius-md);padding:7px var(--sp-14);background:var(--cave-surface);color:var(--cave-text-secondary);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;white-space:nowrap;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.trial-results-action:hover,.action-btn:hover{border-color:var(--section-accent);color:var(--section-primary)}.download-btn{display:flex;align-items:center;justify-content:center;width:42px;height:40px;flex-shrink:0;border:var(--border-hairline) solid var(--cave-border-neutral);border-radius:var(--radius-md);padding:7px var(--sp-12);background:var(--cave-surface);color:var(--cave-text-muted);cursor:pointer;transition:border-color var(--transition-fast)}.download-btn:hover{border-color:var(--section-accent)}.directory-pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-12);border:var(--border-hairline) solid var(--section-border);border-radius:var(--radius-field);padding:var(--sp-12) var(--sp-14);background:var(--section-surface-tint)}.directory-pagination>span{color:var(--cave-text-secondary);font-size:var(--text-sm);font-weight:500}.directory-pagination label{display:inline-flex;align-items:center;gap:var(--sp-8);color:var(--section-primary);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-facet);text-transform:uppercase}.directory-pagination .section-select{width:auto;min-width:5rem;background:var(--cave-surface)}.directory-pagination__actions{display:inline-flex;gap:var(--sp-8)}.load-more{padding:var(--sp-24) 0;text-align:center}.icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border:var(--border-hairline) solid var(--section-border);border-radius:var(--radius-md);background:var(--cave-surface);color:var(--cave-text-muted);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.icon-btn:hover{border-color:var(--section-accent);background:color-mix(in srgb,var(--section-accent) 5%,transparent)}.status-pill{display:inline-block;border-radius:var(--radius-pill);padding:var(--sp-4) var(--sp-12);margin-bottom:var(--sp-9);font-size:var(--text-pill);font-weight:600}.pill--active,.pill-enrolling,.pill-not-yet,.pill-active-nr,.pill-inv-only{border:var(--border-hairline) solid color-mix(in srgb,var(--section-accent) 35%,transparent);background:color-mix(in srgb,var(--section-tint) 15%,transparent);color:var(--section-primary)}.pill--completed,.pill-completed{border:var(--border-hairline) solid var(--cave-completed-border);background:var(--cave-completed-bg);color:var(--cave-completed-text)}.pill--inactive,.pill-withdrawn,.pill-terminated,.pill-suspended,.pill-unknown{border:var(--border-hairline) solid var(--cave-inactive-border);background:var(--cave-inactive-bg);color:var(--cave-inactive-text)}.badge{border-radius:var(--radius-pill);padding:var(--sp-3) var(--sp-9);font-size:var(--text-2xs);font-weight:600}.badge--section{border:var(--border-hairline) solid color-mix(in srgb,var(--section-accent) 30%,transparent);background:color-mix(in srgb,var(--section-accent) 12%,transparent);color:var(--section-primary)}.badge--deep,.badge-phase{border:var(--border-hairline) solid color-mix(in srgb,var(--section-deep) 15%,transparent);background:color-mix(in srgb,var(--section-deep) 7%,transparent);color:var(--section-deep)}.badge-phase--p1{border-color:color-mix(in srgb,var(--cave-text-muted) 40%,transparent);background:color-mix(in srgb,var(--cave-text-muted) 12%,transparent);color:var(--cave-text-secondary)}.badge-phase--p2{border-color:color-mix(in srgb,var(--cave-sky) 45%,transparent);background:color-mix(in srgb,var(--cave-sky) 12%,transparent);color:var(--cave-completed-text)}.badge-phase--p3{border-color:color-mix(in srgb,#52ba6b 40%,transparent);background:color-mix(in srgb,#52ba6b 12%,transparent);color:#3e9052}.badge-phase--p4{border-color:color-mix(in srgb,var(--cave-teal) 40%,transparent);background:color-mix(in srgb,var(--cave-teal) 10%,transparent);color:var(--cave-teal)}.card-nct-link{color:var(--cave-text-muted);text-decoration:none}.card-nct-link:hover{color:var(--cave-text-secondary);text-decoration:underline}.card-tags{display:flex;flex-wrap:wrap;gap:var(--sp-6);margin-bottom:var(--sp-8)}.card-tag,.card-tag-drug{border:var(--border-hairline) solid var(--section-border);border-radius:var(--radius-tag);padding:var(--sp-2) var(--sp-8);background:var(--section-surface-tint);color:var(--cave-text-secondary);font-size:var(--text-pill)}.card-tag-drug{display:flex;align-items:center;gap:var(--sp-4)}.trials-pill{display:inline-flex;align-items:center;border:var(--border-hairline) solid var(--section-border);border-radius:var(--radius-pill);padding:var(--sp-3) var(--sp-12);margin-bottom:var(--sp-10);background:var(--section-surface-tint);color:var(--cave-text-secondary);font-size:var(--text-xs);font-weight:500}.card-meta{display:flex;align-items:center;gap:var(--sp-12);flex-wrap:wrap;font-size:var(--text-xs);color:var(--cave-text-muted)}.card-meta-item{display:flex;align-items:center;gap:var(--sp-4)}.card-divider{color:var(--section-border)}.sponsor{color:var(--section-primary);font-weight:600}.locations-link{color:var(--section-primary);font-weight:500}.card-title{margin:0 0 var(--sp-7);padding-right:var(--sp-44);color:var(--section-card-title);font-family:var(--font-display);font-size:var(--text-card-title);font-weight:700;line-height:1.35}.card-title a{color:inherit;text-decoration:none}.card-title a:hover{text-decoration:underline}.card-desc,.search-page .card-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 var(--sp-10);padding-right:var(--sp-44);color:var(--cave-text-secondary);font-size:var(--text-sm);font-weight:400;line-height:1.55}.search-page .trial-card p{color:var(--cave-text-secondary);font-size:var(--text-sm);line-height:1.55}.bookmark-btn,.compare-btn,.site-bookmark-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border:var(--border-hairline) solid var(--section-border);border-radius:var(--radius-md);background:var(--cave-surface);color:var(--cave-text-muted);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.bookmark-btn:hover,.compare-btn:hover,.site-bookmark-btn:hover{border-color:var(--section-accent);background:color-mix(in srgb,var(--section-accent) 5%,transparent)}.trial-card .icon-btn,.trial-card .bookmark-btn,.trial-card .compare-btn{position:absolute;right:var(--sp-20)}.trial-card .bookmark-btn{top:var(--sp-18)}.trial-card .compare-btn{top:calc(var(--sp-18) + var(--sp-32) + var(--sp-8))}.trial-card .compare-btn:first-child{top:var(--sp-18)}.bookmark-btn[aria-pressed=true]{border-color:var(--section-accent);color:var(--section-accent)}.bookmark-btn[aria-pressed=true] svg{fill:currentColor}.card-top{display:flex;align-items:flex-start;margin-bottom:var(--sp-6)}.card-badges{display:flex;align-items:center;gap:var(--sp-8)}.search-page .trial-card.trial-card--no-badge,.search-page .trial-card.no-pill{padding-top:var(--sp-10)}.site-card{display:flex;align-items:flex-start;gap:0;border:var(--border-hairline) solid var(--section-border);border-radius:var(--radius-card);padding:var(--sp-20) var(--sp-24);background:var(--cave-surface);box-shadow:none;cursor:pointer;transition:box-shadow var(--transition-fast),border-color var(--transition-fast)}.site-card:hover{border-color:var(--section-accent);box-shadow:var(--section-card-hover-shadow)}.site-body{flex:1;min-width:0}.site-name{margin:0 0 var(--sp-10);color:var(--section-primary);font-family:var(--font-display);font-size:var(--text-site-name);font-weight:700;line-height:1.3}.site-name a,a.site-name{color:inherit;text-decoration:none}.site-name:hover,.site-name a:hover{text-decoration:underline}.site-address{display:flex;align-items:center;gap:var(--sp-6);margin:0;color:var(--cave-text-secondary);font-size:var(--text-sm);font-weight:400}.site-address svg{width:13px;height:13px;flex-shrink:0;color:var(--cave-text-muted)}.site-actions{display:flex;flex-direction:column;gap:var(--sp-8);margin-left:var(--sp-8);flex-shrink:0}.view-toggle{display:flex;align-items:center;gap:0;height:40px;flex-shrink:0;border:var(--border-field) solid var(--section-border);border-radius:var(--radius-field);background:var(--cave-surface);overflow:hidden}.toggle-btn{display:flex;align-items:center;justify-content:center;width:40px;height:100%;border:none;padding:0;background:transparent;color:var(--cave-text-muted);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.toggle-btn svg{width:16px;height:16px;stroke:currentColor}.toggle-btn.active,.toggle-btn[aria-pressed=true]{background:var(--section-accent);color:var(--cave-surface)}.toggle-btn:not(.active):not([aria-pressed=true]):hover{background:var(--cave-toggle-hover-bg);color:var(--cave-teal)}.toggle-btn:focus-visible{outline:2px solid var(--section-accent);outline-offset:-2px}.toggle-divider{width:1px;height:22px;flex-shrink:0;background:var(--section-border)}.site-map-layout{display:flex;align-items:stretch;overflow:hidden;height:calc(100vh - 250px);min-height:480px;border:var(--border-hairline) solid var(--section-border);border-radius:var(--radius-card);background:var(--cave-surface)}.site-map-list{display:flex;flex-direction:column;width:320px;flex-shrink:0;overflow:hidden;border-right:var(--border-hairline) solid var(--section-border)}.site-map-list__items{flex:1;min-height:0;overflow-y:auto}.site-map-list__pager{flex-shrink:0;border-top:var(--border-hairline) solid var(--section-border);background:var(--cave-surface)}.site-map-list__pager .directory-pagination{flex-wrap:wrap;gap:var(--sp-8);border:0;border-radius:0;padding:var(--sp-10) var(--sp-16)}.site-map-list__pager .directory-pagination>span{flex-basis:100%;font-size:var(--text-xs)}.site-map-list__pager .directory-pagination__actions{margin-left:auto}.site-map-list__empty{margin:0;padding:var(--sp-20);color:var(--cave-text-muted);font-size:var(--text-sm)}.site-map-list-card{display:flex;align-items:flex-start;gap:var(--sp-8);padding:var(--sp-12) var(--sp-16);border-bottom:var(--border-hairline) solid var(--section-border);transition:background var(--transition-fast)}.site-map-list-card:hover{background:color-mix(in srgb,var(--section-accent) 4%,transparent)}.site-map-list-card.selected{border-left:3px solid var(--section-accent);padding-left:calc(var(--sp-16) - 3px);background:color-mix(in srgb,var(--section-accent) 6%,transparent)}.site-map-list-card__content{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-6)}.site-map-list-card__body{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-6);border:none;padding:0;background:transparent;cursor:pointer;text-align:left;font-family:inherit}.site-map-list-card .site-name{margin:0;font-size:var(--text-md)}.site-map-list-card .site-address{font-size:var(--text-2xs);color:var(--cave-text-muted)}.site-map-list-card .trials-pill{margin:0}.site-map-list-card__no-coords{color:var(--cave-text-muted);font-size:var(--text-2xs);font-style:italic}.site-map-canvas-wrap{position:relative;flex:1;min-width:0}.site-map-canvas{width:100%;height:100%}.site-map-canvas-loading{display:flex;align-items:center;justify-content:center;color:var(--cave-text-muted);font-size:var(--text-sm)}.site-map-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-8);height:100%;padding:var(--sp-24);text-align:center}.site-map-fallback__title{margin:0;color:var(--section-primary);font-family:var(--font-display);font-size:var(--text-md);font-weight:700}.site-map-fallback__detail{margin:0;max-width:46ch;color:var(--cave-text-muted);font-size:var(--text-sm)}.site-map-status{position:absolute;top:var(--sp-12);left:50%;transform:translate(-50%);z-index:5;padding:var(--sp-6) var(--sp-16);border:var(--border-hairline) solid var(--section-border);border-radius:var(--radius-pill);background:var(--cave-surface);box-shadow:0 2px 8px #0000001a;color:var(--section-primary);font-size:var(--text-xs);font-weight:600;white-space:nowrap;pointer-events:none}.site-map-popup{font-family:var(--font-body)}.site-map-popup__name{display:block;margin:0 0 var(--sp-4);color:var(--section-primary);font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;line-height:1.3;text-decoration:none}.site-map-popup__name:hover,.site-map-popup__name:focus-visible{text-decoration:underline}.site-map-popup__address{margin:0 0 var(--sp-6);color:var(--cave-text-muted);font-size:var(--text-2xs)}.site-map-popup__pill{display:inline-block;border:var(--border-hairline) solid var(--section-border);border-radius:var(--radius-pill);padding:var(--sp-2) var(--sp-9);background:var(--section-surface-tint);color:var(--cave-text-secondary);font-size:var(--text-2xs);font-weight:500}[data-section=sites] .maplibregl-popup-content{border-radius:var(--radius-card);padding:var(--sp-12) var(--sp-16);box-shadow:var(--section-card-hover-shadow)}@media (max-width: 900px){.site-map-layout{flex-direction:column;height:auto}.site-map-list{width:100%;max-height:240px;border-right:none;border-bottom:var(--border-hairline) solid var(--section-border)}.site-map-canvas-wrap{height:420px}}.site-detail-page .site-detail-stat{display:grid;gap:.45rem;border-top:1px solid var(--color-border);padding-top:.9rem}.site-detail-page .site-detail-stat h3{margin:0;color:#4a6670;font-size:.78rem;font-weight:800;text-transform:uppercase}.site-detail-page .site-detail-stat p{margin:0;color:var(--color-text);line-height:1.55}.site-stat-list{display:grid;gap:.1rem;margin:0;padding:0;list-style:none}.site-stat-list__row{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin:0 -.4rem;padding:.28rem .4rem;border-radius:8px;text-decoration:none;transition:background .15s}.site-stat-list__row:hover{background:var(--section-surface-tint, #fdf0f5)}.site-stat-list__row:hover .site-stat-list__label{color:var(--section-primary, #c6006f)}.site-stat-list__row:focus-visible{outline:2px solid var(--section-accent, #eb539e);outline-offset:2px}.site-stat-list__label{min-width:0;overflow-wrap:anywhere;color:var(--color-text);font-size:.9rem;font-weight:500;transition:color .15s}.site-stat-list__count{flex-shrink:0;color:var(--color-text-muted);font-size:.8rem;font-variant-numeric:tabular-nums}.site-stat-list__toggle{justify-self:start;margin:0;padding:.15rem 0;border:none;background:transparent;cursor:pointer;font-family:inherit;font-size:.82rem;font-weight:600;color:var(--section-primary, #c6006f)}.site-stat-list__toggle:hover{text-decoration:underline}.site-stat-list__toggle:focus-visible{outline:2px solid var(--section-accent, #eb539e);outline-offset:2px}.site-phase-distribution{display:grid;gap:.25rem;margin:0;padding:0;list-style:none}.site-phase-distribution__row{display:grid;grid-template-columns:5rem minmax(0,1fr) auto;align-items:center;gap:.6rem;margin:0 -.4rem;padding:.28rem .4rem;border-radius:8px;text-decoration:none;transition:background .15s}a.site-phase-distribution__row:hover{background:var(--section-surface-tint, #fdf0f5)}a.site-phase-distribution__row:hover .site-phase-distribution__label{color:var(--section-primary, #c6006f)}a.site-phase-distribution__row:focus-visible{outline:2px solid var(--section-accent, #eb539e);outline-offset:2px}.site-phase-distribution__label{color:var(--color-text);font-size:.85rem;font-weight:700;transition:color .15s}.site-phase-distribution__bar{display:block;height:8px;border-radius:999px;background:var(--section-surface, #fdf0f5);overflow:hidden}.site-phase-distribution__fill{display:block;height:100%;border-radius:999px;background:var(--section-accent, #eb539e)}.site-phase-distribution__value{color:var(--color-text-muted);font-size:.8rem;font-variant-numeric:tabular-nums}.site-location-map{height:280px;border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.site-location-map__canvas{width:100%;height:100%}.site-location-map--loading,.site-location-map--fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:1rem;text-align:center;color:var(--cave-text-muted, var(--color-text-muted))}.site-trial-status-filter{display:grid;gap:.3rem}.site-trial-status-filter>span{color:#4a6670;font-size:.78rem;font-weight:800;text-transform:uppercase}.section-search-submit:focus-visible,.clear-filters:focus-visible,.trial-results-action:focus-visible,.action-btn:focus-visible,.download-btn:focus-visible,.icon-btn:focus-visible,.section-search-field:focus-within,.site-filter-input:focus-within,.trial-filter-input:focus-within{outline-offset:2px}.section-search-submit:focus-visible,.clear-filters:focus-visible,.trial-results-action:focus-visible,.action-btn:focus-visible,.download-btn:focus-visible,.icon-btn:focus-visible{outline:2px solid var(--section-accent)}.section-search-submit:disabled,.trial-results-action:disabled,.action-btn:disabled,.download-btn:disabled,.icon-btn:disabled{opacity:.5;cursor:not-allowed}.search-page .comparison-tray{border-color:var(--section-border);box-shadow:none}.search-page .comparison-tray__header h2,.search-page .comparison-tray__header span{color:var(--section-primary)}.search-page .comparison-tray__header span,.search-page .comparison-tray__items li{border-color:var(--section-border);background:var(--section-soft)}.search-page .directory-status{border-color:var(--section-border);border-radius:12px;box-shadow:none}.search-page .vendor-results,.search-page .trial-card-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-12)}.search-page .vendor-card,.search-page .trial-card{border:var(--border-hairline) solid var(--section-border);border-radius:var(--radius-card);background:var(--cave-surface);box-shadow:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.search-page .trial-card{display:block;position:relative;padding:var(--sp-18) var(--sp-20);gap:0}.search-page .trial-card>.card-meta,.search-page .trial-card>.trial-card__header,.search-page .trial-card>.trial-card__facts,.search-page .trial-card>.trial-card__sites,.search-page .trial-card>.trial-card__actions{margin-bottom:var(--sp-12)}.search-page .trial-card>:last-child{margin-bottom:0}.search-page .vendor-card:hover,.search-page .trial-card:hover{border-color:var(--section-card-hover-border);box-shadow:var(--section-card-hover-shadow)}.search-page .vendor-card h2,.search-page .trial-card__header h2{color:var(--section-card-title);font-family:var(--font-display);font-size:var(--text-card-title);font-weight:700;line-height:1.35}.search-page .vendor-card__tier,.search-page .trial-fact dt{color:var(--section-primary)}.search-page .vendor-card__tier,.search-page .vendor-tag,.search-page .trial-card__header span,.search-page .trial-card__sites span,.search-page .trial-card__sites a{border-color:var(--section-border);background:var(--section-soft)}.search-page .vendor-card__detail-link,.search-page .vendor-card__select,.search-page .trial-card__actions .ui-button,.search-page .trial-card__actions .vendor-card__detail-link{border:var(--border-field) solid var(--section-accent);border-radius:var(--radius-md);background:var(--cave-surface);color:var(--section-primary);font-size:var(--text-sm);font-weight:600;transition:background var(--transition-fast),color var(--transition-fast)}.search-page .vendor-card__detail-link:hover,.search-page .vendor-card__select:hover,.search-page .trial-card__actions .ui-button:hover,.search-page .trial-card__actions .vendor-card__detail-link:hover,.search-page .trial-card__actions .ui-button--primary,.search-page .vendor-card__select[aria-pressed=true]{background:var(--section-accent);color:var(--cave-surface)}.search-page .trial-card__actions .ui-button--primary:hover,.search-page .vendor-card__select[aria-pressed=true]:hover{background:var(--section-primary);color:var(--cave-surface)}.search-page .launch-tier-control{display:grid;gap:.55rem}.search-page .launch-tier-control__buttons{display:grid;gap:.45rem}.search-page .launch-tier-control__buttons button{min-height:2.2rem;border:1px solid var(--section-border);border-radius:8px;background:#fff;color:var(--cave-muted);font-weight:800}.search-page .launch-tier-control__buttons button[aria-pressed=true]{border-color:var(--section-accent);background:var(--section-soft);color:var(--section-primary)}.search-page .launch-tier-control p{margin:0;color:var(--cave-muted);font-size:.78rem;line-height:1.45}.vendor-comparison-page .directory-status{border-color:var(--section-border);box-shadow:none}.vendor-comparison-page .directory-back-link,.vendor-comparison-page .vendor-card__detail-link{border-color:var(--section-accent);color:var(--section-primary);transition:background var(--transition-fast),color var(--transition-fast)}.vendor-comparison-page .directory-back-link:hover,.vendor-comparison-page .vendor-card__detail-link:hover{background:var(--section-accent);color:var(--cave-surface)}.vendor-comparison-page .launch-tier-control button,.site-comparison-page .site-tier-control button{border-color:var(--section-border);color:var(--cave-text-secondary)}.vendor-comparison-page .launch-tier-control button[aria-pressed=true],.site-comparison-page .site-tier-control button[aria-pressed=true]{border-color:var(--section-accent);background:var(--section-surface-tint);color:var(--section-primary)}.vendor-comparison-page .launch-tier-control p{color:var(--cave-text-secondary)}.dashboard-header--with-nav{margin-top:1rem}@media (max-width: 1180px){.landing-feature-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.landing-feature-grid>:nth-child(4):nth-last-child(2){grid-column:span 2}.landing-audience-grid,.why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 880px){.landing-stats__inner,.landing-audience-grid,.why-grid,.search-body,.admin-console-controls{grid-template-columns:1fr}.landing-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer{flex-direction:column;gap:var(--sp-16)}.landing-stat{border-right:0;border-bottom:1px solid rgba(255,255,255,.2);padding:1rem 0}.landing-stat:last-child{border-bottom:0}.section-search{flex-wrap:wrap}.section-search__location{max-width:none}.section-search button{width:100%}.search-filters{border-right:0;border-bottom:1px solid var(--section-border)}.directory-pagination{flex-wrap:wrap}}@media (max-width: 560px){.landing-search,.search-result-card{flex-direction:column;align-items:stretch}.landing-search button{width:100%}.search-result-card__actions{flex-direction:row}.directory-pagination,.directory-pagination__actions{align-items:stretch;flex-direction:column}.directory-pagination label,.directory-pagination .section-select,.directory-pagination__actions .ui-button{width:100%}}
