/* Native Safety composition. Values project the approved responsive revision02.
 * Theme owns presentation; Site Core owns shared interaction and media state. */
.sf-safety,
.sf-safety * { box-sizing: border-box; }
.sf-safety {
  --sf-safety-gutter: 16px;
  width: 100%; max-width: none; margin: 0;
  color: var(--wp--preset--color--sf-text, #304150);
  font-family: var(--wp--preset--font-family--sf-interface, 'Source Sans Pro', sans-serif);
  font-size: 16px; line-height: 24px;
}
.sf-safety :where(h1,h2,h3,p,figure,blockquote,ul,ol) { margin: 0; }
.sf-safety :where(h1,h2,h3,p,.wp-block-button__link) {
  word-wrap: break-word;
  overflow-wrap: anywhere;
}
.sf-safety .wp-block-group > * { margin-top: 0; margin-bottom: 0; }
.sf-safety > * { margin-top: 0; margin-bottom: 0; max-width: none; }
.sf-safety :where(img) { display: block; max-width: 100%; height: auto; }
/* This stylesheet loads only for Safety. Preserve the shared shell's native
 * image constraint when its unused Core Image stylesheet is not enqueued. */
.sf-site-header img, .sf-site-footer img { max-width: 100%; }
.sf-safety :where(a) { color: var(--wp--preset--color--sf-action, #0073c4); text-underline-offset: .18em; }
.sf-safety :where(a,button,[tabindex]):focus { outline: 3px solid #0073c4; outline-offset: 3px; }
.sf-safety :where(a,button,[tabindex]):focus:not(:focus-visible) { outline: none; }
.sf-safety :where(h1,h2) { font-family: var(--wp--preset--font-family--sf-heading, Montserrat, sans-serif); font-weight: 800; letter-spacing: 0; }
.sf-safety h1 { font-size: 28px; line-height: 36px; }
.sf-safety h2 { font-size: 28px; line-height: 36px; }
.sf-safety h3 { font-family: inherit; font-size: 22px; line-height: 28px; font-weight: 700; }
/* Native editor role bindings; typography is inherited from the composition. */
.sf-safety .sf-safety__heading, .sf-safety .sf-safety__copy { margin: 0; }
.sf-safety__motion-actions { position: static; }
.sf-safety .sf-content-carousel__arrow,
.sf-safety .sf-content-carousel__dot,
.sf-safety .sf-page-motion-control button { touch-action: manipulation; }
.sf-safety__inner { width: calc(100% - 2 * var(--sf-safety-gutter)); max-width: 1440px; margin-left: auto; margin-right: auto; }
.sf-safety__section { padding-top: 56px; padding-bottom: 56px; }
.sf-safety__intro { display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; }
.sf-safety__intro p { color: #606a77; }
.sf-safety .wp-block-buttons { gap: 12px; }
.sf-safety .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-height: 50px; padding: 12px 24px; width: auto;
  border: 1px solid #0073c4; border-radius: 8px; background: #0073c4;
  color: #fff; text-decoration: none;
  transition: background-color 150ms ease-out, border-color 150ms ease-out;
}
.sf-safety .wp-block-button__link { font-family: inherit; font-size: 16px; line-height: 24px; font-weight: 700; }
.sf-safety .wp-block-button__link:hover { background: #0064ab; border-color: #0064ab; }
.sf-safety .wp-block-button__link:active { background: #00538f; border-color: #00538f; }
.sf-safety .sf-safety__button--outline .wp-block-button__link { color: #0073c4; background: transparent; }
.sf-safety .sf-safety__button--outline .wp-block-button__link:hover { background: #f0f8fc; color: #0064ab; }
.sf-safety .sf-safety__button--link .wp-block-button__link { padding: 0; border: 0; border-radius: 0; color: #0073c4; background: transparent; }
.sf-safety .sf-safety__button--link .wp-block-button__link:hover { text-decoration: underline; }
.sf-safety .wp-block-button__link::after {
  content: ''; width: 20px; height: 20px; flex: 0 0 20px;
  background: url('../images/content/arrow-right.svg') center / contain no-repeat;
}
.sf-safety .sf-safety__button--outline .wp-block-button__link::after,
.sf-safety .sf-safety__button--link .wp-block-button__link::after { background-image: url('../images/about/arrow-next.svg'); }
.sf-safety .sf-safety__hero .wp-block-button__link::after { transform: rotate(90deg); }
@supports ((-webkit-mask-image: url('../images/content/arrow-right.svg')) or (mask-image: url('../images/content/arrow-right.svg'))) {
  .sf-safety .wp-block-button__link::after { background: currentColor; -webkit-mask-image: url('../images/content/arrow-right.svg'); mask-image: url('../images/content/arrow-right.svg'); -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; }
}
.sf-safety .sf-page-motion-control { position: absolute; z-index: 2; right: var(--sf-safety-gutter); bottom: 20px; }
.sf-safety .sf-page-motion-control .wp-block-button__link {
  min-width: 44px; width: 44px; min-height: 44px; height: 44px; padding: 0; border-radius: 22px;
  border: 1px solid #fff; color: transparent; font-size: 0; background: rgba(26,35,50,.55); cursor: pointer;
}
.sf-safety .sf-page-motion-control .wp-block-button__link[hidden] { display: none; }
.sf-safety .sf-page-motion-control .wp-block-button__link::after {
  background: url('../images/content/pause-white.svg') center / 16px 16px no-repeat;
  -webkit-mask: none;
          mask: none; transform: none;
}
.sf-safety .sf-page-motion-control .wp-block-button__link[data-sf-paused="true"]::after { background-image: url('../img/reviews/play.svg'); }
@media (min-width: 1520px) {
  .sf-safety .sf-page-motion-control { right: calc((100% - 1440px) / 2); }
}
.sf-safety .sf-content-carousel__viewport {
  width: 100%; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: thin;
}
.sf-safety .sf-content-carousel__track { display: flex; gap: 16px; align-items: stretch; }
.sf-safety .sf-content-carousel__item { flex-shrink: 0; min-width: 0; scroll-snap-align: start; }
.sf-safety .sf-content-carousel__nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 12px; margin-top: 24px; }
.sf-safety .sf-content-carousel__nav[hidden] { display: none; }
.sf-safety .sf-content-carousel__arrow {
  display: flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; flex: 0 0 48px; padding: 0;
  border: 1px solid #0073c4; border-radius: 24px; color: #0073c4; background: #fff; cursor: pointer;
}
.sf-safety .sf-content-carousel__arrow:disabled,
.sf-safety .sf-content-carousel__arrow[aria-disabled="true"] { opacity: .35; cursor: default; }
.sf-safety .sf-content-carousel__arrow svg { width: 20px; height: 20px; }
.sf-safety .sf-content-carousel__dots { order: -1; display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 0; margin-right: auto; }
.sf-safety .sf-content-carousel__dot { display: flex; align-items: center; justify-content: center; width: 44px; height: 48px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.sf-safety .sf-content-carousel__dot::before { content: ''; width: 6px; height: 6px; border-radius: 3px; background: #718695; }
.sf-safety .sf-content-carousel__dot[aria-current="true"]::before { width: 20px; background: #007abf; }
.sf-safety .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (min-width: 768px) {
  .sf-safety { --sf-safety-gutter: 24px; font-size: 20px; line-height: 28px; }
  .sf-safety h1 { font-size: 40px; line-height: 48px; }
  .sf-safety h2 { font-size: 40px; line-height: 48px; }
  .sf-safety__section { padding-top: 80px; padding-bottom: 80px; }
  .sf-safety .sf-content-carousel__track { gap: 24px; }
}
@media (min-width: 1025px) { .sf-safety { --sf-safety-gutter: 40px; } }
@media (min-width: 1280px) { .sf-safety__section { padding-top: 96px; padding-bottom: 96px; } }
@media (prefers-reduced-motion: reduce) { .sf-safety .wp-block-button__link { transition: none; } }

/* Native alternate encodings retain the image role and its real crop. */
.sf-safety .sf-safety__picture { display: block; width: 100%; height: 100%; border-radius: inherit; }

/* A short decorative gesture hint has no playback controls. */
.sf-safety .sf-safety__cue-row { display: flex; align-items: center; justify-content: space-between; order: 1; width: 100%; }
.sf-safety .sf-safety__cue-row .sf-content-carousel__swipe-cue { width: auto; min-width: 0; flex: 1 1 auto; margin: 8px 0 0; }
@media (min-width: 768px) { .sf-safety .sf-safety__cue-row { width: calc(100% - var(--sf-safety-gutter)); } }
@media (min-width: 1280px) { .sf-safety .sf-safety__cue-row { display: none; } }
@supports not selector(:where(*)) {/* Native Safety composition. Values project the approved responsive revision02.
 * Theme owns presentation; Site Core owns shared interaction and media state. */
.sf-safety,

.sf-safety * { box-sizing: border-box; }
.sf-safety {
  --sf-safety-gutter: 16px;
  width: 100%; max-width: none; margin: 0;
  color: var(--wp--preset--color--sf-text, #304150);
  font-family: var(--wp--preset--font-family--sf-interface, 'Source Sans Pro', sans-serif);
  font-size: 16px; line-height: 24px;
}
.sf-safety h1,
.sf-safety h2,
.sf-safety h3,
.sf-safety p,
.sf-safety figure,
.sf-safety blockquote,
.sf-safety ul,
.sf-safety ol { margin: 0; }
.sf-safety h1,
.sf-safety h2,
.sf-safety h3,
.sf-safety p,
.sf-safety .wp-block-button__link {
  word-wrap: break-word;
  overflow-wrap: anywhere;
}
.sf-safety .wp-block-group > * { margin-top: 0; margin-bottom: 0; }
.sf-safety > * { margin-top: 0; margin-bottom: 0; max-width: none; }
.sf-safety img { display: block; max-width: 100%; height: auto; }
/* This stylesheet loads only for Safety. Preserve the shared shell's native
 * image constraint when its unused Core Image stylesheet is not enqueued. */
.sf-site-header img,
 .sf-site-footer img { max-width: 100%; }
.sf-safety a { color: var(--wp--preset--color--sf-action, #0073c4); text-underline-offset: .18em; }
.sf-safety a:focus,
.sf-safety button:focus,
.sf-safety [tabindex]:focus { outline: 3px solid #0073c4; outline-offset: 3px; }
.sf-safety a:focus:not(:focus-visible),
.sf-safety button:focus:not(:focus-visible),
.sf-safety [tabindex]:focus:not(:focus-visible) { outline: none; }
.sf-safety h1,
.sf-safety h2 { font-family: var(--wp--preset--font-family--sf-heading, Montserrat, sans-serif); font-weight: 800; letter-spacing: 0; }
.sf-safety h1 { font-size: 28px; line-height: 36px; }
.sf-safety h2 { font-size: 28px; line-height: 36px; }
.sf-safety h3 { font-family: inherit; font-size: 22px; line-height: 28px; font-weight: 700; }
/* Native editor role bindings; typography is inherited from the composition. */
.sf-safety .sf-safety__heading,
 .sf-safety .sf-safety__copy { margin: 0; }
.sf-safety__motion-actions { position: static; }
.sf-safety .sf-content-carousel__arrow,

.sf-safety .sf-content-carousel__dot,

.sf-safety .sf-page-motion-control button { touch-action: manipulation; }
.sf-safety__inner { width: calc(100% - 2 * var(--sf-safety-gutter)); max-width: 1440px; margin-left: auto; margin-right: auto; }
.sf-safety__section { padding-top: 56px; padding-bottom: 56px; }
.sf-safety__intro { display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; }
.sf-safety__intro p { color: #606a77; }
.sf-safety .wp-block-buttons { gap: 12px; }
.sf-safety .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-height: 50px; padding: 12px 24px; width: auto;
  border: 1px solid #0073c4; border-radius: 8px; background: #0073c4;
  color: #fff; text-decoration: none;
  transition: background-color 150ms ease-out, border-color 150ms ease-out;
}
.sf-safety .wp-block-button__link { font-family: inherit; font-size: 16px; line-height: 24px; font-weight: 700; }
.sf-safety .wp-block-button__link:hover { background: #0064ab; border-color: #0064ab; }
.sf-safety .wp-block-button__link:active { background: #00538f; border-color: #00538f; }
.sf-safety .sf-safety__button--outline .wp-block-button__link { color: #0073c4; background: transparent; }
.sf-safety .sf-safety__button--outline .wp-block-button__link:hover { background: #f0f8fc; color: #0064ab; }
.sf-safety .sf-safety__button--link .wp-block-button__link { padding: 0; border: 0; border-radius: 0; color: #0073c4; background: transparent; }
.sf-safety .sf-safety__button--link .wp-block-button__link:hover { text-decoration: underline; }
.sf-safety .wp-block-button__link::after {
  content: ''; width: 20px; height: 20px; flex: 0 0 20px;
  background: url('../images/content/arrow-right.svg') center / contain no-repeat;
}
.sf-safety .sf-safety__button--outline .wp-block-button__link::after,

.sf-safety .sf-safety__button--link .wp-block-button__link::after { background-image: url('../images/about/arrow-next.svg'); }
.sf-safety .sf-safety__hero .wp-block-button__link::after { transform: rotate(90deg); }
@supports ((-webkit-mask-image: url('../images/content/arrow-right.svg')) or (mask-image: url('../images/content/arrow-right.svg'))) {
  .sf-safety .wp-block-button__link::after { background: currentColor; -webkit-mask-image: url('../images/content/arrow-right.svg'); mask-image: url('../images/content/arrow-right.svg'); -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; }
}
.sf-safety .sf-page-motion-control { position: absolute; z-index: 2; right: var(--sf-safety-gutter); bottom: 20px; }
.sf-safety .sf-page-motion-control .wp-block-button__link {
  min-width: 44px; width: 44px; min-height: 44px; height: 44px; padding: 0; border-radius: 22px;
  border: 1px solid #fff; color: transparent; font-size: 0; background: rgba(26,35,50,.55); cursor: pointer;
}
.sf-safety .sf-page-motion-control .wp-block-button__link[hidden] { display: none; }
.sf-safety .sf-page-motion-control .wp-block-button__link::after {
  background: url('../images/content/pause-white.svg') center / 16px 16px no-repeat;
  -webkit-mask: none;
          mask: none; transform: none;
}
.sf-safety .sf-page-motion-control .wp-block-button__link[data-sf-paused="true"]::after { background-image: url('../img/reviews/play.svg'); }
@media (min-width: 1520px) {
  .sf-safety .sf-page-motion-control { right: calc((100% - 1440px) / 2); }
}
.sf-safety .sf-content-carousel__viewport {
  width: 100%; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: thin;
}
.sf-safety .sf-content-carousel__track { display: flex; gap: 16px; align-items: stretch; }
.sf-safety .sf-content-carousel__item { flex-shrink: 0; min-width: 0; scroll-snap-align: start; }
.sf-safety .sf-content-carousel__nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 12px; margin-top: 24px; }
.sf-safety .sf-content-carousel__nav[hidden] { display: none; }
.sf-safety .sf-content-carousel__arrow {
  display: flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; flex: 0 0 48px; padding: 0;
  border: 1px solid #0073c4; border-radius: 24px; color: #0073c4; background: #fff; cursor: pointer;
}
.sf-safety .sf-content-carousel__arrow:disabled,

.sf-safety .sf-content-carousel__arrow[aria-disabled="true"] { opacity: .35; cursor: default; }
.sf-safety .sf-content-carousel__arrow svg { width: 20px; height: 20px; }
.sf-safety .sf-content-carousel__dots { order: -1; display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 0; margin-right: auto; }
.sf-safety .sf-content-carousel__dot { display: flex; align-items: center; justify-content: center; width: 44px; height: 48px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.sf-safety .sf-content-carousel__dot::before { content: ''; width: 6px; height: 6px; border-radius: 3px; background: #718695; }
.sf-safety .sf-content-carousel__dot[aria-current="true"]::before { width: 20px; background: #007abf; }
.sf-safety .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (min-width: 768px) {
  .sf-safety { --sf-safety-gutter: 24px; font-size: 20px; line-height: 28px; }
  .sf-safety h1 { font-size: 40px; line-height: 48px; }
  .sf-safety h2 { font-size: 40px; line-height: 48px; }
  .sf-safety__section { padding-top: 80px; padding-bottom: 80px; }
  .sf-safety .sf-content-carousel__track { gap: 24px; }
}
@media (min-width: 1025px) { .sf-safety { --sf-safety-gutter: 40px; } }
@media (min-width: 1280px) { .sf-safety__section { padding-top: 96px; padding-bottom: 96px; } }
@media (prefers-reduced-motion: reduce) { .sf-safety .wp-block-button__link { transition: none; } }

/* Native alternate encodings retain the image role and its real crop. */
.sf-safety .sf-safety__picture { display: block; width: 100%; height: 100%; border-radius: inherit; }

/* A short decorative gesture hint has no playback controls. */
.sf-safety .sf-safety__cue-row { display: flex; align-items: center; justify-content: space-between; order: 1; width: 100%; }
.sf-safety .sf-safety__cue-row .sf-content-carousel__swipe-cue { width: auto; min-width: 0; flex: 1 1 auto; margin: 8px 0 0; }
@media (min-width: 768px) { .sf-safety .sf-safety__cue-row { width: calc(100% - var(--sf-safety-gutter)); } }
@media (min-width: 1280px) { .sf-safety .sf-safety__cue-row { display: none; } } }

