/* Reine static site - global polish (smooth scrolling) */
html{scroll-padding-top:96px}
@media(prefers-reduced-motion:no-preference){html:not(.lenis){scroll-behavior:smooth}}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
.lenis.lenis-smooth iframe{pointer-events:none}
.rl-sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---- scroll reveal (reveal.js) : uses the separate `translate` property so hover transforms keep working ---- */
@media(prefers-reduced-motion:no-preference){
.rv{opacity:0;translate:0 26px;transition:opacity .75s cubic-bezier(.22,.61,.36,1) var(--rv-d,0ms),translate .75s cubic-bezier(.22,.61,.36,1) var(--rv-d,0ms);will-change:opacity,translate}
.rv.rv-in{opacity:1;translate:0 0}
/* buttons: soft lift */
.elementor-button,a.elementor-button{transition:translate .25s ease,box-shadow .25s ease,filter .25s ease,background-color .25s ease,color .25s ease}
.elementor-button:hover{translate:0 -2px;box-shadow:0 10px 24px rgba(8,60,120,.22)}
.elementor-widget-image img,.elementor-widget-image-box img{transition:filter .35s ease}
}
@media print{.rv{opacity:1!important;translate:none!important}}

/* ---- footer certification strip: compact one-row layout + motion ---- */
.reine-footer-pro .premium-cert-section{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px 28px;padding:18px 30px;border-radius:16px;text-align:left;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.reine-footer-pro .premium-cert-section .cert-title{margin:0;font-size:15px;line-height:1.2;letter-spacing:.1em;padding-right:26px;border-right:2px solid rgba(29,78,216,.18)}
.reine-footer-pro .premium-cert-section .cert-grid{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:10px;min-width:0}
.reine-footer-pro .premium-cert-section .cert-grid img{flex:1 1 0;min-width:0;max-width:104px;width:auto;height:62px;object-fit:contain}
.reine-footer-pro .premium-cert-section .btn-download{margin:0;padding:12px 24px;font-size:14px;white-space:nowrap;position:relative;overflow:hidden}
.reine-footer-pro .premium-cert-section .btn-download i{transition:transform .3s ease}
.reine-footer-pro .premium-cert-section .btn-download:hover i{transform:translateY(2px) scale(1.12)}
@media(prefers-reduced-motion:no-preference){
.reine-footer-pro .premium-cert-section .cert-grid img{transition:transform .3s ease,filter .3s ease,opacity .7s cubic-bezier(.22,.61,.36,1) var(--rv-d,0ms),translate .7s cubic-bezier(.22,.61,.36,1) var(--rv-d,0ms)}
.reine-footer-pro .premium-cert-section .cert-grid img:hover{transform:translateY(-3px) scale(1.1)}
.reine-footer-pro .premium-cert-section .btn-download::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);animation:rlSheen 5.5s ease-in-out 1.5s infinite}
}
@keyframes rlSheen{0%,70%{left:-70%}100%{left:130%}}
@media(max-width:1100px){.reine-footer-pro .premium-cert-section{grid-template-columns:1fr;justify-items:center;text-align:center;padding:18px 20px}.reine-footer-pro .premium-cert-section .cert-title{max-width:none;padding:0;border:0}.reine-footer-pro .premium-cert-section .cert-grid{width:100%;flex-wrap:wrap;justify-content:center;gap:14px 18px}.reine-footer-pro .premium-cert-section .cert-grid img{flex:0 0 auto;width:88px;height:56px}}
@media(max-width:520px){.reine-footer-pro .premium-cert-section .cert-grid img{width:68px;height:44px}.reine-footer-pro .premium-cert-section .btn-download{width:100%;justify-content:center}}

/* ---- brand colour: footer brochure button uses the Reine blues ---- */
.reine-footer-pro .btn-download{background:linear-gradient(90deg,#0077b6,#00b4d8);box-shadow:0 6px 18px rgba(0,119,182,.35)}
.reine-footer-pro .btn-download:hover{box-shadow:0 12px 28px rgba(0,119,182,.5)}

/* ================= CTA hover + press animations (site-wide) =================
   Uses the separate `translate`/`scale` properties so existing `transform` hovers keep working.
   G1 = CTAs with no hover of their own -> lift + glow ring + brightness + icon/arrow slide.
   G2 = CTAs that already lift -> only arrow slide + press. */
@media(prefers-reduced-motion:no-preference){
:is(.rlhdr-contact-btn,.rlhdr-mob-contact,.btn-rfq,.btn-download,.rex-btn,.rex-btn-past,.rex-overlay-btn,.rex-popup-cta,.rl-btn,.rl-btn-primary,.rl-btn-outline,.pp-btn,.cta-btn,.cta-btn-secondary,.card-read-btn,.read-more-btn,.filter-btn,.submit-btn,.form-submit,.catalogue-btn,.nl-btn,.btn-ghost,.btn-enquiry,.btn-enquiry-accent,.btn-sustainability,.btn-culture,.view-btn,.rl-map-dir-btn,.linkedin-follow-btn,.rl-soc-btn,.rl-oc-link,.pc-link,.li-refresh-btn,.rl-send-another,.backlink,.tab-btn,.cf-cancel,.elementor-button,.rl-cta-btns a,.quick-cta a):not(.rv):not(:disabled){
  transition:translate .28s cubic-bezier(.22,.61,.36,1),scale .18s ease,box-shadow .28s ease,filter .28s ease,background-color .25s ease,color .25s ease,border-color .25s ease;cursor:pointer}
:is(.rlhdr-contact-btn,.rlhdr-mob-contact,.btn-rfq,.btn-download,.rex-btn,.rex-btn-past,.rex-overlay-btn,.rex-popup-cta,.rl-btn,.rl-btn-primary,.rl-btn-outline,.pp-btn,.cta-btn,.cta-btn-secondary,.card-read-btn,.read-more-btn,.filter-btn,.submit-btn,.form-submit,.catalogue-btn,.nl-btn,.btn-ghost,.btn-enquiry,.btn-enquiry-accent,.btn-sustainability,.btn-culture,.view-btn,.rl-map-dir-btn,.linkedin-follow-btn,.rl-soc-btn,.rl-oc-link,.pc-link,.li-refresh-btn,.rl-send-another,.cf-cancel,.elementor-button,.rl-cta-btns a,.quick-cta a):not(:disabled):is(:hover,:focus-visible){
  translate:0 -3px;filter:brightness(1.07) saturate(1.08);box-shadow:0 12px 26px rgba(0,119,182,.30),0 0 0 4px rgba(0,180,216,.16)}
.backlink:hover,.tab-btn:hover,.card-read-btn:hover,.read-more-btn:hover,.pc-link:hover,.rl-oc-link:hover{translate:0 -2px;box-shadow:none}
/* arrow / icon slide inside any CTA */
:is(.rlhdr-contact-btn,.btn-rfq,.btn-download,.rex-btn,.rex-btn-past,.rex-overlay-btn,.rex-popup-cta,.rl-btn,.pp-btn,.cta-btn,.cta-btn-primary,.cta-btn-secondary,.card-read-btn,.read-more-btn,.submit-btn,.form-submit,.catalogue-btn,.btn-sustainability,.btn-culture,.view-btn,.rl-map-dir-btn,.cf-send,.apply-btn,.rl-submit,.rl-about-cta,.life-btn,.vm-btn,.elementor-button,.rl-cta-btns a,.backlink) :is(i,svg,.arrow,.cta-btn-arrow,.elementor-button-icon){transition:translate .28s cubic-bezier(.22,.61,.36,1)}
:is(.rlhdr-contact-btn,.btn-rfq,.rex-btn,.rex-btn-past,.rex-overlay-btn,.rex-popup-cta,.rl-btn,.pp-btn,.cta-btn,.cta-btn-secondary,.card-read-btn,.read-more-btn,.submit-btn,.form-submit,.catalogue-btn,.btn-sustainability,.btn-culture,.view-btn,.rl-map-dir-btn,.cf-send,.apply-btn,.rl-about-cta,.life-btn,.vm-btn,.elementor-button,.rl-cta-btns a):hover :is(svg,.arrow,.cta-btn-arrow,.elementor-button-icon,i:not(.fa-download)){translate:4px 0}
.btn-download:hover i{translate:0 2px}
/* press feedback on every CTA (G1 + G2) */
:is(.rlhdr-contact-btn,.rlhdr-mob-contact,.btn-rfq,.btn-download,.rex-btn,.rex-btn-past,.rex-overlay-btn,.rex-popup-cta,.rl-btn,.pp-btn,.cta-btn,.cta-btn-primary,.cta-btn-secondary,.card-read-btn,.read-more-btn,.filter-btn,.submit-btn,.form-submit,.catalogue-btn,.nl-btn,.btn-ghost,.btn-enquiry,.btn-enquiry-accent,.btn-sustainability,.btn-culture,.view-btn,.rl-map-dir-btn,.cf-send,.cf-cancel,.apply-btn,.rl-apply-btn,.rl-submit,.rl-about-cta,.life-btn,.vm-btn,.elementor-button,.rl-cta-btns a):not(:disabled):active{scale:.97;translate:0 0}
}

/* CTA hover: inline-styled anchors, phone chips, consent buttons, slider arrows */
@media(prefers-reduced-motion:no-preference){
a[style*="border-radius:30px"][style*="display:inline-block"],.rl-phone-chip,.rl-submit{transition:translate .28s cubic-bezier(.22,.61,.36,1),scale .18s ease,box-shadow .28s ease,filter .28s ease,background-color .25s ease,color .25s ease}
a[style*="border-radius:30px"][style*="display:inline-block"]:is(:hover,:focus-visible),.rl-phone-chip:is(:hover,:focus-visible){translate:0 -3px;filter:brightness(1.07);box-shadow:0 12px 26px rgba(0,119,182,.30),0 0 0 4px rgba(0,180,216,.16)}
a[style*="border:2px solid #0077b6"]:hover{background:#0077b6!important;color:#fff!important}
a[style*="border-radius:30px"][style*="display:inline-block"]:active,.rl-phone-chip:active,.dpdp-btn:active,.slider-btn:active{scale:.96}
.dpdp-btn:is(:hover,:focus-visible){translate:0 -2px;box-shadow:0 8px 18px rgba(0,119,182,.28)}
.slider-btn{transition:filter .25s ease,scale .2s ease,background-color .25s ease}
.slider-btn:hover{filter:brightness(1.12);scale:1.08}
}

/* ===== MOBILE OPTIMISATION (2026-11-12) ===== */
html body{-webkit-tap-highlight-color:transparent}
html body .rlhdr-shell *,html body .rlhdr-drawer *,html body .rl-hero-wrap button,html body .rl-hero-wrap a{-webkit-tap-highlight-color:transparent}
html body .rlhdr-hamburger,html body .rlhdr-hamburger:hover,html body .rlhdr-hamburger:focus,html body .rlhdr-hamburger:focus-visible,html body .rlhdr-hamburger:active,html body .rlhdr-hamburger.rlhdr-open{background:transparent!important;background-color:transparent!important;box-shadow:none!important;outline:0!important;border:0!important;position:relative}
html body .rlhdr-hamburger::after{content:"";position:absolute;inset:-12px -10px}
html body .rlhdr-hamburger span{background:#1c1c1c!important}
html body .rlhdr-mob-toggle,html body .rlhdr-mob-toggle:hover,html body .rlhdr-mob-toggle:focus,html body .rlhdr-mob-toggle:active{background:transparent!important;box-shadow:none!important;outline:0!important}
html body .rlhdr-mob-menu>li>a:focus,html body .rlhdr-mob-menu>li>a:active{background:transparent!important;outline:0!important}
@media(max-width:768px){
html body .rl-hero-wrap{height:calc(100vh - 190px);height:calc(100svh - 190px);min-height:430px}
html body .rl-slide{padding-bottom:90px}
html body .rl-hero-content :is(h1,h2){font-size:clamp(24px,7vw,30px);margin-bottom:8px}
html body .rl-hero-content p{margin-bottom:14px;font-size:13.5px;line-height:1.55}
html body .rl-hero-buttons{flex-direction:row!important;flex-wrap:wrap;justify-content:center;gap:8px}
html body .rl-btn{width:auto!important;flex:1 1 140px;max-width:none!important;padding:10px 14px;font-size:12.5px}
}

/* ===== MOBILE POLISH 2 (2026-11-12): hero spacing, badge, logo strip, product range, footer, API cards ===== */
@media(max-width:768px){
html body .rl-hero-wrap{height:calc(100vh - 198px);height:calc(100svh - 198px);min-height:440px}
html body .rl-slide{align-items:center;padding-top:12px;padding-bottom:150px}
html body .rl-hero-content :is(h1,h2){font-size:clamp(26px,7.6vw,32px)}
html body .rl-hero-content p{font-size:14.5px}
html body .rl-btn{padding:11px 14px;font-size:13px}
html body .reine-logo-slider{padding:12px 0}
html body .logo-track,html body .logo-wrapper{gap:40px}
html body .logo-item img{height:58px}
html body .rl-section .rl-title{font-size:24px;margin-bottom:18px}
html body .rl-section .rl-item{margin-bottom:14px;border-radius:14px}
html body .rl-section .rl-header{white-space:normal;font-size:14px;line-height:1.35;padding:14px 16px;gap:12px;text-align:left}
html body .rl-section .rl-header span{flex-shrink:0;font-size:22px}
html body .rl-section .rl-table th,html body .rl-section .rl-table td{padding:8px 5px;font-size:11.5px;line-height:1.35}
html body .rl-section .rl-table th:first-child,html body .rl-section .rl-table td:first-child{width:28px;text-align:center}
html body .reine-footer-pro{padding:38px 16px 0}
html body .reine-footer-pro .footer-top{gap:26px}
html body .reine-footer-pro .footer-col:first-child{text-align:center}
html body .reine-footer-pro .footer-logo{max-width:150px;margin:0 auto 14px}
html body .reine-footer-pro .footer-about{margin:0 auto 18px;font-size:13.5px;line-height:1.65}
html body .reine-footer-pro .footer-socials{justify-content:center;margin-top:18px}
html body .reine-footer-pro .footer-col h4{margin-bottom:14px;padding-bottom:10px}
html body .reine-footer-pro .footer-links{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
html body .reine-footer-pro .footer-links li{margin-bottom:10px}
html body .reine-footer-pro .contact-grid{gap:16px}
html body .reine-footer-pro .phone-row{flex-direction:row;flex-wrap:wrap;gap:0 16px}
html body .reine-footer-pro .map-box{height:170px}
html body .reine-footer-pro .footer-divider{margin:6px auto 24px}
html body .reine-footer-pro .premium-cert-section{padding:20px 14px}
html body .reine-footer-pro .premium-cert-section .cert-title{margin:0 0 14px;padding:0;border:0}
html body .reine-footer-pro .premium-cert-section .cert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 10px;justify-items:center;align-items:center}
html body .reine-footer-pro .premium-cert-section .cert-grid img{width:100%;max-width:64px;height:46px;flex:none}
html body .reine-footer-pro .btn-download{margin-top:18px;padding:11px 20px;font-size:13px}
html body .reine-footer-pro .footer-bottom{margin-top:28px;padding:14px 16px;font-size:12.5px;gap:4px}
}
@media(max-width:600px){
html body #rl-hero-v2 .rl-corner{width:168px;height:112px;border-top-right-radius:20px}
html body #rl-hero-v2 .rl-corner-open{left:9px;top:9px;right:11px;bottom:9px;border-radius:12px}
html body #rl-hero-v2 .rl-corner-tag{font-size:9.5px;padding:12px 4px 5px}
html body #rl-hero-v2 .rl-corner-x{right:16px;top:14px;width:20px;height:20px}
html body .rl-hero-wrap .rl-dots{left:auto;right:76px;transform:none}
html body #mainTable tbody tr{margin-bottom:20px;border:1px solid var(--border);box-shadow:0 3px 12px rgba(15,61,140,.12)}
html body #mainTable td.c-act{display:flex;justify-content:center;padding:8px 16px 11px}
html body #mainTable td.c-act .view-btn{width:auto;min-width:96px;padding:6px 18px;font-size:11.5px;border-radius:7px}
}

/* ===== POLISH 3 (2026-11-12): header drawer line, home product table scroll ===== */
html body .rlhdr-drawer:not(.rlhdr-open){border-width:0;box-shadow:none}
html body .rl-section .rl-tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}
html body .rl-section .rl-tscroll .rl-cas{white-space:nowrap}
@media(max-width:768px){
html body .rl-section .rl-tscroll .rl-has-cas{min-width:600px}
html body .rl-section .rl-tscroll .rl-has-cas td:nth-child(2),html body .rl-section .rl-tscroll .rl-has-cas th:nth-child(2){min-width:150px}
html body .rl-section .rl-tscroll .rl-has-cas td:nth-child(4){white-space:nowrap}
}

/* ===== POLISH 4 (2026-11-12): uniform paragraphs, gutters, hero titles (mobile) ===== */
@media(max-width:768px){
html body [class$="-section"],html body [class*="-section "]{padding-left:14px!important;padding-right:14px!important}
html body [class$="-card"],html body [class*="-card "]{padding-left:16px!important;padding-right:16px!important}
html body .elementor-widget-html p{font-size:15px!important;line-height:1.7!important}
html body #rl-hero-v2 p{font-size:14.5px!important;line-height:1.55!important}
html body .reine-footer-pro p,html body .rlhdr-drawer p,html body .rex-popup-overlay p{font-size:13px!important;line-height:1.6!important}
html body .section-banner{padding-left:20px!important;padding-right:20px!important}
html body .section-banner-title{font-size:30px!important;line-height:1.2!important}
html body h1.reveal{font-size:30px!important;line-height:1.2!important}
}

/* ===== POLISH 5 (2026-11-12): uniform title sizes (mobile) ===== */
@media(max-width:768px){
html body :is(.elementor-widget-html,.elementor-widget-text-editor,.pp-wrap) h2:not(.rex-popup-overlay h2):not(.reine-footer-pro h2):not(#rl-hero-v2 h2):not(.rlhdr-shell h2){font-size:26px!important;line-height:1.25!important}
html body :is(.elementor-widget-html,.elementor-widget-text-editor,.pp-wrap) h3:not(.rex-popup-overlay h3):not(.reine-footer-pro h3):not(#rl-hero-v2 h3):not([class*="num"]):not([class*="stat"]):not([class*="count"]){font-size:18px!important;line-height:1.35!important}
html body :is(.elementor-widget-text-editor,.pp-wrap) p{font-size:15px!important;line-height:1.7!important}
}

/* ===== POLISH 6 (2026-11-12): Elementor heading widget h2 (mobile) ===== */
@media(max-width:768px){
html body h2.elementor-heading-title{font-size:26px!important;line-height:1.25!important}
}

/* ===== POLISH 7 (2026-11-12): uniform list/desc text, tags, icons, images (mobile) ===== */
@media(max-width:768px){
html body :is(.elementor-widget-html,.elementor-widget-text-editor,.pp-wrap) li:not(.rlhdr-shell li):not(.rlhdr-drawer li):not(.reine-footer-pro li):not(.rex-popup-overlay li){font-size:15px!important;line-height:1.7!important}
html body .elementor-widget-html :is([class$="-desc"],[class*="-desc "],[class$="-sub"]):not(.rlhdr-shell *):not(.rlhdr-drawer *):not(.reine-footer-pro *):not(.rex-popup-overlay *):not(#rl-hero-v2 *):not(h1,h2,h3,h4,button,a,table *){font-size:15px!important;line-height:1.7!important}
html body .elementor-widget-html :is([class*="-item-text"],[class*="-feature-item"],.rl-card,.pc-item) > span{font-size:15px!important;line-height:1.7!important}
html body .elementor-widget-html [class$="-txt"]:not(.reine-footer-pro *):not(.rex-popup-overlay *):not(#rl-hero-v2 *){font-size:15px!important;line-height:1.7!important}
html body .elementor-widget-html :is(strong,b,em):not(.rex-popup-overlay *):not(.reine-footer-pro *):not(.rlhdr-shell *){font-size:inherit!important}
html body .elementor-widget-html :is([class$="-tag"],[class*="-tag "],[class$="-pill"],[class*="-pill "],[class*="eyebrow"],[class*="kicker"]):not(.rex-popup-overlay *):not(.reine-footer-pro *):not(#rl-hero-v2 *):not(.rlhdr-shell *){font-size:11.5px!important;line-height:1.3!important}
html body .elementor-widget-html .rl-row-label{font-size:11.5px!important}
html body .elementor-widget-html :is([class$="-chip"],[class*="-chip "]):not(.reine-footer-pro *){font-size:13px!important}
html body .elementor-widget-html :is(a,button):not(.rlhdr-shell *):not(.rlhdr-drawer *):not(.reine-footer-pro *) > i[class*="ri-"]{font-size:16px!important;width:auto!important;height:auto!important;line-height:1!important}
html body .elementor-widget-html :is(.rl-icon-wrap,.rl-oc-icon,.contact-info-icon,.rl-badge-icon){width:44px!important;height:44px!important}
html body .elementor-widget-html :is(.rl-icon-wrap,.rl-oc-icon,.contact-info-icon,.rl-badge-icon) i{font-size:20px!important}
html body .elementor-widget-html :is(.priority-icon,.culture-icon){font-size:32px!important}
html body .elementor-widget-html .priority-icon i,html body .elementor-widget-html .culture-icon i,html body .elementor-widget-html .cdmo-card > i[class*="ri-"]{font-size:32px!important;width:auto!important;height:auto!important}
html body .elementor-widget-html img:not(.reine-logo-slider img):not(.logo-track img):not(.logo-wrapper img):not(#rl-hero-v2 img):not(.rlhdr-shell img):not(.reine-footer-pro img):not(.rsw-slider img){max-width:100%}
html body .elementor-widget-html :is(video,iframe){max-width:100%}
}

/* ===== POLISH 8 (2026-11-12): career heading specificity ===== */
@media(max-width:768px){
html body .elementor-element h2.elementor-heading-title{font-size:26px!important;line-height:1.25!important}
}

/* POLISH 9 - mobile-only section tuning (CDMO step badge is the only all-width rule) */
html body .cdmo-ultra .cdmo-step{width:40px!important;height:40px!important;font-size:13px!important;top:-20px!important;left:22px!important;border-width:3px!important;letter-spacing:.3px!important}
.rfq-more{display:none}
@keyframes rlLineFlow{to{background-position:-200% 0}}
@media(max-width:768px){
/* HOME FAQ: compact, first 5 shown, rest behind a button */
html body:not(#_):not(#__) #reineFaq{padding:24px 14px 26px!important}
html body:not(#_):not(#__) #reineFaq .rf-sub{font-size:12.5px!important;line-height:1.5!important;margin-bottom:12px!important}
html body:not(#_):not(#__) #reineFaq .rfq-list{gap:6px!important}
html body:not(#_):not(#__) #reineFaq summary{padding:8px 36px 8px 12px!important;font-size:12.5px!important;line-height:1.35!important}
html body:not(#_):not(#__) #reineFaq summary::after{width:18px!important;height:18px!important;margin-top:-9px!important;line-height:18px!important;font-size:13px!important;right:10px!important}
html body:not(#_):not(#__) #reineFaq .rfq-a{padding:0 12px 9px!important}
html body:not(#_):not(#__) #reineFaq .rfq-a p{font-size:12.5px!important;line-height:1.5!important}
html body:not(#_):not(#__) #reineFaq .rfq-item:nth-of-type(n+6){display:none!important}
html body:not(#_):not(#__) #reineFaq.rfq-open .rfq-item:nth-of-type(n+6){display:block!important;opacity:1!important;transform:none!important}
html body:not(#_):not(#__) #reineFaq .rfq-more{display:block;margin:12px auto 0;padding:8px 18px;border-radius:999px;border:1px solid rgba(0,119,182,.35);background:#fff;color:#0077b6;font:500 12.5px/1.2 inherit;font-family:inherit;cursor:pointer}
/* ABOUT: title in 2 lines, 3 priority icons in one row */
html body:not(#_):not(#__) .about-title{font-size:24px!important;line-height:1.25!important}
html body:not(#_):not(#__) .about-title br:nth-of-type(2){display:none!important}
html body:not(#_):not(#__) .about-title span{display:inline!important}
html body:not(#_):not(#__) .priorities-section{padding-top:28px!important;padding-bottom:24px!important}
html body:not(#_):not(#__) .priorities-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;margin:14px 0!important}
html body:not(#_):not(#__) .priorities-grid{align-items:start!important}
html body:not(#_):not(#__) .priority-item{padding:8px 4px!important;min-height:0!important;height:auto!important}
html body:not(#_):not(#__) .priority-item img{width:40px!important;height:40px!important;margin:0 auto 6px!important}
html body:not(#_):not(#__) .priority-item h3{font-size:12px!important;line-height:1.3!important;margin:0!important}
/* LEADERSHIP: smaller text, taller photo cards */
html body:not(#_):not(#__) .leadership-section p,html body:not(#_):not(#__) .leadership-section .leadership-focus li{font-size:13px!important;line-height:1.55!important}
html body:not(#_):not(#__) .leadership-focus{margin-bottom:28px!important}
html body:not(#_):not(#__) .leadership-focus h3{font-size:16px!important;margin-bottom:12px!important}
html body:not(#_):not(#__) .leadership-focus li{margin-bottom:8px!important;padding-left:20px!important}
html body:not(#_):not(#__) .flip-card,html body:not(#_):not(#__) .flip-card-inner{height:460px!important}
html body:not(#_):not(#__) .flip-card-back p{font-size:13px!important;line-height:1.5!important}
/* CERTIFICATION: 2 per row */
html body:not(#_):not(#__) .cert-badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
html body:not(#_):not(#__) .cert-badge-card{padding:14px 8px!important;border-radius:14px!important}
html body:not(#_):not(#__) .cert-badge-card img{width:64px!important;height:64px!important;margin:0 auto 6px!important}
html body:not(#_):not(#__) .cert-badge-card h3{font-size:13px!important;margin:0 0 2px!important;line-height:1.25!important}
html body:not(#_):not(#__) .cert-badge-card span{font-size:10.5px!important;line-height:1.3!important}
html body:not(#_):not(#__) .cert-badge-card:last-child:nth-child(odd){grid-column:1/-1}
/* CULTURE: compact principle cards, smaller icons, animated heading line */
html body:not(#_):not(#__) .culture-card{display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;column-gap:10px!important;row-gap:4px!important;align-items:center!important;padding:12px 14px!important}
html body:not(#_):not(#__) .culture-card .culture-icon{grid-column:1;grid-row:1;width:24px!important;height:24px!important;display:flex!important;align-items:center;justify-content:center}
html body:not(#_):not(#__) .culture-card .culture-icon i{font-size:20px!important;line-height:1!important}
html body:not(#_):not(#__) .culture-card h4{grid-column:2;grid-row:1;font-size:16px!important;margin:0!important;line-height:1.2!important}
html body:not(#_):not(#__) .culture-card p{grid-column:1/-1;grid-row:2;font-size:12.5px!important;line-height:1.5!important;margin:0!important}
html body:not(#_):not(#__) .culture-points{gap:10px!important}
html body:not(#_):not(#__) .activity-header{margin-bottom:46px!important}
html body:not(#_):not(#__) .activity-header h2{padding-bottom:4px}
html body:not(#_):not(#__) .activity-header h2::after{left:50%!important;width:130px!important;height:4px!important;margin-left:-65px!important;bottom:-14px!important;border-radius:4px!important;background:linear-gradient(90deg,#0077ff,#00c6ff,#0077ff,#00c6ff)!important;background-size:200% 100%!important;animation:rlLineFlow 5s linear infinite!important}
/* MANUFACTURING: compact excellence grid + facilities card + gaps */
html body:not(#_):not(#__) .rl-me-section{padding:26px 14px!important}
html body:not(#_):not(#__) .rl-me-title{margin-bottom:14px!important}
html body:not(#_):not(#__) .rl-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
html body:not(#_):not(#__) .rl-grid{grid-auto-rows:auto!important}
html body:not(#_):not(#__) .rl-card{padding:14px 10px!important;border-radius:14px!important;min-height:0!important;height:auto!important}
html body:not(#_):not(#__) .rl-counter{font-size:28px!important;line-height:1.1!important;margin:2px 0 4px!important}
html body:not(#_):not(#__) .rl-card .rl-img{width:44px!important;height:44px!important;margin:0 auto 6px!important}
html body:not(#_):not(#__) .rl-card .rl-text{font-size:12px!important;line-height:1.45!important}
html body:not(#_):not(#__) .rl-card:last-child:nth-child(odd){grid-column:1/-1}
html body:not(#_):not(#__) .production-section{padding:30px 14px!important}
html body:not(#_):not(#__) .glass-section{padding:34px 14px!important}
html body:not(#_):not(#__) .cards-section{padding:32px 14px!important}
html body:not(#_):not(#__) .api-main-section{padding:36px 14px!important}
html body:not(#_):not(#__) .api-main-section .image-grid{gap:12px!important;margin-bottom:24px!important}
html body:not(#_):not(#__) .api-main-section .image-grid img{height:190px!important;object-fit:cover!important}
html body:not(#_):not(#__) .right-card{height:260px!important}
html body:not(#_):not(#__) .right-card img{height:100%!important}
html body:not(#_):not(#__) .right-overlay{padding:18px!important}
html body:not(#_):not(#__) .right-overlay::before{width:76px!important;height:76px!important;left:16px!important;bottom:14px!important}
html body:not(#_):not(#__) .right-overlay::after{width:82px!important;height:82px!important;left:13px!important;bottom:11px!important}
html body:not(#_):not(#__) .right-overlay h3{font-size:15px!important;line-height:1.35!important}
html body:not(#_):not(#__) .bottom-content{gap:12px!important}
html body:not(#_):not(#__) .bottom-content h3{font-size:16px!important;line-height:1.3!important}
html body:not(#_):not(#__) .bottom-content p{font-size:13px!important;line-height:1.55!important}
/* QUALITY: slider text over a full image, compact pillars */
html body:not(#_):not(#__) .qc-topic-slider{height:340px!important}
html body:not(#_):not(#__) .qc-slide{padding:14px 16px!important}
html body:not(#_):not(#__) .qc-slide-bg,html body:not(#_):not(#__) .qc-slide-bg .qc-slide-img,html body:not(#_):not(#__) .qc-slide>.qc-slide-img{height:100%!important;width:100%!important;object-fit:cover!important}
html body:not(#_):not(#__) .qc-slide::before{background:linear-gradient(rgba(0,0,0,.05) 0%,rgba(0,0,0,.22) 40%,rgba(0,0,0,.82) 100%)!important}
html body:not(#_):not(#__) .qc-slide-tag{font-size:9.5px!important;letter-spacing:1.6px!important;margin-bottom:4px!important}
html body:not(#_):not(#__) .qc-slide-title{font-size:17px!important;line-height:1.2!important;margin:0 0 4px!important}
html body:not(#_):not(#__) .qc-slide-desc{font-size:12px!important;line-height:1.45!important;margin:0!important;display:-webkit-box!important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
html body:not(#_):not(#__) .qc-slider-nav{top:12px!important;bottom:auto!important;right:14px!important}
html body:not(#_):not(#__) .qc-slider-arrows{top:40%!important;bottom:auto!important;left:8px!important;right:8px!important;width:auto!important;justify-content:space-between!important;pointer-events:none!important}
html body:not(#_):not(#__) .qc-slider-arrows .qc-arrow{pointer-events:auto!important}
html body:not(#_):not(#__) .qc-arrow{width:30px!important;height:30px!important;font-size:.8rem!important}
html body:not(#_):not(#__) .pillars-section{padding:28px 14px!important}
html body:not(#_):not(#__) .pillars-header{margin-bottom:16px!important}
html body:not(#_):not(#__) .pillars-grid{gap:10px!important}
html body:not(#_):not(#__) .pillar-card{padding:14px 14px 14px!important;border-radius:14px!important;border-width:1px!important}
html body:not(#_):not(#__) .pillar-num{font-size:1.8rem!important;top:8px!important;right:14px!important}
html body:not(#_):not(#__) .pillar-emoji{font-size:1.4rem!important;margin-bottom:4px!important}
html body:not(#_):not(#__) .pillar-card h3{font-size:15px!important;margin:0 0 4px!important;line-height:1.25!important}
html body:not(#_):not(#__) .pillar-card p{font-size:12.5px!important;line-height:1.5!important;margin:0!important}
/* R&D: 3 stats in one row, 2-column reaction list */
html body:not(#_):not(#__) .hero-stats{display:flex!important;flex-wrap:nowrap!important;gap:8px!important}
html body:not(#_):not(#__) .hero-stats .stat-item{flex:1 1 0!important;min-width:0!important;padding-left:8px!important}
html body:not(#_):not(#__) .hero-stats .stat-num{font-size:22px!important}
html body:not(#_):not(#__) .hero-stats .stat-label{font-size:9.5px!important;letter-spacing:.06em!important;line-height:1.3!important}
html body:not(#_):not(#__) .expertise-section{overflow-x:hidden!important}
html body:not(#_):not(#__) .expertise-right{width:100%!important;max-width:none!important;flex:1 1 100%!important}
html body:not(#_):not(#__) .expertise-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
html body:not(#_):not(#__) .expertise-list li{font-size:12.5px!important;padding:8px 8px 8px 24px!important;line-height:1.3!important}
}
@media(prefers-reduced-motion:reduce){html body .activity-header h2::after{animation:none!important}}
@media(max-width:768px){
/* SUSTAINABILITY: compact priority cards (icon + title on one row) */
html body:not(#_):not(#__) .sustainability-priority{padding:30px 14px!important}
html body:not(#_):not(#__) .sustainability-priority .priority-title{margin:4px 0 22px!important}
html body:not(#_):not(#__) .priority-grid{gap:12px!important}
html body:not(#_):not(#__) .priority-card{padding:16px!important;display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;column-gap:12px!important;align-items:center!important}
html body:not(#_):not(#__) .priority-card .priority-icon{margin:0!important;width:34px!important;height:34px!important;display:flex!important;align-items:center!important;justify-content:center!important}
html body:not(#_):not(#__) .priority-card h4{margin:0!important;font-size:18px!important;line-height:1.3!important}
html body:not(#_):not(#__) .priority-card p{grid-column:1/-1!important;margin:10px 0 0!important}
/* API PAGE hero badge on one line */
html body:not(#_):not(#__) .hero-eyebrow{font-size:9px!important;letter-spacing:.9px!important;padding:5px 10px!important;white-space:nowrap!important}
/* CAREER: Culture at Reine button smaller */
html body:not(#_):not(#__) .life-btn{font-size:12px!important;padding:9px 20px!important;letter-spacing:.4px!important}
}
@media(max-width:768px){
/* HOME About image: smaller WHO-GMP badge */
html body:not(#_):not(#__) .rl-about-badge{padding:8px 12px!important;gap:8px!important;right:8px!important;bottom:-12px!important;border-radius:12px!important}
html body:not(#_):not(#__) .rl-about-badge .rl-badge-icon{width:30px!important;height:30px!important;min-width:30px!important;border-radius:8px!important}
html body:not(#_):not(#__) .rl-about-badge .rl-badge-icon svg{width:16px!important;height:16px!important}
html body:not(#_):not(#__) .rl-about-badge .rl-badge-text strong{font-size:12.5px!important;line-height:1.2!important}
html body:not(#_):not(#__) .rl-about-badge .rl-badge-text span{font-size:10px!important;line-height:1.3!important}
}
@media(max-width:768px){
/* HOME hero logo slider: smaller */
html body:not(#_):not(#__) .reine-logo-slider{padding:8px 0!important}
html body:not(#_):not(#__) .logo-track,html body:not(#_):not(#__) .logo-wrapper{gap:30px!important}
html body:not(#_):not(#__) .logo-item img{height:42px!important}
}

/* Polish 13: HOME hero fills the screen with the logo strip (no bottom gap) */
@media(max-width:768px){
html body:not(#_):not(#__) .rl-hero-wrap{height:calc(100svh - 164.5px)!important}
}

/* Polish 14: HOME hero counter smaller, dots shifted left */
@media(max-width:768px){
html body:not(#_):not(#__) #rl-hero-v2 .rl-counter{font-size:20px!important}
html body:not(#_):not(#__) #rl-hero-v2 .rl-counter span{font-size:11px!important}
html body:not(#_):not(#__) #rl-hero-v2 .rl-dots{left:auto!important;right:104px!important}
}
