:root{--rq-navy:#16233b;--rq-wine:#7b1e28;--rq-line:#e6e6e6;--rq-bg:#fbfbfb}
.rq-add{display:block;width:100%;margin-top:12px;padding:14px;font:600 12px/1.3 "Avenir Next",Arial,sans-serif;letter-spacing:.08em;text-align:center;text-decoration:none;color:white;background:var(--rq-navy);border:0;cursor:pointer;border-radius:2px}
.rq-add:hover{background:var(--rq-wine)}
/* Keep card actions aligned when product titles wrap onto different numbers of lines. */
.product-card[data-product-id]>.product-card__info{grid-template-rows:1fr auto;align-content:stretch}
/* The clinical photo stays fixed as its full-height section scrolls past it.
   Reserve the section height in CSS so this also works without theme scripts. */
.rq-clinical-banner{display:block;position:relative;line-height:0;overflow:hidden}
.rq-clinical-banner picture{display:block}
.rq-clinical-banner img{display:block;width:100%;height:auto;object-fit:cover;object-position:center}
@media(prefers-reduced-motion:no-preference){
  .rq-clinical-banner{height:100vh;height:100svh;clip-path:inset(0)}
  .rq-clinical-banner img{position:fixed;top:0;left:0;width:100%;height:100vh;height:100lvh;max-width:none;pointer-events:none}
}
.header__menu-disclosure[open]>.header__dropdown-menu{max-height:calc(100dvh - 170px)!important;visibility:visible!important;opacity:1!important;overflow:auto!important}
.header__cart-dot{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;border-radius:50%;font:11px/1 Arial,sans-serif;background:var(--rq-navy);color:white}
.header__cart-dot[hidden]{display:none!important}
.rq-modal-open{overflow:hidden!important}
dialog.rq-dialog{box-sizing:border-box;position:fixed;inset:0 0 0 auto;margin:0;width:min(440px,100%);height:100dvh;max-height:100dvh;max-width:100%;padding:0;border:0;color:var(--rq-navy);background:#fff;font:15px/1.5 "Avenir Next",Arial,sans-serif;overflow:auto;z-index:10000}
dialog.rq-dialog:not([open]){display:none!important}
dialog.rq-dialog[open]{display:flex;flex-direction:column}
dialog.rq-dialog::backdrop{background:rgb(15 37 71 / .45)}
.rq-dialog *, .rq-page *{box-sizing:border-box}
.rq-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;border-bottom:1px solid var(--rq-line);position:sticky;top:0;background:#fff;z-index:1}
.rq-dialog-head h2{font:400 23px/1.2 Georgia,serif;margin:0}
.rq-dialog button{cursor:pointer;border:1px solid #ccc;background:white;color:var(--rq-navy);font:inherit;min-width:44px;min-height:44px;border-radius:2px}
.rq-dialog-head button{font-size:28px;border:0}
.rq-dialog a{color:inherit;text-decoration:underline}
.rq-cart-body{flex:1;padding:0 22px;overflow:auto}
.rq-cart-item{display:flex;gap:16px;border-bottom:1px solid var(--rq-line);padding:18px 0}
.rq-cart-item img{width:70px;height:90px;object-fit:contain}
.rq-cart-info{min-width:0;flex:1}
.rq-cart-info>a{font:400 15px/1.4 Georgia,serif}
.rq-cart-info p{margin:8px 0}
.rq-cart-quantity{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.rq-cart-quantity button{padding:5px 9px}
.rq-cart-quantity span{min-width:22px;text-align:center}
.rq-cart-footer{border-top:1px solid var(--rq-line);padding:18px 22px;background:var(--rq-bg)}
.rq-cart-footer p{font-size:13px;margin:6px 0}
.rq-cart-footer strong{font-size:24px}
.rq-cart-footer .rq-add{color:white;text-decoration:none}
.rq-empty{padding:40px 0;text-align:center}
.rq-dialog [hidden],announcement-bar-carousel [hidden],slideshow-carousel [hidden]{display:none!important}
.rq-dialog form,.rq-dialog>div:not(.rq-cart-body),#rq-menu nav{padding:20px 22px}
.rq-dialog input,.rq-page input{width:100%;padding:14px;border:1px solid #aaa;border-radius:2px;background:white;color:var(--rq-navy);font:inherit;margin:8px 0}
.rq-dialog form button{width:100%;background:var(--rq-navy);color:#fff}
.rq-search-results{padding:0;list-style:none}
.rq-search-results li{margin:0;padding:14px 0;border-bottom:1px solid var(--rq-line)}
#rq-menu nav>a,#rq-menu details>a{display:block;padding:14px 0;border-bottom:1px solid var(--rq-line);text-decoration:none}
#rq-menu summary{cursor:pointer;padding:16px 0}
#rq-menu details>a{font-size:14px;padding-left:16px}
#rq-zoom{inset:0;margin:auto;width:min(950px,100%);height:auto;max-height:100dvh}
#rq-zoom>img{display:block;min-height:0;object-fit:contain;width:100%;max-height:calc(100dvh - 80px)}
:where(a,button,input,summary):focus-visible{outline:3px solid #3e9ca8!important;outline-offset:3px}
.product-gallery__thumbnail[aria-current=true]{outline:2px solid var(--rq-navy);outline-offset:-2px}
.rq-product-price{display:block!important;color:var(--rq-navy);font:400 24px/1.4 "Avenir Next",Arial,sans-serif;margin:18px 0 12px}
.product-info{position:static!important;top:auto!important}
.product-info button,.product-info input{scroll-margin-block:140px}
.product-info quantity-selector{display:inline-flex;margin:0 0 16px;position:relative;z-index:1}
.product-info .quantity-selector__button{min-width:44px;min-height:44px;cursor:pointer}
.product-info .quantity-selector__input{min-height:44px}
.product-gallery__image-list{min-width:0}
.product-gallery__carousel{display:flex!important;gap:0!important;overflow-x:auto!important;scroll-snap-type:x mandatory;align-items:flex-start;position:relative}
.product-gallery__carousel>.product-gallery__media{flex:0 0 100%;width:100%;min-width:100%;scroll-snap-align:start}
.product-gallery__carousel>.product-gallery__media img{width:100%;height:auto;max-height:75vh;object-fit:contain}
.rq-page{margin:0;color:var(--rq-navy);background:var(--rq-bg);font:16px/1.6 "Avenir Next",Arial,sans-serif}
.rq-page a{color:inherit}
.rq-top{padding:24px max(20px,4vw);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--rq-line);background:#fff}
.rq-top img{width:140px;max-width:100%;height:auto}
.rq-top nav{display:flex;gap:20px;flex-wrap:wrap}
.rq-top nav a{text-decoration:none;font-size:14px}
.rq-content{max-width:1200px;margin:auto;padding:40px 24px 70px;min-height:65vh}
.rq-content h1{font:400 clamp(30px,4vw,48px)/1.2 Georgia,serif;margin:0 0 24px}
.rq-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:32px}
.rq-product{display:flex;flex-direction:column;padding:16px;background:white;border:1px solid var(--rq-line)}
.rq-product img{width:100%;height:240px;object-fit:contain}
.rq-product a{text-decoration:none}
.rq-product h2{font:400 19px/1.3 Georgia,serif}
.rq-product>.rq-add{margin-top:auto}
.rq-kit{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.rq-kit>img{width:100%;max-height:600px;object-fit:contain}
.rq-notice{padding:24px;border:1px solid var(--rq-line);background:#fff;margin:20px 0}
.rq-notice h2{font:400 24px/1.3 Georgia,serif;margin-top:0}
.rq-footer{text-align:center;padding:30px 20px;border-top:1px solid var(--rq-line)}
.rq-footer>a{display:inline-block;margin:8px 12px}
.rq-newsletter-status{padding:16px;border:1px solid currentColor;font-size:14px;max-width:600px}
[id=usage]{scroll-margin-top:120px}
@media(max-width:900px){.rq-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rq-top{align-items:flex-start;flex-direction:column}.rq-kit{gap:20px}}
@media(max-width:540px){.rq-kit{grid-template-columns:1fr}.rq-grid{gap:12px}.rq-product{padding:10px}.rq-product img{height:170px}.rq-product h2{font-size:17px}.rq-content{padding:28px 16px 50px}.rq-top nav{gap:14px}.rq-product .rq-add{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.rq-support-button{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:calc(var(--rq-support-bottom,20px) + env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;justify-content:center;width:58px;height:58px;border:1px solid rgb(255 255 255 / .35);border-radius:50%;background:#167d48;color:#fff!important;box-shadow:0 4px 18px rgb(0 0 0 / .18);text-decoration:none!important;transition:background .15s,box-shadow .15s}
.rq-support-button:hover{background:#10653a;box-shadow:0 6px 22px rgb(0 0 0 / .24)}
.rq-support-button svg{display:block;flex:none}
.rq-journal-support{margin-left:auto;font:14px/1.4 Arial,sans-serif;text-decoration:none}
.jr-top:has(.rq-journal-support){display:flex;align-items:center;gap:20px}
body.rq-modal-open .rq-support-button{visibility:hidden}
@media(max-width:699px){.rq-support-button{right:max(16px,env(safe-area-inset-right));width:54px;height:54px}}
