@charset "UTF-8";
/*!
Theme Name: Medizane
Theme URI: http://underscores.me/
Author: Tasarlab
Author URI: http://tasarlab.com
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: medizane
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Medizane is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/
/* Normalize
--------------------------------------------- */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
	 ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
	 ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* Box sizing
--------------------------------------------- */
/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
  color: #404040;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
}

h1 {
  font-family: "DM Sans", sans-serif;
  font-size: 52px;
  font-style: normal;
  font-weight: 700;
  line-height: 68px;
  letter-spacing: -0.52px;
}

h2 {
  font-family: "DM Sans", sans-serif;
  font-size: 32px;
  font-style: normal;
  font-weight: 600;
  line-height: 42px;
  letter-spacing: -0.32px;
}

h3 {
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: -0.18px;
}

@media screen and (max-width: 767px), (min-width: 768px) and (max-width: 1023px), (min-width: 1024px) and (max-width: 1199px) {
  h2 {
    color: #0a0a0a;
    font-family: "DM Sans", sans-serif;
    font-size: 26px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: -0.52px;
  }
}
p {
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: -0.16px;
  margin-bottom: 1.5em;
}

.top-badge {
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: -0.14px;
  color: #3ec6d3 !important;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #eee;
  font-family: "Courier 10 Pitch", courier, monospace;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

code,
kbd,
tt,
var {
  font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark,
ins {
  background: #fff9c0;
  text-decoration: none;
}

big {
  font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
  background: #fff;
}

hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

ul,
ol {
  margin: 0 0 1.5em 3em;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
  font-weight: 700;
}

dd {
  margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

img {
  height: auto;
  max-width: 100%;
}

figure {
  margin: 1em 0;
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

/* Links
--------------------------------------------- */
a {
  color: #4169e1;
}
a:hover, a:focus, a:active {
  color: #191970;
}
a:focus {
  outline: thin dotted;
}
a:hover, a:active {
  outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type=button],
input[type=reset],
input[type=submit] {
  border: 1px solid;
  border-color: #ccc #ccc #bbb;
  border-radius: 3px;
  background: #e6e6e6;
  color: rgba(0, 0, 0, 0.8);
  line-height: 1;
  padding: 0.6em 1em 0.4em;
}
button:hover,
input[type=button]:hover,
input[type=reset]:hover,
input[type=submit]:hover {
  border-color: #ccc #bbb #aaa;
}
button:active, button:focus,
input[type=button]:active,
input[type=button]:focus,
input[type=reset]:active,
input[type=reset]:focus,
input[type=submit]:active,
input[type=submit]:focus {
  border-color: #aaa #bbb #bbb;
}

input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=number],
input[type=tel],
input[type=range],
input[type=date],
input[type=month],
input[type=week],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=color],
textarea {
  color: #666;
  border: 1px solid #ccc;
  border-radius: 12px;
  padding: 3px;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=number]:focus,
input[type=tel]:focus,
input[type=range]:focus,
input[type=date]:focus,
input[type=month]:focus,
input[type=week]:focus,
input[type=time]:focus,
input[type=datetime]:focus,
input[type=datetime-local]:focus,
input[type=color]:focus,
textarea:focus {
  color: #111;
}

select {
  border: 1px solid #ccc;
}

textarea {
  width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
/* Buttons (shared)
--------------------------------------------- */
/* Shared theme buttons — colors from :root (--medizane-button-color) */
.medizane-btn, .contact-block__form .contact-form__submit-wrap input[type=submit],
.contact-block__form .contact-form__submit-wrap .contact-form__submit {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  border: 0;
  font-family: var(--medizane-font-family, "DM Sans", sans-serif);
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 22px;
  letter-spacing: -0.16px;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}
.medizane-btn:focus, .contact-block__form .contact-form__submit-wrap input[type=submit]:focus,
.contact-block__form .contact-form__submit-wrap .contact-form__submit:focus {
  outline: none;
}

.medizane-btn__label {
  min-width: 0;
}

.medizane-btn__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 43px;
  height: 43px;
  border-radius: 50%;
  background: #fff;
  transition: transform 0.3s ease;
}
.medizane-btn__icon img {
  display: block;
  width: 18px;
  height: 18px;
  transition: transform 0.3s ease;
}

.medizane-btn--pill {
  gap: 43px;
  padding: 5px 4px 5px 28px;
  border-radius: 999px;
  background: var(--medizane-button-color, #406d40);
  color: var(--medizane-color-button-text, #fff);
}
.medizane-btn--pill:hover, .medizane-btn--pill:focus-visible {
  background: var(--medizane-button-hover-color, #355a35);
  color: var(--medizane-color-button-text, #fff);
}
.medizane-btn--pill:focus-visible {
  outline: 2px solid var(--medizane-button-color, #406d40);
  outline-offset: 2px;
}

.medizane-btn--pill:hover .medizane-btn__icon,
.medizane-btn--pill:focus-visible .medizane-btn__icon,
.medizane-btn--pill-light:hover .medizane-btn__icon,
.medizane-btn--pill-light:focus-visible .medizane-btn__icon,
.medizane-btn--hero:hover .medizane-btn__icon,
.medizane-btn--hero:focus-visible .medizane-btn__icon {
  transform: rotate(-20deg);
}

.medizane-btn--pill:hover .medizane-btn__icon img,
.medizane-btn--pill:focus-visible .medizane-btn__icon img,
.medizane-btn--pill-light:hover .medizane-btn__icon img,
.medizane-btn--pill-light:focus-visible .medizane-btn__icon img,
.medizane-btn--hero:hover .medizane-btn__icon img,
.medizane-btn--hero:focus-visible .medizane-btn__icon img {
  transform: rotate(-20deg);
}

.medizane-btn--hero {
  gap: 24px;
  padding: 5px 4px 5px 28px;
  border-radius: 999px;
  background: #fff;
  color: #0a0a0a;
}
.medizane-btn--hero .medizane-btn__icon {
  background: var(--medizane-button-color, #406d40);
}
.medizane-btn--hero:hover, .medizane-btn--hero:focus-visible {
  color: #0a0a0a;
}
.medizane-btn--hero:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.medizane-btn--pill-light {
  gap: 12px;
  padding: 6px 6px 6px 24px;
  border-radius: 999px;
  background: #fff;
  color: var(--medizane-button-color, #406d40);
}
.medizane-btn--pill-light .medizane-btn__label {
  flex: 1;
  text-align: left;
}
.medizane-btn--pill-light .medizane-btn__icon {
  background: var(--medizane-button-color, #406d40);
}
.medizane-btn--pill-light:hover, .medizane-btn--pill-light:focus-visible {
  color: var(--medizane-button-color, #406d40);
}
.medizane-btn--pill-light:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.medizane-btn--ghost {
  justify-content: center;
  padding: 12px 16px;
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 999px;
  background: transparent;
  color: #fff;
}
.medizane-btn--ghost:hover, .medizane-btn--ghost:focus-visible {
  color: #fff;
}
.medizane-btn--ghost:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.medizane-btn--solid,
.medizane-btn--outline {
  justify-content: center;
  padding: 12px 24px;
  border-radius: 999px;
}

.medizane-btn--solid {
  border: 1px solid var(--medizane-button-color, #406d40);
  background: var(--medizane-button-color, #406d40);
  color: var(--medizane-color-button-text, #fff);
}
.medizane-btn--solid:hover, .medizane-btn--solid:focus-visible {
  background: var(--medizane-button-hover-color, #355a35);
  border-color: var(--medizane-button-hover-color, #355a35);
  color: var(--medizane-color-button-text, #fff);
}
.medizane-btn--solid:focus-visible {
  outline: 2px solid var(--medizane-button-color, #406d40);
  outline-offset: 2px;
}

.medizane-btn--outline {
  border: 1px solid #e5e7eb;
  background: #fff;
  color: #0a0a0a;
}
.medizane-btn--outline:hover, .medizane-btn--outline:focus-visible {
  color: #0a0a0a;
}
.medizane-btn--outline:focus-visible {
  outline: 2px solid #0a0a0a;
  outline-offset: 2px;
}

.medizane-btn--header {
  justify-content: center;
  width: 170px;
  margin-left: 30px;
  padding: 14px 24px;
  gap: 10px;
  border-radius: 38px;
  background: var(--medizane-button-color, #406d40);
  color: var(--medizane-color-button-text, #fff);
  text-align: center;
  transition: background-color 0.2s ease;
}
.medizane-btn--header:hover, .medizane-btn--header:focus-visible {
  background: var(--medizane-button-hover-color, #355a35);
  color: var(--medizane-color-button-text, #fff);
}

/* Video lightbox (leadership interviews, etc.) */
.video-lightbox {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  box-sizing: border-box;
}
.video-lightbox[hidden] {
  display: none !important;
}
.video-lightbox.is-open {
  display: flex;
}

.video-lightbox__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10, 10, 10, 0.85);
  cursor: pointer;
}

.video-lightbox__dialog {
  position: relative;
  z-index: 1;
  width: min(960px, 100%);
  margin: 0 auto;
}

.video-lightbox__close {
  position: absolute;
  top: -48px;
  right: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}
.video-lightbox__close:hover, .video-lightbox__close:focus-visible {
  background: #f5f8fc;
  transform: scale(1.05);
}
.video-lightbox__close:focus {
  outline: none;
}
.video-lightbox__close:focus-visible {
  outline: 2px solid #22c5d6;
  outline-offset: 2px;
}

.video-lightbox__close-icon {
  display: block;
  width: 18px;
  height: 18px;
  background: center/contain no-repeat url("image/close-icon.svg");
}

.video-lightbox__content {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 12px;
  overflow: hidden;
  background: #000;
}

.video-lightbox__iframe,
.video-lightbox__video {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

body.video-lightbox-open {
  overflow: hidden;
}

@media screen and (max-width: 767px), (min-width: 768px) and (max-width: 1023px), (min-width: 1024px) and (max-width: 1199px) {
  .video-lightbox {
    padding: 16px;
  }
  .video-lightbox__close {
    top: -44px;
    right: 0;
    width: 36px;
    height: 36px;
  }
}
/* Header
--------------------------------------------- */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9000;
  background: #fff;
  transition: transform 0.3s ease;
  border-bottom: 1px solid #ececec;
  padding-left: 40px;
  padding-right: 40px;
}
.site-header.is-scroll-down {
  transform: translateY(-100%);
  will-change: transform;
}
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
  padding: 20px 0;
}
.site-header__bar {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.site-header__logo {
  display: flex;
  width: 132px;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
}
.site-header__logo a {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  text-decoration: none;
}
.site-header__logo img {
  display: block;
  width: 100%;
  height: 51px;
}
.site-header__icons {
  display: none;
}
.site-header__site-title {
  color: var(--medizane-text-primary, #0a0a0a);
  font-family: var(--medizane-font-family, "DM Sans", sans-serif);
  font-size: 1.125rem;
  font-weight: 600;
}
.site-header__nav {
  flex: 1;
  display: flex;
  justify-content: flex-start;
}
.site-header__menu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 62px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-header__menu a {
  color: var(--medizane-text-primary, #0a0a0a);
  font-family: var(--medizane-font-family, "DM Sans", sans-serif);
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: -0.16px;
  text-transform: capitalize;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.site-header__menu a:hover, .site-header__menu a:focus {
  opacity: 0.75;
}
.site-header__actions {
  display: flex;
  align-items: center;
  gap: 22px;
  flex-shrink: 0;
}
.site-header__menu-toggle, .site-header__menu-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  line-height: 1;
  cursor: pointer;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  user-select: none;
  transition: none;
}
.site-header__menu-toggle:hover, .site-header__menu-toggle:focus, .site-header__menu-toggle:active, .site-header__menu-close:hover, .site-header__menu-close:focus, .site-header__menu-close:active {
  border: 0;
  background: transparent;
  outline: none;
  box-shadow: none;
}
.site-header__menu-toggle:focus-visible, .site-header__menu-close:focus-visible {
  outline: 2px solid var(--medizane-text-primary, #0a0a0a);
  outline-offset: 2px;
}
.site-header__menu-toggle img, .site-header__menu-close img {
  display: block;
  width: 18px;
  height: 18px;
  pointer-events: none;
}
.site-header__overlay {
  display: none;
}
.site-header__lang, .site-header__login {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--medizane-text-primary, #0a0a0a);
  font-family: var(--medizane-font-family, "DM Sans", sans-serif);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.16px;
  text-decoration: none;
  cursor: pointer;
}
.site-header__lang-icon {
  display: block;
}
.site-header__separator {
  flex-shrink: 0;
  width: 1px;
  height: 12px;
  border-radius: 40px;
  background: #ececec;
}

.site-header .main-navigation ul {
  display: flex;
}

@media screen and (max-width: 1199px) {
  .site-header {
    --site-header-bar-height: 72px;
    padding-left: 15px;
    padding-right: 15px;
  }
  .site-header__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 0;
  }
  .site-header__bar {
    position: relative;
    z-index: 220;
    justify-content: space-between;
    width: 100%;
    min-height: 72px;
    padding: 20px 0;
  }
  .site-header__logo {
    width: auto;
    height: 32px;
    justify-content: flex-start;
  }
  .site-header__logo a {
    width: auto;
    height: 100%;
    justify-content: flex-start;
  }
  .site-header__icons {
    display: block;
    position: relative;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
  }
  .site-header__menu-toggle,
  .site-header__menu-close {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
  }
  .site-header__menu-close {
    opacity: 0;
    pointer-events: none;
  }
  .site-header.mobile-menu-open .site-header__menu-toggle {
    opacity: 0;
    pointer-events: none;
  }
  .site-header.mobile-menu-open .site-header__menu-close {
    opacity: 1;
    pointer-events: auto;
  }
  .site-header__actions--desktop {
    display: none;
  }
  .site-header__overlay {
    display: block;
    position: fixed;
    top: var(--site-header-bar-height);
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 200;
    opacity: 0;
    transition: opacity 0.35s ease;
    pointer-events: none;
  }
  .site-header.mobile-menu-open {
    height: 100dvh;
    max-height: 100dvh;
    overflow: hidden;
  }
  .site-header.mobile-menu-open .site-header__overlay {
    opacity: 1;
    pointer-events: auto;
  }
  #site-navigation.site-header__nav {
    position: absolute;
    top: var(--site-header-bar-height);
    right: 0;
    bottom: auto;
    left: 0;
    z-index: 210;
    flex: none;
    box-sizing: border-box;
    width: 100%;
    height: calc(100dvh - var(--site-header-bar-height));
    max-height: calc(100dvh - var(--site-header-bar-height));
    display: flex;
    flex-direction: column;
    background-color: #fff;
    padding-top: 0;
    padding-right: 15px;
    padding-bottom: 40px;
    padding-left: 15px;
    overflow-x: hidden;
    overflow-y: auto;
    transform: translate3d(100%, 0, 0);
    transition: transform 0.35s ease;
    pointer-events: none;
    backface-visibility: hidden;
  }
  #site-navigation.site-header__nav.toggled {
    transform: translate3d(0, 0, 0);
    pointer-events: auto;
  }
  .site-header .main-navigation ul,
  .site-header__menu {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    width: 100%;
    margin: 0;
    margin-top: 60px;
  }
}
@media screen and (min-width: 1200px) {
  .site-header__inner {
    flex-direction: row;
    padding: 20px 0;
  }
  .site-header__bar {
    width: auto;
    min-height: 0;
    padding: 0;
  }
  .site-header__icons {
    display: none !important;
  }
  .site-header__actions--desktop {
    display: flex;
  }
  .site-header__overlay {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
  #site-navigation.site-header__nav {
    position: static;
    width: auto;
    height: auto;
    max-width: none;
    transform: none;
    background-color: transparent;
    overflow: visible;
    padding: 0;
    pointer-events: auto;
    transition: none;
    backface-visibility: visible;
  }
}
@media screen and (max-width: 768px) {
  .site-header__actions--desktop .site-header__cta {
    width: auto;
    padding: 12px 20px;
    font-size: 14px;
  }
}
@media (min-width: 1366px) and (max-width: 1499px) {
  .site-header__menu {
    gap: 16px;
  }
}
body {
  padding-top: var(--site-header-height, 91px);
}

body.mobile-menu-open {
  overflow: hidden;
}

/* Footer
--------------------------------------------- */
.site-footer {
  margin: 0 40px;
  padding: 0 40px;
  background-color: var(--medizane-footer-background-color, #0a1f44);
  color: #fff;
  border-radius: 24px;
}

.site-footer__container {
  width: 100%;
  max-width: 1365px;
  margin: 0 auto;
}

.site-footer__nav {
  width: 100%;
  padding: 80px 0;
}

.site-footer__legal {
  width: 100%;
  padding: 50px 0;
}

.site-footer__menu,
.site-footer__legal-menu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-footer__menu a,
.site-footer__legal-menu a {
  color: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: -0.16px;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.site-footer__menu a:hover, .site-footer__menu a:focus,
.site-footer__legal-menu a:hover,
.site-footer__legal-menu a:focus {
  color: #fff;
  opacity: 0.75;
}

.site-footer__divider {
  width: 100%;
  height: 1px;
  margin: 0;
  background: rgba(255, 255, 255, 0.12);
}

.site-footer__divider--before-contact {
  display: none;
}

.site-footer__contact {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 54px;
}

.site-footer__contact-item {
  display: flex;
  align-items: center;
  flex: 0 1 auto;
  gap: 12px;
  max-width: calc(33.333% - 16px);
  min-width: 0;
}

.site-footer__contact-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
}
.site-footer__contact-icon img {
  display: block;
  width: 40px;
  height: 40px;
}

.site-footer__contact-text {
  margin: 0;
  padding-top: 8px;
  color: #fdfdfe;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: -0.16px;
}
.site-footer__contact-text a {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.site-footer__contact-text a:hover, .site-footer__contact-text a:focus {
  color: inherit;
  opacity: 0.75;
}

.site-footer__copyright {
  margin: 0;
  padding: 35px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.72);
  text-align: center;
}

@media screen and (max-width: 767px) {
  .site-footer {
    margin: 0 15px;
    padding: 0 15px;
  }
  .site-footer__container {
    display: flex;
    flex-direction: column;
  }
  .site-footer__nav {
    order: 0;
    width: 100%;
    padding: 32px 0;
  }
  .site-footer__divider--before-legal {
    order: 1;
  }
  .site-footer__legal {
    order: 2;
    padding: 32px 0;
  }
  .site-footer__divider--before-contact {
    display: block;
    order: 3;
    margin-bottom: 32px;
  }
  .site-footer__contact {
    order: 4;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 20px;
    padding-bottom: 32px;
  }
  .site-footer__copyright {
    order: 5;
    padding: 32px 0;
  }
  .site-footer__menu,
  .site-footer__legal-menu {
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }
  .site-footer__contact-item {
    max-width: 100%;
  }
  .site-footer__contact-text {
    padding-top: 6px;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .site-footer {
    margin: 0 15px;
    padding: 0 15px;
  }
  .site-footer__container {
    display: flex;
    flex-direction: column;
  }
  .site-footer__nav {
    order: 0;
    width: 100%;
    padding: 42px 0;
  }
  .site-footer__divider--before-legal {
    order: 1;
  }
  .site-footer__legal {
    order: 2;
    padding: 42px 0;
  }
  .site-footer__divider--before-contact {
    display: block;
    order: 3;
    margin-bottom: 32px;
  }
  .site-footer__contact {
    order: 4;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 20px;
    padding-bottom: 42px;
  }
  .site-footer__copyright {
    order: 5;
    padding: 42px 0;
  }
  .site-footer__menu,
  .site-footer__legal-menu {
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }
  .site-footer__contact-item {
    max-width: 100%;
  }
  .site-footer__contact-text {
    padding-top: 6px;
  }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  .site-footer {
    margin: 0 15px;
    padding: 0 15px;
  }
  .site-footer__container {
    display: flex;
    flex-direction: column;
  }
  .site-footer__nav {
    order: 0;
    width: 100%;
    padding: 42px 0;
  }
  .site-footer__divider--before-legal {
    order: 1;
  }
  .site-footer__legal {
    order: 2;
    padding: 42px 0;
  }
  .site-footer__divider--before-contact {
    display: block;
    order: 3;
    margin-bottom: 32px;
  }
  .site-footer__contact {
    order: 4;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 20px;
    padding-bottom: 42px;
  }
  .site-footer__copyright {
    order: 5;
    padding: 42px 0;
  }
  .site-footer__menu,
  .site-footer__legal-menu {
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }
  .site-footer__contact-item {
    max-width: 100%;
  }
  .site-footer__contact-text {
    padding-top: 6px;
  }
}
@media (min-width: 1200px) and (max-width: 1365px) {
  .site-footer {
    margin: 0 15px;
    padding: 0 15px;
  }
  .site-footer__nav {
    padding: 72px 0 42px;
  }
  .site-footer__legal {
    padding: 42px 0;
  }
  .site-footer__menu,
  .site-footer__legal-menu {
    justify-content: space-between;
  }
  .site-footer__contact {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: start;
    padding-bottom: 42px;
  }
  .site-footer__contact-item {
    max-width: none;
    width: 100%;
  }
}
@media (min-width: 1366px) and (max-width: 1499px) {
  .site-footer {
    margin: 0 40px;
    padding: 0 40px;
  }
}
/* Home
--------------------------------------------- */
.home-hero {
  padding: 40px;
  padding-bottom: 0px;
}

.home-hero__inner {
  position: relative;
  overflow: hidden;
  width: 100%;
  border-radius: 20px;
  background: linear-gradient(120deg, #2f5f8a 0%, #12325e 62%, #0a2a5a 100%);
  box-sizing: border-box;
}

.home-hero__inner::before {
  content: "";
  position: absolute;
  top: -520px;
  left: -220px;
  width: 1600px;
  height: 900px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(94, 234, 212, 0.44) 0%, rgba(94, 234, 212, 0.2) 33%, rgba(94, 234, 212, 0) 72%);
  filter: blur(8px);
  transform: translateX(-24px);
  animation: home-hero-light-top 9s ease-in-out infinite alternate;
  pointer-events: none;
  z-index: 0;
}

.home-hero__inner::after {
  content: "";
  position: absolute;
  bottom: -560px;
  right: -220px;
  left: auto;
  width: 1600px;
  height: 950px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(94, 234, 212, 0.4) 0%, rgba(94, 234, 212, 0.16) 35%, rgba(94, 234, 212, 0) 74%);
  filter: blur(10px);
  transform: translateX(24px);
  animation: home-hero-light-bottom 9.5s ease-in-out infinite alternate;
  pointer-events: none;
  z-index: 0;
}

.home-hero__container {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 56px;
  width: 100%;
  max-width: 1365px;
  margin: 0 auto;
  min-height: 800px;
}

@keyframes home-hero-light-top {
  0% {
    transform: translateX(-42px);
    opacity: 0.86;
  }
  100% {
    transform: translateX(12px);
    opacity: 1;
  }
}
@keyframes home-hero-light-bottom {
  0% {
    transform: translateX(42px);
    opacity: 0.8;
  }
  100% {
    transform: translateX(-12px);
    opacity: 0.98;
  }
}
.home-hero__content {
  max-width: 760px;
}

.home-hero__content h1 {
  margin: 0;
  color: #fff;
}

.home-hero__content p {
  margin: 18px 0 0;
  color: #fff;
  max-width: 616px;
}

.home-hero__cta {
  margin-top: 28px;
}

.home-hero__media {
  position: relative;
  flex: 1;
}

.home-hero__banner {
  display: block;
  width: 100%;
  object-fit: cover;
  border-radius: 20px;
}

.home-hero__certification {
  position: absolute;
  top: 61px;
  left: -56px;
  z-index: 2;
  gap: 12px;
  border-radius: 10px;
  background-color: #fff;
  border-radius: 14px;
  background: #FFF;
  box-shadow: 0 20px 60px 0 rgba(0, 0, 0, 0.2);
  display: inline-flex;
  height: 64px;
  padding: 14px 14px 0 14px;
  align-items: flex-start;
}

.home-hero__certification img {
  width: 36px;
  height: 36px;
}

.home-hero__certification-text {
  display: flex;
  flex-direction: column;
}

.home-hero__certified-title {
  color: #0b2545;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  line-height: 16px;
  letter-spacing: -0.12px;
}

.home-hero__certified-subtitle {
  color: #6b7280;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 16px;
  letter-spacing: -0.12px;
}

.home-hero__platform-card {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 21px 16px;
  border-radius: 14px;
  background-color: rgba(255, 255, 255, 0.94);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(6px);
}

.home-hero__platform-icon {
  flex-shrink: 0;
  display: block;
  width: 44px;
  height: 44px;
}

.home-hero__platform-label {
  display: block;
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 16px;
  letter-spacing: -0.12px;
}

.home-hero__platform-title {
  margin: 2px 0 4px;
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 22px;
  letter-spacing: -0.16px;
}

.home-hero__platform-meta {
  display: block;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: -0.14px;
}

@media screen and (max-width: 1023px) {
  .home-hero {
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 24px;
  }
  .home-hero__container {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 26px;
    padding: 24px 15px;
    height: auto;
  }
  .home-hero__content {
    min-width: 0;
    max-width: none;
  }
  .home-hero__content h1 {
    color: #fff;
    font-family: "DM Sans", sans-serif;
    font-size: 28px;
    font-style: normal;
    font-weight: 600;
    line-height: 38px;
    letter-spacing: -0.28px;
  }
  .home-hero__content p {
    color: #fff;
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 18px;
    letter-spacing: -0.14px;
    max-width: none;
  }
  .home-hero__media {
    width: 100%;
    max-width: none;
  }
  .home-hero__certification {
    top: 96px;
    left: 20px;
  }
}
@media (min-width: 1366px) and (max-width: 1499px) {
  .home-hero__container {
    padding: 40px;
    min-height: auto;
  }
}
@media (min-width: 1024px) and (max-width: 1199px), (min-width: 1200px) and (max-width: 1365px) {
  .home-hero {
    padding: 15px;
  }
  .home-hero__container {
    min-height: auto;
    padding: 40px;
    gap: 32px;
  }
  .home-hero__content {
    max-width: 520px;
  }
  .home-hero__content h1 {
    font-family: "DM Sans", sans-serif;
    font-size: 41px;
    font-style: normal;
    font-weight: 700;
    line-height: 50px;
    letter-spacing: -0.52px;
  }
  .home-hero__media {
    flex: 0 0 46%;
    max-width: 46%;
  }
  .site-header__menu {
    gap: 25px;
  }
  .home-hero__certification {
    left: -24px;
  }
}
@media (min-width: 768px) and (max-width: 1023px), (min-width: 1024px) and (max-width: 1199px) {
  .home-hero {
    padding: 15px;
  }
  .home-hero__container {
    min-height: auto;
  }
  .home-hero__certification {
    top: 20px;
    left: 4px;
  }
  .home-hero__platform-card {
    position: absolute;
    left: 9px;
    right: 9px;
    gap: 1px;
  }
}
@media screen and (max-width: 767px), (min-width: 768px) and (max-width: 1023px), (min-width: 1024px) and (max-width: 1199px) {
  .home-hero__media {
    flex: none;
    width: 100%;
  }
  .home-hero__container {
    min-height: auto;
    justify-content: flex-start;
  }
  .home-hero__certification {
    top: 30px;
    left: 15px;
  }
  .home-hero__platform-card {
    position: absolute;
    left: 9px;
    right: 9px;
    bottom: 9px;
    z-index: 3;
    gap: 1px;
    padding: 12px 9px;
  }
  .home-hero__platform-meta {
    font-size: 12px;
  }
}
.vis-platform {
  padding: 80px 40px 120px 40px;
  background: #fff;
}

.vis-platform__container {
  width: 100%;
  max-width: 1365px;
  margin: 0 auto;
}

.vis-platform__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 48px;
  margin-bottom: 52px;
}

.vis-platform__header-main {
  flex: 1;
  min-width: 0;
  max-width: 560px;
}

.vis-platform__badge {
  margin: 0 0 12px;
  color: #3ec6d3;
}
.vis-platform__badge::before {
  content: "• ";
}

.vis-platform__title {
  margin: 0;
  color: #0a0a0a;
}

.vis-platform__header-aside {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-end;
  min-width: 0;
  max-width: 520px;
  text-align: right;
}

.vis-platform__description {
  margin: 0;
  color: #0a0a0a;
}

.vis-platform__link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 20px;
  color: #0f2c4d;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 22px;
  letter-spacing: -0.16px;
  text-decoration: none;
}

.vis-platform__link-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 43px;
  height: 43px;
  border-radius: 50%;
  background: var(--vis-platform-tab-active-bg, #0f2c4d);
}

.vis-platform__link-icon img {
  display: block;
  width: 18px;
  height: 18px;
  transition: transform 0.3s ease;
}

.vis-platform__link:hover .vis-platform__link-icon,
.vis-platform__link:focus-visible .vis-platform__link-icon {
  transform: rotate(-20deg);
}

.vis-platform__link:hover .vis-platform__link-icon img,
.vis-platform__link:focus-visible .vis-platform__link-icon img {
  transform: rotate(-20deg);
}

.vis-platform__tabs-layout {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.vis-platform__tab-item {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.vis-platform__tab {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  column-gap: 12px;
  row-gap: 14px;
  align-items: center;
  width: 100%;
  padding: 24px;
  border: 1px solid #e8edf2;
  border-radius: 14px;
  background: #fff;
  color: inherit;
  cursor: pointer;
  text-align: left;
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
  appearance: none;
}
.vis-platform__tab:focus {
  outline: none;
}
.vis-platform__tab:focus-visible {
  outline: 2px solid var(--vis-platform-tab-active-bg, #0f2c4d);
  outline-offset: 2px;
}
.vis-platform__tab:active:not(.is-active):not([aria-selected=true]) {
  background: #fff;
  border-color: #e8edf2;
}
.vis-platform__tab.is-active:active, .vis-platform__tab[aria-selected=true]:active {
  background: var(--vis-platform-tab-active-bg, #0f2c4d);
  border-color: var(--vis-platform-tab-active-bg, #0f2c4d);
}

.vis-platform__tab.is-active,
.vis-platform__tab[aria-selected=true] {
  border-color: var(--vis-platform-tab-active-bg, #0f2c4d);
  background: var(--vis-platform-tab-active-bg, #0f2c4d);
}

.vis-platform__tab-number {
  grid-column: 1;
  grid-row: 1;
  color: #22c5d6;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 18px;
  letter-spacing: -0.14px;
}

.vis-platform__tab-title {
  grid-column: 1;
  grid-row: 2;
  min-width: 0;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 22px;
  letter-spacing: -0.16px;
}

.vis-platform__tab.is-active .vis-platform__tab-title,
.vis-platform__tab[aria-selected=true] .vis-platform__tab-title {
  color: #fff;
}

.vis-platform__tab-icon {
  grid-column: 2;
  grid-row: 1/-1;
  display: inline-flex;
  align-items: flex-end;
  justify-content: flex-end;
  align-self: flex-end;
  width: 18px;
  height: 18px;
}

.vis-platform__tab-icon img {
  display: block;
  width: 18px;
  height: 18px;
  transition: transform 0.2s ease;
}

.vis-platform__tab:not(.is-active):not([aria-selected=true]) .vis-platform__tab-icon img {
  filter: brightness(0) saturate(100%) invert(49%) sepia(9%) saturate(498%) hue-rotate(182deg) brightness(93%) contrast(88%);
}

.vis-platform__tab.is-active .vis-platform__tab-icon img,
.vis-platform__tab[aria-selected=true] .vis-platform__tab-icon img {
  transform: rotate(90deg);
}

.vis-platform__panel {
  display: none;
  padding: 24px;
  border: 1px solid #e8edf2;
  border-radius: 14px;
  background: #fff;
}

.vis-platform__panel.is-active {
  display: block;
}

.vis-platform__panel-title {
  margin: 0 0 12px;
  color: #000;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 22px;
  letter-spacing: -0.16px;
}

.vis-platform__panel-text {
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: -0.16px;
}

.vis-platform__panel-text p {
  margin: 0;
}

.vis-platform__panel-text p + p {
  margin-top: 12px;
}

@media screen and (min-width: 768px) {
  .vis-platform__tabs-layout {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: auto auto;
    gap: 12px;
  }
  .vis-platform__tab-item {
    display: contents;
  }
  .vis-platform__tab-item:nth-child(1) > .vis-platform__tab {
    grid-column: 1;
    grid-row: 1;
  }
  .vis-platform__tab-item:nth-child(2) > .vis-platform__tab {
    grid-column: 2;
    grid-row: 1;
  }
  .vis-platform__tab-item:nth-child(3) > .vis-platform__tab {
    grid-column: 3;
    grid-row: 1;
  }
  .vis-platform__tab-item:nth-child(4) > .vis-platform__tab {
    grid-column: 4;
    grid-row: 1;
  }
  .vis-platform__tab-item > .vis-platform__panel {
    grid-column: 1/-1;
    grid-row: 2;
  }
  .vis-platform__tab {
    width: 100%;
    max-width: none;
  }
}
@media screen and (max-width: 1365px) {
  .vis-platform__header {
    flex-direction: column;
    gap: 24px;
    margin-bottom: 28px;
  }
  .vis-platform__header-main,
  .vis-platform__header-aside {
    max-width: none;
  }
  .vis-platform__header-aside {
    align-items: flex-start;
    text-align: left;
  }
}
@media (min-width: 1200px) and (max-width: 1365px) {
  .vis-platform {
    padding: 72px 15px;
  }
}
@media screen and (max-width: 767px), (min-width: 768px) and (max-width: 1023px), (min-width: 1024px) and (max-width: 1199px) {
  .vis-platform {
    padding: 42px 15px 72px;
  }
  .vis-platform__panel {
    padding: 15px;
  }
  .vis-platform__header {
    flex-direction: column;
    gap: 8px;
    margin-bottom: 32px;
  }
  .vis-platform__tab {
    padding: 24px 15px;
  }
}
.products-overview {
  padding: 120px 0px;
  background: #fff;
  border-radius: 18px;
  background: #f5f8fc;
  margin: 0 40px;
}

.products-overview__container {
  width: 100%;
  max-width: 1365px;
  margin: 0 auto;
}

.products-overview__card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.products-overview__content {
  flex: 1;
  min-width: 0;
  max-width: 635px;
}

.products-overview__title {
  margin: 0;
  color: #0a0a0a;
}

.products-overview__description {
  margin: 6px 0 0;
  color: #6A7282;
}

.products-overview__cta {
  flex-shrink: 0;
  text-transform: capitalize;
}

@media (min-width: 1366px) and (max-width: 1499px) {
  .products-overview {
    padding: 80px 24px;
    margin: 0 24px;
  }
}
@media (min-width: 1200px) and (max-width: 1365px) {
  .products-overview {
    padding: 72px 15px;
    margin: 0 15px;
  }
}
@media screen and (max-width: 767px), (min-width: 768px) and (max-width: 1023px), (min-width: 1024px) and (max-width: 1199px) {
  .products-overview__card {
    flex-direction: column;
    align-items: center;
    gap: 24px;
    padding: 0;
  }
  .products-overview__content {
    max-width: none;
    text-align: center;
  }
  .products-overview__description {
    margin-top: 8px;
  }
  .products-overview {
    margin: 0 15px;
    padding: 42px 15px;
  }
}
.products-overview__showcase {
  margin-top: 52px;
}

.products-showcase__layout {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 15px;
}

.products-showcase__featured-media {
  flex: 0 0 35%;
  max-width: 35%;
  min-width: 0;
}

.products-showcase__featured-image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 520px;
  aspect-ratio: 1/1;
  border-radius: 20px;
  object-fit: cover;
}

.products-showcase__aside {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  justify-content: space-between;
  gap: 52px;
  min-width: 0;
  min-height: 520px;
}

.products-showcase__featured-content {
  flex: 0 0 auto;
  padding-top: 0;
}

.products-showcase__badge {
  margin: 0;
  color: #37a6dd;
  font-family: "DM Sans", sans-serif;
  font-size: 22px;
  font-style: normal;
  font-weight: 600;
  line-height: 30px;
  letter-spacing: -0.22px;
}

.products-showcase__front-title {
  margin: 8px 0 0;
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: -0.18px;
}

.products-showcase__description {
  margin: 12px 0 0;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: -0.16px;
}

.products-showcase__link {
  display: inline-block;
  margin-top: 20px;
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 22px;
  letter-spacing: -0.16px;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.products-showcase__carousel {
  position: relative;
  flex: 0 0 auto;
  width: 100%;
  min-width: 0;
  margin-top: auto;
}

.products-showcase__carousel-toolbar {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: flex-end;
  min-height: 48px;
  margin-bottom: 12px;
}

.products-showcase__nav {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.products-showcase__nav-btn {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 31px;
  height: 31px;
  margin: 0 !important;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 2px rgba(10, 10, 10, 0.06);
  color: inherit;
  line-height: 1;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
}
.products-showcase__nav-btn::after {
  content: none !important;
  display: none !important;
}
.products-showcase__nav-btn:focus {
  outline: none;
}
.products-showcase__nav-btn:focus-visible {
  outline: 2px solid #0a0a0a;
  outline-offset: 2px;
}
.products-showcase__nav-btn.swiper-button-hidden, .products-showcase__nav-btn.swiper-button-lock {
  opacity: 1 !important;
  display: inline-flex !important;
  pointer-events: auto;
}
.products-showcase__nav-btn.swiper-button-disabled {
  opacity: 1;
  cursor: not-allowed;
  pointer-events: none;
}
.products-showcase__nav-btn.swiper-button-disabled img {
  opacity: 0.35;
}
.products-showcase__nav-btn img {
  display: block;
  width: 13px;
  height: 13px;
  flex-shrink: 0;
}

.products-showcase__nav-btn--prev img {
  transform: rotate(180deg);
}

.products-showcase__nav-btn--next:not(.swiper-button-disabled) img {
  opacity: 1;
}

.products-showcase__mobile-card {
  display: none;
}

.products-showcase__pagination {
  position: static;
  display: none;
  width: auto;
  margin: 0;
  padding: 0;
}

.products-showcase__pagination.swiper-pagination {
  gap: 6px;
}

.products-showcase__pagination .swiper-pagination-bullet {
  position: relative;
  width: 14px;
  height: 14px;
  margin: 0 !important;
  opacity: 1;
  border: 1px solid #0a0a0a;
  border-radius: 50%;
  background: transparent !important;
  box-sizing: border-box;
  vertical-align: middle;
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
}
.products-showcase__pagination .swiper-pagination-bullet::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: transparent;
  transform: translate(-50%, -50%);
}
.products-showcase__pagination .swiper-pagination-bullet:focus {
  outline: none;
}
.products-showcase__pagination .swiper-pagination-bullet:focus-visible {
  outline: 2px solid #0a0a0a;
  outline-offset: 2px;
}

.products-showcase__pagination .swiper-pagination-bullet-active {
  transform: none;
}

.products-showcase__pagination .swiper-pagination-bullet-active::after {
  background: #0a0a0a;
}

.products-showcase__swiper {
  overflow: hidden;
  width: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
}

.products-showcase__slide {
  height: auto;
}

.products-showcase__slide-btn {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  border: 2px solid transparent;
  border-radius: 14px;
  background: transparent;
  cursor: pointer;
  overflow: hidden;
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
  transition: border-color 0.15s ease;
}
.products-showcase__slide-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.55);
  opacity: 0;
  pointer-events: none;
}
.products-showcase__slide-btn:focus {
  outline: none;
}
.products-showcase__slide-btn:focus-visible {
  border-color: #37a6dd;
}
.products-showcase__slide-btn img {
  display: block;
  width: 100%;
  aspect-ratio: 3/4;
  border-radius: 12px;
  object-fit: cover;
  opacity: 1;
}

.products-showcase__slide:not(.is-active) .products-showcase__slide-btn img {
  opacity: 0.72;
}
.products-showcase__slide:not(.is-active) .products-showcase__slide-btn::after {
  opacity: 1;
}

.products-showcase__slide.is-active .products-showcase__slide-btn {
  border-color: #37a6dd;
}
.products-showcase__slide.is-active .products-showcase__slide-btn img {
  opacity: 1;
}
.products-showcase__slide.is-active .products-showcase__slide-btn::after {
  opacity: 0;
}

@media screen and (min-width: 1200px) and (max-width: 1365px) {
  .products-showcase__layout {
    gap: 24px;
  }
  .products-showcase__featured-media {
    flex: 0 0 48%;
    max-width: 48%;
  }
  .products-showcase__featured-image,
  .products-showcase__aside {
    min-height: 460px;
  }
}
@media screen and (max-width: 767px), (min-width: 768px) and (max-width: 1023px), (min-width: 1024px) and (max-width: 1199px) {
  .products-overview__cta {
    display: none;
  }
  .products-overview__showcase {
    margin-top: 32px;
  }
  .products-showcase__layout {
    display: block;
  }
  .products-showcase__featured-media,
  .products-showcase__featured-content,
  .products-showcase__carousel-toolbar {
    display: none;
  }
  .products-showcase__aside {
    flex: none;
    width: 100%;
    min-height: 0;
    gap: 0;
  }
  .products-showcase__carousel {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-top: 0;
  }
  .products-showcase__swiper {
    flex: none;
    width: 100%;
    overflow: hidden;
  }
  .products-showcase__slide {
    height: auto;
  }
  .products-showcase__slide-btn {
    display: none;
  }
  .products-showcase__mobile-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 4px 24px rgba(10, 10, 10, 0.08);
  }
  .products-showcase__mobile-card-media {
    overflow: hidden;
    border-radius: 16px 16px 0 0;
  }
  .products-showcase__mobile-card-media img {
    display: block;
    width: 100%;
    aspect-ratio: 16/10;
    object-fit: cover;
  }
  .products-showcase__mobile-card-body {
    padding: 20px 20px 24px;
  }
  .products-showcase__mobile-badge {
    margin: 0;
    color: #37a6dd;
    font-family: "DM Sans", sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
    letter-spacing: -0.18px;
  }
  .products-showcase__mobile-front-title {
    margin: 8px 0 0;
    color: #0a0a0a;
    font-family: "DM Sans", sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 22px;
    letter-spacing: -0.16px;
  }
  .products-showcase__mobile-description {
    margin: 8px 0 0;
    color: #6a7282;
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: -0.14px;
  }
  .products-showcase__mobile-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    color: #0a0a0a;
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    letter-spacing: -0.15px;
    text-decoration: none;
  }
  .products-showcase__mobile-link img {
    display: block;
    width: 14px;
    height: 14px;
    flex-shrink: 0;
  }
  .products-showcase__pagination.swiper-pagination {
    position: static !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    z-index: auto;
    display: flex !important;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 0 !important;
    padding: 0;
  }
}
.science-fqa {
  padding: 120px 40px;
  background: #fff;
}

.science-fqa__container {
  width: 100%;
  max-width: 1365px;
  margin: 0 auto;
}

.science-fqa__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
  gap: 48px;
}

.science-fqa__media {
  display: flex;
  min-width: 0;
  min-height: 100%;
}
.science-fqa__media img {
  display: block;
  width: 100%;
  min-height: 100%;
  border-radius: 16px;
  object-fit: cover;
  aspect-ratio: 1/1;
}

.science-fqa__content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 100%;
}

.science-fqa__badge {
  margin: 0 0 12px;
  color: #3ec6d3;
  justify-content: center;
  align-items: center;
}
.science-fqa__badge::before {
  content: "• ";
  font-size: 16px;
  justify-content: center;
  align-items: center;
}

.science-fqa__title {
  margin: 0 0 32px;
  color: #0a0a0a;
}

.science-fqa__item + .science-fqa__item {
  border-top: 1px solid #e8edf2;
}

.science-fqa__trigger {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  padding: 24px 0;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
}
.science-fqa__trigger:focus {
  outline: none;
}
.science-fqa__trigger:focus-visible {
  outline: 2px solid #0a0a0a;
  outline-offset: 2px;
}

.science-fqa__icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: #F5F8FC;
}
.science-fqa__icon img {
  display: block;
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.science-fqa__item-title {
  flex: 1;
  min-width: 0;
  margin: 0;
  color: #0b2545;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 22px;
  letter-spacing: -0.16px;
}

.science-fqa__chevron {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
}
.science-fqa__chevron img {
  display: block;
  width: 12px;
  height: 12px;
  transition: transform 0.2s ease;
}

.science-fqa__item.is-open .science-fqa__chevron img {
  transform: rotate(180deg);
}

.science-fqa__panel {
  padding: 0 0 24px 0px;
}

.science-fqa__item:not(:has(.science-fqa__icon)) .science-fqa__panel {
  padding-left: 0;
}

.science-fqa__item-text {
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: -0.16px;
}
.science-fqa__item-text p {
  margin: 0 0 12px;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
}
.science-fqa__item-text p:last-child {
  margin-bottom: 0;
}
.science-fqa__item-text ul,
.science-fqa__item-text ol {
  margin: 0 0 12px;
  padding-left: 1.25em;
}
.science-fqa__item-text li {
  margin-bottom: 6px;
}
.science-fqa__item-text li:last-child {
  margin-bottom: 0;
}
.science-fqa__item-text a {
  color: #0b2545;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.science-fqa__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: auto;
  padding-top: 32px;
}

@media (min-width: 1200px) and (max-width: 1365px) {
  .science-fqa {
    padding: 72px 15px;
  }
  .science-fqa__grid {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
}
@media screen and (max-width: 1365px) {
  .science-fqa__media {
    min-height: 0;
  }
  .science-fqa__media img {
    min-height: 0;
    aspect-ratio: 1/1;
  }
  .science-fqa__title {
    margin-bottom: 24px;
  }
  .science-fqa__panel {
    padding-left: 0;
  }
}
@media screen and (max-width: 767px), (min-width: 768px) and (max-width: 1023px), (min-width: 1024px) and (max-width: 1199px) {
  .science-fqa__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .science-fqa {
    padding: 72px 15px;
  }
  .science-fqa__trigger {
    gap: 12px;
    padding: 16px 0;
  }
  .science-fqa__icon {
    width: 40px;
    height: 40px;
  }
  .science-fqa__icon img {
    width: 20px;
    height: 20px;
  }
  .science-fqa__content {
    min-height: 0;
  }
  .science-fqa__actions {
    flex-direction: column;
    margin-top: 0;
    padding-top: 24px;
  }
  .science-fqa__btn {
    width: 100%;
  }
}
.partner-portals {
  padding: 120px 40px;
  margin: 0 40px;
  border-radius: 20px;
  background: #f5f8fc;
}

.partner-portals__container {
  width: 100%;
  max-width: 1365px;
  margin: 0 auto;
}

.partner-portals__header {
  max-width: 720px;
  margin: 0 auto 48px;
  text-align: center;
}

.partner-portals__badge {
  margin: 0 0 12px;
  color: #3ec6d3;
}
.partner-portals__badge::before {
  content: "• ";
}

.partner-portals__title {
  margin: 0;
  color: #0a0a0a;
}

.partner-portals__description {
  margin: 12px 0 0;
  color: #6a7282;
}

.partner-portals__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
  align-items: start;
}

.partner-portals__card {
  position: relative;
  display: flex;
  align-items: flex-start;
  min-height: 0;
  overflow: hidden;
  border-radius: 20px;
  color: #fff;
}

.partner-portals__card-bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.partner-portals__card-ellipse {
  position: absolute;
  display: block;
  background-image: var(--partner-portals-ellipse-url);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  pointer-events: none;
}

.partner-portals__card-ellipse--top-left {
  top: -181px;
  left: 58px;
  width: 376px;
  height: 280px;
  z-index: 2;
}

.partner-portals__card-ellipse--center-right {
  top: 56%;
  right: -306px;
  width: 396px;
  height: 320px;
  transform: translateY(-50%);
  z-index: 2;
}

.partner-portals__card-bg-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.partner-portals__card--doctor .partner-portals__card-bg-overlay {
  background: linear-gradient(115deg, #0f2c4d 1.66%, #2f6fa3 98.24%);
}

.partner-portals__card--distributor .partner-portals__card-bg-overlay {
  background: linear-gradient(115deg, #0e4a62 1.52%, #2c7f8e 99.34%);
}

.partner-portals__card-inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
  padding: 32px 28px 28px;
}

.partner-portals__card-head {
  flex: none;
}

.partner-portals__card-top {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 20px;
}

.partner-portals__card-icon {
  display: inline-flex;
  width: 44px;
  height: 44px;
  padding: 10px;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  border-radius: 12px;
  border: 1px solid #0d617c;
  background: #0d566f;
  box-sizing: border-box;
}
.partner-portals__card-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.partner-portals__card-heading {
  flex: 1;
  min-width: 0;
}

.partner-portals__card-badge {
  margin: 0 0 8px;
  color: #3ec6d3;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 18px;
  letter-spacing: -0.14px;
}

.partner-portals__card-title {
  margin: 0;
  color: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: 22px;
  font-style: normal;
  font-weight: 600;
  line-height: 28px;
  letter-spacing: -0.22px;
}

.partner-portals__card-lock {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  margin-left: auto;
}
.partner-portals__card-lock img {
  display: block;
  width: 39px;
  height: auto;
  max-height: 27px;
}

.partner-portals__card-body p {
  margin: 0 0 16px;
  color: #94b8d0;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: -0.16px;
}
.partner-portals__card-body > p:first-child {
  margin-top: 0;
}
.partner-portals__card-body p:last-child {
  margin-bottom: 0;
}
.partner-portals__card-body ul {
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}
.partner-portals__card-body li {
  position: relative;
  margin: 0 0 12px;
  padding-left: 28px;
  color: #CBD5E1;
  font-family: "DM Sans";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: -0.14px;
}
.partner-portals__card-body li::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  width: 14px;
  height: 14px;
  background-image: var(--partner-portals-list-icon-url);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.partner-portals__card-body li:last-child {
  margin-bottom: 0;
}
.partner-portals__card-body .partner-portals__card-footnote,
.partner-portals__card-body > p.partner-portals__card-footnote {
  margin-top: 16px;
  color: rgba(255, 255, 255, 0.65);
  font-size: 12px;
  line-height: 16px;
  letter-spacing: -0.12px;
}

.partner-portals__card-foot {
  display: flex;
  flex: none;
  flex-direction: column;
  gap: 12px;
}

.partner-portals__card-actions {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  flex: none;
  gap: 12px;
  margin: 0;
  padding: 0;
}

.partner-portals__card-footer {
  margin: 0;
  color: #64a0bc;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 16px;
  letter-spacing: -0.12px;
}

.partner-portals__btn--primary {
  flex: 0 0 calc((100% - 12px) * 0.7273);
  width: calc((100% - 12px) * 0.7273);
  min-width: 0;
  justify-content: space-between;
}

.partner-portals__btn--ghost {
  flex: 0 0 calc((100% - 12px) * 0.2727);
  width: calc((100% - 12px) * 0.2727);
  min-width: 0;
}

@media (min-width: 1200px) and (max-width: 1365px) {
  .partner-portals {
    padding: 72px 15px;
    margin: 0 15px;
  }
  .partner-portals__grid {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
}
@media screen and (max-width: 767px), (min-width: 768px) and (max-width: 1023px), (min-width: 1024px) and (max-width: 1199px) {
  .partner-portals {
    padding: 42px 15px;
    margin: 0 15px;
  }
  .partner-portals__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .partner-portals__header {
    margin-bottom: 32px;
  }
  .partner-portals__card-inner {
    padding: 24px 20px 20px;
  }
  .partner-portals__card-title {
    font-size: 20px;
    line-height: 26px;
  }
  .partner-portals__card-actions {
    flex-direction: column;
  }
  .partner-portals__btn--primary,
  .partner-portals__btn--ghost {
    flex: none;
    width: 100%;
  }
}
.home-blog {
  padding: 120px 40px;
  background: #fff;
}

.home-blog__container {
  display: grid;
  width: 100%;
  max-width: 1365px;
  margin: 0 auto;
  grid-template-columns: 1fr auto;
  align-items: end;
  column-gap: 32px;
  row-gap: 52px;
  grid-template-areas: "intro cta" "layout layout";
}

.home-blog__intro {
  grid-area: intro;
  min-width: 0;
  max-width: 720px;
}

.home-blog__badge {
  margin: 0 0 12px;
  color: #3ec6d3;
}
.home-blog__badge::before {
  content: "• ";
}

.home-blog__intro h2 {
  margin: 0;
  color: #0a0a0a;
}

.home-blog__cta {
  grid-area: cta;
  justify-self: end;
}

.home-blog__layout {
  grid-area: layout;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
  gap: 15px;
}

.home-blog__featured {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.home-blog__featured-media {
  position: relative;
  margin: 0 0 16px;
}

.home-blog__featured-image-link {
  display: block;
  overflow: hidden;
  border-radius: 22px;
}

.home-blog__featured-image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/10;
  object-fit: cover;
}

.home-blog__featured-tag {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  border-radius: 999px;
  background: var(--medizane-button-color, #406d40);
  color: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.14px;
}

.home-blog__featured-card {
  padding: 28px 28px 32px;
  border-radius: 22px;
  border: 1px solid #f4f7fa;
}

.home-blog__list {
  display: flex;
  flex-direction: column;
  gap: 15px;
  min-width: 0;
}

.home-blog__item {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  align-items: start;
  gap: 24px;
  min-width: 0;
}

.home-blog__item-media {
  display: block;
  overflow: hidden;
  border-radius: 18px;
}

.home-blog__item-image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 120px;
  aspect-ratio: 4/3;
  object-fit: cover;
}

.home-blog__item-body,
.home-blog__featured-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

.home-blog__date {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  margin: 0 0 12px;
  overflow: hidden;
  color: #0a0a0a;
  text-overflow: ellipsis;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: -0.12px;
}
.home-blog__date time {
  overflow: hidden;
  min-width: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-blog__date-icon {
  display: block;
  flex-shrink: 0;
  width: 12px;
  height: 12px;
}

.home-blog__featured-title,
.home-blog__item-title {
  margin: 0 0 12px;
}
.home-blog__featured-title a,
.home-blog__item-title a {
  color: inherit;
  text-decoration: none;
}
.home-blog__featured-title a:hover, .home-blog__featured-title a:focus,
.home-blog__item-title a:hover,
.home-blog__item-title a:focus {
  color: inherit;
  opacity: 0.8;
}

.home-blog__item-title {
  margin-bottom: 10px;
}

.home-blog__excerpt {
  margin: 0 0 16px;
  color: #6a7282;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 18px; /* 128.571% */
  letter-spacing: -0.14px;
  display: -webkit-box;
  overflow: hidden;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.home-blog__read-more {
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 16px;
  letter-spacing: -0.16px;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.home-blog__read-more:hover, .home-blog__read-more:focus {
  color: #0a0a0a;
  opacity: 0.75;
}

@media (min-width: 1200px) and (max-width: 1365px) {
  .home-blog {
    padding: 80px 15px 0;
  }
  .home-blog__layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .home-blog__item {
    grid-template-columns: 160px minmax(0, 1fr);
  }
  .home-blog__item-image {
    min-height: 0;
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 767px), (min-width: 768px) and (max-width: 1023px), (min-width: 1024px) and (max-width: 1199px) {
  .home-blog {
    padding: 72px 15px;
  }
  .home-blog__container {
    grid-template-columns: 1fr;
    align-items: start;
    row-gap: 40px;
    grid-template-areas: "intro" "layout" "cta";
  }
  .home-blog__layout {
    display: block;
    grid-template-columns: 1fr;
    gap: 0;
  }
  .home-blog__featured {
    padding-bottom: 40px;
    border-bottom: 1px solid #f4f7fa;
  }
  .home-blog__list {
    gap: 0;
  }
  .home-blog__item {
    grid-template-columns: 1fr;
    gap: 16px;
    padding-top: 32px;
    padding-bottom: 32px;
    border-bottom: 1px solid #f4f7fa;
  }
  .home-blog__item:last-child {
    padding-bottom: 0;
    border-bottom: none;
  }
  .home-blog__item-image {
    min-height: 0;
    aspect-ratio: 16/10;
  }
  .home-blog__featured-card {
    padding: 24px 20px 0px;
    border: none;
    border-radius: 22px;
  }
  .home-blog__cta {
    width: auto;
    justify-self: center;
  }
}
.home-contact {
  padding: 0px 40px 120px 40px;
  background: #fff;
}

.home-contact__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  width: 100%;
  max-width: 1365px;
  margin: 0 auto;
}

.home-contact__intro {
  flex: 1;
  min-width: 0;
  max-width: 720px;
}

.home-contact__intro h2 {
  margin: 0;
  color: #0a0a0a;
}

.home-contact__intro p {
  margin: 12px 0 0;
  color: #6a7282;
}

.home-contact__cta {
  flex-shrink: 0;
}

@media (min-width: 1200px) and (max-width: 1365px) {
  .home-contact {
    padding: 0 15px 72px 15px;
  }
  .home-contact__container {
    align-items: flex-end;
  }
}
@media screen and (max-width: 767px), (min-width: 768px) and (max-width: 1023px), (min-width: 1024px) and (max-width: 1199px) {
  .home-contact {
    padding: 0 15px 72px 15px;
  }
  .home-contact__container {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }
  .home-contact__cta {
    align-self: center;
  }
}
/* Blocks (ACF)
--------------------------------------------- */
/* ACF block — page banner (SS1, matches single-post hero) */
.banner {
  margin: 40px 40px 0 40px;
}

.banner__inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  height: 400px;
  padding: 0;
  border-radius: 20px;
  background-color: #0a1f44;
  background-image: url("image/light.svg");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  text-align: center;
  isolation: isolate;
}

.banner__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 728px;
  margin: 0 auto;
}

.banner__content h1,
.banner__content p {
  margin: 0;
  color: #fff;
}

.banner__content p {
  max-width: 100%;
}

@media screen and (max-width: 767px), (min-width: 768px) and (max-width: 1023px), (min-width: 1024px) and (max-width: 1199px) {
  .banner {
    margin: 0 15px 0px;
  }
  .banner__inner {
    padding: 0 15px;
    margin: 24px 0 0;
  }
  .banner--account .banner__inner {
    padding-top: 24px;
    padding-bottom: 20px;
    padding-left: 0;
    padding-right: 0;
  }
  .banner--account .banner__container {
    padding: 0 15px;
  }
}
@media (min-width: 1200px) and (max-width: 1365px) {
  .banner {
    margin: 0 15px 0px 15px;
  }
  .banner__inner {
    padding: 0 15px;
    margin: 24px 0;
  }
  .banner--account .banner__inner {
    padding-top: 32px;
    padding-bottom: 28px;
    padding-left: 0;
    padding-right: 0;
  }
  .banner--account .banner__container {
    padding: 0 15px;
  }
}
/* Portal My Account — extends SS1 banner */
.page-template-dealer-distributor-account .banner {
  margin: 0 15px 42px;
}

@media (min-width: 1366px) and (max-width: 1499px) {
  .banner {
    margin: 40px 40px 72px 40px;
  }
  .page-template-dealer-distributor-account .banner {
    margin: 40px 40px 72px 40px;
  }
  .banner__container {
    padding: 0 20px;
  }
}
.banner--account .banner__inner {
  height: auto;
  min-height: 400px;
  padding: 32px 0 28px;
  text-align: left;
  align-items: center;
  justify-content: center;
  align-content: center;
}
.banner--account .banner__container {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1365px;
  margin: 0 auto;
  box-sizing: border-box;
}
.banner--account .banner__content {
  align-items: flex-start;
  max-width: none;
  gap: 0;
}

.banner__account-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
}

.banner__badge {
  margin: 0 0 12px;
  color: #3ec6d3;
}
.banner__badge::before {
  content: "• ";
}

.banner__logout {
  flex-shrink: 0;
  padding: 10px 18px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  backdrop-filter: blur(8px);
}
.banner__logout:hover, .banner__logout:focus-visible {
  border-color: rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.14);
}

.banner__stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  width: 100%;
  margin-top: 32px;
}

.banner__stat {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.banner__stat-icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.banner__stat-copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.banner__stat-value {
  color: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
}

.banner__stat-label {
  color: rgba(255, 255, 255, 0.62);
  font-family: "DM Sans", sans-serif;
  font-size: 13px;
  line-height: 1.3;
}

@media (max-width: 767px) {
  .banner--account .banner__inner {
    padding: 24px 0 20px;
  }
  .banner--account .banner__container {
    padding: 0 20px;
  }
  .banner__account-top {
    align-items: flex-start;
    flex-direction: column;
  }
  .banner__stats {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
  .banner__stat-value {
    font-size: 24px;
  }
}
/* ACF block — Our Story */
.our-story {
  padding: 72px 0px 0px;
  margin: 0px 40px 0px;
}
.our-story:last-of-type {
  padding-bottom: 120px;
}

.our-story__inner {
  width: 100%;
  margin: 0 auto;
  border-radius: 28px;
  background: #f5f8fc;
  padding: 120px 0px;
}

.our-story__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
  gap: 48px 80px;
  align-items: start;
  width: 100%;
  max-width: 1365px;
  margin: 0 auto;
}

.our-story__header {
  min-width: 0;
}
.our-story__header h2 {
  margin: 0;
  color: #0a0a0a;
}
.our-story__header p {
  margin: 12px 0 0;
}

.our-story__items {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.our-story__item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}
.our-story__item::before {
  content: "";
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  margin-top: 6px;
  border-radius: 50%;
  background: #5eead4;
}

.our-story__divider {
  flex-shrink: 0;
  width: 100%;
  height: 1px;
  margin: 24px 0;
  background: #ececec;
}

.our-story__item-content {
  flex: 1;
  min-width: 0;
}
.our-story__item-content > :first-child {
  margin-top: 0;
}
.our-story__item-content > :last-child {
  margin-bottom: 0;
}

@media (min-width: 1366px) and (max-width: 1499px) {
  .our-story {
    padding: 0;
  }
  .our-story__inner {
    padding: 120px 15px;
  }
}
@media (min-width: 1200px) and (max-width: 1365px) {
  .our-story {
    padding-top: 0;
    padding-right: 15px;
    padding-bottom: 0;
    padding-left: 15px;
  }
  .our-story:last-of-type {
    padding-bottom: 80px;
  }
  .our-story__inner {
    padding: 72px 15px;
  }
  .our-story__layout {
    gap: 40px 48px;
  }
}
@media screen and (max-width: 767px), (min-width: 768px) and (max-width: 1023px), (min-width: 1024px) and (max-width: 1199px) {
  .our-story {
    padding-top: 42px;
    padding-right: 15px;
    padding-bottom: 0;
    padding-left: 15px;
    margin: 0;
  }
  .our-story:last-of-type {
    padding-bottom: 80px;
  }
  .our-story__inner {
    padding: 40px 15px;
    border-radius: 28px;
  }
  .our-story__layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}
/* ACF block — Innovation */
.innovation {
  padding: 120px 40px;
  background: #fff;
}
.innovation:last-of-type {
  padding-bottom: 120px;
}

.innovation__inner {
  width: 100%;
  max-width: 1365px;
  margin: 0 auto;
}

.innovation__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.4fr) minmax(0, 1.4fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 15px;
  align-items: stretch;
}

.innovation__side {
  display: contents;
}

.innovation__side--left .innovation__card--feature:nth-child(1) {
  grid-column: 1;
  grid-row: 1;
}

.innovation__side--left .innovation__card--feature:nth-child(2) {
  grid-column: 1;
  grid-row: 2;
}

.innovation__card--center {
  grid-column: 2;
  grid-row: 1/-1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px 40px;
  border-radius: 28px;
  background: linear-gradient(180deg, #4a8fc4 0%, #1e4a7a 48%, #0a1f44 100%);
  text-align: center;
}

.innovation__card-center-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 420px;
}

.innovation__card--center h3,
.innovation__card--center p {
  margin: 0;
  color: #fff;
}

.innovation__card--center h3 {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.32px;
}

.innovation__side--right .innovation__card--feature:nth-child(1) {
  grid-column: 3;
  grid-row: 1;
}

.innovation__side--right .innovation__card--feature:nth-child(2) {
  grid-column: 3;
  grid-row: 2;
}

.innovation__card--feature {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  min-height: 100%;
  padding: 74px 20px;
  border: 1px solid #F3F3F3;
  border-radius: 28px;
  background: #fff;
}

.innovation__card--feature h3 {
  margin: 0 0 8px;
  color: #0a0a0a;
  font-weight: 600;
}

.innovation__card--feature p {
  margin: 0;
  color: #6a7282;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 18px;
}

@media (min-width: 1366px) {
  .innovation__inner {
    padding-left: 0;
    padding-right: 0;
  }
}
@media (min-width: 768px) and (max-width: 1023px), (min-width: 1024px) and (max-width: 1199px) {
  .innovation {
    padding-top: 0;
    padding-right: 15px;
    padding-bottom: 0;
    padding-left: 15px;
  }
  .innovation:last-of-type {
    padding-bottom: 80px;
  }
  .innovation__inner {
    padding: 40px 0;
  }
  .innovation__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
    gap: 15px;
  }
  .innovation__side {
    display: contents;
  }
  .innovation__card--center {
    grid-column: 1/-1;
    grid-row: 1;
    min-height: 280px;
    padding: 48px 40px;
  }
  .innovation__card--center h3 {
    font-size: 26px;
  }
  .innovation__side--left .innovation__card--feature:nth-child(1) {
    grid-column: 1;
    grid-row: 2;
  }
  .innovation__side--left .innovation__card--feature:nth-child(2) {
    grid-column: 1;
    grid-row: 3;
  }
  .innovation__side--right .innovation__card--feature:nth-child(1) {
    grid-column: 2;
    grid-row: 2;
  }
  .innovation__side--right .innovation__card--feature:nth-child(2) {
    grid-column: 2;
    grid-row: 3;
  }
}
@media (min-width: 1200px) and (max-width: 1365px) {
  .innovation {
    padding-top: 0;
    padding-right: 15px;
    padding-bottom: 0;
    padding-left: 15px;
  }
  .innovation:last-of-type {
    padding-bottom: 80px;
  }
  .innovation__inner {
    padding: 72px 0;
  }
  .innovation__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
    gap: 15px;
  }
  .innovation__side {
    display: contents;
  }
  .innovation__card--center {
    grid-column: 1/-1;
    grid-row: 1;
    min-height: 280px;
    padding: 48px 40px;
  }
  .innovation__card--center h3 {
    font-size: 26px;
  }
  .innovation__side--left .innovation__card--feature:nth-child(1) {
    grid-column: 1;
    grid-row: 2;
  }
  .innovation__side--left .innovation__card--feature:nth-child(2) {
    grid-column: 1;
    grid-row: 3;
  }
  .innovation__side--right .innovation__card--feature:nth-child(1) {
    grid-column: 2;
    grid-row: 2;
  }
  .innovation__side--right .innovation__card--feature:nth-child(2) {
    grid-column: 2;
    grid-row: 3;
  }
}
@media screen and (max-width: 767px) {
  .innovation {
    padding-top: 0;
    padding-right: 15px;
    padding-bottom: 0;
    padding-left: 15px;
  }
  .innovation:last-of-type {
    padding-bottom: 80px;
  }
  .innovation__inner {
    padding: 40px 0;
  }
  .innovation__grid {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }
  .innovation__side {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }
  .innovation__side--left .innovation__card--feature,
  .innovation__side--right .innovation__card--feature,
  .innovation__card--center {
    grid-column: auto;
    grid-row: auto;
  }
  .innovation__card--center {
    order: -1;
    min-height: 280px;
    padding: 40px 24px;
  }
  .innovation__card--center h3 {
    font-size: 26px;
  }
}
/* ACF block — Global Presence */
.global-presence {
  margin-right: 40px;
  margin-left: 40px;
  border-radius: 28px;
  background: #f5f8fc;
}
.global-presence:last-of-type {
  padding-bottom: 120px;
}

.global-presence__inner {
  max-width: 1365px;
  margin: 0 auto;
}

.global-presence__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 48px 80px;
  align-items: start;
  margin: 0 0 52px;
}

.global-presence__header-main h2 {
  margin: 0;
  color: #0a0a0a;
}

.global-presence__header-aside {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 32px;
  min-width: 0;
  max-width: 520px;
  justify-self: end;
  text-align: right;
}
.global-presence__header-aside p {
  margin: 0;
  color: #6a7282;
}

.global-presence__cta-wrap--mobile {
  display: none;
}

.global-presence__map {
  margin: 0 0 32px;
  text-align: center;
}
.global-presence__map img {
  display: block;
  width: 100%;
  max-width: 81%;
  height: auto;
  margin: 0 auto;
}

.global-presence__cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 15px;
}

.global-presence__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 100%;
  padding: 24px;
  border: 1px solid #e8edf2;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 2px 12px rgba(10, 31, 68, 0.04);
}

.global-presence__card-location {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px;
}

.global-presence__card-icon {
  display: block;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
}

.global-presence__card-country {
  color: #0b2545;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 22px;
  letter-spacing: -0.16px;
}

.global-presence__card h3 {
  margin: 0 0 8px;
  color: #000;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 18px;
  letter-spacing: -0.14px;
}

.global-presence__card p {
  margin: 0;
  color: #6b7280;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 16px;
  letter-spacing: -0.12px;
}

@media (min-width: 768px) and (max-width: 1023px), (min-width: 1024px) and (max-width: 1199px) {
  .global-presence {
    padding-top: 0;
    padding-right: 15px;
    padding-bottom: 0;
    padding-left: 15px;
    margin: 0 15px;
  }
  .global-presence:last-of-type {
    padding-bottom: 80px;
  }
  .global-presence__inner {
    padding: 40px 0;
    display: flex;
    flex-direction: column;
  }
  .global-presence__header {
    gap: 40px 48px;
  }
  .global-presence__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1200px) and (max-width: 1365px) {
  .global-presence {
    padding-top: 0;
    padding-right: 15px;
    padding-bottom: 0;
    padding-left: 15px;
    margin: 0 15px;
  }
  .global-presence:last-of-type {
    padding-bottom: 80px;
  }
  .global-presence__inner {
    padding: 72px 0;
    display: flex;
    flex-direction: column;
  }
  .global-presence__header {
    gap: 40px 48px;
  }
  .global-presence__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1366px) and (max-width: 1499px) {
  .global-presence {
    padding-top: 0;
    padding-right: 40px;
    padding-bottom: 0;
    padding-left: 40px;
    margin: 0 40px;
  }
}
@media (min-width: 1366px) {
  .global-presence__inner {
    padding: 120px 0;
  }
}
@media screen and (max-width: 767px) {
  .global-presence {
    padding-top: 0;
    padding-right: 15px;
    padding-bottom: 0;
    padding-left: 15px;
    margin: 0 15px;
  }
  .global-presence:last-of-type {
    padding-bottom: 80px;
  }
  .global-presence__inner {
    padding: 40px 0;
    display: flex;
    flex-direction: column;
  }
  .global-presence__header {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-bottom: 32px;
  }
  .global-presence__header-aside {
    align-items: flex-start;
    justify-self: stretch;
    max-width: none;
    text-align: left;
  }
  .global-presence__cta-wrap--desktop {
    display: none;
  }
  .global-presence__cta-wrap--mobile {
    display: flex;
    justify-content: center;
    margin-top: 24px;
  }
  .global-presence__map {
    margin-bottom: 32px;
  }
  .global-presence__cards {
    grid-template-columns: 1fr;
  }
}
/* ACF block — Leadership & Governance */
.leadership {
  padding: 120px 40px;
  background: #fff;
}

.leadership__inner {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 1365px;
  margin: 0 auto;
}

.leadership__header {
  margin: 0 0 48px;
  text-align: center;
}

.leadership__badge {
  display: inline-block;
  margin: 0 0 12px;
  color: #22c5d6;
}
.leadership__badge::before {
  content: "• ";
}

.leadership__title {
  margin: 0;
  color: #0a0a0a;
}

.leadership__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: 15px;
  row-gap: 20px;
}

.leadership__cards {
  display: contents;
}

.leadership__card {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 0;
  border: 1px solid #e8edf2;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.leadership__card:focus {
  outline: none;
}
.leadership__card:focus-visible {
  outline: 2px solid #22c5d6;
  outline-offset: 2px;
}
.leadership__card.is-active {
  border-color: #0a1f44;
}

.leadership__card-media {
  overflow: hidden;
  aspect-ratio: 1.3/1;
  background: #e8edf2;
}
.leadership__card-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.leadership__card-body {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  min-height: 88px;
  padding: 16px 20px;
}

.leadership__card-text {
  flex: 1;
  min-width: 0;
}

.leadership__card-name {
  margin: 0 0 4px;
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 22px;
  letter-spacing: -0.16px;
}

.leadership__card-role {
  margin: 0;
  color: #22c5d6;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  letter-spacing: -0.12px;
}

.leadership__card-icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
}

.leadership__card-icon-img {
  display: block;
  width: 18px;
  height: 18px;
  transition: transform 0.2s ease;
}

.leadership__card.is-active .leadership__card-body {
  background: #0a1f44;
}
.leadership__card.is-active .leadership__card-name {
  color: #fff;
}
.leadership__card.is-active .leadership__card-role {
  color: #5eead4;
}
.leadership__card.is-active .leadership__card-icon-img {
  transform: rotate(90deg);
  filter: brightness(0) invert(1);
}

.leadership__panels {
  grid-column: 1/-1;
  width: 100%;
  border: 1px solid #e8edf2;
  border-radius: 14px;
  background: #fff;
}

.leadership__panel {
  display: none;
  padding: 32px 40px 40px;
}
.leadership__panel.is-active {
  display: block;
}

.leadership__panel-text {
  color: #6a7282;
}
.leadership__panel-text p {
  margin: 0 0 16px;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: -0.16px;
}
.leadership__panel-text p:last-child {
  margin-bottom: 0;
}

.leadership__video-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 32px;
  color: #22c5d6;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
  letter-spacing: -0.16px;
  text-decoration: none;
}
.leadership__video-link:hover, .leadership__video-link:focus-visible {
  color: #1ab5c7;
}
.leadership__video-link:focus {
  outline: none;
}
.leadership__video-link:focus-visible {
  outline: 2px solid #22c5d6;
  outline-offset: 2px;
}
.leadership__video-link img {
  display: block;
  width: 18px;
  height: 18px;
}

@media (min-width: 1366px) {
  .leadership__inner {
    padding-left: 0;
    padding-right: 0;
  }
}
@media (min-width: 768px) and (max-width: 1023px), (min-width: 1024px) and (max-width: 1199px) {
  .leadership {
    padding-top: 0;
    padding-right: 15px;
    padding-bottom: 0;
    padding-left: 15px;
  }
  .leadership:last-of-type {
    padding-bottom: 80px;
  }
  .leadership__inner {
    padding: 40px 0;
  }
  .leadership__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 15px;
    row-gap: 20px;
  }
  .leadership__cards {
    display: contents;
  }
  .leadership__panels {
    grid-column: 1/-1;
  }
}
@media (min-width: 1200px) and (max-width: 1365px) {
  .leadership {
    padding-top: 0;
    padding-right: 15px;
    padding-bottom: 0;
    padding-left: 15px;
  }
  .leadership:last-of-type {
    padding-bottom: 80px;
  }
  .leadership__inner {
    padding: 72px 0;
  }
  .leadership__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 15px;
    row-gap: 20px;
  }
  .leadership__cards {
    display: contents;
  }
  .leadership__panels {
    grid-column: 1/-1;
  }
}
@media screen and (max-width: 767px) {
  .leadership {
    padding-top: 0;
    padding-right: 15px;
    padding-bottom: 0;
    padding-left: 15px;
  }
  .leadership:last-of-type {
    padding-bottom: 80px;
  }
  .leadership__inner {
    padding: 40px 0 0;
  }
  .leadership__header {
    margin-bottom: 32px;
  }
  .leadership__grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .leadership__cards {
    display: contents;
  }
  .leadership__panels {
    grid-column: auto;
  }
  .leadership__panel {
    padding: 24px 20px 28px;
  }
  .leadership__video-link {
    margin-top: 24px;
  }
}
/* ACF block — Contact */
.contact-block {
  padding: 0 0 120px;
}

.contact-block__inner {
  max-width: 1365px;
  margin: 0 auto;
  padding: 0 40px;
}

.contact-block__info {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px 40px;
  padding: 72px 0px;
}

span.wpcf7-spinner {
  display: none;
}

.contact-block__form .wpcf7-not-valid-tip {
  position: absolute;
  right: 0;
  bottom: 5px;
}

.contact-block > .contact-block__form:first-child {
  margin-top: 120px;
}

.contact-block__info-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  min-width: 0;
  padding: 0;
}

.contact-block__info-icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: #eef4f8;
}
.contact-block__info-icon img {
  display: block;
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.contact-block__info-content {
  min-width: 0;
}

.contact-block__info-label {
  margin: 0 0 8px;
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: -0.12px;
  text-transform: capitalize;
}

.contact-block__info-description {
  margin: 0 0 12px;
  color: #0a0a0a;
}
.contact-block__info-description a {
  color: #0a0a0a;
  text-decoration: none;
}
.contact-block__info-description a:hover, .contact-block__info-description a:focus-visible {
  opacity: 0.75;
}

.contact-block__info-meta {
  margin: 0;
  color: #9ca3af;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: -0.14px;
}

.contact-block__form {
  width: auto;
  margin: 0px 40px 0;
  padding: 80px 0;
  border-radius: 24px;
  border: 1px solid #f5f8fc;
  background: #f4f8fb;
}
.contact-block__form .wpcf7 {
  margin: 0;
}
.contact-block__form .wpcf7-form {
  margin: 0;
}
.contact-block__form .contact-form {
  box-sizing: border-box;
  width: 100%;
  max-width: 1365px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.contact-block__form .contact-form__title {
  margin: 0;
  color: #0a0a0a;
}
.contact-block__form .contact-form__inquiry {
  display: flex;
  align-items: center;
  gap: 12px;
  height: 64px;
  min-height: 64px;
  padding: 0 20px;
  border-radius: 16px;
  padding: 12px 15px;
  background: #fff;
}
.contact-block__form .contact-form__inquiry-icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: #eef4f8;
}
.contact-block__form .contact-form__inquiry-icon p {
  margin: 0;
}
.contact-block__form .contact-form__inquiry-icon img {
  display: block;
  width: 18px;
  height: 18px;
}
.contact-block__form .contact-form__inquiry-content {
  flex: 1;
  min-width: 0;
}
.contact-block__form .contact-form__inquiry-content p {
  margin: 0;
}
.contact-block__form .contact-form__inquiry-kicker {
  display: block;
  margin: 0 0 2px;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: -0.14px;
}
.contact-block__form .contact-form__select {
  display: block;
  width: 100%;
  height: 18px;
  padding: 0 24px 0 0;
  border: 0;
  background: transparent url("image/arrow-down.svg") right center/14px 14px no-repeat;
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 18px;
  letter-spacing: -0.14px;
  appearance: none;
  cursor: pointer;
}
.contact-block__form .contact-form__select:focus {
  outline: none;
}
.contact-block__form .contact-form__select:focus-visible {
  outline: 2px solid #0a0a0a;
  outline-offset: 2px;
}
.contact-block__form .contact-form__fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 52px 15px;
}
.contact-block__form .contact-form__field {
  margin: 0;
}
.contact-block__form .contact-form__field label {
  color: #000;
  font-family: "DM Sans";
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 21px; /* 150% */
  letter-spacing: -0.14px;
  text-transform: capitalize;
}
.contact-block__form .contact-form__field--full {
  grid-column: 1/-1;
}
.contact-block__form .contact-form__input,
.contact-block__form .contact-form__textarea {
  display: block;
  width: 100%;
  padding: 0 0 4px;
  border: 0;
  border-bottom: 1px solid #d8dee5;
  border-radius: 0;
  background: transparent;
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: -0.16px;
}
.contact-block__form .contact-form__input:focus,
.contact-block__form .contact-form__textarea:focus {
  outline: none;
  border-bottom-color: #0a0a0a;
}
.contact-block__form .contact-form__input {
  height: 33px;
  min-height: 33px;
}
.contact-block__form .contact-form__textarea {
  min-height: 120px;
  resize: vertical;
}
.contact-block__form .contact-form__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.contact-block__form .contact-form__acceptance {
  display: flex;
  align-items: center;
  margin: 0;
  flex: 1;
  min-width: 0;
}
.contact-block__form .contact-form__acceptance .wpcf7-form-control-wrap,
.contact-block__form .contact-form__acceptance .wpcf7-acceptance {
  display: flex;
  align-items: center;
  margin: 0;
}
.contact-block__form .contact-form__acceptance .wpcf7-list-item {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
}
.contact-block__form .contact-form__acceptance label {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: -0.14px;
  cursor: pointer;
}
.contact-block__form .contact-form__acceptance .wpcf7-list-item-label {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  line-height: 20px;
}
.contact-block__form .contact-form__acceptance label .wpcf7-list-item-label {
  margin-inline-start: 0;
}
.contact-block__form .contact-form__acceptance input[type=checkbox] {
  flex-shrink: 0;
  align-self: center;
  width: 16px;
  height: 16px;
  margin: 0 12px 0 0;
  padding: 0;
  accent-color: #0a0a0a;
}
.contact-block__form .contact-form__submit-wrap {
  position: relative;
  display: inline-flex;
  flex-shrink: 0;
  margin: 0;
}
.contact-block__form .contact-form__submit-wrap.is-disabled {
  pointer-events: none;
  cursor: not-allowed;
}
.contact-block__form .contact-form__submit-wrap.is-disabled::after {
  opacity: 0.45;
  transform: translateY(-50%);
}
.contact-block__form .contact-form__submit-wrap.is-disabled input[type=submit],
.contact-block__form .contact-form__submit-wrap.is-disabled .contact-form__submit {
  opacity: 0.45;
  cursor: not-allowed;
}
.contact-block__form .contact-form__submit-wrap::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 6px;
  z-index: 1;
  width: 43px;
  height: 43px;
  border-radius: 50%;
  background: #e8edf2 url("image/arrow_right_black.svg") center/18px 18px no-repeat;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
  pointer-events: none;
}
.contact-block__form .contact-form__submit-wrap:hover::after, .contact-block__form .contact-form__submit-wrap:focus-within::after {
  transform: translateY(-50%) rotate(-20deg);
}
.contact-block__form .contact-form__submit-wrap input[type=submit],
.contact-block__form .contact-form__submit-wrap .contact-form__submit {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  min-width: 220px;
  min-height: 55px;
  padding: 6px 55px 6px 24px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: #0a0a0a;
  cursor: pointer;
  appearance: none;
}
.contact-block__form .contact-form__submit-wrap input[type=submit]:hover, .contact-block__form .contact-form__submit-wrap input[type=submit]:focus-visible,
.contact-block__form .contact-form__submit-wrap .contact-form__submit:hover,
.contact-block__form .contact-form__submit-wrap .contact-form__submit:focus-visible {
  background: #fff;
  color: #0a0a0a;
}
.contact-block__form .contact-form__submit-wrap input[type=submit]:focus-visible,
.contact-block__form .contact-form__submit-wrap .contact-form__submit:focus-visible {
  outline: 2px solid #0a0a0a;
  outline-offset: 2px;
}
.contact-block__form .wpcf7-response-output {
  margin: 16px 0 0;
  padding: 12px 16px;
  border-radius: 12px;
}
.contact-block__form .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #c0392b;
  font-size: 12px;
}

@media (min-width: 1366px) and (max-width: 1499px) {
  .contact-block__inner {
    padding: 0 40px;
  }
  .contact-block__form {
    margin: 0 40px 0;
  }
  .contact-block__form .contact-form {
    padding: 0 15px;
  }
}
@media (min-width: 1200px) and (max-width: 1365px) {
  .contact-block__inner {
    padding: 0 15px;
  }
  .contact-block__info {
    gap: 28px 24px;
    padding: 64px 0;
  }
  .contact-block__form {
    margin: 0 15px 0;
    padding: 64px 0;
  }
  .contact-block__form .contact-form {
    padding: 0 20px;
  }
  .contact-block__form .contact-form__fields {
    gap: 40px 15px;
  }
  .contact-block > .contact-block__form:first-child {
    margin-top: 80px;
  }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  .contact-block {
    padding-bottom: 80px;
  }
  .contact-block__inner {
    padding: 0 15px;
  }
  .contact-block__info {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px 24px;
    padding: 56px 0;
  }
  .contact-block__form {
    margin: 0 15px 0;
    padding: 48px 0;
  }
  .contact-block__form .contact-form {
    gap: 28px;
    padding: 0 20px;
  }
  .contact-block__form .contact-form__fields {
    gap: 40px 15px;
  }
  .contact-block > .contact-block__form:first-child {
    margin-top: 72px;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .contact-block {
    padding-bottom: 80px;
  }
  .contact-block__inner {
    padding: 0 15px;
  }
  .contact-block__info {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 28px 24px;
    padding: 48px 0;
  }
  .contact-block__form {
    margin: 0 15px 0;
    padding: 40px 0;
  }
  .contact-block__form .contact-form {
    gap: 28px;
    padding: 0 20px;
  }
  .contact-block__form .contact-form__fields {
    grid-template-columns: 1fr;
    gap: 33px;
  }
  .contact-block__form .contact-form__footer {
    flex-direction: column;
    align-items: stretch;
  }
  .contact-block__form .contact-form__submit-wrap {
    width: 100%;
  }
  .contact-block__form .contact-form__submit-wrap input[type=submit],
  .contact-block__form .contact-form__submit-wrap .contact-form__submit {
    width: 100%;
  }
  .contact-block > .contact-block__form:first-child {
    margin-top: 64px;
  }
}
@media screen and (max-width: 767px) {
  .contact-block {
    padding-bottom: 80px;
  }
  .contact-block__inner {
    padding: 0 15px;
  }
  .contact-block__info {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 40px 0;
  }
  .contact-block__form {
    margin: 0 15px 0;
    padding: 32px 0;
  }
  .contact-block__form .contact-form {
    gap: 24px;
    padding: 0 20px;
  }
  .contact-block__form .contact-form__fields {
    grid-template-columns: 1fr;
    gap: 33px;
  }
  .contact-block__form .contact-form__footer {
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
  }
  .contact-block__form .contact-form__submit-wrap {
    width: 100%;
  }
  .contact-block__form .contact-form__submit-wrap input[type=submit],
  .contact-block__form .contact-form__submit-wrap .contact-form__submit {
    width: 100%;
  }
  .contact-block > .contact-block__form:first-child {
    margin-top: 48px;
  }
}
/* ACF block — HCP / Distributor portal banner */
.portal-banner {
  position: relative;
  margin: 40px 40px 0;
  overflow: hidden;
  border-radius: 20px;
  background-color: #0a1f44;
  background-image: url("image/light.svg");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  isolation: isolate;
}

.portal-banner__container {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1365px;
  margin: 0 auto;
  padding: 0 40px;
}

.portal-banner__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  gap: 48px;
  align-items: center;
  min-height: 420px;
  padding: 56px 0;
}

.portal-banner__content,
.portal-banner__card {
  position: relative;
  z-index: 1;
}

.portal-banner__title {
  margin: 0 0 16px;
  color: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.4px;
}

.portal-banner__description {
  margin: 0;
  max-width: 560px;
  color: rgba(255, 255, 255, 0.82);
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 26px;
  letter-spacing: -0.16px;
}

.portal-banner__cta {
  margin-top: 28px;
}

.portal-banner__cta-btn.medizane-btn--hero {
  color: #0a1f44;
}
.portal-banner__cta-btn.medizane-btn--hero .medizane-btn__icon {
  background: #0a1f44;
}

.portal-banner__card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100%;
  padding: 28px 28px 24px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 40px rgba(10, 31, 68, 0.12);
}

.portal-banner__panels {
  display: grid;
  flex: 1;
  grid-template-areas: "stack";
  align-items: center;
}

.portal-banner__panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  grid-area: stack;
  width: 100%;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
.portal-banner__panel.is-active {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.portal-banner__tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  margin-bottom: 24px;
  border-bottom: 1px solid #e8edf2;
}

.portal-banner__tab {
  position: relative;
  padding: 0 0 14px;
  border: 0;
  background: transparent;
  color: #9ca3af;
  font-family: "DM Sans", sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: -0.15px;
  cursor: pointer;
}
.portal-banner__tab::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: transparent;
}
.portal-banner__tab[aria-selected=true], .portal-banner__tab.is-active {
  color: #0a0a0a;
}
.portal-banner__tab[aria-selected=true]::after, .portal-banner__tab.is-active::after {
  background: #0a0a0a;
}
.portal-banner__tab:focus {
  outline: none;
}
.portal-banner__tab:focus-visible {
  outline: 2px solid #22c5d6;
  outline-offset: 4px;
}

.portal-banner__form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.portal-banner__field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.portal-banner__label {
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 18px;
  letter-spacing: -0.13px;
}

.portal-banner__input-wrap {
  position: relative;
}

.portal-banner__input-icon {
  position: absolute;
  top: 50%;
  left: 14px;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  transform: translateY(-50%);
  pointer-events: none;
}
.portal-banner__input-icon img,
.portal-banner__input-icon svg {
  display: block;
  width: 18px;
  height: 18px;
  object-fit: contain;
}

.portal-banner__input-wrap .portal-banner__input {
  padding-left: 45px;
}

.portal-banner__input {
  box-sizing: border-box;
  width: 100%;
  min-height: 48px;
  padding: 0 44px 0 45px;
  border: 1px solid #e8edf2;
  border-radius: 10px;
  background: #fff;
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: -0.14px;
}
.portal-banner__input::placeholder {
  color: #9ca3af;
}
.portal-banner__input:focus {
  outline: none;
  border-color: #22c5d6;
}

.portal-banner__toggle-password {
  position: absolute;
  top: 50%;
  right: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  background: transparent;
  transform: translateY(-50%);
  cursor: pointer;
}
.portal-banner__toggle-password:focus {
  outline: none;
}
.portal-banner__toggle-password:focus-visible {
  border-radius: 4px;
  outline: 2px solid #22c5d6;
  outline-offset: 2px;
}

.portal-banner__form-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.portal-banner__checkbox {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 18px;
  cursor: pointer;
}
.portal-banner__checkbox input {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #0a1f44;
}

.portal-banner__link,
.portal-banner__foot-link {
  border: 0;
  padding: 0;
  background: transparent;
  color: #22c5d6;
  font-family: "DM Sans", sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 18px;
  text-decoration: none;
  cursor: pointer;
}
.portal-banner__link:hover, .portal-banner__link:focus-visible,
.portal-banner__foot-link:hover,
.portal-banner__foot-link:focus-visible {
  color: #0a1f44;
}

.portal-banner__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 48px;
  padding: 0 20px;
  border: 0;
  border-radius: 999px;
  background: #0a1f44;
  color: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: -0.14px;
  text-decoration: none;
  cursor: pointer;
}
.portal-banner__submit img {
  display: block;
  width: 18px;
  height: 18px;
}
.portal-banner__submit:hover, .portal-banner__submit:focus-visible {
  background: #122a55;
  color: #fff;
}
.portal-banner__submit--disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.portal-banner__request-text {
  margin: 0 0 20px;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: -0.14px;
  text-align: center;
}

.portal-banner__foot {
  margin: 18px 0 0;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 18px;
  text-align: center;
}

@media (min-width: 1366px) and (max-width: 1499px) {
  .portal-banner {
    margin: 40px 40px 0;
  }
  .portal-banner__container {
    padding: 0 40px;
  }
  .portal-banner__inner {
    gap: 40px;
    padding: 52px 0;
  }
  .portal-banner__title {
    font-size: 36px;
  }
}
@media (min-width: 1200px) and (max-width: 1365px) {
  .portal-banner {
    margin: 24px 15px 0;
  }
  .portal-banner__container {
    padding: 0 15px;
  }
  .portal-banner__inner {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
    gap: 36px;
    min-height: 380px;
    padding: 48px 0;
  }
  .portal-banner__title {
    font-size: 34px;
  }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  .portal-banner {
    margin: 24px 15px 0;
  }
  .portal-banner__container {
    padding: 0 15px;
  }
  .portal-banner__inner {
    grid-template-columns: 1fr;
    gap: 32px;
    min-height: 0;
    padding: 40px 0;
  }
  .portal-banner__title {
    font-size: 32px;
  }
  .portal-banner__description {
    max-width: none;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .portal-banner {
    margin: 24px 15px 0;
  }
  .portal-banner__container {
    padding: 0 15px;
  }
  .portal-banner__inner {
    grid-template-columns: 1fr;
    gap: 28px;
    min-height: 0;
    padding: 36px 0;
  }
  .portal-banner__title {
    font-size: 30px;
  }
  .portal-banner__card {
    padding: 24px 22px 22px;
  }
}
@media screen and (max-width: 767px) {
  .portal-banner {
    margin: 24px 15px 0;
  }
  .portal-banner__container {
    padding: 0 15px;
  }
  .portal-banner__inner {
    padding: 40px 0;
    min-height: 0;
    display: block;
  }
  .portal-banner__card {
    padding: 20px 18px 18px;
    margin-top: 40px;
  }
  .portal-banner__title {
    font-size: 28px;
  }
  .portal-banner__description {
    font-size: 15px;
    line-height: 24px;
  }
  .portal-banner__form-row {
    flex-direction: column;
    align-items: flex-start;
  }
}
/* ACF block — Portal Resources */
.portal-resources {
  padding: 72px 40px 120px;
}

.portal-resources__inner {
  width: 100%;
  max-width: 1365px;
  margin: 0 auto;
}

.portal-resources__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
  align-items: stretch;
}

.portal-resources__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 100%;
  padding: 28px;
  border: 1px solid #e8edf2;
  border-radius: 20px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.portal-resources__card:hover, .portal-resources__card:focus-visible {
  border-color: #d6e4ef;
}
.portal-resources__card:focus {
  outline: none;
}
.portal-resources__card:focus-visible {
  outline: 2px solid #22c5d6;
  outline-offset: 2px;
}

.portal-resources__icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin-bottom: 20px;
  border-radius: 12px;
  background: #eef4f8;
}
.portal-resources__icon img {
  display: block;
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.portal-resources__title {
  margin: 0 0 10px;
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
  letter-spacing: -0.18px;
}

.portal-resources__description {
  margin: 0;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: -0.14px;
}

@media (min-width: 1366px) and (max-width: 1499px) {
  .portal-resources {
    padding: 72px 40px 120px;
  }
}
@media (min-width: 1200px) and (max-width: 1365px) {
  .portal-resources {
    padding: 72px 15px 96px;
  }
  .portal-resources__card {
    padding: 26px 24px;
  }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  .portal-resources {
    padding: 64px 15px 80px;
  }
  .portal-resources__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
  }
  .portal-resources__card {
    padding: 24px 22px;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .portal-resources {
    padding: 56px 15px 72px;
  }
  .portal-resources__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .portal-resources__card {
    padding: 22px 20px;
  }
  .portal-resources__title {
    font-size: 17px;
    line-height: 23px;
  }
}
@media screen and (max-width: 767px) {
  .portal-resources {
    padding: 72px 15px 72px;
  }
  .portal-resources__grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .portal-resources__card {
    padding: 24px 20px;
  }
  .portal-resources__title {
    font-size: 17px;
    line-height: 23px;
  }
}
/* ACF block — Who It's For */
.who-its-for {
  margin: 0 40px;
}
.who-its-for:last-of-type {
  padding-bottom: 120px;
}

.who-its-for__inner {
  border-radius: 20px;
  background: #f5f8fc;
  padding: 120px 0;
}

.who-its-for__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 48px 80px;
  align-items: center;
  width: 100%;
  max-width: 1365px;
  margin: 0 auto;
  padding: 0 40px;
}

.who-its-for__badge {
  margin: 0 0 12px;
  color: #22c5d6;
}
.who-its-for__badge::before {
  content: "• ";
}

.who-its-for__title {
  margin: 0 0 16px;
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.4px;
}

.who-its-for__description {
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 26px;
  letter-spacing: -0.16px;
}
.who-its-for__description p {
  margin: 0 0 24px;
  color: inherit;
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}
.who-its-for__description ul {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.who-its-for__description li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0;
  color: #0a0a0a;
  font-size: 15px;
  line-height: 24px;
  letter-spacing: -0.15px;
}
.who-its-for__description li::before {
  content: "";
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  margin-top: 8px;
  border-radius: 50%;
  background: #22c5d6;
}
.who-its-for__description li strong,
.who-its-for__description li b {
  color: #0a0a0a;
  font-weight: 600;
  display: contents;
}
.who-its-for__description > :last-child {
  margin-bottom: 0;
}

.who-its-for__media {
  position: relative;
}

.who-its-for__image {
  overflow: hidden;
  border-radius: 16px;
}
.who-its-for__image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
}

.who-its-for__image-card {
  position: absolute;
  right: 24px;
  bottom: 24px;
  left: 24px;
  padding: 20px 24px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 8px 32px rgba(10, 31, 68, 0.1);
  backdrop-filter: blur(8px);
}

.who-its-for__image-card-title {
  margin: 0 0 6px;
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 22px;
  letter-spacing: -0.16px;
}

.who-its-for__image-card-text {
  margin: 0;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: -0.14px;
}

@media (min-width: 1366px) and (max-width: 1499px) {
  .who-its-for {
    margin: 0 40px;
  }
  .who-its-for__layout {
    padding: 0 40px;
  }
}
@media (min-width: 1200px) and (max-width: 1365px) {
  .who-its-for {
    margin: 0 15px;
    padding-top: 0;
  }
  .who-its-for:last-of-type {
    padding-bottom: 80px;
  }
  .who-its-for__inner {
    padding: 72px 0;
  }
  .who-its-for__layout {
    gap: 40px 48px;
    padding: 0 15px;
  }
  .who-its-for__title {
    font-size: 34px;
  }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  .who-its-for {
    margin: 0 15px;
    padding-top: 0;
  }
  .who-its-for:last-of-type {
    padding-bottom: 80px;
  }
  .who-its-for__inner {
    padding: 56px 0;
  }
  .who-its-for__layout {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 0 15px;
  }
  .who-its-for__title {
    font-size: 32px;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .who-its-for {
    margin: 0 15px;
    padding-top: 0;
  }
  .who-its-for:last-of-type {
    padding-bottom: 80px;
  }
  .who-its-for__inner {
    padding: 48px 0;
  }
  .who-its-for__layout {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 0 15px;
  }
  .who-its-for__title {
    font-size: 30px;
  }
}
@media screen and (max-width: 767px) {
  .who-its-for {
    margin: 0 15px;
    padding-top: 0;
  }
  .who-its-for:last-of-type {
    padding-bottom: 72px;
  }
  .who-its-for__inner {
    padding: 40px 0;
  }
  .who-its-for__layout {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 0 15px;
  }
  .who-its-for__title {
    font-size: 28px;
  }
  .who-its-for__image-card {
    right: 16px;
    bottom: 16px;
    left: 16px;
    padding: 16px 18px;
  }
}
/* Navigation
--------------------------------------------- */
.main-navigation {
  display: block;
  width: 100%;
}
.main-navigation ul {
  display: none;
  list-style: none;
  margin: 0;
  padding-left: 0;
}
.main-navigation ul ul {
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  float: left;
  position: absolute;
  top: 100%;
  left: -999em;
  z-index: 99999;
}
.main-navigation ul ul ul {
  left: -999em;
  top: 0;
}
.main-navigation ul ul li:hover > ul, .main-navigation ul ul li.focus > ul {
  display: block;
  left: auto;
}
.main-navigation ul ul a {
  width: 200px;
}
.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
  left: auto;
}
.main-navigation li {
  position: relative;
}
.main-navigation a {
  display: block;
  text-decoration: none;
}
/* Small menu (exclude site header; see header/_header.scss). */
.menu-toggle:not(.site-header__menu-toggle),
.main-navigation:not(.site-header__nav).toggled ul {
  display: block;
}

@media screen and (min-width: 37.5em) {
  .menu-toggle:not(.site-header__menu-toggle) {
    display: none;
  }
  .main-navigation:not(.site-header__nav) ul {
    display: flex;
  }
}
.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
  margin: 0 0 1.5em;
}
.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
  display: flex;
}
.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
  flex: 1 0 50%;
}
.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  text-align: end;
  flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
  display: block;
}

.post,
.page {
  margin: 0 0 1.5em;
}

.updated:not(.published) {
  display: none;
}

.page-content,
.entry-content,
.entry-summary {
  margin: 1.5em 0 0;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

.site-main--404 {
  margin: 0;
  padding: 0;
  background: #fff;
}

.error-404 {
  margin: 40px 40px 120px;
}

.error-404__hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  min-height: 280px;
  padding: 48px 24px;
  border-radius: 20px 20px 0 0;
  background-color: #0a1f44;
  background-image: url("image/light.svg");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  text-align: center;
  isolation: isolate;
}

.error-404__code {
  position: relative;
  z-index: 1;
  color: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: clamp(96px, 18vw, 160px);
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.04em;
}

.error-404__panel {
  padding: 56px 48px 64px;
  border: 1px solid #e8edf2;
  border-top: none;
  border-radius: 0 0 20px 20px;
  background: #f5f8fc;
}

.error-404__content {
  width: 100%;
  max-width: 520px;
  margin: 0 auto;
  text-align: center;
}

.error-404__content h1 {
  margin: 0 0 16px;
  color: #0a0a0a;
}

.error-404__content > p {
  margin: 0;
  color: #6a7282;
}

.error-404__actions {
  display: flex;
  justify-content: center;
  margin: 32px 0 0;
}

.error-404__search {
  margin: 40px 0 0;
  padding-top: 32px;
  border-top: 1px solid #ececec;
}

.error-404__search-label {
  margin: 0 0 16px;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: -0.14px;
}

.medizane-search-form {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}

.medizane-search-form__field {
  flex: 1 1 220px;
  min-width: 0;
  max-width: 320px;
  padding: 12px 18px;
  border: 1px solid #e8edf2;
  border-radius: 999px;
  background: #fff;
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: -0.16px;
}
.medizane-search-form__field:focus {
  outline: none;
  border-color: var(--medizane-button-color, #406d40);
  box-shadow: 0 0 0 2px rgba(64, 109, 64, 0.15);
}

.medizane-search-form__submit {
  padding: 12px 24px;
  border: 0;
  border-radius: 999px;
  background: var(--medizane-button-color, #406d40);
  color: var(--medizane-color-button-text, #fff);
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.medizane-search-form__submit:hover, .medizane-search-form__submit:focus-visible {
  background: var(--medizane-button-hover-color, #355a35);
}
.medizane-search-form__submit:focus {
  outline: none;
}
.medizane-search-form__submit:focus-visible {
  outline: 2px solid var(--medizane-button-color, #406d40);
  outline-offset: 2px;
}

@media screen and (max-width: 767px), (min-width: 768px) and (max-width: 1023px), (min-width: 1024px) and (max-width: 1199px) {
  .error-404 {
    margin: 24px 15px 72px;
  }
  .error-404__hero {
    min-height: 200px;
    padding: 32px 20px;
  }
  .error-404__panel {
    padding: 40px 24px 48px;
  }
  .error-404__search {
    margin-top: 32px;
    padding-top: 24px;
  }
  .medizane-search-form {
    flex-direction: column;
    align-items: stretch;
  }
  .medizane-search-form__field {
    max-width: none;
  }
}
.site-main--single {
  margin: 0;
  padding: 40px 0 120px;
  background: #fff;
}

.single-post {
  margin: 0;
}

.single-post__container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
}

/* SS1 — title banner (full width, outside container) */
.single-post__hero {
  position: relative;
  overflow: hidden;
  width: auto;
  margin: 0 40px 40px;
  padding: 72px 56px;
  border-radius: 20px;
  background-color: #0a1f44;
  background-image: url("image/light.svg");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  text-align: center;
  isolation: isolate;
}

.single-post__title {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 728px;
  margin: 0 auto;
  color: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.4px;
  text-align: center;
}

/* SS1 — meta row */
.single-post__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  margin: 0 0 40px;
}

.single-post__author {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.single-post__avatar {
  display: block;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
}

.single-post__author-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.single-post__author-name {
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.16px;
}

.single-post__author-role {
  color: #6b7280;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.14px;
}

.single-post__meta-center {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 32px;
  flex: 1;
}

.single-post__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #6b7280;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.14px;
}

.single-post__meta-icon {
  display: block;
  flex-shrink: 0;
}

.single-post__meta-icon--time {
  width: 14px;
  height: 14px;
}

.single-post__meta-icon--calendar {
  width: 12px;
  height: 12px;
}

.single-post__meta-divider {
  flex-shrink: 0;
  align-self: center;
  width: 1px;
  height: 12px;
  border-radius: 16px;
  background: #9aaab8;
}

.single-post__category {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border: 1px solid #e6e6e6;
  border-radius: 53px;
  background: transparent;
  color: #000;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: -0.16px;
  text-decoration: none;
  white-space: nowrap;
  transition: border-color 0.2s ease, opacity 0.2s ease;
}
.single-post__category:hover, .single-post__category:focus {
  background: transparent;
  border-color: #e6e6e6;
  color: #000;
  opacity: 0.75;
}

/* SS1 — featured image */
.single-post__media {
  margin: 0 0 48px;
}

.single-post__image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 20px;
  object-fit: cover;
}

/* SS2 — article body */
.single-post__body {
  margin: 0;
  color: #374151;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: -0.16px;
}
.single-post__body > *:first-child {
  margin-top: 0;
}
.single-post__body p {
  margin: 0;
  color: #374151;
  font-size: 16px;
  line-height: 1.625;
  letter-spacing: -0.16px;
}
.single-post__body h2,
.single-post__body h4 {
  margin: 40px 0 16px;
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-weight: 600;
  letter-spacing: -0.32px;
}
.single-post__body h3 {
  margin: 40px 0 16px;
}
.single-post__body h2 {
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: -0.2px;
}
.single-post__body strong,
.single-post__body b {
  color: #0a0a0a;
  font-weight: 600;
}
.single-post__body ul,
.single-post__body ol {
  margin: 0 0 24px;
  padding-left: 1.25em;
}
.single-post__body li + li {
  margin-top: 8px;
}
.single-post__body a {
  color: #2f6fa3;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.single-post__body a:hover, .single-post__body a:focus {
  color: #0a1f44;
}
.single-post__body blockquote {
  margin: 32px 0;
  padding: 24px 32px;
  border-left: 4px solid #2f6fa3;
  border-radius: 0 12px 12px 0;
  background: #f5f8fc;
  color: #0a0a0a;
  font-size: 18px;
  line-height: 1.5;
}

@media screen and (max-width: 767px), (min-width: 768px) and (max-width: 1023px), (min-width: 1024px) and (max-width: 1199px) {
  .site-main--single {
    padding: 24px 0 0;
  }
  .single-post__hero {
    margin-left: 15px;
    margin-right: 15px;
    padding: 48px 24px;
  }
  .single-post__container {
    padding-left: 15px;
    padding-right: 15px;
  }
  .single-post__title {
    font-size: 28px;
    line-height: 1.3;
    letter-spacing: -0.28px;
  }
  .single-post__meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 24px;
  }
  .single-post__meta > .single-post__meta-divider {
    display: none;
  }
  .single-post__meta-center {
    flex: none;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    justify-content: flex-start;
    gap: 16px 24px;
  }
  .single-post__meta-center .single-post__meta-divider {
    display: block;
  }
  .single-post__category {
    align-self: flex-start;
  }
}
@media (min-width: 768px) and (max-width: 1023px), (min-width: 1024px) and (max-width: 1199px) {
  .site-main--single {
    padding: 24px 0 0;
  }
  .single-post__hero {
    margin-left: 15px;
    margin-right: 15px;
    padding: 48px 24px;
  }
  .single-post__container {
    padding-left: 15px;
    padding-right: 15px;
  }
  .single-post__title {
    font-size: 28px;
    line-height: 1.3;
    letter-spacing: -0.28px;
  }
}
@media (min-width: 1024px) and (max-width: 1199px), (min-width: 1200px) and (max-width: 1365px) {
  .site-main--single {
    padding: 24px 0 0;
  }
  .single-post__hero {
    margin-left: 15px;
    margin-right: 15px;
    padding: 48px 24px;
  }
  .single-post__container {
    padding-left: 15px;
    padding-right: 15px;
  }
  .single-post__title {
    font-size: 28px;
    line-height: 1.3;
    letter-spacing: -0.28px;
  }
}
.single-other-posts {
  padding: 80px 40px 120px;
  background: #fff;
}

.single-other-posts__container {
  display: grid;
  width: 100%;
  max-width: 1365px;
  margin: 0 auto;
  grid-template-columns: 1fr auto;
  align-items: end;
  column-gap: 32px;
  row-gap: 43px;
  grid-template-areas: "intro cta" "grid grid";
}

.single-other-posts__head {
  grid-area: intro;
  min-width: 0;
}

.single-other-posts__intro {
  flex: 1;
  min-width: 0;
  max-width: 720px;
}

.single-other-posts__badge {
  margin: 0 0 12px;
  color: #3ec6d3;
}
.single-other-posts__badge::before {
  content: "• ";
}

.single-other-posts__title {
  margin: 0;
  color: #0a0a0a;
}

.single-other-posts__cta {
  grid-area: cta;
  justify-self: end;
}

.single-other-posts__grid {
  grid-area: grid;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px 15px;
}

.single-other-posts__card {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.single-other-posts__media {
  display: block;
  overflow: hidden;
  margin: 0 0 20px;
  border-radius: 16px;
}

.single-other-posts__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/10;
  object-fit: cover;
}

.single-other-posts__card-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

.single-other-posts__date {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 12px;
  color: #6b7280;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.14px;
}

.single-other-posts__date-icon {
  display: block;
  flex-shrink: 0;
  width: 12px;
  height: 12px;
}

.single-other-posts__card-title {
  margin: 0 0 12px;
}
.single-other-posts__card-title a {
  display: -webkit-box;
  overflow: hidden;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  line-clamp: 1;
  color: inherit;
  text-decoration: none;
}
.single-other-posts__card-title a:hover, .single-other-posts__card-title a:focus {
  color: inherit;
  opacity: 0.8;
}

.single-other-posts__excerpt {
  margin: 0 0 16px;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: -0.16px;
  display: -webkit-box;
  overflow: hidden;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.single-other-posts__read-more {
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: -0.16px;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.single-other-posts__read-more:hover, .single-other-posts__read-more:focus {
  color: #0a0a0a;
  opacity: 0.75;
}

@media screen and (max-width: 767px), (min-width: 768px) and (max-width: 1023px), (min-width: 1024px) and (max-width: 1199px) {
  .single-other-posts {
    padding: 72px 15px 72px;
  }
  .single-other-posts__container {
    grid-template-columns: 1fr;
    align-items: start;
    row-gap: 0;
    grid-template-areas: "intro" "grid" "cta";
  }
  .single-other-posts__head {
    margin-bottom: 40px;
  }
  .single-other-posts__grid + .single-other-posts__cta {
    margin-top: 43px;
  }
  .single-other-posts__cta {
    width: 100%;
    justify-self: stretch;
    justify-content: space-between;
  }
  .single-other-posts__grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
@media (min-width: 768px) and (max-width: 1023px), (min-width: 1024px) and (max-width: 1199px) {
  .single-other-posts {
    padding: 80px 15px 120px;
  }
}
@media (min-width: 1024px) and (max-width: 1199px), (min-width: 1200px) and (max-width: 1365px) {
  .single-other-posts {
    padding: 80px 15px 120px;
  }
}
.site-main--category-posts {
  padding: 0;
  background: #fff;
}

.category-posts {
  width: 100%;
  max-width: 1365px;
  margin: 0 auto;
  padding: 62px 0px 0px;
}

.category-posts.is-loading .category-posts__content,
.category-posts.is-loading .category-posts__pagination-wrap {
  opacity: 0.55;
  pointer-events: none;
}

.category-posts__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 32px;
  margin: 0 0 40px;
  padding: 0 0 12px;
  border-bottom: 1px solid #e8edf2;
}

.category-posts__tab {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 0 0 12px;
  border: 0;
  background: transparent;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
  letter-spacing: -0.16px;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.2s ease;
}
.category-posts__tab::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -13px;
  left: 0;
  height: 2px;
  background: transparent;
}
.category-posts__tab.is-active {
  color: #0a0a0a;
}
.category-posts__tab.is-active::after {
  background: #22c5d6;
}
.category-posts__tab:hover, .category-posts__tab:focus-visible {
  color: #0a0a0a;
}
.category-posts__tab:focus {
  outline: none;
}
.category-posts__tab:focus-visible {
  outline: 2px solid #22c5d6;
  outline-offset: 4px;
}

.category-posts__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px 40px;
}

.category-posts__card {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.category-posts__media {
  display: block;
  overflow: hidden;
  margin: 0 0 20px;
  border-radius: 20px;
}

.category-posts__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/10;
  object-fit: cover;
}

.category-posts__card-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

.category-posts__date {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 12px;
  color: #6b7280;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.14px;
}

.category-posts__date-icon {
  display: block;
  flex-shrink: 0;
  width: 12px;
  height: 12px;
}

.category-posts__title {
  margin: 0 0 12px;
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 26px;
  letter-spacing: -0.2px;
}
.category-posts__title a {
  color: inherit;
  text-decoration: none;
}
.category-posts__title a:hover, .category-posts__title a:focus {
  color: inherit;
  opacity: 0.8;
}

.category-posts__excerpt {
  margin: 0 0 16px;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: -0.16px;
  display: -webkit-box;
  overflow: hidden;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.category-posts__read-more {
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: -0.16px;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.category-posts__read-more:hover, .category-posts__read-more:focus {
  color: #0a0a0a;
  opacity: 0.75;
}

.category-posts__empty {
  margin: 0;
  color: #6a7282;
  font-size: 16px;
  line-height: 22px;
}

.category-posts__pagination-wrap {
  padding: 120px 0;
}

.category-posts__pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 42px;
}

.category-posts__pagination-nav {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: -0.16px;
  cursor: pointer;
}
.category-posts__pagination-nav.is-disabled, .category-posts__pagination-nav:disabled {
  color: #c5cad3;
  cursor: default;
}

.category-posts__pagination-arrow {
  font-size: 18px;
  line-height: 1;
}

.category-posts__pagination-list {
  display: flex;
  align-items: center;
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.category-posts__pagination-item {
  margin: 0;
}

.category-posts__pagination-page {
  position: relative;
  margin: 0;
  padding: 0 0 6px;
  border: 0;
  background: transparent;
  color: #c5cad3;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: -0.16px;
  cursor: pointer;
}
.category-posts__pagination-page::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  background: transparent;
}
.category-posts__pagination-page.is-active {
  color: #0a0a0a;
}
.category-posts__pagination-page.is-active::after {
  background: #0a0a0a;
}
.category-posts__pagination-page:hover:not(.is-active), .category-posts__pagination-page:focus-visible:not(.is-active) {
  color: #0a0a0a;
}

.category-posts__pagination-item--ellipsis {
  color: #c5cad3;
  font-size: 16px;
  line-height: 22px;
}

@media screen and (max-width: 767px), (min-width: 768px) and (max-width: 1023px), (min-width: 1024px) and (max-width: 1199px) {
  .category-posts {
    padding: 40px 15px 80px;
  }
  .category-posts__tabs {
    gap: 8px 20px;
    margin-bottom: 32px;
  }
  .category-posts__tab {
    font-size: 14px;
    line-height: 20px;
  }
  .category-posts__grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .category-posts__title {
    font-size: 18px;
    line-height: 24px;
  }
  .category-posts__pagination-wrap {
    padding: 42px 0 0;
  }
  .category-posts__pagination {
    flex-wrap: wrap;
    gap: 16px;
  }
  .category-posts__pagination-list {
    gap: 16px;
  }
}
@media (min-width: 1200px) and (max-width: 1365px) {
  .category-posts {
    padding: 72px 15px 80px;
  }
  .category-posts__tabs {
    margin-bottom: 40px;
  }
  .category-posts__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 48px 15px;
  }
  .category-posts__pagination-wrap {
    padding: 48px 0 0;
  }
}
.site-main--products-archive {
  background: #fff;
}

.products-archive {
  padding: 72px 40px 120px;
}

.products-archive__container {
  width: 100%;
  max-width: 1365px;
  margin: 0 auto;
}

.products-archive__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
  align-items: stretch;
}

.products-archive__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 20px;
  border: 1px solid #f3f3f3;
  border-radius: 24px;
  background: #fff;
}

.products-archive__media {
  display: block;
  overflow: hidden;
  margin: 0 0 24px;
  border-radius: 16px;
}

.products-archive__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3/3;
  object-fit: cover;
}

.products-archive__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

.products-archive__brand {
  margin: 0 0 8px;
  font-family: "DM Sans";
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 24px; /* 133.333% */
  letter-spacing: -0.18px;
}

.products-archive__headline {
  margin: 0 0 8px;
  color: #0A0A0A;
  /* Label/Large */
  font-family: "DM Sans";
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 22px; /* 137.5% */
  letter-spacing: -0.16px;
}
.products-archive__headline a {
  color: inherit;
  text-decoration: none;
}
.products-archive__headline a:hover, .products-archive__headline a:focus {
  color: inherit;
  opacity: 0.8;
}

.products-archive__description {
  flex: 1;
  margin: 0 0 24px;
  color: #6a7282;
}

.products-archive__cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  margin-top: auto;
  padding: 6px 6px 6px 24px;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  background: #fff;
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
  letter-spacing: -0.16px;
  text-decoration: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.products-archive__cta:hover, .products-archive__cta:focus-visible {
  border-color: #d1d5db;
  color: #0a0a0a;
}
.products-archive__cta:focus {
  outline: none;
}
.products-archive__cta:focus-visible {
  outline: 2px solid #22c5d6;
  outline-offset: 2px;
}

.products-archive__cta-label {
  flex: 1;
  min-width: 0;
  text-align: left;
}

.products-archive__cta-icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 43px;
  height: 43px;
  border-radius: 50%;
  background: #fff;
}

.products-archive__cta-icon img {
  display: block;
  width: 18px;
  height: 18px;
}

@media screen and (max-width: 767px) {
  .products-archive {
    padding: 62px 15px 120px;
  }
  .products-archive__grid {
    grid-template-columns: 1fr;
  }
  .products-archive__card {
    padding: 16px;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .products-archive {
    padding: 0px 15px 72px;
  }
  .products-archive__grid {
    grid-template-columns: 1fr;
    margin-top: 40px;
  }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  .products-archive {
    padding: 42px 15px 120px;
  }
  .products-archive__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1200px) and (max-width: 1365px) {
  .products-archive {
    padding: 42px 15px 72px;
  }
  .products-archive__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1366px) and (max-width: 1499px) {
  .products-archive {
    padding: 0 40px 72px;
  }
  .products-archive__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.site-main--single-product {
  margin: 0;
  padding: 52px 40px 120px;
  background: #fff;
}

.single-product {
  margin: 0;
}

.single-product__layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: 48px;
  width: 100%;
  max-width: 1365px;
  margin: 0 auto;
}

.single-product__gallery {
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-width: 0;
}

.single-product__gallery-item {
  margin: 0;
  overflow: hidden;
  border-radius: 33.333px;
  border: 1px solid #efefef;
  background: #fdfdfe;
}

.single-product__gallery-image {
  display: block;
  width: 100%;
  height: auto;
}

.single-product__aside {
  position: sticky;
  top: calc(var(--site-header-height, 91px) + 24px);
  align-self: start;
  min-width: 0;
}

.single-product__panel {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.single-product__title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 24px;
}

.single-product__title {
  margin: 0;
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 42px;
  letter-spacing: -0.32px;
}

.single-product__badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  color: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 18px;
  letter-spacing: -0.14px;
}

.single-product__badge--morning {
  background: #ffc857;
}

.single-product__badge--evenin,
.single-product__badge--evening {
  background: #000000;
}

.single-product__badge--daytime {
  background: #65d1db;
}
.single-product__badge--daytime .single-product__badge-icon {
  filter: brightness(0) invert(1);
}

.single-product__badge-icon {
  display: block;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
}

.single-product__header + .single-product__description {
  margin-top: 18px;
}

.single-product__description + .single-product__buy {
  margin-top: 24px;
}

.single-product__buy + .single-product__tags {
  margin-top: 24px;
}

.single-product__tags + .single-product__actions {
  margin-top: 24px;
}

.single-product__description {
  margin: 0;
  color: #6a7282;
}
.single-product__description p {
  margin: 0;
}

.single-product__buy {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  width: fit-content;
  color: #22c5d6;
  text-decoration: none;
  gap: 12px;
  width: fit-content;
  color: #0A0A0A;
  font-family: "DM Sans";
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: -0.16px;
}
.single-product__buy img {
  display: block;
  width: 16px;
  height: 16px;
}
.single-product__buy:hover, .single-product__buy:focus-visible {
  color: #22c5d6;
}

.single-product__tags {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.single-product__tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: auto;
  max-width: 100%;
  min-height: 40px;
  padding: 8px 10px 8px 12px;
  border-radius: 10px;
  background: #f3f4f6;
  overflow: visible;
}

.single-product__tag-icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
}
.single-product__tag-icon img {
  display: block;
  width: 18px;
  height: 18px;
}

.single-product__tag-label {
  flex: 0 1 auto;
  min-width: 0;
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: -0.14px;
  white-space: nowrap;
}

.single-product__tag-info {
  position: relative;
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  margin-left: 2px;
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
}
.single-product__tag-info:focus {
  outline: none;
}
.single-product__tag-info:focus-visible {
  outline: 2px solid #0a0a0a;
  outline-offset: 2px;
  border-radius: 50%;
}
.single-product__tag-info:hover .single-product__tag-tooltip, .single-product__tag-info:focus .single-product__tag-tooltip, .single-product__tag-info.is-open .single-product__tag-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.single-product__tag-info-icon {
  display: block;
  width: 13px;
  height: 13px;
}

.single-product__tag-tooltip {
  position: absolute;
  top: calc(100% + 10px);
  right: -8px;
  z-index: 20;
  width: max-content;
  min-width: 180px;
  max-width: 280px;
  padding: 14px 16px;
  border: 1px solid #efefef;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(10, 10, 10, 0.1);
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: -0.14px;
  text-align: left;
  white-space: normal;
  opacity: 0;
  visibility: hidden;
  transform: translateY(4px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
  pointer-events: none;
}

.single-product__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding-top: 24px;
  border-top: 1px solid #e8edf2;
}

.single-product__faq-item:first-child {
  border-top: none;
}

.single-product__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  padding: 14px 16px;
  border-radius: 999px;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
  letter-spacing: -0.16px;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.single-product__btn:focus {
  outline: none;
}
.single-product__btn:focus-visible {
  outline: 2px solid #0a1f44;
  outline-offset: 2px;
}

.single-product__btn--hcp.is-active {
  border: 1px solid #0a1f44;
  background: #0a1f44;
  color: #fff;
}
.single-product__btn--hcp.is-active:hover, .single-product__btn--hcp.is-active:focus-visible {
  background: #081833;
  border-color: #081833;
  color: #fff;
}

.single-product__btn--distributor.is-active {
  border: 1px solid #0a1f44;
  background: #fff;
  color: #0a1f44;
}
.single-product__btn--distributor.is-active:hover, .single-product__btn--distributor.is-active:focus-visible {
  background: #f9fafb;
  color: #0a1f44;
}

.single-product__btn.is-passive {
  border: 1px solid #d5dee8;
  background: #f5f8fc;
  color: #9ca3af;
  cursor: default;
  pointer-events: none;
}

.single-product__faq {
  margin-top: 52px;
}

.single-product__faq-list {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}

.single-product__faq-item {
  border-top: 1px solid #e8edf2;
}
.single-product__faq-item:last-child {
  border-bottom: 1px solid #e8edf2;
}

.single-product__faq-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding: 16px 0;
  border: 0;
  background: transparent;
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: -0.16px;
  text-align: left;
  cursor: pointer;
}
.single-product__faq-trigger:disabled {
  cursor: default;
  opacity: 0.5;
}
.single-product__faq-trigger:focus {
  outline: none;
}
.single-product__faq-trigger:focus-visible {
  outline: 2px solid #0a0a0a;
  outline-offset: 2px;
}

.single-product__faq-question {
  margin: 0;
  flex: 1;
  min-width: 0;
}

.single-product__faq-item-icon {
  flex-shrink: 0;
  color: #0a0a0a;
  font-size: 24px;
  font-weight: 300;
  line-height: 1;
}

.single-product__faq-content {
  display: none;
}

.single-product__drawer {
  position: fixed;
  inset: 0;
  z-index: 11000;
  visibility: hidden;
  pointer-events: none;
}
.single-product__drawer[hidden] {
  display: block !important;
}
.single-product__drawer.is-open {
  visibility: visible;
  pointer-events: auto;
}
.single-product__drawer.is-open .single-product__drawer-panel {
  transform: translateX(0);
}
.single-product__drawer.is-open .single-product__drawer-overlay {
  opacity: 1;
}

.single-product__drawer-overlay {
  position: absolute;
  inset: 0;
  border: 0;
  padding: 0;
  background: rgba(10, 10, 10, 0.45);
  opacity: 0;
  cursor: pointer;
  transition: opacity 0.3s ease;
}

.single-product__drawer-panel {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  width: min(100%, 520px);
  height: 100%;
  background: #fff;
  box-shadow: -8px 0 32px rgba(10, 10, 10, 0.12);
  transform: translateX(100%);
  transition: transform 0.3s ease;
}

.single-product__drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-shrink: 0;
  padding: 24px 24px 20px;
  border-bottom: 1px solid #e8edf2;
}

.single-product__drawer-title {
  margin: 0;
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 28px;
  letter-spacing: -0.2px;
}

.single-product__drawer-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border: 0;
  padding: 0;
  background: transparent;
  color: #0a0a0a;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.single-product__drawer-close:focus {
  outline: none;
}
.single-product__drawer-close:focus-visible {
  outline: 2px solid #0a0a0a;
  outline-offset: 2px;
}

.single-product__drawer-body {
  margin: 0;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 24px;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: -0.16px;
}
.single-product__drawer-body p {
  margin: 0 0 16px;
}
.single-product__drawer-body p:last-child {
  margin-bottom: 0;
}
.single-product__drawer-body ul,
.single-product__drawer-body ol {
  margin: 0 0 16px;
  padding-left: 20px;
}

body.single-product-drawer-open {
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .site-main--single-product {
    padding: 32px 15px 80px;
  }
  .single-product__layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .single-product__aside {
    position: static;
    top: auto;
  }
  .single-product__title {
    font-size: 26px;
    line-height: 34px;
    letter-spacing: -0.26px;
  }
  .single-product__tag-label {
    white-space: normal;
  }
  .single-product__actions {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .site-main--single-product {
    padding: 42px 15px 72px;
  }
  .single-product__layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .single-product__aside {
    position: static;
    top: auto;
  }
  .single-product__actions {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  .site-main--single-product {
    padding: 42px 15px 72px;
  }
  .single-product__layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .single-product__aside {
    position: static;
    top: auto;
  }
}
@media (min-width: 1200px) and (max-width: 1365px) {
  .site-main--single-product {
    padding: 42px 15px 72px;
  }
  .single-product__layout {
    grid-template-columns: minmax(0, 1fr) minmax(340px, 440px);
    gap: 32px;
  }
  .single-product__gallery {
    min-height: calc(100vh - 160px);
  }
  .single-product__aside {
    top: 32px;
  }
}
@media (min-width: 1366px) and (max-width: 1499px) {
  .site-main--single-product {
    padding: 42px 40px 72px;
  }
  .single-product__gallery {
    min-height: calc(100vh - 160px);
  }
}
@media (min-width: 1500px) {
  .single-product__gallery {
    min-height: calc(100vh - 180px);
  }
  .single-product__aside {
    top: 48px;
  }
}
.site-main--maps {
  padding: 0;
  background: #fff;
}

.maps-page__hero {
  position: relative;
}

.maps-page__map {
  width: auto;
  height: 420px;
  margin: 40px 40px 0;
  background: #dbe4ee;
  border-radius: 24px;
}

.maps-page__search-wrap {
  position: relative;
  z-index: 2;
  margin-top: -72px;
  padding: 0 40px 0;
}

.maps-page__search {
  box-sizing: border-box;
  max-width: 1365px;
  margin: 0 auto;
  padding: 32px 40px 36px;
  border-radius: 20px;
  background: #0a1f44;
}

.maps-page__search-copy {
  margin: 0 0 28px;
}

.maps-page__title {
  margin: 0 0 8px;
  color: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 34px;
  letter-spacing: -0.28px;
}

.maps-page__subtitle {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: -0.16px;
}

.maps-page__filters {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  gap: 16px 20px;
  align-items: end;
}

.maps-page__filter-label {
  display: block;
  margin: 0 0 8px;
  color: rgba(255, 255, 255, 0.72);
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  letter-spacing: -0.12px;
}

.maps-page__select-wrap {
  position: relative;
}

.maps-page__select {
  display: block;
  width: 100%;
  height: 48px;
  padding: 0 40px 0 16px;
  border: 0;
  border-radius: 12px;
  background: #f4f8fb url("image/arrow-down.svg") right 16px center/14px 14px no-repeat;
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: -0.14px;
  appearance: none;
  cursor: pointer;
}
.maps-page__select:focus {
  outline: none;
}
.maps-page__select:focus-visible {
  outline: 2px solid #22c5d6;
  outline-offset: 2px;
}

.maps-page__filter--submit {
  display: flex;
  align-items: flex-end;
}

.maps-page__submit {
  display: inline-flex;
  align-items: center;
  gap: 32px;
  min-height: 55px;
  padding: 6px 6px 6px 24px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
  letter-spacing: -0.16px;
  cursor: pointer;
  white-space: nowrap;
}
.maps-page__submit:hover, .maps-page__submit:focus-visible {
  color: #0a0a0a;
}
.maps-page__submit:focus-visible {
  outline: 2px solid #22c5d6;
  outline-offset: 2px;
}

.maps-page__submit-label {
  min-width: 0;
}

.maps-page__submit-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 43px;
  height: 43px;
  border-radius: 50%;
  background: #22c5d6;
  transition: transform 0.3s ease;
}
.maps-page__submit-icon img {
  display: block;
  width: 18px;
  height: 18px;
}

.maps-page__submit:hover .maps-page__submit-icon,
.maps-page__submit:focus-visible .maps-page__submit-icon {
  transform: rotate(-20deg);
}

.maps-page__results {
  padding: 16px 40px 120px;
}

.maps-page__results-inner {
  max-width: 1365px;
  margin: 0 auto;
}

.maps-page__results-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 0 0 16px;
}

.maps-page__count {
  margin: 0;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: -0.14px;
}

.maps-page__sort {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid #e8edf2;
  border-radius: 10px;
  background: #fff;
}

.maps-page__sort-icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
}
.maps-page__sort-icon img {
  display: block;
  width: 14px;
  height: 14px;
}

.maps-page__sort-select {
  border: 0;
  background: transparent;
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: -0.14px;
  appearance: none;
  cursor: pointer;
}
.maps-page__sort-select:focus {
  outline: none;
}
.maps-page__sort-select:focus-visible {
  outline: 2px solid #22c5d6;
  outline-offset: 2px;
}

.maps-page__list {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.maps-page__empty {
  margin: 0;
  padding: 32px 0;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  line-height: 24px;
  text-align: center;
}

.maps-doctor-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: 24px;
  border: 1px solid #e8edf2;
  border-radius: 20px;
  background: #fff;
}
.maps-doctor-card[hidden] {
  display: none;
}

.maps-doctor-card__avatar-wrap {
  flex-shrink: 0;
}

.maps-doctor-card__avatar {
  display: block;
  width: 88px;
  height: 88px;
  border-radius: 50%;
  object-fit: cover;
}
.maps-doctor-card__avatar--placeholder {
  background: #eef4f8;
}

.maps-doctor-card__body {
  min-width: 0;
}

.maps-doctor-card__name {
  margin: 0 0 8px;
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 26px;
  letter-spacing: -0.2px;
}

.maps-doctor-card__specialty {
  display: inline-flex;
  margin: 0 0 12px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #eef4f8;
  color: #22c5d6;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  letter-spacing: -0.12px;
}

.maps-doctor-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
}

.maps-doctor-card__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: -0.14px;
}
.maps-doctor-card__meta-item img,
.maps-doctor-card__meta-item .maps-doctor-card__meta-icon {
  display: block;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
}
.maps-doctor-card__meta-item a {
  color: inherit;
  text-decoration: none;
}
.maps-doctor-card__meta-item a:hover, .maps-doctor-card__meta-item a:focus-visible {
  color: #0a0a0a;
}

.maps-doctor-card__meta-sep {
  color: #d1d5db;
}

.maps-doctor-card__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
}

.maps-doctor-card__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 20px;
  border-radius: 999px;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: -0.14px;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.maps-doctor-card__btn--outline {
  border: 1px solid #d8dee5;
  background: #fff;
  color: #0a0a0a;
}
.maps-doctor-card__btn--outline:hover, .maps-doctor-card__btn--outline:focus-visible {
  border-color: #0a0a0a;
  color: #0a0a0a;
}
.maps-doctor-card__btn--primary {
  border: 1px solid #22c5d6;
  background: #22c5d6;
  color: #fff;
}
.maps-doctor-card__btn--primary:hover, .maps-doctor-card__btn--primary:focus-visible {
  border-color: #1ab5c7;
  background: #1ab5c7;
  color: #fff;
}
.maps-doctor-card__btn:focus {
  outline: none;
}
.maps-doctor-card__btn:focus-visible {
  outline: 2px solid #22c5d6;
  outline-offset: 2px;
}

@media (min-width: 1366px) and (max-width: 1499px) {
  .maps-page__search-wrap,
  .maps-page__results {
    padding-left: 40px;
    padding-right: 40px;
  }
  .maps-page__search,
  .maps-page__results-inner {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media (min-width: 1200px) and (max-width: 1365px) {
  .maps-page__search-wrap,
  .maps-page__results {
    padding-left: 15px;
    padding-right: 15px;
  }
  .maps-page__search {
    padding: 28px 24px 32px;
  }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  .maps-page__map {
    height: 360px;
  }
  .maps-page__search-wrap,
  .maps-page__results {
    padding-left: 15px;
    padding-right: 15px;
  }
  .maps-page__search {
    padding: 28px 24px 32px;
  }
  .maps-doctor-card {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .maps-doctor-card__actions {
    grid-column: 1/-1;
    justify-content: flex-start;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .maps-page__map {
    height: 320px;
  }
  .maps-page__search-wrap,
  .maps-page__results {
    padding-left: 15px;
    padding-right: 15px;
  }
  .maps-page__search {
    padding: 24px 20px 28px;
  }
  .maps-page__filters {
    grid-template-columns: 1fr 1fr;
  }
  .maps-page__filter--submit {
    grid-column: 1/-1;
  }
  .maps-page__submit {
    width: 100%;
    justify-content: space-between;
  }
  .maps-doctor-card {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .maps-doctor-card__actions {
    grid-column: 1/-1;
    justify-content: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .maps-page__map {
    height: 280px;
    margin: 24px 15px 0;
  }
  .maps-page__search-wrap {
    margin-top: -48px;
    padding: 0 15px;
  }
  .maps-page__results {
    padding: 32px 15px 80px;
  }
  .maps-page__search {
    padding: 24px 20px;
  }
  .maps-page__title {
    font-size: 24px;
    line-height: 30px;
  }
  .maps-page__filters {
    grid-template-columns: 1fr;
  }
  .maps-page__submit {
    width: 100%;
    justify-content: space-between;
  }
  .maps-doctor-card {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 20px;
  }
  .maps-doctor-card__avatar {
    width: 72px;
    height: 72px;
  }
  .maps-doctor-card__actions {
    flex-direction: column;
    align-items: stretch;
  }
  .maps-doctor-card__btn {
    width: 100%;
  }
}
.maps-info-window {
  box-sizing: border-box;
  min-width: 440px;
  max-width: 300px;
  padding: 30px;
  font-family: "DM Sans", sans-serif;
}

.maps-info-window__top {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}

.maps-info-window__avatar {
  display: block;
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
}
.maps-info-window__avatar--placeholder {
  background: #eef4f8;
}

.maps-info-window__body {
  min-width: 0;
}

.maps-info-window__name {
  margin: 0 0 4px;
  padding-right: 4px;
  color: #0a0a0a;
  font-size: 16px;
  font-weight: 700;
  line-height: 20px;
  letter-spacing: -0.16px;
}

.maps-info-window__specialty {
  display: inline-flex;
  margin: 0;
  padding: 3px 8px;
  border-radius: 999px;
  background: #eef4f8;
  color: #22c5d6;
  font-size: 11px;
  font-weight: 500;
  line-height: 14px;
  letter-spacing: -0.11px;
}

.maps-info-window__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  margin-top: 8px;
}

.maps-info-window__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #6a7282;
  font-size: 13px;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: -0.13px;
}
.maps-info-window__meta-item img,
.maps-info-window__meta-item .maps-doctor-card__meta-icon {
  display: block;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
}
.maps-info-window__meta-item a {
  color: inherit;
  text-decoration: none;
}

.maps-info-window__actions {
  margin-top: 10px;
}

.maps-info-window__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 16px;
  border: 1px solid #e8edf2;
  border-radius: 999px;
  background: #fff;
  color: #0a0a0a;
  font-size: 13px;
  font-weight: 500;
  line-height: 18px;
  letter-spacing: -0.13px;
  text-decoration: none;
}
.maps-info-window__btn:hover, .maps-info-window__btn:focus-visible {
  border-color: #22c5d6;
  color: #0a0a0a;
}

.gm-style-iw {
  padding: 0 !important;
}

.gm-style-iw-c {
  padding: 0 !important;
}

.gm-style-iw-chr {
  position: absolute !important;
  top: 4px !important;
  right: 4px !important;
  z-index: 2;
  height: auto !important;
}

.gm-style-iw-ch {
  display: none !important;
}

.gm-ui-hover-effect {
  top: 15px !important;
  right: 15px !important;
  width: 28px !important;
  height: 28px !important;
  margin: 0 !important;
}
.gm-ui-hover-effect > span {
  margin: 0 !important;
}

.gm-style-iw-d {
  overflow: visible !important;
  max-height: none !important;
  min-height: 0 !important;
  height: auto !important;
}

/* Portal login / register page */
.portal-auth-page .site-main,
.portal-account-page .site-main {
  padding: 0;
  min-width: 0;
  max-width: 100%;
  overflow-x: clip;
}
.portal-auth-page .site-footer,
.portal-account-page .site-footer {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.portal-auth {
  max-width: 1200px;
  margin: 0 auto 120px;
  padding: 24px 40px 48px;
}
@media (max-width: 767px) {
  .portal-auth {
    padding: 16px 15px 32px;
  }
}

.portal-auth__top {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin-top: 63px;
  margin-bottom: 40px;
}

.portal-auth__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
  gap: 48px;
  align-items: center;
  min-height: calc(100vh - 260px);
}

.portal-auth__form-col {
  align-self: center;
  max-width: 520px;
  width: 100%;
}

.portal-auth__back {
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: #0a1f44;
  text-decoration: none;
  transform: translateY(-50%);
}
.portal-auth__back:hover, .portal-auth__back:focus-visible {
  background: #f5f8fc;
}

.portal-auth__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.portal-auth__toggle-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border: 1px solid #e8edf2;
  border-radius: 999px;
  background: #fff;
  color: #9ca3af;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.portal-auth__toggle-btn .portal-auth__toggle-icon {
  display: inline-flex;
  flex-shrink: 0;
  color: #9ca3af;
}
.portal-auth__toggle-btn.is-active {
  border-color: #0a1f44;
  background: #0a1f44;
  color: #fff;
}
.portal-auth__toggle-btn.is-active .portal-auth__toggle-icon {
  color: #22c5d6;
}

.portal-auth__notice {
  margin-bottom: 20px;
  padding: 12px 16px;
  border-radius: 10px;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  line-height: 20px;
}
.portal-auth__notice--error {
  background: #fef2f2;
  color: #b42318;
}
.portal-auth__notice--success {
  background: #ecfdf3;
  color: #027a48;
}

.portal-auth__intro {
  margin-bottom: 24px;
}

.portal-auth__heading {
  margin: 0 0 8px;
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
}

.portal-auth__description {
  margin: 0;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 15px;
  line-height: 24px;
}

.portal-auth__form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.portal-auth__form--register {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.portal-auth__form--register > .portal-auth__role-fieldset,
.portal-auth__form--register > .portal-auth__role-fields,
.portal-auth__form--register > .portal-auth__field--full,
.portal-auth__form--register > .portal-auth__submit,
.portal-auth__form--register > .portal-auth__foot {
  grid-column: 1/-1;
}
.portal-auth__form--register > .portal-auth__field-row {
  display: contents;
}

.portal-auth__role-fields {
  display: none;
  gap: 16px;
}
.portal-auth__role-fields.is-active {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}
.portal-auth__role-fields.is-active > .portal-auth__field-row {
  display: contents;
}
.portal-auth__role-fields.is-active > .portal-auth__field--full {
  grid-column: 1/-1;
}

.portal-auth__select,
.portal-auth__textarea {
  width: 100%;
}

.portal-auth__file {
  width: 100%;
  padding: 10px 0;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
}

.portal-auth__help {
  margin: 6px 0 0;
  color: #9ca3af;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  line-height: 18px;
}

.portal-auth__field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.portal-auth__field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.portal-auth__label {
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 11px;
  font-weight: 600;
  line-height: 16px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.portal-auth__input-wrap {
  position: relative;
}

.portal-auth__input-icon {
  position: absolute;
  top: 50%;
  left: 14px;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  transform: translateY(-50%);
  pointer-events: none;
}

.portal-auth__input-wrap .portal-auth__input:not(.portal-auth__input--plain) {
  padding-left: 45px;
}

.portal-auth__input {
  box-sizing: border-box;
  width: 100%;
  min-height: 48px;
  padding: 0 44px 0 45px;
  border: 1px solid #e8edf2;
  border-radius: 12px;
  background: #fff;
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  line-height: 20px;
}
.portal-auth__input--plain {
  padding: 0 14px;
}
.portal-auth__input::placeholder {
  color: #9ca3af;
}
.portal-auth__input:focus {
  outline: none;
  border-color: #22c5d6;
}

.portal-auth__toggle-password {
  position: absolute;
  top: 50%;
  right: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  background: transparent;
  transform: translateY(-50%);
  cursor: pointer;
}

.portal-auth__form-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.portal-auth__checkbox {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 13px;
  cursor: pointer;
}
.portal-auth__checkbox input {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #0a1f44;
}

.portal-auth__link,
.portal-auth__foot-link {
  color: #22c5d6;
  font-family: "DM Sans", sans-serif;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
}
.portal-auth__link:hover, .portal-auth__link:focus-visible,
.portal-auth__foot-link:hover,
.portal-auth__foot-link:focus-visible {
  color: #0a1f44;
}

.portal-auth__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 52px;
  padding: 0 20px;
  border: 0;
  border-radius: 999px;
  background: #0a1f44;
  color: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
}
.portal-auth__submit:hover, .portal-auth__submit:focus-visible {
  background: #122a57;
}

.portal-auth__foot {
  margin: 4px 0 0;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 13px;
  text-align: center;
}

.portal-auth__role-fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

.portal-auth__roles {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 8px;
}

.portal-auth__role {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid #e8edf2;
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.portal-auth__role input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.portal-auth__role.is-selected {
  border-color: #0a1f44;
  background: #f5f8fc;
}

.portal-auth__role-label {
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  text-align: center;
}

.portal-auth__media-col {
  align-self: center;
}

.portal-auth__layout.is-form-taller .portal-auth__media-col {
  position: sticky;
  top: calc(var(--site-header-height, 91px) + 24px);
}

.portal-auth__layout.is-media-taller .portal-auth__form-col {
  position: sticky;
  top: calc(var(--site-header-height, 91px) + 24px);
}

.portal-auth__image {
  display: block;
  width: 100%;
  height: auto;
  max-height: calc(100vh - 48px);
  border-radius: 20px;
  object-fit: contain;
}
.portal-auth__image--placeholder {
  aspect-ratio: 4/5;
  max-height: calc(100vh - 48px);
  background: linear-gradient(135deg, #e8edf2 0%, #d5dee8 100%);
}

/* My Account */
.portal-account {
  padding: 72px 0px 120px;
}

.portal-account__inner {
  max-width: 1365px;
  margin: 0 auto;
  padding: 0 40px;
  box-sizing: border-box;
}

.portal-account__title {
  margin: 0 0 8px;
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.15;
}

.portal-account__intro {
  max-width: 640px;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  line-height: 26px;
}
.portal-account__intro p {
  margin: 0;
}

.portal-account__logout {
  flex-shrink: 0;
  padding: 10px 18px;
  border: 1px solid #d5dee8;
  border-radius: 999px;
  background: #fff;
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}
.portal-account__logout:hover, .portal-account__logout:focus-visible {
  border-color: #0a1f44;
}

.portal-account__section-title {
  margin: 0 0 24px;
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 24px;
  font-weight: 700;
}

.portal-resources--account {
  padding: 0;
  background: transparent;
}
.portal-resources--account .portal-resources__inner {
  padding: 0;
}

@media (min-width: 1024px) and (max-width: 1199px) {
  .portal-account {
    padding: 0 0 120px;
  }
  .portal-account__inner {
    padding: 0 15px;
  }
}
@media (min-width: 1366px) and (max-width: 1499px) {
  .portal-account {
    padding: 0 0 120px;
  }
}
@media (max-width: 1023px) {
  .portal-auth__layout {
    grid-template-columns: 1fr;
    align-items: stretch;
    min-height: auto;
  }
  .portal-auth__form-col {
    align-self: auto;
  }
  .portal-auth__media-col {
    position: static;
    order: -1;
  }
  .portal-auth__image {
    max-height: 320px;
    object-fit: cover;
  }
  .portal-auth__image--placeholder {
    max-height: 320px;
  }
  .portal-account__inner {
    padding: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .portal-account {
    padding: 0 0 120px;
  }
  .portal-account__inner {
    padding: 0 15px;
  }
}
@media (max-width: 767px) {
  .portal-auth__toggle {
    flex-wrap: wrap;
    gap: 8px;
    padding: 0 48px;
  }
  .portal-auth__toggle-btn {
    padding: 9px 16px;
    font-size: 13px;
  }
  .portal-auth__form--register {
    grid-template-columns: 1fr;
  }
  .portal-auth__role-fields.is-active {
    grid-template-columns: 1fr;
  }
  .portal-auth__field-row,
  .portal-auth__roles {
    grid-template-columns: 1fr;
  }
  .portal-account {
    padding: 0 15px 40px;
  }
  .portal-account__title {
    font-size: 28px;
  }
}
.portal-workspace {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 32px;
  align-items: start;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.portal-workspace__sidebar {
  position: sticky;
  top: 24px;
  padding-right: 32px;
  border-right: 1px solid #e8edf2;
  min-width: 0;
  max-width: 100%;
}

.portal-workspace__nav {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  min-width: 0;
}

.portal-workspace__nav-link {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 14px 16px;
  border-radius: 14px;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: -0.16px;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.portal-workspace__nav-link:hover, .portal-workspace__nav-link:focus-visible {
  background: #eef4f8;
}
.portal-workspace__nav-link.is-active {
  background: #22c5d6;
  color: #fff;
}

.portal-workspace__nav-icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
}

.portal-workspace__nav-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  margin-left: auto;
  padding: 0 6px;
  border-radius: 999px;
  background: rgba(62, 198, 211, 0.1);
  color: #3ec6d3;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 16px;
  letter-spacing: -0.12px;
}

.portal-workspace__main {
  min-width: 0;
  padding: 0 0 0 8px;
  max-width: 100%;
}

.portal-workspace__header {
  margin-bottom: 20px;
}

.portal-workspace__title {
  margin: 0 0 8px;
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: -0.18px;
}

.portal-workspace__subtitle {
  margin: 0;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 15px;
  line-height: 1.5;
}

.portal-workspace__notice {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 42px;
  padding: 14px 16px;
  border-radius: 12px;
  background: #f5f8fc;
}
.portal-workspace__notice p {
  margin: 0;
  color: #7d7d7d;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: -0.14px;
}

.portal-workspace__notice-icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #d5dee8;
  color: #0a1f44;
  font-size: 12px;
  font-weight: 700;
}

.portal-account--distributor .portal-workspace__notice,
.portal-workspace__notice--plain {
  padding: 0;
  border-radius: 0;
  background: transparent;
}

.portal-workspace__list {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}
.portal-workspace__list--video {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.portal-workspace__list--video .portal-workspace__list-item {
  border-top: 0;
}
.portal-workspace__list--patient-materials {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 15px;
}
.portal-workspace__list--patient-materials .portal-workspace__list-item {
  border-top: 0;
}

.portal-workspace__list-item {
  border-top: 1px solid #e8edf2;
}
.portal-workspace__list-item:first-child {
  border-top: 0;
}

.portal-workspace__empty {
  margin: 0;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 15px;
  line-height: 1.5;
}

.portal-workspace__company-profile {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 30px;
  width: 100%;
  max-width: 100%;
}

.portal-workspace__company-profile-hero {
  width: 100%;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: -0.16px;
}
.portal-workspace__company-profile-hero img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}
.portal-workspace__company-profile-hero p {
  margin: 0;
}
.portal-workspace__company-profile-hero p + p {
  margin-top: 16px;
}

.portal-workspace__company-profile-button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 12px 24px;
  border: 1px solid #e8edf2;
  border-radius: 999px;
  background: #fff;
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 18px;
  letter-spacing: -0.14px;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.portal-workspace__company-profile-button:hover, .portal-workspace__company-profile-button:focus-visible {
  background: #f5f8fc;
  border-color: #d5dee8;
}

.portal-workspace__company-profile-button-label {
  display: inline-block;
}

.portal-workspace__company-profile-button-icon {
  display: block;
  flex-shrink: 0;
  width: 19px;
  height: 18px;
  filter: brightness(0);
}

.portal-workspace__featured-assets {
  width: 100%;
  margin-top: 26px;
}

.portal-workspace__featured-assets-title {
  margin: 0 0 24px;
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: -0.18px;
}

.portal-workspace__featured-assets-grid.portal-workspace__list--patient-materials {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.portal-workspace__support-contact {
  width: 100%;
  margin-top: 56px;
}

.portal-workspace__support-contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.portal-workspace__support-contact-item {
  min-width: 0;
}

.portal-workspace__support-contact-card {
  height: 100%;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
}

.portal-workspace__support-contact-card-link {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 108px;
  height: 100%;
  padding: 20px;
  text-decoration: none;
  color: inherit;
  position: relative;
  box-sizing: border-box;
}

.portal-workspace__support-contact-card-body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-right: 28px;
}

.portal-workspace__support-contact-card-title {
  margin: 0;
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 18px;
  letter-spacing: -0.14px;
}

.portal-workspace__support-contact-card-email {
  margin: 0;
  color: #9ca3af;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: -0.14px;
}

.portal-workspace__support-contact-card-icon {
  position: absolute;
  right: 20px;
  bottom: 20px;
  display: block;
  flex-shrink: 0;
  width: 19px;
  height: 18px;
}

.portal-workspace__meeting-form {
  margin-top: 8px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.portal-workspace__meeting-form .wpcf7 {
  margin: 0;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.portal-workspace__meeting-form .wpcf7-form,
.portal-workspace__meeting-form .meeting-form,
.portal-workspace__meeting-form .contact-form {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.portal-workspace__meeting-form .wpcf7-form p,
.portal-workspace__meeting-form .meeting-form p,
.portal-workspace__meeting-form .contact-form p {
  margin: 0;
}
.portal-workspace__meeting-form .row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
  margin: 0;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.portal-workspace__meeting-form .row:not(:has([class*=col-])) {
  grid-template-columns: 1fr;
}
.portal-workspace__meeting-form .col-6,
.portal-workspace__meeting-form .col-12,
.portal-workspace__meeting-form .col-10,
.portal-workspace__meeting-form .col-2,
.portal-workspace__meeting-form .col-8,
.portal-workspace__meeting-form .col-4 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0;
  margin: 0;
  min-width: 0;
  max-width: 100%;
}
.portal-workspace__meeting-form .col-6 > p,
.portal-workspace__meeting-form .col-12 > p,
.portal-workspace__meeting-form .col-10 > p,
.portal-workspace__meeting-form .col-2 > p,
.portal-workspace__meeting-form .col-8 > p,
.portal-workspace__meeting-form .col-4 > p {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  width: 100%;
  min-width: 0;
}
.portal-workspace__meeting-form .col-6 > label:not(.checkbox-label) + .wpcf7-form-control-wrap,
.portal-workspace__meeting-form .col-6 > label:not(.checkbox-label) + p,
.portal-workspace__meeting-form .col-6 > p > label:not(.checkbox-label) + .wpcf7-form-control-wrap,
.portal-workspace__meeting-form .col-12 > label:not(.checkbox-label) + .wpcf7-form-control-wrap,
.portal-workspace__meeting-form .col-12 > label:not(.checkbox-label) + p,
.portal-workspace__meeting-form .col-12 > p > label:not(.checkbox-label) + .wpcf7-form-control-wrap,
.portal-workspace__meeting-form .col-10 > label:not(.checkbox-label) + .wpcf7-form-control-wrap,
.portal-workspace__meeting-form .col-10 > label:not(.checkbox-label) + p,
.portal-workspace__meeting-form .col-10 > p > label:not(.checkbox-label) + .wpcf7-form-control-wrap,
.portal-workspace__meeting-form .col-2 > label:not(.checkbox-label) + .wpcf7-form-control-wrap,
.portal-workspace__meeting-form .col-2 > label:not(.checkbox-label) + p,
.portal-workspace__meeting-form .col-2 > p > label:not(.checkbox-label) + .wpcf7-form-control-wrap,
.portal-workspace__meeting-form .col-8 > label:not(.checkbox-label) + .wpcf7-form-control-wrap,
.portal-workspace__meeting-form .col-8 > label:not(.checkbox-label) + p,
.portal-workspace__meeting-form .col-8 > p > label:not(.checkbox-label) + .wpcf7-form-control-wrap,
.portal-workspace__meeting-form .col-4 > label:not(.checkbox-label) + .wpcf7-form-control-wrap,
.portal-workspace__meeting-form .col-4 > label:not(.checkbox-label) + p,
.portal-workspace__meeting-form .col-4 > p > label:not(.checkbox-label) + .wpcf7-form-control-wrap {
  margin-top: 0;
}
.portal-workspace__meeting-form .row:has(.col-10) {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  margin-top: 14px;
}
.portal-workspace__meeting-form .col-12 {
  grid-column: 1/-1;
}
.portal-workspace__meeting-form .col-10 {
  grid-column: 1/span 10;
  align-items: flex-start;
  justify-content: center;
}
.portal-workspace__meeting-form .col-2 {
  grid-column: 11/span 2;
  align-items: flex-end;
  justify-content: flex-start;
}
.portal-workspace__meeting-form .col-2.text-end {
  text-align: right;
}
.portal-workspace__meeting-form .col-2.mt-4 {
  margin-top: 24px;
}
.portal-workspace__meeting-form .col-2 > p {
  align-items: flex-end;
}
.portal-workspace__meeting-form .col-2 input[type=submit],
.portal-workspace__meeting-form .col-2 button[type=submit],
.portal-workspace__meeting-form .col-2 .btn,
.portal-workspace__meeting-form .col-2 .btn-primary {
  width: auto;
  min-width: 0;
}
.portal-workspace__meeting-form .col-8 {
  grid-column: 1;
  align-items: flex-start;
  justify-content: center;
}
.portal-workspace__meeting-form .col-4 {
  grid-column: 2;
  align-items: center;
  justify-content: flex-end;
}
.portal-workspace__meeting-form .col-4.text-end {
  text-align: right;
}
.portal-workspace__meeting-form .col-4.mt-4 {
  margin-top: 0;
}
.portal-workspace__meeting-form .meeting-form__fields,
.portal-workspace__meeting-form .contact-form__fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px 15px;
}
.portal-workspace__meeting-form .meeting-form__field,
.portal-workspace__meeting-form .contact-form__field {
  margin: 0;
}
.portal-workspace__meeting-form .meeting-form__field--full,
.portal-workspace__meeting-form .contact-form__field--full {
  grid-column: 1/-1;
}
.portal-workspace__meeting-form .meeting-form__field label,
.portal-workspace__meeting-form .contact-form__field label,
.portal-workspace__meeting-form .col-6 > label:not(.checkbox-label),
.portal-workspace__meeting-form .col-12 > label:not(.checkbox-label),
.portal-workspace__meeting-form .col-6 > p > label:not(.checkbox-label),
.portal-workspace__meeting-form .col-12 > p > label:not(.checkbox-label) {
  display: block;
  margin-bottom: 0;
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 18px;
  letter-spacing: -0.14px;
}
.portal-workspace__meeting-form .wpcf7-form-control-wrap {
  display: block;
  position: relative;
}
.portal-workspace__meeting-form input[type=text],
.portal-workspace__meeting-form input[type=email],
.portal-workspace__meeting-form input[type=tel],
.portal-workspace__meeting-form input[type=date],
.portal-workspace__meeting-form input[type=url],
.portal-workspace__meeting-form select,
.portal-workspace__meeting-form textarea,
.portal-workspace__meeting-form .form-control,
.portal-workspace__meeting-form .wpcf7-form-control.form-control {
  display: block;
  width: 100%;
  padding: 12px 15px;
  border: 1px solid #ececec;
  border-radius: 10px;
  background: #fff;
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.03);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.portal-workspace__meeting-form input[type=text]::placeholder,
.portal-workspace__meeting-form input[type=email]::placeholder,
.portal-workspace__meeting-form input[type=tel]::placeholder,
.portal-workspace__meeting-form input[type=date]::placeholder,
.portal-workspace__meeting-form input[type=url]::placeholder,
.portal-workspace__meeting-form select::placeholder,
.portal-workspace__meeting-form textarea::placeholder,
.portal-workspace__meeting-form .form-control::placeholder,
.portal-workspace__meeting-form .wpcf7-form-control.form-control::placeholder {
  color: #b0b8c4;
  opacity: 1;
}
.portal-workspace__meeting-form input[type=text]:focus,
.portal-workspace__meeting-form input[type=email]:focus,
.portal-workspace__meeting-form input[type=tel]:focus,
.portal-workspace__meeting-form input[type=date]:focus,
.portal-workspace__meeting-form input[type=url]:focus,
.portal-workspace__meeting-form select:focus,
.portal-workspace__meeting-form textarea:focus,
.portal-workspace__meeting-form .form-control:focus,
.portal-workspace__meeting-form .wpcf7-form-control.form-control:focus {
  outline: none;
  border-color: #22c5d6;
  box-shadow: 0 0 0 2px rgba(34, 197, 214, 0.15);
}
.portal-workspace__meeting-form select,
.portal-workspace__meeting-form select.form-control {
  appearance: none;
  padding-right: 40px;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%2399A3B3' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 12px 12px;
  cursor: pointer;
  color: #0a1f44;
}
.portal-workspace__meeting-form select:invalid, .portal-workspace__meeting-form select.wpcf7-not-valid,
.portal-workspace__meeting-form select.form-control:invalid,
.portal-workspace__meeting-form select.form-control.wpcf7-not-valid {
  color: #b0b8c4;
}
.portal-workspace__meeting-form input[type=date],
.portal-workspace__meeting-form input[type=date].form-control {
  appearance: none;
  padding-right: 40px;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Crect x='2' y='3' width='12' height='11' rx='1.5' stroke='%2399A3B3' stroke-width='1.2'/%3E%3Cpath d='M2 6.5H14' stroke='%2399A3B3' stroke-width='1.2'/%3E%3Cpath d='M5.5 2V4.5' stroke='%2399A3B3' stroke-width='1.2' stroke-linecap='round'/%3E%3Cpath d='M10.5 2V4.5' stroke='%2399A3B3' stroke-width='1.2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 16px 16px;
}
.portal-workspace__meeting-form input[type=date]::-webkit-calendar-picker-indicator,
.portal-workspace__meeting-form input[type=date].form-control::-webkit-calendar-picker-indicator {
  opacity: 0;
  position: absolute;
  right: 0;
  width: 40px;
  height: 100%;
  cursor: pointer;
}
.portal-workspace__meeting-form textarea,
.portal-workspace__meeting-form textarea.form-control {
  min-height: 160px;
  resize: vertical;
}
.portal-workspace__meeting-form .checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  cursor: pointer;
}
.portal-workspace__meeting-form .checkbox-label .wpcf7-form-control-wrap,
.portal-workspace__meeting-form .checkbox-label .wpcf7-acceptance,
.portal-workspace__meeting-form .checkbox-label .wpcf7-list-item {
  display: flex;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
}
.portal-workspace__meeting-form .checkbox-label .wpcf7-list-item label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  cursor: pointer;
}
.portal-workspace__meeting-form .checkbox-label input[type=checkbox] {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin-top: 3px;
  accent-color: #0a1f44;
}
.portal-workspace__meeting-form .checkbox-label .wpcf7-list-item-label {
  flex: 1;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.portal-workspace__meeting-form .checkbox-label a {
  color: #0a1f44;
  font-weight: 700;
  text-decoration: none;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.portal-workspace__meeting-form .checkbox-label a:hover, .portal-workspace__meeting-form .checkbox-label a:focus-visible {
  color: #22c5d6;
  text-decoration: underline;
}
.portal-workspace__meeting-form .meeting-form__footer,
.portal-workspace__meeting-form .contact-form__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.portal-workspace__meeting-form .meeting-form__acceptance,
.portal-workspace__meeting-form .contact-form__acceptance {
  flex: 1;
  min-width: 0;
  margin: 0;
}
.portal-workspace__meeting-form .meeting-form__acceptance .wpcf7-form-control-wrap,
.portal-workspace__meeting-form .meeting-form__acceptance .wpcf7-acceptance,
.portal-workspace__meeting-form .meeting-form__acceptance .wpcf7-list-item,
.portal-workspace__meeting-form .contact-form__acceptance .wpcf7-form-control-wrap,
.portal-workspace__meeting-form .contact-form__acceptance .wpcf7-acceptance,
.portal-workspace__meeting-form .contact-form__acceptance .wpcf7-list-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0;
}
.portal-workspace__meeting-form .meeting-form__acceptance label,
.portal-workspace__meeting-form .contact-form__acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  cursor: pointer;
}
.portal-workspace__meeting-form .meeting-form__acceptance input[type=checkbox],
.portal-workspace__meeting-form .contact-form__acceptance input[type=checkbox] {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin-top: 3px;
  accent-color: #0a1f44;
}
.portal-workspace__meeting-form .meeting-form__acceptance .wpcf7-list-item-label,
.portal-workspace__meeting-form .contact-form__acceptance .wpcf7-list-item-label {
  flex: 1;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.portal-workspace__meeting-form .meeting-form__acceptance a,
.portal-workspace__meeting-form .contact-form__acceptance a {
  color: #0a1f44;
  font-weight: 700;
  text-decoration: none;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.portal-workspace__meeting-form .meeting-form__submit-wrap,
.portal-workspace__meeting-form .contact-form__submit-wrap {
  flex-shrink: 0;
  margin: 0;
}
.portal-workspace__meeting-form input[type=submit],
.portal-workspace__meeting-form button[type=submit],
.portal-workspace__meeting-form .btn,
.portal-workspace__meeting-form .btn-primary,
.portal-workspace__meeting-form .meeting-form__submit,
.portal-workspace__meeting-form .contact-form__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 140px;
  padding: 14px 40px;
  border: 0;
  border-radius: 999px;
  background: #0a1f44;
  color: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  box-shadow: none;
  transition: background-color 0.2s ease;
}
.portal-workspace__meeting-form input[type=submit]:hover, .portal-workspace__meeting-form input[type=submit]:focus-visible,
.portal-workspace__meeting-form button[type=submit]:hover,
.portal-workspace__meeting-form button[type=submit]:focus-visible,
.portal-workspace__meeting-form .btn:hover,
.portal-workspace__meeting-form .btn:focus-visible,
.portal-workspace__meeting-form .btn-primary:hover,
.portal-workspace__meeting-form .btn-primary:focus-visible,
.portal-workspace__meeting-form .meeting-form__submit:hover,
.portal-workspace__meeting-form .meeting-form__submit:focus-visible,
.portal-workspace__meeting-form .contact-form__submit:hover,
.portal-workspace__meeting-form .contact-form__submit:focus-visible {
  background: #22c5d6;
  color: #fff;
}
.portal-workspace__meeting-form .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #dc2626;
  font-size: 12px;
}
.portal-workspace__meeting-form .wpcf7-response-output {
  margin: 16px 0 0;
  padding: 12px 16px;
  border-radius: 10px;
  font-size: 14px;
}

.portal-content-item__inner {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 16px;
  padding: 20px 0;
  color: inherit;
  text-decoration: none;
}
.portal-content-item__inner--pdf {
  display: flex;
  align-items: center;
  gap: 16px;
}

.portal-content-item--documents .portal-content-item__inner {
  display: flex;
  align-items: center;
  gap: 16px;
}

.portal-content-item__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: #eef7fb;
  color: #0a1f44;
}
.portal-content-item__icon--file {
  flex-shrink: 0;
  background: #f0f7ff;
}
.portal-content-item__icon--file img {
  display: block;
  width: auto;
  height: auto;
  max-width: 24px;
  max-height: 24px;
}

.portal-content-item--pdf .portal-content-item__body {
  flex: 1;
  min-width: 0;
}

.portal-content-item__body--documents {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex: 1;
  min-width: 0;
}

.portal-content-item__body-main {
  flex: 1;
  min-width: 0;
}

.portal-content-item__view-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-shrink: 0;
  width: 170px;
  min-width: 170px;
  max-width: 170px;
  height: 50px;
  min-height: 50px;
  max-height: 50px;
  padding: 8px 20px;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  background: #fff;
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  box-sizing: border-box;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}
.portal-content-item__view-button:hover, .portal-content-item__view-button:focus-visible {
  border-color: #d1d5db;
  background: #f9fafb;
}
.portal-content-item__view-button:focus {
  outline: none;
}
.portal-content-item__view-button:focus-visible {
  outline: 2px solid #22c5d6;
  outline-offset: 2px;
}

.portal-content-item__view-button-label {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left;
}

.portal-content-item__view-button-icon {
  display: block;
  flex-shrink: 0;
  width: 19px;
  height: 18px;
  margin-left: auto;
  filter: brightness(0);
}

.portal-content-item__title-row--pdf {
  gap: 8px;
  margin-bottom: 4px;
}

.portal-content-item__meta--pdf {
  margin: 0;
}

.portal-content-item__download {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin-left: auto;
  border-radius: 8px;
  color: #0a1f44;
  text-decoration: none;
  transition: background-color 0.2s ease;
}
.portal-content-item__download img {
  display: block;
  width: 20px;
  height: 20px;
}
.portal-content-item__download:hover, .portal-content-item__download:focus-visible {
  background: #eef4f8;
}
.portal-content-item__download:focus {
  outline: none;
}
.portal-content-item__download:focus-visible {
  outline: 2px solid #22c5d6;
  outline-offset: 2px;
}

.portal-content-item__title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}

.portal-content-item__title {
  display: inline;
  margin: 0;
  border: 0;
  padding: 0;
  background: transparent;
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 22px;
  letter-spacing: -0.16px;
  text-align: left;
  cursor: pointer;
  transition: color 0.2s ease;
}
.portal-content-item__title:hover, .portal-content-item__title:focus-visible {
  color: #22c5d6;
}
.portal-content-item__title:focus {
  outline: none;
}
.portal-content-item__title:focus-visible {
  outline: 2px solid #22c5d6;
  outline-offset: 2px;
}
.portal-content-item__title--download {
  text-decoration: none;
}

.portal-content-item__badge {
  display: inline-flex;
  padding: 4px 10px;
  border-radius: 999px;
  background: #0a1f44;
  color: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.portal-content-item__description {
  color: #0A1F44;
  /* Body/Medium */
  font-family: "DM Sans";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 18px; /* 128.571% */
  letter-spacing: -0.14px;
  margin: 8px 0;
}

.portal-content-item__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.portal-content-item__meta-text {
  color: #9CA3AF;
  /* Body/Medium */
  font-family: "DM Sans";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 18px; /* 128.571% */
  letter-spacing: -0.14px;
}
.portal-content-item__meta-text p {
  margin: 0;
}
.portal-content-item__meta-text ul,
.portal-content-item__meta-text ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.portal-content-item__meta-text li {
  display: inline;
}
.portal-content-item__meta-text li:not(:last-child)::after {
  content: "•";
  margin: 0 8px;
  color: #9ca3af;
}
.portal-content-item__meta-text .portal-content-item__meta-status::after {
  content: none !important;
}
.portal-content-item__meta-text .portal-content-item__meta-access--distributor-admin-only,
.portal-content-item__meta-text li.portal-content-item__meta-access--distributor-admin-only {
  color: #37a6dd;
}
.portal-content-item__meta-text .portal-content-item__meta-access--admin-dealer-access,
.portal-content-item__meta-text li.portal-content-item__meta-access--admin-dealer-access {
  color: #d97706;
}
.portal-content-item__meta-text strong {
  color: #0a1f44;
}

.portal-content-item__meta-status {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}
.portal-content-item__meta-status--in-progress {
  color: #d97706;
  background: rgba(217, 119, 6, 0.1);
}
.portal-content-item__meta-status--completed {
  color: #2563eb;
  background: rgba(37, 99, 235, 0.1);
}
.portal-content-item__meta-status--approved {
  color: #059669;
  background: rgba(5, 150, 105, 0.1);
}
.portal-content-item__meta-status--draft {
  color: #64748b;
  background: rgba(100, 116, 139, 0.1);
}

.portal-content-item__status {
  display: inline-flex;
  padding: 4px 10px;
  border-radius: 999px;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  font-weight: 600;
}
.portal-content-item__status--in-progress {
  color: #d97706;
  background: rgba(217, 119, 6, 0.1);
}
.portal-content-item__status--completed {
  color: #2563eb;
  background: rgba(37, 99, 235, 0.1);
}
.portal-content-item__status--approved {
  color: #059669;
  background: rgba(5, 150, 105, 0.1);
}
.portal-content-item__status--draft {
  color: #64748b;
  background: rgba(100, 116, 139, 0.1);
}

.portal-content-item--video {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 0;
}

.portal-content-item__video-media {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 16px;
  aspect-ratio: 16/10;
  text-decoration: none;
}
.portal-content-item__video-media:hover .portal-content-item__video-play, .portal-content-item__video-media:focus-visible .portal-content-item__video-play {
  transform: translate(-50%, -50%) scale(1.04);
}
.portal-content-item__video-media:focus {
  outline: none;
}
.portal-content-item__video-media:focus-visible {
  outline: 2px solid #22c5d6;
  outline-offset: 2px;
}

.portal-content-item__video-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.portal-content-item__video-image--placeholder {
  background: linear-gradient(135deg, #eef7fb 0%, #f5f8fc 100%);
}

.portal-content-item__video-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  display: inline-flex;
  padding: 6px 12px;
  border-radius: 999px;
  background: #0a1f44;
  color: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.portal-content-item__video-play {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translate(-50%, -50%);
  transition: transform 0.2s ease;
  pointer-events: none;
}
.portal-content-item__video-play img {
  display: block;
  width: 50px;
  height: 50px;
}

.portal-content-item__video-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 16px;
}

.portal-content-item__video-doctor {
  margin: 0;
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 18px;
  letter-spacing: -0.14px;
}

.portal-content-item__video-title {
  margin: 0;
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 22px;
  letter-spacing: -0.16px;
}

.portal-content-item__video-description {
  margin: 0;
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: -0.14px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.portal-content-item__meta--video {
  margin: 4px 0 0;
}

.portal-content-item__meta--video .portal-content-item__meta-text {
  color: #9ca3af;
  font-size: 14px;
}
.portal-content-item__meta--video .portal-content-item__meta-text li:first-child {
  color: #37a6dd;
  font-weight: 500;
}

.portal-workspace__main--product-dossiers .portal-content-item__meta-text li:first-child {
  color: #37a6dd;
}

.portal-workspace__pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 32px;
  padding: 10px 20px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(10, 31, 68, 0.08);
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

.portal-workspace__pagination-nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  transition: color 0.2s ease, background-color 0.2s ease;
}
.portal-workspace__pagination-nav:hover, .portal-workspace__pagination-nav:focus-visible {
  color: #22c5d6;
  background: rgba(34, 197, 214, 0.08);
}
.portal-workspace__pagination-nav--disabled {
  color: #c5cdd8;
  pointer-events: none;
}

.portal-workspace__pagination-status {
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}

.portal-content-item--patient-materials {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 0;
}

.portal-content-item__materials-media {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 10px;
  aspect-ratio: 1/1;
  text-decoration: none;
  background: linear-gradient(135deg, #eef7fb 0%, #f5f8fc 100%);
}
.portal-content-item__materials-media:hover .portal-content-item__materials-overlay, .portal-content-item__materials-media:focus-visible .portal-content-item__materials-overlay {
  opacity: 1;
}
.portal-content-item__materials-media:hover .portal-content-item__materials-download, .portal-content-item__materials-media:focus-visible .portal-content-item__materials-download {
  transform: translateY(0);
}
.portal-content-item__materials-media:focus {
  outline: none;
}
.portal-content-item__materials-media:focus-visible {
  outline: 2px solid #22c5d6;
  outline-offset: 2px;
}

.portal-content-item__materials-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 24px;
}
.portal-content-item__materials-image--placeholder {
  background: linear-gradient(135deg, #eef7fb 0%, #f5f8fc 100%);
}

.portal-content-item__materials-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  display: inline-flex;
  padding: 6px 12px;
  border-radius: 999px;
  background: #0a1f44;
  color: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.portal-content-item__materials-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: inherit;
  background: rgba(0, 0, 0, 0.1);
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;
}

.portal-content-item__materials-download {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: 999px;
  background: #fff;
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  transform: translateY(4px);
  transition: transform 0.2s ease;
}

.portal-content-item__materials-download-label {
  white-space: nowrap;
}

.portal-content-item__materials-download-icon {
  display: block;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
}

.portal-content-item__materials-body {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 16px;
}
.portal-content-item__materials-body h3 {
  margin: 0;
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
}

.portal-content-item__materials-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.portal-content-item__materials-meta > .portal-content-item__meta-status,
.portal-content-item__materials-meta .portal-content-item__meta-text .portal-content-item__meta-status,
.portal-content-item__materials-meta .portal-content-item__meta-text li.portal-content-item__meta-status {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}
.portal-content-item__materials-meta > .portal-content-item__meta-status--in-progress,
.portal-content-item__materials-meta .portal-content-item__meta-text .portal-content-item__meta-status--in-progress,
.portal-content-item__materials-meta .portal-content-item__meta-text li.portal-content-item__meta-status--in-progress {
  color: #d97706;
  background: rgba(217, 119, 6, 0.1);
}
.portal-content-item__materials-meta > .portal-content-item__meta-status--completed,
.portal-content-item__materials-meta .portal-content-item__meta-text .portal-content-item__meta-status--completed,
.portal-content-item__materials-meta .portal-content-item__meta-text li.portal-content-item__meta-status--completed {
  color: #2563eb;
  background: rgba(37, 99, 235, 0.1);
}
.portal-content-item__materials-meta > .portal-content-item__meta-status--approved,
.portal-content-item__materials-meta .portal-content-item__meta-text .portal-content-item__meta-status--approved,
.portal-content-item__materials-meta .portal-content-item__meta-text li.portal-content-item__meta-status--approved {
  color: #059669;
  background: rgba(5, 150, 105, 0.1);
}
.portal-content-item__materials-meta > .portal-content-item__meta-status--draft,
.portal-content-item__materials-meta .portal-content-item__meta-text .portal-content-item__meta-status--draft,
.portal-content-item__materials-meta .portal-content-item__meta-text li.portal-content-item__meta-status--draft {
  color: #64748b;
  background: rgba(100, 116, 139, 0.1);
}
.portal-content-item__materials-meta .portal-content-item__meta-text {
  color: #9ca3af;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
}
.portal-content-item__materials-meta .portal-content-item__meta-text .portal-content-item__meta-status::after,
.portal-content-item__materials-meta .portal-content-item__meta-text li.portal-content-item__meta-status::after {
  content: none !important;
}
.portal-content-item__materials-meta .portal-content-item__meta-text .portal-content-item__meta-access--distributor-admin-only,
.portal-content-item__materials-meta .portal-content-item__meta-text li.portal-content-item__meta-access--distributor-admin-only {
  color: #37a6dd;
}
.portal-content-item__materials-meta .portal-content-item__meta-text .portal-content-item__meta-access--admin-dealer-access,
.portal-content-item__materials-meta .portal-content-item__meta-text li.portal-content-item__meta-access--admin-dealer-access {
  color: #d97706;
}

.portal-content-item__materials-meta-sep {
  color: #9ca3af;
  font-size: 12px;
  line-height: 1;
}

.portal-content-item__materials-version {
  color: #9ca3af;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
}

.portal-content__drawer {
  position: fixed;
  inset: 0;
  z-index: 11000;
  visibility: hidden;
  pointer-events: none;
}
.portal-content__drawer[hidden] {
  display: block !important;
}
.portal-content__drawer.is-open {
  visibility: visible;
  pointer-events: auto;
}
.portal-content__drawer.is-open .portal-content__drawer-panel {
  transform: translateX(0);
}
.portal-content__drawer.is-open .portal-content__drawer-overlay {
  opacity: 1;
}
.portal-content__drawer.portal-content__drawer--pdf .portal-content__drawer-document,
.portal-content__drawer.portal-content__drawer--pdf .portal-content__drawer-notice {
  display: none !important;
}

.portal-content__drawer-overlay {
  position: absolute;
  inset: 0;
  border: 0;
  padding: 0;
  background: rgba(10, 10, 10, 0.45);
  opacity: 0;
  cursor: pointer;
  transition: opacity 0.3s ease;
}

.portal-content__drawer-panel {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  width: min(100%, 600px);
  height: 100%;
  background: #fff;
  box-shadow: -8px 0 32px rgba(10, 10, 10, 0.12);
  transform: translateX(100%);
  transition: transform 0.3s ease;
}

.portal-content__drawer-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-shrink: 0;
  padding: 24px 24px 20px;
  border-bottom: 1px solid #e8edf2;
}

.portal-content__drawer-title {
  margin: 0;
  color: #0a0a0a;
  font-family: "DM Sans", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 28px;
  letter-spacing: -0.2px;
}

.portal-content__drawer-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border: 0;
  padding: 0;
  background: transparent;
  color: #0a0a0a;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.portal-content__drawer-close:focus {
  outline: none;
}
.portal-content__drawer-close:focus-visible {
  outline: 2px solid #0a0a0a;
  outline-offset: 2px;
}

.portal-content__drawer-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 24px;
}
.portal-content__drawer-body > [hidden] {
  display: none !important;
}

.portal-content__drawer-content {
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: -0.16px;
}
.portal-content__drawer-content p {
  margin: 0 0 16px;
}
.portal-content__drawer-content p:last-child {
  margin-bottom: 0;
}
.portal-content__drawer-content ul,
.portal-content__drawer-content ol {
  margin: 0 0 16px;
  padding-left: 20px;
}
.portal-content__drawer-content img {
  max-width: 100%;
  height: auto;
}

.portal-content__drawer-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 24px;
  margin-bottom: 24px;
}

.portal-content__drawer-meta-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}

.portal-content__drawer-meta-label {
  flex-shrink: 0;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
}
.portal-content__drawer-meta-label::after {
  content: ":";
}

.portal-content__drawer-meta-value {
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}

.portal-content__drawer-pdf {
  flex: 1;
  min-height: 280px;
  margin-bottom: 24px;
}
.portal-content__drawer-pdf .portal-content__drawer-pdf-frame {
  display: block;
  width: 100%;
  height: min(72vh, 640px);
  border: 0;
  border-radius: 12px;
  background: #f5f8fc;
}

.portal-content__drawer-document {
  margin-bottom: 24px;
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
}
.portal-content__drawer-document p:last-child {
  margin-bottom: 0;
}
.portal-content__drawer-document img {
  display: block;
  max-width: 100%;
  height: auto;
}

.portal-content__drawer-footer {
  margin-top: auto;
  padding-top: 24px;
}

.portal-content__drawer-button,
.portal-content__drawer-download {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  border-radius: 999px;
  background: #0a1f44;
  color: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition: background-color 0.2s ease;
}
.portal-content__drawer-button:hover, .portal-content__drawer-button:focus-visible,
.portal-content__drawer-download:hover,
.portal-content__drawer-download:focus-visible {
  background: #22c5d6;
  color: #fff;
}
.portal-content__drawer-button--full,
.portal-content__drawer-download--full {
  width: 100%;
  padding: 16px 24px;
  border-radius: 12px;
  font-size: 15px;
}

.portal-content__drawer-notice {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: auto;
  padding: 14px 16px;
  border-radius: 12px;
  background: #f5f8fc;
  color: #4b5563;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  line-height: 1.5;
}
.portal-content__drawer-notice p {
  margin: 0;
}

.portal-content__drawer-notice-icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #d5dee8;
  color: #0a1f44;
  font-size: 12px;
  font-weight: 700;
}

body.portal-content-drawer-open {
  overflow: hidden;
}

@media (max-width: 1199px) {
  .portal-account__inner {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .portal-workspace {
    grid-template-columns: 1fr;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  .portal-workspace__sidebar {
    position: static;
    width: 100%;
    max-width: 100%;
    margin-bottom: 24px;
    padding-right: 0;
    padding-bottom: 24px;
    border-right: 0;
    border-bottom: 1px solid #e8edf2;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .portal-workspace__nav {
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 8px;
    width: max-content;
    min-width: 100%;
    padding-bottom: 4px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }
  .portal-workspace__nav-item {
    flex-shrink: 0;
  }
  .portal-workspace__nav-link {
    width: auto;
    white-space: nowrap;
  }
  .portal-workspace__main {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 0;
  }
}
@media (max-width: 1023px) {
  .portal-workspace__list--video {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
  .portal-workspace__list--patient-materials {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
  }
  .portal-workspace__featured-assets-grid.portal-workspace__list--patient-materials {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .portal-training-academy__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .portal-workspace__support-contact-grid {
    gap: 15px;
  }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  .portal-workspace__main--meeting-request .portal-workspace__header {
    margin-bottom: 16px;
  }
  .portal-workspace__main--meeting-request .portal-workspace__title {
    font-size: 28px;
  }
  .portal-workspace__meeting-form {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  .portal-workspace__meeting-form .row {
    gap: 15px;
  }
  .portal-workspace__meeting-form textarea,
  .portal-workspace__meeting-form textarea.form-control {
    min-height: 140px;
  }
  .portal-workspace__meeting-form input[type=submit],
  .portal-workspace__meeting-form button[type=submit],
  .portal-workspace__meeting-form .btn,
  .portal-workspace__meeting-form .btn-primary,
  .portal-workspace__meeting-form .meeting-form__submit,
  .portal-workspace__meeting-form .contact-form__submit {
    min-width: 120px;
    padding: 12px 32px;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .portal-workspace__main--meeting-request .portal-workspace__header {
    margin-bottom: 16px;
  }
  .portal-workspace__main--meeting-request .portal-workspace__title {
    font-size: 28px;
  }
  .portal-workspace__meeting-form {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  .portal-workspace__meeting-form textarea,
  .portal-workspace__meeting-form textarea.form-control {
    min-height: 140px;
  }
}
@media (max-width: 767px) {
  .portal-account__inner {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .portal-workspace__sidebar {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .portal-workspace__main--meeting-request .portal-workspace__header {
    margin-bottom: 12px;
  }
  .portal-workspace__main--meeting-request .portal-workspace__title {
    font-size: 24px;
    line-height: 1.2;
  }
  .portal-workspace__meeting-form {
    margin-top: 0;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  .portal-workspace__meeting-form .row {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .portal-workspace__meeting-form .col-6,
  .portal-workspace__meeting-form .col-10,
  .portal-workspace__meeting-form .col-2,
  .portal-workspace__meeting-form .col-8,
  .portal-workspace__meeting-form .col-4,
  .portal-workspace__meeting-form .col-12 {
    grid-column: 1/-1;
  }
  .portal-workspace__meeting-form .col-10 {
    align-items: flex-start;
  }
  .portal-workspace__meeting-form .col-2 {
    justify-content: flex-start;
    justify-self: stretch;
    margin-top: 0;
  }
  .portal-workspace__meeting-form .col-2.text-end {
    text-align: left;
  }
  .portal-workspace__meeting-form .col-2.mt-4 {
    margin-top: 16px;
  }
  .portal-workspace__meeting-form .col-2 > p {
    align-items: stretch;
  }
  .portal-workspace__meeting-form .col-8 {
    align-items: flex-start;
  }
  .portal-workspace__meeting-form .col-4 {
    justify-content: flex-start;
    justify-self: stretch;
  }
  .portal-workspace__meeting-form .col-4.text-end {
    text-align: left;
  }
  .portal-workspace__meeting-form .checkbox-label {
    font-size: 13px;
    line-height: 1.45;
  }
  .portal-workspace__meeting-form textarea,
  .portal-workspace__meeting-form textarea.form-control {
    min-height: 120px;
  }
  .portal-workspace__meeting-form input[type=submit],
  .portal-workspace__meeting-form button[type=submit],
  .portal-workspace__meeting-form .btn,
  .portal-workspace__meeting-form .btn-primary,
  .portal-workspace__meeting-form .meeting-form__submit,
  .portal-workspace__meeting-form .contact-form__submit {
    width: 100%;
    min-width: 0;
    padding: 14px 24px;
  }
  .portal-workspace__main--company-profile .portal-workspace__title {
    font-size: 24px;
    line-height: 1.2;
  }
  .portal-workspace__company-profile-button {
    width: 100%;
    justify-content: center;
  }
}
@media (max-width: 639px) {
  .portal-workspace__list--video {
    grid-template-columns: 1fr;
  }
  .portal-workspace__list--patient-materials {
    grid-template-columns: 1fr;
  }
  .portal-workspace__featured-assets-grid.portal-workspace__list--patient-materials {
    grid-template-columns: 1fr;
  }
  .portal-workspace__support-contact-grid {
    grid-template-columns: 1fr;
  }
  .portal-claims-rules__item {
    flex-wrap: wrap;
    align-items: flex-start;
    padding: 20px 0;
  }
  .portal-claims-rules__action {
    width: 100%;
    justify-content: center;
    margin-top: 4px;
  }
  .portal-training-academy__grid {
    grid-template-columns: 1fr;
  }
}
.portal-launch-tasks {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.portal-launch-tasks__table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
  border: 1px solid #e8edf2;
  border-radius: 12px;
  background: #fff;
}

.portal-launch-tasks__table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
}

.portal-launch-tasks__th {
  padding: 16px 20px;
  border-bottom: 1px solid #e8edf2;
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 18px;
  letter-spacing: -0.14px;
  text-align: left;
  vertical-align: middle;
}
.portal-launch-tasks__th--role, .portal-launch-tasks__th--progress {
  text-align: center;
}
.portal-launch-tasks__th--actions {
  text-align: right;
}

.portal-launch-tasks__cell {
  padding: 20px;
  border-bottom: 1px solid #e8edf2;
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: -0.14px;
  vertical-align: middle;
}
.portal-launch-tasks__cell--role, .portal-launch-tasks__cell--progress {
  text-align: center;
}
.portal-launch-tasks__cell--actions {
  text-align: right;
}

.portal-launch-tasks__row:last-child .portal-launch-tasks__cell {
  border-bottom: 0;
}

.portal-launch-tasks__badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: 999px;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}
.portal-launch-tasks__badge.badge-distributor-admin {
  background: rgba(59, 76, 104, 0.1);
  color: #3b4c68;
}
.portal-launch-tasks__badge.badge-dealer-partner {
  background: rgba(180, 83, 9, 0.1);
  color: #b45309;
}

.portal-launch-tasks__progress {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-width: 160px;
}

.portal-launch-tasks__progress-track {
  flex: 1 1 auto;
  width: 100%;
  max-width: 120px;
  height: 6px;
  border-radius: 999px;
  background: #e8edf2;
  overflow: hidden;
}

.portal-launch-tasks__progress-bar {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #37a6dd;
}

.portal-launch-tasks__progress-value {
  flex-shrink: 0;
  min-width: 40px;
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 18px;
  text-align: right;
}

.portal-launch-tasks__action {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 18px;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s ease;
}
.portal-launch-tasks__action:hover, .portal-launch-tasks__action:focus-visible {
  color: #37a6dd;
}
.portal-launch-tasks__action--static {
  cursor: default;
}

.portal-launch-tasks__action-icon {
  display: block;
  flex-shrink: 0;
  width: 19px;
  height: 18px;
}

.portal-launch-tasks__pagination {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 24px;
  margin-top: 24px;
}

.portal-launch-tasks__pagination-nav {
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 18px;
  text-decoration: none;
}
.portal-launch-tasks__pagination-nav:hover, .portal-launch-tasks__pagination-nav:focus-visible {
  color: #37a6dd;
}
.portal-launch-tasks__pagination-nav--disabled {
  color: #c5cdd8;
  pointer-events: none;
}

.portal-launch-tasks__pagination-list {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.portal-launch-tasks__pagination-item {
  margin: 0;
}

.portal-launch-tasks__pagination-item--ellipsis {
  color: #c5cdd8;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  line-height: 18px;
}

.portal-launch-tasks__pagination-page {
  display: inline-block;
  color: #c5cdd8;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 18px;
  text-decoration: none;
}
.portal-launch-tasks__pagination-page.is-active {
  color: #0a1f44;
  font-weight: 600;
}
.portal-launch-tasks__pagination-page:hover:not(.is-active), .portal-launch-tasks__pagination-page:focus-visible:not(.is-active) {
  color: #0a1f44;
}

.portal-artwork-assets {
  width: 100%;
}

.portal-artwork-assets__grid.portal-workspace__list--patient-materials {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
}

@media (min-width: 1024px) and (max-width: 1199px) {
  .portal-artwork-assets__grid.portal-workspace__list--patient-materials {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .portal-artwork-assets__grid.portal-workspace__list--patient-materials {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
  }
}
@media (max-width: 767px) {
  .portal-artwork-assets__grid.portal-workspace__list--patient-materials {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.portal-content-item--artwork-assets .portal-content-item__materials-media {
  border-radius: 12px;
  background: transparent;
  aspect-ratio: 16/10;
}
.portal-content-item--artwork-assets .portal-content-item__materials-image {
  padding: 0;
  object-fit: cover;
  border-radius: 12px;
}
.portal-content-item--artwork-assets .portal-content-item__materials-image--placeholder {
  background: transparent;
}
.portal-content-item--artwork-assets .portal-content-item__materials-badge {
  top: 12px;
  right: 12px;
  padding: 6px 12px;
  border-radius: 999px;
  background: #fff;
  color: #0a1f44;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
  box-shadow: 0 1px 2px rgba(10, 31, 68, 0.08);
}
.portal-content-item--artwork-assets .portal-content-item__materials-badge--approved {
  color: #059669;
}
.portal-content-item--artwork-assets .portal-content-item__materials-badge--draft {
  color: #0a1f44;
}
.portal-content-item--artwork-assets .portal-content-item__materials-badge--expired {
  color: #64748b;
}
.portal-content-item--artwork-assets .portal-content-item__materials-overlay {
  background: rgba(10, 31, 68, 0.12);
}

.portal-content-item__artwork-filename {
  margin: 16px 0 0;
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: -0.14px;
  word-break: break-word;
}

.portal-claims-rules {
  width: 100%;
}

.portal-claims-rules__list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}

.portal-claims-rules__item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 0;
  border-bottom: 1px solid #e8edf2;
}
.portal-claims-rules__item:last-child {
  border-bottom: 0;
}

.portal-claims-rules__icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: rgba(55, 166, 221, 0.1);
}

.portal-claims-rules__icon-image {
  display: block;
  width: 24px;
  height: 24px;
}

.portal-claims-rules__body {
  flex: 1;
  min-width: 0;
}

.portal-claims-rules__heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.portal-claims-rules__title {
  margin: 0;
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 18px;
  letter-spacing: -0.14px;
}

.portal-claims-rules__badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: 999px;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  line-height: 16px;
  letter-spacing: -0.12px;
  white-space: nowrap;
}
.portal-claims-rules__badge--prohibited {
  background: rgba(220, 38, 38, 0.1);
  color: #dc2626;
}
.portal-claims-rules__badge--conditional {
  background: rgba(217, 119, 6, 0.1);
  color: #d97706;
}

.portal-claims-rules__description {
  margin: 6px 0 0;
  color: #6a7282;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: -0.14px;
}

.portal-claims-rules__action {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 10px 20px;
  border: 1px solid #e8edf2;
  border-radius: 999px;
  background: #fff;
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 18px;
  letter-spacing: -0.14px;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.portal-claims-rules__action:hover, .portal-claims-rules__action:focus-visible {
  background: #f5f8fc;
  border-color: #d5dee8;
}
.portal-claims-rules__action--static {
  cursor: default;
}

.portal-claims-rules__action-icon {
  display: block;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
}

.portal-training-academy {
  width: 100%;
}

.portal-training-academy__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.portal-training-academy__item {
  min-width: 0;
}

.portal-training-academy__card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.portal-training-academy__media {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 12px;
  aspect-ratio: 16/10;
  text-decoration: none;
}
.portal-training-academy__media:hover .portal-training-academy__play, .portal-training-academy__media:focus-visible .portal-training-academy__play {
  transform: translate(-50%, -50%) scale(1.04);
}
.portal-training-academy__media:focus {
  outline: none;
}
.portal-training-academy__media:focus-visible {
  outline: 2px solid #22c5d6;
  outline-offset: 2px;
}

.portal-training-academy__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.portal-training-academy__image--placeholder {
  background: linear-gradient(135deg, #eef7fb 0%, #f5f8fc 100%);
}

.portal-training-academy__status {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  display: inline-flex;
  padding: 6px 12px;
  border: 1px solid #e8edf2;
  border-radius: 999px;
  background: #fff;
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  line-height: 16px;
  letter-spacing: -0.12px;
  white-space: nowrap;
}
.portal-training-academy__status--completed {
  border-color: #059669;
  color: #059669;
}
.portal-training-academy__status--in-progress {
  border-color: #d97706;
  color: #d97706;
}

.portal-training-academy__play {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translate(-50%, -50%);
  transition: transform 0.2s ease;
  pointer-events: none;
}
.portal-training-academy__play img {
  display: block;
  width: 50px;
  height: 50px;
}

.portal-training-academy__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 16px;
}

.portal-training-academy__title {
  margin: 0;
  color: #0a1f44;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 22px;
  letter-spacing: -0.16px;
}

.portal-training-academy__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  color: #9ca3af;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: -0.14px;
}

.portal-training-academy__meta-sep {
  color: #c5cdd8;
}

.portal-workspace__main--training-academy .portal-training-academy__meta > .portal-training-academy__meta-item {
  color: #9ca3af;
  font-weight: 400;
}
.portal-workspace__main--training-academy .portal-training-academy__meta > .portal-training-academy__meta-item:first-child {
  color: #37a6dd;
  font-weight: 500;
}
.portal-workspace__main--training-academy .portal-training-academy__meta .portal-content-item__meta-access,
.portal-workspace__main--training-academy .portal-training-academy__meta li,
.portal-workspace__main--training-academy .portal-training-academy__meta a {
  color: #9ca3af;
  font-weight: 400;
}
.portal-workspace__main--training-academy .portal-training-academy__meta > .portal-training-academy__meta-item:first-child,
.portal-workspace__main--training-academy .portal-training-academy__meta .portal-content-item__meta-access:first-child,
.portal-workspace__main--training-academy .portal-training-academy__meta li:first-child {
  color: #37a6dd;
  font-weight: 500;
}

/* Comments
--------------------------------------------- */
.comment-content a {
  word-wrap: break-word;
}

.bypostauthor {
  display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
  margin: 0 0 1.5em;
}
.widget select {
  max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
  display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}
.wp-caption img[class*=wp-image-] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

.wp-caption-text {
  text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
  margin-bottom: 1.5em;
  display: grid;
  grid-gap: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  width: 100%;
}

.gallery-columns-2 {
  grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
  grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
  grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
  grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
  grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
  grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
  grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
  grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
  display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/
/* Jetpack infinite scroll
--------------------------------------------- */
/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
  display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/
/* Accessibility
--------------------------------------------- */
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
  outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {
  /*rtl:ignore*/
  float: left;
  /*rtl:ignore*/
  margin-right: 1.5em;
  margin-bottom: 1.5em;
}

.alignright {
  /*rtl:ignore*/
  float: right;
  /*rtl:ignore*/
  margin-left: 1.5em;
  margin-bottom: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5em;
}

/*# sourceMappingURL=style.css.map */
