/* Retained layout; semantic colour tokens handle both modes without image filters. */
:root { --page-bg:#fff; --surface:#f5f5f7; --surface-2:#fff; --text:#17171b; --muted:#595b65; --border:#d9dae0; --accent:#b82d2c; --r:#b82d2c; --r2:#982525; --r3:#b82d2c; --nav-bg:#fffffff5; color-scheme:light; }
:root[data-theme="dark"] { --page-bg:#0b0b0d; --surface:#151519; --surface-2:#1c1c22; --text:#f4f4f6; --muted:#b7b7c1; --border:#36363f; --accent:#f18e88; --r3:#f18e88; --nav-bg:#111114f5; color-scheme:dark; }
body { background:var(--page-bg); color:var(--text); }
.cursor, .cursor-ring, .scroll-cue { display:none; }
main { display:block; }
html { scroll-padding-top:100px; }
a:focus-visible, button:focus-visible, summary:focus-visible, select:focus-visible { outline:3px solid var(--accent); outline-offset:5px; }
button, select { font:inherit; }
.skip-link { position:fixed; top:-80px; left:12px; z-index:10002; padding:12px; background:var(--surface-2); color:var(--text); }
.skip-link:focus { top:12px; }
#mainNav, #mainNav.scrolled { padding:16px clamp(20px,4vw,64px); background:var(--nav-bg); border-bottom:1px solid var(--border); gap:20px; }
.nav-logo { flex-shrink:0; }
.brand-mark { display:inline-block; width:108px; height:48px; vertical-align:middle; }
.brand-mark img, .nav-logo .brand-mark img { width:100%; height:100%; object-fit:contain; }
.brand-mark .logo-dark, [data-theme="dark"] .brand-mark .logo-light { display:none; }
[data-theme="dark"] .brand-mark .logo-dark { display:block; }
[data-theme="dark"] .brand-mark { background:#000; border-radius:5px; }
.foot-logo.brand-mark { width:150px; height:66px; margin-bottom:18px; }
.nav-links { gap:8px; }
#mainNav .nav-links > li > a { padding:10px; background:transparent !important; color:var(--text) !important; box-shadow:none !important; font-size:11px; }
#mainNav .nav-links > li > a:hover, #mainNav .nav-links > li > a.active { background:var(--r) !important; color:#fff !important; }
.drop { background:var(--surface-2); border:1px solid var(--border); box-shadow:0 10px 30px #0002; }
.drop a { color:var(--text); }
.drop a:hover { color:var(--accent); background:var(--surface); }
.has-drop:focus-within .drop { opacity:1; pointer-events:auto; transform:translateX(-50%) translateY(0); }
.nav-tools { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.theme-toggle { display:grid; place-items:center; width:42px; height:42px; padding:9px; border:1px solid var(--border); border-radius:50%; color:var(--text); background:var(--surface-2); cursor:pointer; }
.theme-toggle:hover { border-color:var(--accent); }
.theme-toggle svg { width:22px; height:22px; }
.theme-sun, [data-theme="dark"] .theme-moon { display:none; }
[data-theme="dark"] .theme-sun { display:block; }
.ham { width:42px; height:42px; border:1px solid var(--border); border-radius:5px; background:var(--surface-2); align-items:center; justify-content:center; }
.mob-menu { top:81px; max-height:calc(100dvh - 81px); overflow-y:auto; background:var(--surface-2); border-color:var(--border); }
.mob-menu a { color:var(--text); }
.mob-menu a:hover { background:var(--surface); color:var(--accent); }
.hero-text, .hero h1 { color:var(--text); }
.hero h1 { font-size:clamp(34px,4vw,60px); line-height:1.05; }
.hero-desc, .hm { color:var(--muted); }
.line-red, .sec-h2 .acc, .inner-page .hero h1 em { color:var(--accent); }
.line-stroke { -webkit-text-stroke:1.5px var(--text); }
.hero .h-tag { color:var(--accent); }
.hero .h-tag i, .hm i { color:var(--accent); }
.hero-desc { max-width:530px; }
.hero .hero-micro { margin-top:24px; }
.scroll-cue { color:var(--muted); }
.scroll-line { background:var(--border); }
.hero-visual { min-width:0; }
.dash-frame { background:var(--surface-2); border-color:var(--border); }
.dash-frame img { height:auto; object-fit:contain; }
.kpi { background:var(--surface-2); color:var(--text); border-color:var(--border); }
.kpi-lbl { color:var(--muted); }
.kpi-val { font-size:16px; }
[data-theme="dark"] .hero { background:#301719; }
[data-theme="dark"] .hero-splash :is(path,ellipse,circle) { fill:var(--page-bg); }
.features, .onboarding { background:var(--surface); color:var(--text); }
.feat, .inner-page .features .feat { background:var(--surface-2); border-color:var(--border); color:var(--text); }
.feat:hover, .inner-page .features .feat:hover { background:var(--surface); border-color:var(--accent); }
.feat-grid, .inner-page .features .feat-grid, .price-grid { background:var(--border); border-color:var(--border); }
.feat p, .inner-page .features .feat p, .sec-sub, .industries .sec-sub, .pricing .sec-sub { color:var(--muted); }
.feat h3, .inner-page .features .feat h3 { color:var(--text); }
.feat-num { color:var(--border); }
.feat-ico, .feat-tag, .sec-eye { color:var(--accent); }
.industries .sec-eye, .pricing .sec-eye, .faq .sec-eye,
.industries .sec-h2 .acc, .pricing .sec-h2 .acc, .faq .sec-h2 .acc,
.inner-page .sec-h2 em, .inner-page .features .feat i,
.inner-page .features .feat:hover i, .kpi i, .foot-ci i { color:var(--accent); }
.feat-tag { opacity:1; }
.industries, .faq, .pricing, .inner-page .features { background:var(--page-bg); color:var(--text); }
.industries .sec-h2, .pricing .sec-h2, .faq .sec-h2, .ind h3 { color:var(--text); }
.ind { background:var(--surface); border-color:var(--border); }
.ind p { color:var(--muted); }
.ind-arr, .ind-ico { color:var(--accent); }
.btn-red, .pc-btn-red { background:var(--r); color:#fff; box-shadow:0 6px 18px #0002; }
.btn-red:hover, .pc-btn-red:hover { background:var(--r2); color:#fff; box-shadow:0 8px 24px #0003; }
.btn-outline, .hero .btn-outline, .inner-page .hero .btn-outline { border-color:var(--border); color:var(--text); background:var(--surface-2); }
.btn-outline:hover, .hero .btn-outline:hover { border-color:var(--accent); color:var(--accent); }
.btn-white { background:#fff; color:#17171b; }
.btn-white:hover { background:#f2f2f4; color:#17171b; }
.btn-black { background:#17171b; color:#fff; }
.btn, .pc-btn, .cta-section .btn-white { white-space:normal; text-align:center; line-height:1.5; max-width:100%; }
.strip, .cta-section { background:var(--r); }
.strip p, .cta-section p { color:#fff; }
.cta-band { background:var(--surface); color:var(--text); }
.cta-band p { color:var(--muted); }
.cta-band h2 em { color:var(--accent); }
.ob-card, .ob-item, .ob-chk { background:var(--surface-2); border-color:var(--border); color:var(--text); }
.ob-card-sub, .ob-complete p, .ob-item.opt { color:var(--muted); }
.ob-num { background:var(--surface-2); }
.ob-num .step-label, .ob-num .step-n, .ob-ico { color:var(--accent); }
.ob-complete { background:var(--surface-2); border-color:var(--border); }
.price-card, .price-card:hover { background:var(--surface); border-color:var(--border); color:var(--text); }
.pc-amt, .pc-amt span, .price-value, .currency-symbol { color:var(--text); }
.pc-label, .pc-period, .pc-list li, .price-note { color:var(--muted); }
.pc-list i { color:var(--accent); }
.pc-div { background:var(--border); }
.pc-btn-out { border-color:var(--border); color:var(--text); }
.pc-btn-out:hover { border-color:var(--accent); color:var(--accent); }
.price-card.hot, .price-card.hot:hover { background:var(--r); border-color:var(--r); }
.price-card.hot :is(.pc-label,.pc-period,.pc-list li,.pc-amt,.pc-amt span,.price-value,.currency-symbol) { color:#fff; }
.currency-symbol { font-size:24px; }
.pricing-toggle .toggle-label { background:transparent; border:0; padding:8px 0; color:var(--muted); }
.pricing-toggle .toggle-label.active { color:var(--text); }
.toggle-switch { border-color:var(--border); background:var(--surface-2); }
.currency-control { display:flex; gap:8px; align-items:center; font-size:12px; color:var(--muted); }
.currency-control select { padding:6px; color:var(--text); background:var(--surface-2); border:1px solid var(--border); border-radius:4px; }
.faq-q { color:var(--text); list-style:none; }
.faq-q::-webkit-details-marker { display:none; }
.faq-q:hover { color:var(--accent); }
.faq-item { border-color:var(--border); }
.faq-ico { background:var(--surface); color:var(--accent); }
.faq-item[open] .faq-ans { max-height:none; }
.faq-item[open] .faq-ico { background:var(--r); color:#fff; transform:rotate(45deg); }
.faq-body { color:var(--muted); }
footer { background:var(--surface); border-color:var(--border); }
.foot-tagline, .foot-col a, .foot-ci, .foot-ci a, .foot-copy { color:var(--muted); }
.foot-col a:hover, .foot-ci a:hover { color:var(--accent); }
footer .foot-col a { background:transparent !important; box-shadow:none !important; color:var(--muted) !important; }
footer .foot-col a:hover, footer .foot-col a:focus-visible { color:var(--accent) !important; }
.footer-link-disabled { display:block; margin-bottom:12px; font-size:12px; color:var(--muted); opacity:.8; cursor:default; }
.footer-heading { font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--text); margin-bottom:18px; }
.foot-copy a { color:var(--accent); }
.foot-bottom { border-color:var(--border); }
.soc { background:var(--surface-2); border-color:var(--border); color:var(--text); }
.soc:hover { background:var(--r); color:#fff; border-color:var(--r); }
.inner-page .hero.pharmacy-hero { background:var(--page-bg); color:var(--text); }
.inner-page .hero h1 { color:var(--text); }
.inner-page .hero p { color:var(--muted); font-size:16px; line-height:1.85; max-width:740px; }
.inner-page .hero .h-tag { color:var(--accent); }
.inner-page .features .feat i { color:var(--accent); }
.report-insight, .product-scope { background:var(--surface); padding:90px 0; color:var(--text); }
.report-insight p, .product-scope p { max-width:820px; font-size:16px; line-height:1.85; color:var(--muted); margin:24px 0; }
.report-insight .btn { margin:8px 12px 0 0; }
.product-scope h2, .related-use-cases h2 { font-size:clamp(24px,3vw,36px); max-width:800px; }
.product-scope a { color:var(--accent); text-decoration:underline; }
.related-use-cases { padding:64px 0; background:var(--page-bg); }
.related-use-cases > .container > div { display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:24px; }
.related-use-cases a { color:var(--accent); padding:8px 0; font-size:14px; font-weight:600; }
.theme-changing :is(body,#mainNav,section,footer,.btn,.feat,.ind,.price-card,.theme-toggle,.ob-card) { transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease; }
.reveal-pending { opacity:0; transform:translateY(20px); }
.reveal-pending.revealed { opacity:1; transform:none; transition:opacity .5s ease,transform .5s ease; }
@media (max-width:1100px) {
    .nav-links,.nav-cta { display:none; }
    .ham { display:flex; }
    .nav-tools { margin-left:auto; }
}
@media (max-width:768px) {
    .hero { background:var(--page-bg); }
    .hero-splash { display:none; }
    [data-theme="dark"] .hero { background:var(--page-bg); }
    .inner-page .hero.pharmacy-hero { background:var(--page-bg); }
    .hero h1 { font-size:clamp(30px,7.8vw,54px); line-height:1.08; }
    .price-card.hot { transform:none; }
    .price-card.hot:hover { transform:translateY(-4px); }
    .ob-wrap { padding-inline:20px; }
    .ob-card { min-width:0; }
    .ob-card-head { flex-wrap:wrap; }
    .report-insight,.product-scope { padding:64px 0; }
    .currency-symbol { font-size:20px; }
    .foot-ci a { overflow-wrap:anywhere; }
}
@media (prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    *,*::before,*::after { animation:none !important; transition:none !important; }
    .fade-up,.reveal-pending { opacity:1; transform:none; }
    .cursor,.cursor-ring { display:none; }
}
