/* Shared layout rules; each deployment supplies its own product colours. */
@font-face{font-family:League Spartan;src:url('/assets/fonts/league-spartan/league-spartan-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--product-on-accent:#fff;--product-accent:#b91035;--product-soft:#fff0f3;--product-ink:#17222b;--product-muted:#52616b;--product-line:#dce3e8;--product-panel:#fff;--product-bg:#f5f7fa}
body.public-site,body.secure-site{font-family:'League Spartan',system-ui,-apple-system,sans-serif;line-height:1.55;color:var(--product-ink)}
body.public-site:not(.hybridoc-home){background:var(--product-bg)}
body.public-site .network-page,body.public-site .resource-page{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:52px 0 72px}
body.public-site .resource-heading{max-width:850px;margin:0 0 32px;padding:0;border:0;background:none}
body.public-site .resource-heading h1{font-size:clamp(2.2rem,4vw,3.7rem);line-height:1.09;letter-spacing:-.035em;max-width:24ch;margin:12px 0 20px;font-weight:750}
body.public-site .resource-heading>p:not(.kicker){font-size:1.125rem;line-height:1.6;color:var(--product-muted);max-width:65ch}
body.public-site .kicker{color:var(--product-accent);font-size:.78rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}
body.public-site .site-header{background:var(--product-panel);border-bottom:1px solid var(--product-line);box-shadow:none}
body.public-site .site-header-inner{max-width:1280px;padding:16px 24px;margin:auto;gap:28px}
body.public-site .platform-brand-name{font-size:1.3rem;line-height:1.15;letter-spacing:-.035em;color:var(--product-ink)}
body.public-site .platform-brand-owner{color:var(--product-accent);font-size:.66rem;letter-spacing:.2em;margin-top:6px}
body.public-site .public-nav>a,body.public-site .header-account a{font-size:.95rem;font-weight:600;text-decoration:none}
body.public-site .public-nav>a[aria-current=page]{color:var(--product-accent);text-underline-offset:8px;text-decoration:underline}
body.public-site .network-mode-grid,body.public-site .join-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch;margin:28px 0}
body.public-site .network-mode-card,body.public-site .join-role,body.public-site .network-card,body.public-site .resource-card,body.public-site .join-stage,body.public-site .network-panel{background:var(--product-panel);border:1px solid var(--product-line);border-radius:18px;box-shadow:0 4px 18px #17222b05;padding:26px;min-width:0}
body.public-site .join-role{min-height:142px;padding:22px 26px;text-decoration:none;transition:border-color .15s,background .15s;position:relative}
body.public-site .join-role strong{font-size:1.06rem;display:block;padding-right:22px}
body.public-site .join-role span{color:var(--product-muted);display:block;font-size:.96rem;margin-top:8px;max-width:40ch}
body.public-site .join-role.is-selected{border:2px solid var(--product-accent);padding:21px 25px;background:var(--product-soft);box-shadow:none}
body.public-site .join-role:hover{border-color:var(--product-accent)}
body.public-site .join-stage{max-width:880px;margin:32px auto}
body.public-site .network-panel{margin:24px 0}
body.public-site :is(.network-panel,.network-mode-card,.resource-card,.join-stage) h2{font-size:1.5rem;line-height:1.25;letter-spacing:-.02em;margin:0 0 14px}
body.public-site :is(.network-panel,.network-mode-card,.resource-card,.join-stage)>p{color:var(--product-muted)}
body.public-site .network-mode-card{display:flex;flex-direction:column;gap:10px}
body.public-site .network-mode-card>.network-button{margin-top:auto;align-self:flex-start}
body.public-site :is(.network-button,.button-primary){border-radius:10px;min-height:46px;padding:11px 19px;font:600 1rem/1.4 'League Spartan',system-ui,sans-serif;background:var(--product-accent);color:var(--product-on-accent);border:1px solid var(--product-accent);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}
body.public-site .network-button.secondary{background:var(--product-panel);color:var(--product-accent)}
body.public-site :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){width:100%;min-height:46px;border:1px solid #6d7c86;border-radius:9px;background:var(--product-panel);color:var(--product-ink);font:inherit;padding:10px 12px}
body.public-site textarea{min-height:112px;resize:vertical}
body.public-site label{font-weight:550}
body.public-site :is(input,select,textarea):focus-visible{outline:3px solid var(--product-accent);outline-offset:3px}
body.public-site :is(a,button,summary):focus-visible,body.secure-site :is(a,button,summary):focus-visible{outline:3px solid var(--product-accent);outline-offset:4px}
body.public-site .network-form,body.public-site .join-form{gap:20px}
body.public-site .network-actions,body.public-site .hero-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
body.public-site .network-more-filters{padding:16px;border:1px solid var(--product-line);border-radius:10px}
body.public-site .network-more-filters summary{font-weight:650;cursor:pointer}
body.public-site .network-more-filters[open] .network-field{margin-top:18px}
body.public-site .network-results-count{font-weight:600;color:var(--product-muted);margin:22px 0 12px}
body.public-site .network-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
body.public-site .network-notice,body.public-site .network-clinician-path{padding:18px 20px;border-left:3px solid var(--product-accent);background:var(--product-panel);border-radius:0 10px 10px 0}
body.public-site .network-doctors li{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--product-line)}
body.public-site .network-doctors .network-avatar{width:48px;height:48px;object-fit:cover;flex:none}
body.public-site .public-footer{background:var(--product-panel);border-top:1px solid var(--product-line);margin-top:36px}
body.public-site .footer-grid{max-width:1200px;margin:auto;padding:40px 24px;gap:28px}
body.public-site .footer-bottom{max-width:1200px;margin:auto;padding:18px 24px;border-top:1px solid var(--product-line)}
body.public-site .footer-grid a{line-height:1.65}
body.public-site .network-footnote{max-width:80ch;font-size:.9rem;color:var(--product-muted);line-height:1.6}
body.secure-site .content{max-width:1500px;width:100%;padding:28px clamp(16px,3vw,40px)}
body.secure-site .content>header h1,body.secure-site .content .page-head h1{font-size:clamp(1.7rem,2.6vw,2.4rem);letter-spacing:-.03em;line-height:1.15}
body.secure-site .sidebar{border-right:1px solid var(--product-line)}
body.secure-site .sidebar a[aria-current=page]{background:var(--product-soft);color:var(--product-accent);border-radius:9px}
body.secure-site :is(.card,.network-panel){border-radius:14px;box-shadow:0 2px 12px #17222b05}
body.secure-site .network-tabs{gap:8px;flex-wrap:wrap}
body.secure-site .network-tabs a{border-radius:9px;padding:10px 14px;min-height:42px}
body.secure-site .network-tabs a.active{background:var(--product-accent);color:var(--product-on-accent)}
body.secure-site .network-grid{gap:20px}
.cookie-choice{max-height:calc(100dvh - 32px);overflow:auto}
.cookie-choice-actions button{min-height:46px}
@media(max-width:1000px){body.public-site .network-mode-grid,body.public-site .join-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){body.public-site .network-page,body.public-site .resource-page{width:calc(100% - 32px);padding-top:28px}body.public-site .resource-heading h1{font-size:2.2rem}body.public-site .network-mode-grid,body.public-site .join-role-grid,body.public-site .network-grid{grid-template-columns:1fr}body.public-site :is(.network-panel,.join-stage,.network-mode-card,.network-card){padding:20px;border-radius:14px}body.public-site .join-role{min-height:112px}body.public-site .network-actions>*{flex:1 1 180px}body.public-site .site-header-inner{padding:12px 16px}body.secure-site .content{padding:20px 14px}body.secure-site .network-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}body.secure-site .network-tabs a{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){body.public-site *,body.secure-site *{scroll-behavior:auto!important;transition:none!important}}

.product-support{position:fixed;bottom:18px;right:18px;z-index:40}.product-support a{display:block;padding:10px 16px;background:var(--product-panel);color:var(--product-accent);border:1px solid var(--product-line);border-radius:24px;box-shadow:0 3px 14px #17222b18;font-weight:600}

body.public-site .join-role::after{border-color:var(--product-line)}body.public-site .join-role.is-selected::after{border-color:var(--product-accent);background:var(--product-accent);box-shadow:inset 0 0 0 4px var(--product-panel)}

/* Shared readable dashboard navigation scale. */
body.secure-site .sidebar nav a,body.secure-site .sidebar .nav-section>summary{font-size:1rem;line-height:1.5;min-height:44px}
