/* Pharmacy Ideas Computing - public site design system.
   Installed in wwwroot/css/public-site.css and shared by the public Razor views. */
:root {
    --pic-navy: #15334e;
    --pic-deep: #0f2e4a;
    --pic-blue: #0877b5;
    --pic-muted: #576b80;
    --pic-orange: #f16b37;
    --pic-line: #dfe8f0;
    --pic-canvas: #f5f8fc;
}
html { scroll-behavior: smooth; }
body.pic-site {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    margin: 0;
    background: var(--pic-canvas);
    color: var(--pic-navy);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}
.pic-site * { box-sizing: border-box; }
.pic-skip-link { position: absolute; top: -100px; left: 14px; z-index: 9999; background: #fff; padding: 9px 14px; color: #163d5a; font-weight: 750; border-radius: 7px; }
.pic-skip-link:focus { top: 10px; }
.pic-site :is(a, button, input):focus-visible { outline: 3px solid #67bce9; outline-offset: 3px; }
.pic-site-main { flex: 1 0 auto; width: 100%; padding-bottom: 0; }
.pic-site-main > main { min-width: 0; }

/* Navigation matches the blue homepage feature panel, with no wallpaper/viewport font sizes. */
.pic-site-header {
    background: linear-gradient(110deg, #102e4a 0%, #125783 100%);
    border-bottom: 2px solid #2195c5;
    box-shadow: 0 3px 18px rgba(7, 40, 68, .08);
}
.pic-site-nav { padding: 9px 0; min-height: 72px; }
.pic-site-nav__inner { max-width: 1160px; }
.pic-site-brand { display: inline-flex; gap: 11px; align-items: center; color: #fff !important; padding: 0; text-decoration: none; }
.pic-site-brand:hover { color: #fff; }
.pic-site-brand__mark {
    display: inline-flex; align-items: center; justify-content: center;
    flex: 0 0 39px; height: 39px; border-radius: 11px;
    background: rgba(255,255,255,.16); color: #d4f2ff; font-size: 12px; font-weight: 850; letter-spacing: -.03em;
}
.pic-site-brand__wordmark { display: flex; flex-direction: column; gap: 0; line-height: 1.19; }
.pic-site-brand__wordmark strong { font-size: 16px; font-weight: 750; letter-spacing: -.02em; }
.pic-site-brand__wordmark small { font-size: 11px; color: #c1e0f0; letter-spacing: .025em; }
.pic-site-nav__collapse { gap: 17px; }
.pic-site-nav__links { align-items: center; gap: 3px; }
.pic-site-nav__links .nav-link {
    display: inline-block; padding: 10px 12px !important; border-radius: 8px;
    font-size: 13px; font-weight: 600; color: #e1eff8 !important;
    white-space: nowrap; transition: color .18s, background .18s;
}
.pic-site-nav__links .nav-link:hover, .pic-site-nav__links .nav-link:focus-visible { color: #fff !important; background: rgba(255,255,255,.13); }
.pic-site-nav__links .nav-link.pic-site-nav__link--active { color: white !important; background: rgba(255,255,255,.18); }
.pic-site-nav__contact {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 39px; padding: 9px 14px; border-radius: 8px;
    background: #fff; border: 1px solid #fff; color: #155273 !important;
    text-decoration: none; font-size: 13px; font-weight: 750; white-space: nowrap;
}
.pic-site-nav__contact:hover { background: #e8f7fc; color: #0b476c !important; text-decoration: none; }
.pic-site-nav__toggler { color: #fff; border: 1px solid rgba(255,255,255,.35); padding: 8px 12px; }
.pic-site-nav__burger { display: flex; flex-direction: column; gap: 4px; width: 21px; }
.pic-site-nav__burger span { display: block; height: 2px; width: 100%; background: #fff; border-radius: 2px; }

/* Footer remains in document flow, even for long policy pages. */
.pic-site-footer { flex-shrink: 0; background: #fff; border-top: 1px solid var(--pic-line); }
.pic-site-footer__inner { max-width: 1160px; display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-top: 24px; padding-bottom: 25px; }
.pic-site-footer__company { display: flex; flex-direction: column; gap: 4px; }
.pic-site-footer__company strong { color: #173853; font-size: 13px; }
.pic-site-footer__company span { color: #65788c; font-size: 12px; }
.pic-site-footer__company small { color: #8998a8; font-size: 11px; margin-top: 2px; }
.pic-site-footer__links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px 20px; }
.pic-site-footer__links a { color: #3e607d; font-size: 12px; font-weight: 650; text-decoration: none; }
.pic-site-footer__links a:hover { color: var(--pic-blue); text-decoration: underline; }

/* Shared page components */
.pic-page { max-width: 1120px; margin: 0 auto; padding: 25px 0 64px; color: var(--pic-navy); font-size: 14px; line-height: 1.7; }
.pic-page a { text-decoration: none; }
.pic-page__breadcrumb { display: flex; gap: 11px; align-items: center; margin-bottom: 21px; font-size: 12px; color: #798ca0; }
.pic-page__breadcrumb a { color: #4d6881; font-weight: 600; }
.pic-page__breadcrumb a:hover { color: var(--pic-blue); text-decoration: underline; }
.pic-page__breadcrumb i { color: #a4b3bf; font-size: 9px; }
.pic-page__eyebrow, .pic-section-label { color: #0877b5; font-size: 11px; letter-spacing: .105em; font-weight: 850; text-transform: uppercase; }
.pic-page__eyebrow { display: inline-flex; align-items: center; gap: 9px; }
.pic-page__eyebrow span { display: inline-block; width: 18px; height: 2px; background: var(--pic-orange); }
.pic-page__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 25px; }
.pic-page__button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 43px; padding: 10px 15px; border: 1px solid transparent; border-radius: 8px; font-size: 13px; font-weight: 750; line-height: 1.3; transition: background .18s, border-color .18s; }
.pic-page__button--orange { background: var(--pic-orange); color: #fff !important; }
.pic-page__button--orange:hover { background: #d9572a; }
.pic-page__button--blue { background: #145d8d; color: #fff !important; }
.pic-page__button--blue:hover { background: #0d456e; }
.pic-page__button--light { color: #205a7d !important; border-color: #bed2df; background: white; }
.pic-page__button--light:hover { background: #eef8ff; border-color: #84b6d6; }
.pic-page__cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 26px; padding: 29px 35px; border-radius: 16px; background: linear-gradient(115deg,#123754,#12699c); color: white; }
.pic-page__cta span { color: #8cd5e9; font-weight: 850; font-size: 10px; letter-spacing: .1em; }
.pic-page__cta h2 { color: white; font-size: clamp(19px,2vw,25px); font-weight: 750; line-height: 1.3; margin: 7px 0; }
.pic-page__cta p { margin: 0; font-size: 13px; color: #d0e6f1; }
.pic-page__cta a { display: inline-flex; align-items: center; justify-content: center; gap: 10px; background: white; color: #155477; padding: 11px 15px; border-radius: 8px; white-space: nowrap; font-size: 13px; font-weight: 750; }
.pic-page__cta a:hover { background: #e8f7fe; }

/* About page: compact hero, contact information, and scannable timeline. */
.pic-about__hero { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(280px,.8fr); gap: 0; border: 1px solid var(--pic-line); border-radius: 18px; background: #fff; overflow: hidden; box-shadow: 0 10px 35px rgba(20,55,88,.055); }
.pic-about__hero-copy { padding: clamp(28px,4vw,50px); }
.pic-about__hero h1 { margin: 13px 0 17px; max-width: 610px; color: #15334e; font-size: clamp(32px,3.5vw,48px); line-height: 1.12; font-weight: 750; letter-spacing: -.038em; }
.pic-about__hero h1 em { color: var(--pic-blue); font-style: normal; }
.pic-about__hero p { max-width: 590px; margin: 0 0 11px; color: #5d7286; }
.pic-about__hero p.pic-about__lead { font-size: 16px; font-weight: 550; color: #35536c; line-height: 1.67; }
.pic-about__contact-card { align-self: stretch; display: flex; flex-direction: column; justify-content: center; padding: 32px 30px; background: #edf5fb; border-left: 1px solid #dce8f1; }
.pic-about__logo { border: 1px solid #e2eaf0; background: #fff; border-radius: 12px; padding: 14px; margin-bottom: 28px; }
.pic-about__logo img { width: 100%; max-height: 95px; object-fit: contain; display: block; }
.pic-about__contact-heading { display: flex; gap: 9px; align-items: center; font-weight: 750; color: #184869; margin-bottom: 8px; font-size: 13px; }
.pic-about__contact-heading i { color: #087cb4; }
.pic-about__contact-card address { color: #576f83; font-size: 13px; font-style: normal; margin: 0; line-height: 1.7; }
.pic-about__contact-divider { height: 1px; background: #d6e3ec; margin: 18px 0; }
.pic-about__contact-card > a { display: inline-flex; align-items: center; gap: 11px; width: fit-content; color: #165e89; font-size: 13px; font-weight: 700; margin: 0 0 9px; overflow-wrap: anywhere; }
.pic-about__contact-card > a:hover { text-decoration: underline; }
.pic-about__contact-card > a i { width: 15px; }
.pic-about__mission { display: grid; grid-template-columns: 53px 1fr; gap: 19px; padding: 30px 34px; margin: 22px 0; background: #fff; border: 1px solid var(--pic-line); border-radius: 15px; }
.pic-about__mission-icon { display: flex; align-items: center; justify-content: center; background: #eaf5fb; color: #087bb7; width: 51px; height: 51px; border-radius: 13px; font-size: 22px; }
.pic-about__mission h2 { color: #193954; font-size: clamp(20px,2.1vw,25px); line-height: 1.3; font-weight: 750; margin: 8px 0; }
.pic-about__mission p { color: #5a7083; margin: 0; }
.pic-about__history { padding: 12px 0 0; }
.pic-about__section-heading { max-width: 760px; margin-bottom: 24px; }
.pic-about__section-heading h2 { color: #183953; font-weight: 750; font-size: clamp(24px,2.7vw,32px); line-height: 1.25; margin: 7px 0 10px; }
.pic-about__section-heading p { color: #607488; margin: 0; }
.pic-about__timeline { overflow: hidden; border: 1px solid var(--pic-line); border-radius: 15px; background: #fff; }
.pic-about__timeline-item { display: grid; grid-template-columns: 102px minmax(0,1fr); gap: 22px; padding: 22px 28px; border-top: 1px solid #e9eff5; }
.pic-about__timeline-item:first-child { border-top: 0; }
.pic-about__year { color: #0877b5; font-size: 15px; font-weight: 850; white-space: nowrap; }
.pic-about__timeline-item h3 { margin: 0 0 4px; font-weight: 750; font-size: 16px; line-height: 1.35; color: #1b3b55; }
.pic-about__timeline-item p { color: #617589; margin: 0; }

/* Long-form legal pages: readable column width, stable anchors, and quick navigation. */
.pic-document__hero { padding: 31px 35px 30px; border-radius: 17px; border: 1px solid var(--pic-line); background: #fff; box-shadow: 0 8px 26px rgba(20,55,88,.035); }
.pic-document__hero h1 { font-weight: 750; font-size: clamp(30px,3.4vw,41px); letter-spacing: -.03em; line-height: 1.18; margin: 10px 0 11px; color: #183a54; }
.pic-document__hero p { max-width: 760px; margin: 0 0 13px; color: #607589; font-size: 14px; }
.pic-document__metadata { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 18px; font-size: 12px; color: #61778b; }
.pic-document__metadata span { display: inline-flex; gap: 8px; align-items: center; }
.pic-document__metadata i { color: #2784b5; }
.pic-document__metadata a { font-weight: 700; color: #0e6c9e; }
.pic-document__metadata a:hover { text-decoration: underline; }
.pic-document__layout { display: grid; grid-template-columns: 247px minmax(0,1fr); align-items: start; gap: 22px; margin-top: 22px; }
.pic-document__toc { position: sticky; top: 20px; border: 1px solid var(--pic-line); border-radius: 13px; background: #fff; padding: 19px 14px 16px; }
.pic-document__toc-title { display: block; color: #193d58; font-size: 13px; font-weight: 800; padding: 0 9px 11px; }
.pic-document__toc nav { display: flex; flex-direction: column; align-items: stretch; gap: 1px; max-height: min(64vh,650px); overflow: auto; scrollbar-color: #c7dbe9 transparent; scrollbar-width: thin; }
.pic-document__toc a { display: block; border-radius: 7px; padding: 8px 10px; color: #5e7385; font-size: 12px; line-height: 1.35; font-weight: 600; }
.pic-document__toc a:hover, .pic-document__toc a:focus-visible { background: #edf6fc; color: #075e90; }
.pic-document__toc-hint { display: none; color: #8496a7; font-size: 11px; margin: 7px 9px 0; }
.pic-document__article { min-width: 0; padding: 17px 34px 35px; border: 1px solid var(--pic-line); background: #fff; border-radius: 14px; box-shadow: 0 6px 24px rgba(20,55,88,.025); }
.pic-document__article :is(h3,h4,h5,h6) { color: #1a3c56; line-height: 1.32; overflow-wrap: anywhere; }
.pic-document__article h3 { margin: 25px 0 12px; padding-top: 22px; border-top: 1px solid #e9eef4; font-weight: 750; font-size: 21px; letter-spacing: -.018em; scroll-margin-top: 22px; }
.pic-document__article > h3:first-child { padding-top: 0; border-top: 0; margin-top: 10px; }
.pic-document__article h5 { font-size: 14px; font-weight: 750; margin: 19px 0 8px; }
.pic-document__article h6 { font-size: 13px; font-weight: 750; margin: 16px 0 7px; }
.pic-document__article p { margin: 0 0 16px; color: #536a7d; font-size: 14px; line-height: 1.86; overflow-wrap: anywhere; }
.pic-document__article a { color: #0871aa; font-weight: 650; overflow-wrap: anywhere; }
.pic-document__article a:hover { text-decoration: underline; }
.pic-document__article ul, .pic-document__article ol { padding-left: 23px; margin: 0 0 18px; }
.pic-document__article li { color: #536a7d; font-size: 14px; line-height: 1.8; margin: 7px 0; padding-left: 3px; }
.pic-document__article > hr { display: none; }
.pic-document__article :is(strong,b) { color: #294b64; }
.pic-document__article code { overflow-wrap: anywhere; }
.pic-document__help { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; background: #e8f2f9; border: 1px solid #d7e8f3; padding: 20px 25px; margin-top: 19px; border-radius: 13px; }
.pic-document__help strong { display: block; color: #1a4664; font-size: 14px; }
.pic-document__help span { display: block; color: #60788a; font-size: 12px; }
.pic-document__help a { display: inline-flex; align-items: center; gap: 8px; color: #096d9c; font-size: 13px; font-weight: 750; }
.pic-document__help a:hover { text-decoration: underline; }

/* Non-technical, professional error handling. */
.pic-error { display: flex; align-items: center; justify-content: center; min-height: 64vh; }
.pic-error__card { width: min(100%,675px); text-align: center; background: #fff; padding: clamp(30px,5vw,55px); border: 1px solid var(--pic-line); border-radius: 18px; box-shadow: 0 14px 40px rgba(20,55,88,.055); }
.pic-error__icon { display: flex; align-items: center; justify-content: center; width: 66px; height: 66px; margin: 0 auto 20px; border-radius: 18px; background: #fff0e9; color: #d86b3a; font-size: 27px; }
.pic-error h1 { margin: 9px 0 13px; color: #193a55; font-size: clamp(26px,3vw,34px); font-weight: 750; line-height: 1.24; letter-spacing: -.03em; }
.pic-error p { max-width: 520px; color: #607488; margin: 0 auto; }
.pic-error__actions { justify-content: center; }
.pic-error__reference { display: flex; flex-direction: column; gap: 4px; margin: 29px 0 0; padding: 14px; border: 1px solid var(--pic-line); border-radius: 10px; background: #f7fafd; }
.pic-error__reference > span { font-size: 12px; color: #5c7186; font-weight: 750; }
.pic-error__reference code { color: #295678; overflow-wrap: anywhere; }
.pic-error__reference small { color: #7f8e9b; font-size: 11px; }

@media (max-width: 991.98px) {
    .pic-site-nav__links .nav-link { padding: 10px 8px !important; }
    .pic-site-nav__collapse { gap: 8px; }
    .pic-document__layout { grid-template-columns: 205px minmax(0,1fr); gap: 15px; }
    .pic-document__article { padding: 17px 26px 30px; }
}
@media (max-width: 767.98px) {
    .pic-site-nav { padding: 9px 0; }
    .pic-site-nav__collapse { border-top: 1px solid rgba(255,255,255,.18); margin-top: 13px; padding: 11px 0 8px; }
    .pic-site-nav__links { align-items: stretch; }
    .pic-site-nav__links .nav-link { display: block; padding: 11px 12px !important; }
    .pic-site-nav__contact { margin-top: 8px; width: fit-content; }
    .pic-site-footer__inner { align-items: flex-start; flex-direction: column; gap: 20px; }
    .pic-site-footer__links { justify-content: flex-start; }
    .pic-page { padding-top: 17px; padding-bottom: 44px; }
    .pic-about__hero { grid-template-columns: 1fr; }
    .pic-about__hero-copy { padding: 29px 26px 31px; }
    .pic-about__contact-card { border-left: 0; border-top: 1px solid #dce8f1; padding: 23px 26px; }
    .pic-about__logo { max-width: 340px; margin-bottom: 18px; }
    .pic-document__layout { grid-template-columns: 1fr; }
    .pic-document__toc { position: static; }
    .pic-document__toc nav { max-height: 190px; }
    .pic-document__toc-hint { display: block; }
    .pic-document__article { padding: 15px 23px 26px; }
    .pic-document__hero { padding: 27px 25px; }
    .pic-page__cta { flex-direction: column; align-items: flex-start; padding: 27px; }
}
@media (max-width: 480px) {
    .pic-page__breadcrumb { margin-bottom: 15px; }
    .pic-about__hero h1 { font-size: 32px; }
    .pic-about__mission { display: block; padding: 23px; }
    .pic-about__mission-icon { margin-bottom: 13px; }
    .pic-about__timeline-item { grid-template-columns: 1fr; gap: 3px; padding: 19px 21px; }
    .pic-about__year { font-size: 13px; }
    .pic-document__hero { padding: 24px 21px; }
    .pic-document__article { padding: 15px 19px 23px; }
    .pic-document__article h3 { font-size: 19px; }
    .pic-page__actions { flex-direction: column; align-items: stretch; }
    .pic-page__button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .pic-site-nav__links .nav-link, .pic-page__button { transition: none; }
}
