/* Iteration 2: presentation only. No text, links, DOM order or consent changes. */
/* Contact: addresses are sections, with quiet labels instead of boxed badges. */
.smpc-contact-grid { gap: 40px 64px; }
.smpc-contact-card { border: 0; border-top: 1px solid #dfe2e6; padding: 24px 0 0; }
.smpc-contact-card__tag, .smpc-map-block__tag { background: none; padding: 0; color: #62666d; font-size: 13px; font-weight: 500; letter-spacing: 0; text-transform: none; margin-bottom: 14px; }
.smpc-contact-card__title { font-size: 18px !important; line-height: 1.5 !important; max-width: 38ch; }
.smpc-contact-card__address { font-size: 15px; line-height: 1.8; }
.smpc-contact-card__list { max-width: 340px; margin-top: 20px; }
.smpc-contact-card__list li { justify-content: flex-start; gap: 24px; padding: 10px 0; }
.smpc-contact-card__list span { flex: 0 0 40px; font-size: 13px; text-transform: none; letter-spacing: 0; font-weight: 400; }
.smpc-contact-card__list a { font-weight: 400; }
.smpc-map-block { grid-template-columns: minmax(240px,1fr) minmax(0,1.4fr); gap: 32px; border: 0; border-top: 1px solid #dfe2e6; padding-top: 24px; box-shadow: none; overflow: visible; }
.smpc-map-block__info { background: none; border: 0; padding: 0; gap: 4px; }
.smpc-map-block__title { font-size: 18px !important; line-height: 1.5 !important; }
.smpc-map-block__address { font-size: 15px; line-height: 1.8; }
.smpc-map-block__link { margin-top: 4px; padding: 10px 0; min-height: 44px; background: none; color: #ae153a !important; text-decoration: underline !important; text-transform: none; letter-spacing: 0; font-size: 14px; font-weight: 500; }
.smpc-map-block__link:hover { background: none; color: #88102e !important; transform: none; }
/* The map gains its viewing height only after the existing opt-in action. */
.smpc-map-block__frame { min-height: 200px; background: #fafafa; border: 1px solid #e5e6e8; }
.smpc-map-block__frame:has(iframe:not([hidden])) { min-height: 360px; }
.smpc-map-consent { padding: 24px; max-width: 44ch; }
.smpc-map-consent p { font-size: 15px; line-height: 1.7; }
.smpc-map-consent button { font-size: 14px; font-weight: 500; padding: 10px 16px; border-radius: 2px; }
.smpc-embed-fallback { line-height: 1.7; margin-top: 20px; }
/* Macromolecular page: readable text, an unboxed diagram, and a quiet contact rail. */
body.elementor-page-930 .smpc-section__layout { grid-template-columns: minmax(0,2fr) minmax(240px,1fr); gap: 56px; align-items: start; }
body.elementor-page-930 .smpc-section__body { max-width: 68ch; }
body.elementor-page-930 .smpc-section__body p { margin-bottom: 24px; }
body.elementor-page-930 .smpc-info-card { border: 0; border-left: 1px solid #dfe2e6; padding: 4px 0 4px 28px; background: none; }
body.elementor-page-930 .smpc-info-card__title { font-size: 14px !important; text-transform: none !important; letter-spacing: 0 !important; font-weight: 500 !important; }
body.elementor-page-930 .smpc-info-card__lead { font-size: 17px !important; line-height: 1.5; }
body.elementor-page-930 .smpc-info-card__list li { flex-wrap: wrap; gap: 8px 20px; align-items: baseline; padding: 12px 0; }
body.elementor-page-930 .smpc-info-card__list li>span:first-child { font-size: 13px; font-weight: 400; text-transform: none; letter-spacing: 0; }
body.elementor-page-930 .smpc-info-card__list a { font-weight: 400; }
body.elementor-page-930 .smpc-figure { border: 0; padding: 8px 0 0; text-align: left; }
body.elementor-page-930 .smpc-figure img { max-width: 640px; margin-left: 0; }
body.elementor-page-930 .smpc-figure figcaption { max-width: 72ch; font-style: normal; line-height: 1.7; margin-top: 20px; }
/* Shared footer: retain every address and link, separating identity from navigation. */
.smpc-footer { background: #fafafa; background-image: none; box-shadow: none; border-top: 1px solid #dfe2e6; padding: 40px 24px 0; }
.smpc-footer__inner { max-width: 1152px; grid-template-columns: 1fr 1fr 1.3fr; gap: 32px 48px; }
.smpc-footer__brand { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 16px 48px; padding-bottom: 28px; border-bottom: 1px solid #dfe2e6; }
.smpc-footer__brand > :is(h2,h3) { grid-column: 1 / -1; font-size: 18px !important; max-width: 54ch; margin: 0 0 4px !important; line-height: 1.5; }
.smpc-footer :is(h2,h3), .smpc-footer__heading { padding: 0 !important; margin-bottom: 14px !important; text-transform: none !important; letter-spacing: 0 !important; line-height: 1.5; }
.smpc-footer :is(h2,h3)::after, .smpc-footer__heading::after { content: none; }
.smpc-footer__address { margin: 0; font-size: 14px; line-height: 1.8; }
.smpc-footer__address strong { font-size: 14px; font-weight: 500; margin-bottom: 8px; }
.smpc-footer ul li { margin: 0; }
.smpc-footer ul li a { min-height: 40px; padding-block: 8px; line-height: 1.7; }
.smpc-footer__summary { line-height: 1.8; max-width: 40ch; }
.smpc-footer__partners { gap: 20px; margin-top: 16px; }
.smpc-footer__partners img { max-width: 108px; filter: none; opacity: 1; }
.smpc-footer__bottom { margin-top: 28px; padding: 20px 0; font-size: 13px; line-height: 1.8; }
.smpc-footer__bottom-inner { max-width: 1152px; align-items: baseline; gap: 16px 28px; }
.smpc-footer__bottom-inner > p:first-child { max-width: 82ch; }
.smpc-footer__bottom a { display: inline-block; padding-block: 4px; }
@media(max-width:900px) {
 .smpc-contact-grid { gap: 32px; }
 .smpc-map-block { grid-template-columns: 1fr 1.3fr; gap: 24px; }
 body.elementor-page-930 .smpc-section__layout { grid-template-columns: minmax(0,1fr); gap: 28px; }
 body.elementor-page-930 .smpc-info-card { border-left: 0; border-top: 1px solid #dfe2e6; padding: 24px 0 0; max-width: 480px; width: 100%; }
 .smpc-footer__inner { gap: 28px; }
 .smpc-footer__brand { gap: 16px 32px; }
}
@media(max-width:600px) {
 .smpc-contact-grid, .smpc-map-block { grid-template-columns: minmax(0,1fr); }
 .smpc-contact-grid { gap: 32px; }
 .smpc-contact-card { padding-top: 20px; }
 .smpc-map-block { gap: 24px; }
 .smpc-map-block__frame { min-height: 180px; }
 .smpc-map-consent { padding: 20px; }
 .smpc-footer { padding: 32px 20px 0; }
 .smpc-footer__inner { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 24px; }
 .smpc-footer__brand { grid-template-columns: minmax(0,1fr); gap: 24px; }
 .smpc-footer__inner > div:last-child { grid-column: 1 / -1; }
 .smpc-footer__brand > :is(h2,h3) { font-size: 17px !important; }
 .smpc-footer__bottom-inner { align-items: flex-start; }
 .smpc-footer__bottom-inner > p:last-child a:first-child { margin-left: 0; }
}
