/* Safety revision02 lower sections. Geometry follows the approved native
 * responsive adapters; this file owns presentation only, never interaction. */
.sf-safety .sf-safety-aspect,
.sf-safety .sf-safety-reviews,
.sf-safety .sf-safety-lower { padding-top: 56px; padding-bottom: 56px; }
.sf-safety .sf-safety-aspect--springs,
.sf-safety .sf-safety-aspect--edge,
.sf-safety .sf-safety-faq { background: #f3f6f7; }
.sf-safety .sf-safety-aspect > .sf-safety__inner,
.sf-safety .sf-safety-aspect__body { display: flex; flex-direction: column; gap: 32px; }
.sf-safety .sf-safety-aspect__body { gap: 16px; }
.sf-safety .sf-safety-aspect .sf-safety__intro { gap: 12px; }
.sf-safety .sf-safety-aspect .sf-safety__intro h2,
.sf-safety .sf-safety-reviews h2 { font-size: 28px; line-height: 33.6px; }
.sf-safety .sf-safety-aspect .sf-safety__intro h2 { width: 100%; max-width: 1320px; min-height: 34px; }
/* Native text bounds round fractional line boxes upward. These approved
 * minima preserve that box while the authored text can still grow naturally. */
@media (max-width: 479px) { .sf-safety .sf-safety-aspect .sf-safety__intro h2 { min-height: 68px; } }
@media (max-width: 335px) {
  .sf-safety .sf-safety-aspect--springs .sf-safety__intro h2,
  .sf-safety .sf-safety-aspect--frame .sf-safety__intro h2,
  .sf-safety .sf-safety-aspect--edge .sf-safety__intro h2 { min-height: 101px; }
}
.sf-safety .sf-safety-aspect .sf-safety__intro p { width: 100%; max-width: 1000px; font-size: 18px; line-height: 27px; color: #606a77; }
.sf-safety .sf-safety-aspect--edge .sf-safety__intro p { max-width: 956px; }
.sf-safety .sf-safety-aspect--net .sf-safety__intro p { max-width: 594px; }
.sf-safety .sf-safety-br,
.sf-safety .sf-safety-br--desktop { display: none; }
/* Only whitespace changes in the approved card balances. Between reference
 * widths, the nearest balance is used within the same type-size regime. */
@media (max-width: 339px) { .sf-safety .sf-safety-br--320 { display: initial; } }
@media (min-width: 340px) and (max-width: 367px) { .sf-safety .sf-safety-br--360 { display: initial; } }
@media (min-width: 368px) and (max-width: 382px) { .sf-safety .sf-safety-br--375 { display: initial; } }
@media (min-width: 383px) and (max-width: 401px) { .sf-safety .sf-safety-br--390 { display: initial; } }
@media (min-width: 402px) and (max-width: 421px) { .sf-safety .sf-safety-br--414 { display: initial; } }
@media (min-width: 422px) and (max-width: 479px) { .sf-safety .sf-safety-br--430 { display: initial; } }
@media (min-width: 580px) and (max-width: 683px) { .sf-safety .sf-safety-br--600 { display: initial; } }
@media (min-width: 684px) and (max-width: 767px) { .sf-safety .sf-safety-br--767 { display: initial; } }
@media (min-width: 768px) and (max-width: 1024px) { .sf-safety .sf-safety-br--768 { display: initial; } }
@media (min-width: 1025px) and (max-width: 1103px) { .sf-safety .sf-safety-br--1025 { display: initial; } }
@media (min-width: 1104px) and (max-width: 1359px) { .sf-safety .sf-safety-br--1280 { display: initial; } }
.sf-safety .sf-safety-aspect__rail,
.sf-safety .sf-safety-reviews__rail { width: 100%; min-width: 0; }
.sf-safety .sf-safety-aspect__rail { display: flex; flex-direction: column; }
.sf-safety .sf-safety-aspect__rail > .sf-content-carousel__viewport { order: 0; }
.sf-safety .sf-safety__pair-cue { order: 1; width: 100%; min-height: 48px; display: flex; justify-content: flex-start; align-items: center; margin-top: 8px !important; font-size: 14px; line-height: 20px; color: #526779; }
.sf-safety .sf-safety-aspect__rail .sf-content-carousel__nav { order: 2; margin-top: 8px; }
.sf-safety .sf-safety-reviews__rail .sf-content-carousel__nav { margin-top: 16px; }
.sf-safety .sf-safety__swipe-cue[hidden] { display: none; }
.sf-safety .sf-safety-aspect__rail .sf-content-carousel__viewport,
.sf-safety .sf-safety-reviews__rail .sf-content-carousel__viewport { width: calc(100% + 16px); }
.sf-safety .sf-safety-aspect__rail .sf-content-carousel__track { --sf-safety-card-width: calc(100vw - 80px); }
.sf-safety .sf-safety-card {
  position: relative; width: var(--sf-safety-card-width); min-height: calc(var(--sf-safety-card-width) * .9322033898);
  padding: 180px 24px 24px; display: flex; flex-direction: column; justify-content: flex-end;
  overflow: hidden; border-radius: 24px; background: #304150; color: #fff;
}
.sf-safety .sf-safety-aspect--net .sf-safety-card { min-height: calc(var(--sf-safety-card-width) * .8757062147); }
.sf-safety .sf-safety-card__image,
.sf-safety .sf-safety-explore__image,
.sf-safety .sf-safety-closing__image {
  position: absolute; top: 0; right: 0; bottom: 0; left: 0; inset: 0; width: 100%; height: 100%;
  overflow: hidden; border-radius: 24px;
}
.sf-safety .sf-safety-card__image img,
.sf-safety .sf-safety-explore__image img,
.sf-safety .sf-safety-closing__image img { width: 100%; height: 100%; object-fit: cover; object-position: center; border-radius: inherit; }
.sf-safety .sf-safety-card__image noscript,
.sf-safety .sf-safety-explore__image noscript,
.sf-safety .sf-safety-closing__image noscript { border-radius: inherit; }
.sf-safety .sf-safety-card::before {
  content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; inset: 0; z-index: 1; pointer-events: none; border-radius: inherit;
  background: linear-gradient(180deg,rgba(22,36,46,.06) 0%,rgba(22,36,46,.02) 46%,rgba(22,36,46,.75) 72%,rgba(22,36,46,.98) 100%);
}
/* The actual photos include pale frame/net details behind the first copy line.
 * Keep the original upper tint and lower stops, reaching readable contrast
 * before the earliest approved copy axis in these compact card layouts. */
@media (max-width: 767px) {
  .sf-safety .sf-safety-card::before {
    background: linear-gradient(180deg,rgba(22,36,46,.06) 0%,rgba(22,36,46,.02) var(--sf-safety-card-fade-start,32%),rgba(22,36,46,.65) var(--sf-safety-card-readable-start,44%),rgba(22,36,46,.75) 72%,rgba(22,36,46,.98) 100%);
  }
}
@media (max-width: 335px) {
  .sf-safety .sf-safety-card { --sf-safety-card-fade-start: 28%; --sf-safety-card-readable-start: 39%; }
}
@media (min-width: 580px) and (max-width: 767px) {
  .sf-safety .sf-safety-card { --sf-safety-card-fade-start: 42%; --sf-safety-card-readable-start: 54%; }
}
@media (min-width: 1025px) and (max-width: 1103px) {
  .sf-safety .sf-safety-card::before {
    background: linear-gradient(180deg,rgba(22,36,46,.06) 0%,rgba(22,36,46,.02) 44%,rgba(22,36,46,.65) 57%,rgba(22,36,46,.75) 72%,rgba(22,36,46,.98) 100%);
  }
}
.sf-safety .sf-safety-card__badge {
  position: absolute; z-index: 2; top: 16px; left: 16px; display: flex; align-items: center; gap: 8px;
  width: -webkit-max-content;
  width: max-content; max-width: calc(100% - 32px); padding: 8px 10px; border-radius: 8px;
  background: #fff; color: #304150;
}
.sf-safety .sf-safety-card__badge--springfree { color: #0073c4; }
.sf-safety .sf-safety-card__badge-icon { width: 20px; height: 20px; flex: 0 0 20px; }
.sf-safety .sf-safety-card__badge-icon img { width: 100%; height: 100%; }
.sf-safety .sf-safety-card__badge-label { min-width: 0; font-size: 13px; line-height: 20px; font-weight: 700; white-space: normal; word-wrap: break-word; overflow-wrap: break-word; }
.sf-safety .sf-safety-card__copy {
  --sf-photo-copy-normal-heading-size: 22px; --sf-photo-copy-normal-heading-line: 28px;
  --sf-photo-copy-normal-body-size: 16px; --sf-photo-copy-normal-body-line: 24px;
  --sf-photo-copy-normal-extent: 184px;
  position: relative; z-index: 2; display: flex; flex-direction: column; gap: 8px; width: 100%;
}
.sf-safety .sf-safety-card__copy h3 { font-size: var(--sf-photo-copy-normal-heading-size); line-height: var(--sf-photo-copy-normal-heading-line); color: #fff; }
.sf-safety .sf-safety-card__copy p { font-size: var(--sf-photo-copy-normal-body-size); line-height: var(--sf-photo-copy-normal-body-line); color: #fff; }

/* Text remains intrinsic when visitors increase its size. The approved default
 * box sizes are minima; copy stays in flow and can extend its own card. */
.sf-safety .sf-safety-card__copy,
.sf-safety .sf-safety-video__copy,
.sf-safety .sf-safety-rule__label,
.sf-safety .sf-safety-explore__copy,
.sf-safety .sf-safety-closing__invitation { min-width: 0; word-wrap: break-word; overflow-wrap: break-word; }

/* A local, opaque brand surface is the readable CSS fallback for enlarged text
 * and unavailable font metrics. The presentation module removes it only when
 * the existing source roles and approved copy extent have actually been measured.
 * The pseudo-element neither changes layout nor covers the rest of the photo. */
.sf-safety .sf-safety-card__copy::before,
.sf-safety .sf-safety-explore__copy::before,
.sf-safety .sf-safety-closing__invitation::before {
  content: ''; position: absolute; top: -12px; right: -16px; bottom: -12px; left: -16px; inset: -12px -16px; z-index: -1;
  border-radius: 16px; background: #304150; pointer-events: none;
}
.sf-safety .sf-safety-closing__invitation::before { background: #f3f6f7; }
.sf-safety [data-sf-photo-copy-source-safe='true']::before { display: none; }

/* Keep complete, text-bearing thumbnails above their copy through tablets.
 * Alternating rows resume when both columns fit without letterboxing. */
.sf-safety .sf-safety-video { display: flex; flex-direction: column; overflow: hidden; border-radius: 24px; background: #fff; }
.sf-safety .sf-safety-aspect--frame .sf-safety-video,
.sf-safety .sf-safety-aspect--net .sf-safety-video { background: #f3f6f7; }
.sf-safety .sf-safety-video__poster { width: 100%; min-width: 0; flex: none; display: block; align-self: flex-start; border-radius: 24px 24px 0 0; overflow: hidden; }
/* The actual poster and trigger carry the same physical corners. Rounded
 * ancestors alone do not reliably clip replaced media in older WebKit. */
.sf-safety .sf-safety-video__poster .sf-video-dialog__trigger { position: relative; width: 100%; height: 0; padding-top: 56.25%; border-radius: inherit; overflow: hidden; }
.sf-safety .sf-safety-video__poster noscript { border-radius: inherit; }
.sf-safety .sf-safety-video__poster .sf-video-dialog__poster { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: contain; border-radius: inherit; }
.sf-safety .sf-safety-video__poster .sf-video-dialog__play {
  display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; color: #304150; background: #f0f8fc;
}
.sf-safety .sf-safety-video__poster .sf-video-dialog__play svg { width: 28px; height: 28px; }
.sf-safety .sf-safety-video__panel {
  flex: 1; min-width: 0; padding: 24px; display: grid; grid-template-columns: minmax(0,1fr);
  grid-template-areas: 'header' 'copy' 'action'; row-gap: 16px; align-content: center;
}
.sf-safety .sf-safety-video__header { grid-area: header; min-width: 0; display: grid; grid-template-columns: 48px minmax(0,1fr); column-gap: 16px; align-items: center; }
.sf-safety .sf-safety-video__icon { width: 48px; height: 48px; }
.sf-safety .sf-safety-video__icon img { width: 100%; height: 100%; object-fit: contain; }
.sf-safety .sf-safety-video__copy { grid-area: copy; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.sf-safety .sf-safety-video__header h3 { min-width: 0; font-size: 20px; line-height: 28px; }
.sf-safety .sf-safety-video__copy p { font-size: 16px; line-height: 24px; color: #606a77; }
.sf-safety .sf-safety-video__action { grid-area: action; justify-self: start; min-width: 0; max-width: 100%; }
.sf-safety .sf-safety-video__action .sf-video-dialog__trigger {
  min-height: 48px; padding: 11px 16px; border: 1px solid #0073c4; border-radius: 8px;
  background: transparent; color: #0073c4; display: inline-flex; align-items: center; gap: 12px; max-width: 100%; white-space: normal;
  font: 700 16px/24px var(--wp--preset--font-family--sf-interface,'Source Sans Pro',sans-serif); text-decoration: none;
}
.sf-safety .sf-safety-video__action .sf-video-dialog__label { min-width: 0; word-wrap: break-word; overflow-wrap: break-word; }
.sf-safety .sf-safety-video__action .sf-video-dialog__play { display: none; }
.sf-safety .sf-safety-video__action .sf-video-dialog__trigger::after {
  content: ''; display: block; width: 20px; height: 20px; flex: 0 0 20px; background: url('../images/about/arrow-next.svg') center / contain no-repeat;
}
.sf-safety .sf-safety-video__action .sf-video-dialog__trigger:hover { background: #f0f8fc; color: #0064ab; }
.sf-safety .sf-safety-video__action .sf-video-dialog__trigger:active { background: #d5ecf8; }

/* Section geometry; reusable text-card presentation lives in components/review-text-card.css. */
.sf-safety .sf-safety-reviews > .sf-safety__inner { display: flex; flex-direction: column; gap: 32px; }
.sf-safety .sf-safety-reviews__header { text-align: center; }
.sf-safety .sf-safety-reviews__action { justify-content: center; }
.sf-safety .sf-safety-reviews__action .wp-block-button__link { min-height: 48px; padding: 11px 16px; border-radius: 8px; }
.sf-safety .sf-safety-reviews__rail .sf-content-carousel__track { --sf-safety-review-width: calc(100vw - 80px); }
/* Native safety guidance remains a compact two-, three-, or six-column grid. */
.sf-safety .sf-safety-lower > .sf-safety__inner { display: flex; flex-direction: column; align-items: center; gap: 32px; }
.sf-safety .sf-safety-lower .sf-safety__intro h2,
.sf-safety .sf-safety-faq > .sf-safety__inner > h2 { font-size: 28px; line-height: 34px; }
.sf-safety .sf-safety-lower .sf-safety__intro p { max-width: 1000px; font-size: 18px; line-height: 26px; color: #606a77; }
.sf-safety .sf-safety-rules .sf-safety__intro p { max-width: 610px; }
.sf-safety .sf-safety-rules__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; width: 100%; }
.sf-safety .sf-safety-rule {
  padding: 16px; min-height: 164px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px;
  border: 0; box-shadow: inset 0 0 0 1px #d8e4eb; border-radius: 16px; text-align: center;
}
.sf-safety .sf-safety-rule__icon-slot { width: 64px; height: 64px; display: flex; align-items: center; justify-content: center; flex: 0 0 64px; }
.sf-safety .sf-safety-rule__icon { width: 39.111111px; height: 39.111111px; }
.sf-safety .sf-safety-rule__icon img { width: 100%; height: 100%; object-fit: contain; }
.sf-safety .sf-safety-rule--single_jumper .sf-safety-rule__icon,
.sf-safety .sf-safety-rule--no_somersault .sf-safety-rule__icon { width: 35.555556px; height: 35.555556px; }
.sf-safety .sf-safety-rule--zip .sf-safety-rule__icon { width: 27.364276px; height: 56.888889px; }
.sf-safety .sf-safety-rule--space .sf-safety-rule__icon { height: 33.316872px; }
.sf-safety .sf-safety-rule__label { width: 100%; font-size: 16px; line-height: 22px; font-weight: 700; }
.sf-safety .sf-safety-lower .wp-block-button__link { border-radius: 8px; }

/* WordPress and the native disclosure own state and keyboard operation. */
.sf-safety .sf-safety-faq > .sf-safety__inner > h2 { text-align: center; }
.sf-safety .sf-safety-faq__list { width: 100%; }
.sf-safety .sf-safety-faq .is-style-sf-faq-item { margin: 0; border: 0; border-bottom: 1px solid #d8e4eb; border-radius: 0; background: transparent; }
.sf-safety .sf-safety-faq .is-style-sf-faq-item + .is-style-sf-faq-item { margin-top: 0; }
.sf-safety .sf-safety-faq .is-style-sf-faq-question { border-radius: 0; font-family: inherit; font-size: 18px; line-height: 26px; font-weight: 700; }
.sf-safety .sf-safety-faq .wp-block-accordion-heading__toggle {
  display: flex; align-items: center; gap: 16px; padding: 20px 0; width: 100%; min-height: 66px;
  text-align: left; background: transparent; border: 0; color: #304150; border-radius: 0; cursor: pointer;
}
.sf-safety .sf-safety-faq .wp-block-accordion-heading__toggle-title { flex: 1; min-width: 0; }
.sf-safety .sf-safety-faq .wp-block-accordion-heading__toggle-icon {
  display: block; flex: 0 0 24px; width: 24px; height: 24px; font-size: 0; line-height: 0;
  background: url('../images/checkout/chevron-down.svg') center / 24px 24px no-repeat; transform: none; transition: transform 180ms ease;
}
.sf-safety .sf-safety-faq .wp-block-accordion-heading__toggle[aria-expanded='true'] .wp-block-accordion-heading__toggle-icon { transform: rotate(180deg); }
.sf-safety .sf-safety-faq .is-style-sf-faq-answer { padding: 0 0 24px; font-size: 16px; line-height: 24px; }
.sf-safety .sf-safety-faq .is-style-sf-faq-answer[hidden] { padding: 0; }
.sf-safety .sf-safety-faq .is-style-sf-faq-answer p { font: inherit; color: #606a77; }
.sf-safety .sf-safety-faq .is-style-sf-faq-answer .sf-safety-faq__resource { margin-top: 12px; }
.sf-safety .sf-safety-faq .sf-safety-faq__resource a { color: #0073c4; text-decoration: underline; text-underline-offset: .15em; }
.sf-safety .sf-safety-faq .is-style-sf-faq-answer .sf-safety__actions { justify-content: flex-start; margin-top: 12px; }
.sf-safety .sf-safety-faq .wp-block-accordion-heading__toggle:hover { color: #0073c4; }
.sf-safety .sf-safety-faq .wp-block-details > summary {
  display: block; position: relative; padding: 20px 40px 20px 0; width: 100%; min-height: 66px;
  font-family: inherit; font-size: 18px; line-height: 26px; font-weight: 700;
  text-align: left; background: transparent; color: #304150; border-radius: 0; list-style: none;
}
.sf-safety .sf-safety-faq .wp-block-details > summary::marker { content: ''; }
.sf-safety .sf-safety-faq .wp-block-details > summary::-webkit-details-marker { display: none; }
.sf-safety .sf-safety-faq .wp-block-details > summary::after {
  content: ''; position: absolute; right: 0; top: 50%; width: 24px; height: 24px;
  background: url('../images/checkout/chevron-down.svg') center / 24px 24px no-repeat;
  transform: translateY(-50%); transition: transform 180ms ease; pointer-events: none;
}
.sf-safety .sf-safety-faq .wp-block-details[open] > summary::after { transform: translateY(-50%) rotate(180deg); }
.sf-safety .sf-safety-faq .wp-block-details > summary:hover { color: #0073c4; }

/* Approved responsive02 title boxes, including WebKit's fractional line metric.
 * A minimum preserves the source line slot while enlarged text grows freely. */
@media (max-width: 767px) { .sf-safety .sf-safety-reviews__header h2 { min-height: 34px; } }

.sf-safety .sf-safety-explore__grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; width: 100%; }
.sf-safety .sf-safety-explore__card { position: relative; min-width: 0; height: auto; min-height: 480px; padding: 24px; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; border-radius: 24px; }
.sf-safety .sf-safety-explore__card::before {
  content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; inset: 0; z-index: 1; pointer-events: none; border-radius: inherit;
  background: linear-gradient(180deg,rgba(13,26,31,0) 0%,rgba(13,26,31,0) 38%,rgba(13,26,31,.72) 75%,rgba(13,26,31,.92) 100%);
}
.sf-safety .sf-safety-explore__card--quality .sf-safety-explore__image img { object-position: 50% 0%; }
.sf-safety .sf-safety-explore__card--warranty .sf-safety-explore__image img { object-position: calc(50% - 122.45566px) 0%; }
.sf-safety .sf-safety-explore__copy {
  --sf-photo-copy-normal-heading-size: 24px; --sf-photo-copy-normal-heading-line: 30px;
  --sf-photo-copy-normal-body-size: 16px; --sf-photo-copy-normal-body-line: 24px;
  --sf-photo-copy-normal-action-size: 16px; --sf-photo-copy-normal-action-line: 24px;
  --sf-photo-copy-normal-extent: 200px;
  position: relative; top: auto; right: auto; bottom: auto; left: auto; z-index: 2; width: 100%; display: flex; flex-direction: column; gap: 24px; text-align: center; align-items: center;
}
.sf-safety .sf-safety-explore__text { display: flex; flex-direction: column; gap: 12px; width: 100%; }
.sf-safety .sf-safety-explore__copy h3 { font-family: var(--wp--preset--font-family--sf-heading,Montserrat,sans-serif); font-weight: 800; font-size: var(--sf-photo-copy-normal-heading-size); line-height: var(--sf-photo-copy-normal-heading-line); color: #fff; }
.sf-safety .sf-safety-explore__copy p { font-size: var(--sf-photo-copy-normal-body-size); line-height: var(--sf-photo-copy-normal-body-line); color: #fff; }
.sf-safety .sf-safety-explore__copy .sf-safety__button--outline .wp-block-button__link {
  padding: 12px 24px; border-width: 1px; gap: 12px; color: #fff; border-color: #fff;
  font-size: var(--sf-photo-copy-normal-action-size); line-height: var(--sf-photo-copy-normal-action-line);
}
.sf-safety .sf-safety-explore__card--quality .sf-safety-explore__copy .wp-block-button__link { min-width: 230px; }
.sf-safety .sf-safety-explore__copy .sf-safety__button--outline .wp-block-button__link::after { background-image: url('../images/content/arrow-right.svg'); }
.sf-safety .sf-safety-explore__copy .sf-safety__button--outline .wp-block-button__link:hover { background: rgba(255,255,255,.12); }
.sf-safety .sf-safety-closing { padding-top: 0; }
.sf-safety .sf-safety-closing__garden { position: relative; width: 100%; height: auto; min-height: 640px; padding: 32px 24px; display: flex; flex-direction: column; overflow: hidden; border-radius: 24px; }
.sf-safety .sf-safety-closing__image img { object-position: calc(50% - 30.540828px) 50%; }
.sf-safety .sf-safety-closing__garden::before {
  content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 46%; z-index: 1; pointer-events: none;
  background: linear-gradient(180deg,rgba(255,255,255,.38),rgba(255,255,255,.32) 55%,rgba(255,255,255,0));
}
.sf-safety .sf-safety-closing__invitation {
  --sf-photo-copy-normal-heading-size: 28px; --sf-photo-copy-normal-heading-line: 34px;
  --sf-photo-copy-normal-body-size: 18px; --sf-photo-copy-normal-body-line: 26px;
  --sf-photo-copy-normal-action-size: 16px; --sf-photo-copy-normal-action-line: 24px;
  --sf-photo-copy-normal-extent: 184px;
  position: relative; top: auto; right: auto; bottom: auto; left: auto; z-index: 2; width: 100%; display: flex; flex-direction: column; align-items: center; gap: 24px;
}
.sf-safety .sf-safety-closing.sf-safety-lower .sf-safety__intro h2 { font-size: var(--sf-photo-copy-normal-heading-size); line-height: var(--sf-photo-copy-normal-heading-line); }
.sf-safety .sf-safety-closing .sf-safety__intro p { max-width: 1000px; font-size: var(--sf-photo-copy-normal-body-size); line-height: var(--sf-photo-copy-normal-body-line); color: #304150; }
.sf-safety .sf-safety-closing__invitation .wp-block-button__link {
  padding: 16px 24px; border-width: 1px; gap: 12px;
  font-size: var(--sf-photo-copy-normal-action-size); line-height: var(--sf-photo-copy-normal-action-line);
}

@media (max-width: 335px) {
  .sf-safety .sf-safety-reviews__header h2 { min-height: 68px; }
  .sf-safety .sf-safety-aspect__rail .sf-content-carousel__track { --sf-safety-card-width: 256px; }
  .sf-safety .sf-safety-reviews__rail .sf-content-carousel__track { --sf-safety-review-width: 256px; }
  .sf-safety .sf-safety-aspect--net .sf-safety-card__copy h3 { min-height: 84px; }
  .sf-safety .sf-safety-card__copy { --sf-photo-copy-normal-extent: 236px; }
  .sf-safety .sf-safety-rule { min-height: 174px; }
  .sf-safety .sf-safety-closing__garden { min-height: 858px; }
  .sf-safety .sf-safety-closing__invitation { --sf-photo-copy-normal-extent: 330px; }
  .sf-safety .sf-safety-closing__image img { object-position: calc(50% - 40.943796px) 50%; }
}
@media (min-width: 336px) and (max-width: 401px) {
  .sf-safety .sf-safety-closing__garden { min-height: 725px; }
  .sf-safety .sf-safety-closing__invitation { --sf-photo-copy-normal-extent: 270px; }
  .sf-safety .sf-safety-closing__image img { object-position: calc(50% - 34.597031px) 50%; }
}
@media (min-width: 402px) and (max-width: 479px) {
  .sf-safety .sf-safety-closing__garden { min-height: 667px; }
  .sf-safety .sf-safety-closing__invitation { --sf-photo-copy-normal-extent: 244px; }
  .sf-safety .sf-safety-closing__image img { object-position: calc(50% - 31.829268px) 50%; }
}

@media (min-width: 480px) and (max-width: 767px) {
  .sf-safety .sf-safety-card { padding: 236px 32px 32px; }
  .sf-safety .sf-safety-card__badge { top: 32px; left: 32px; padding: 10px 14px; }
  .sf-safety .sf-safety-card__badge-label { font-size: 15px; line-height: 22px; }
}
@media (min-width: 580px) and (max-width: 767px) {
  .sf-safety .sf-safety-card__copy {
    --sf-photo-copy-normal-heading-size: 28px; --sf-photo-copy-normal-heading-line: 36px;
    --sf-photo-copy-normal-body-size: 20px; --sf-photo-copy-normal-body-line: 28px;
    --sf-photo-copy-normal-extent: 168px; gap: 12px;
  }
}
@media (min-width: 600px) {
  .sf-safety .sf-safety-rule__label { font-size: 18px; line-height: 26px; }
  .sf-safety .sf-safety-explore__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .sf-safety .sf-safety-explore__card { min-height: 540px; }
  .sf-safety .sf-safety-explore__card--warranty .sf-safety-explore__image img { object-position: calc(50% - 14.557515vw - 74.728578px) 0%; }
}
/* Native Figma 600px CTA: 228px wide, 23px horizontal padding, 1px stroke.
 * Retain that source box as a minimum; the loaded theme font fits within it.
 * Enlarged text continues to wrap intrinsically within the available width. */
@media (min-width: 600px) and (max-width: 603px) {
  .sf-safety .sf-safety-explore__card--quality .sf-safety-explore__copy .wp-block-button__link { min-width: 228px; padding-left: 23px; padding-right: 23px; }
}
@media (min-width: 608px) and (max-width: 767px) {
  .sf-safety .sf-safety-aspect__rail .sf-content-carousel__track { --sf-safety-card-width: 528px; }
  .sf-safety .sf-safety-reviews__rail .sf-content-carousel__track { --sf-safety-review-width: 528px; }
}
@media (min-width: 767px) { .sf-safety .sf-safety-rules__grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (min-width: 768px) {
  .sf-safety .sf-safety-rules__grid { gap: 24px; }
  .sf-safety .sf-safety-aspect,
  .sf-safety .sf-safety-reviews,
  .sf-safety .sf-safety-lower { padding-top: 72px; padding-bottom: 72px; }
  .sf-safety .sf-safety-aspect > .sf-safety__inner { gap: 48px; }
  .sf-safety .sf-safety-aspect__body { gap: 24px; }
  .sf-safety .sf-safety-aspect .sf-safety__intro { gap: 16px; }
  .sf-safety .sf-safety-aspect .sf-safety__intro h2,
  .sf-safety .sf-safety-reviews h2 { font-size: 33px; line-height: 39.6px; }
  .sf-safety .sf-safety-aspect .sf-safety__intro h2 { min-height: 40px; }
  .sf-safety .sf-safety-aspect .sf-safety__intro p { min-height: 57px; font-size: 19px; line-height: 28.5px; }
  .sf-safety .sf-safety-aspect__rail .sf-content-carousel__viewport,
  .sf-safety .sf-safety-reviews__rail .sf-content-carousel__viewport { width: 100%; }
  .sf-safety .sf-safety-aspect__rail .sf-content-carousel__track { --sf-safety-card-width: calc(100vw - 120px); }
  .sf-safety .sf-safety-card { padding: 236px 32px 32px; }
  .sf-safety .sf-safety-card__badge { top: 32px; left: 32px; padding: 10px 14px; }
  .sf-safety .sf-safety-card__badge-label { font-size: 15px; line-height: 22px; }
  .sf-safety .sf-safety-card__copy {
    --sf-photo-copy-normal-heading-size: 28px; --sf-photo-copy-normal-heading-line: 36px;
    --sf-photo-copy-normal-body-size: 20px; --sf-photo-copy-normal-body-line: 28px;
    --sf-photo-copy-normal-extent: 104px; gap: 12px;
  }
  .sf-safety .sf-safety-video__panel { padding: 32px; }
  .sf-safety .sf-safety-video__header { grid-template-columns: 64px minmax(0,1fr); column-gap: 24px; }
  .sf-safety .sf-safety-video__icon { width: 64px; height: 64px; }
  .sf-safety .sf-safety-video__header h3 { font-size: 24px; line-height: 32px; }
  .sf-safety .sf-safety-video__copy p { font-size: 20px; line-height: 28px; }
  .sf-safety .sf-safety-video__action .sf-video-dialog__trigger { min-height: 52px; padding: 12px 24px; font-size: 18px; line-height: 26px; }
  .sf-safety .sf-safety-reviews > .sf-safety__inner { display: grid; grid-template-columns: minmax(0,1fr); gap: 24px; }
  .sf-safety .sf-safety-reviews__header { text-align: left; order: 0; }
  .sf-safety .sf-safety-reviews__action { justify-content: flex-start; order: 1; }
  .sf-safety .sf-safety-reviews__action .wp-block-button__link { min-height: 52px; padding: 12px 24px; font-size: 18px; line-height: 26px; border-radius: 8px; }
  .sf-safety .sf-safety-reviews__rail { order: 2; margin-top: 24px; }
  .sf-safety .sf-safety-reviews__rail .sf-content-carousel__track { --sf-safety-review-width: 620px; }
  .sf-safety .sf-safety-lower > .sf-safety__inner { gap: 48px; }
  .sf-safety .sf-safety-rules > .sf-safety__inner { gap: 40px; }
  .sf-safety .sf-safety-lower .sf-safety__intro h2,
  .sf-safety .sf-safety-faq > .sf-safety__inner > h2 { font-size: 34px; line-height: 42px; }
  .sf-safety .sf-safety-lower .sf-safety__intro p { font-size: 20px; line-height: 30px; }
  .sf-safety .sf-safety-rule { min-height: 200px; padding: 20px; gap: 16px; }
  .sf-safety .sf-safety-rule__icon-slot { width: 72px; height: 72px; flex-basis: 72px; }
  .sf-safety .sf-safety-rule__icon { width: 44px; height: 44px; }
  .sf-safety .sf-safety-rule--single_jumper .sf-safety-rule__icon,
  .sf-safety .sf-safety-rule--no_somersault .sf-safety-rule__icon { width: 40px; height: 40px; }
  .sf-safety .sf-safety-rule--zip .sf-safety-rule__icon { width: 30.784811px; height: 64px; }
  .sf-safety .sf-safety-rule--space .sf-safety-rule__icon { height: 37.48148px; }
  .sf-safety .sf-safety-faq .is-style-sf-faq-question { font-size: 20px; line-height: 28px; }
  .sf-safety .sf-safety-faq .wp-block-accordion-heading__toggle { padding-top: 22px; padding-bottom: 22px; gap: 24px; min-height: 72px; }
  .sf-safety .sf-safety-faq .wp-block-details > summary { padding: 22px 48px 22px 0; min-height: 72px; font-size: 20px; line-height: 28px; }
  .sf-safety .sf-safety-faq .is-style-sf-faq-answer { padding-right: 48px; font-size: 18px; line-height: 27px; }
  .sf-safety .sf-safety-explore__grid { gap: 24px; }
  .sf-safety .sf-safety-explore__card { padding: 40px 32px; }
  .sf-safety .sf-safety-explore__copy { --sf-photo-copy-normal-body-size: 18px; --sf-photo-copy-normal-body-line: 27px; }
  .sf-safety .sf-safety-explore__card--warranty .sf-safety-explore__image img { object-position: calc(50% - 137.76262px) 0%; }
  .sf-safety .sf-safety-closing { padding-top: 0; }
  .sf-safety .sf-safety-closing__garden { min-height: 660px; padding: 44px 32px; }
  .sf-safety .sf-safety-closing__image img { object-position: calc(50% - 31.495228px) 50%; }
  .sf-safety .sf-safety-closing__invitation {
    --sf-photo-copy-normal-heading-size: 34px; --sf-photo-copy-normal-heading-line: 42px;
    --sf-photo-copy-normal-body-size: 20px; --sf-photo-copy-normal-body-line: 30px;
    --sf-photo-copy-normal-extent: 208px; gap: 32px;
  }
}
@media (min-width: 828px) and (max-width: 1024px) { .sf-safety .sf-safety-aspect__rail .sf-content-carousel__track { --sf-safety-card-width: 708px; } }
@media (min-width: 948px) {
  .sf-safety .sf-safety-reviews > .sf-safety__inner { grid-template-columns: minmax(0,1fr) auto; gap: 48px 24px; align-items: center; }
  .sf-safety .sf-safety-reviews__action { justify-content: flex-end; }
  .sf-safety .sf-safety-reviews__rail { grid-column: 1 / -1; margin-top: 0; }
}
@media (min-width: 1025px) {
  .sf-safety .sf-safety-aspect,
  .sf-safety .sf-safety-reviews,
  .sf-safety .sf-safety-lower { padding-top: 96px; padding-bottom: 96px; }
  .sf-safety .sf-safety-aspect .sf-safety__intro h2,
  .sf-safety .sf-safety-reviews h2 { font-size: 40px; line-height: 48px; }
  .sf-safety .sf-safety-aspect .sf-safety__intro h2 { min-height: 48px; }
  .sf-safety .sf-safety-aspect .sf-safety__intro p { font-size: 20px; line-height: 30px; }
  .sf-safety .sf-safety-br--desktop { display: initial; }
  .sf-safety .sf-safety-aspect__rail .sf-content-carousel__track { --sf-safety-card-width: calc((100vw - 104px) / 2); }
  .sf-safety .sf-safety-card__copy {
    --sf-photo-copy-normal-heading-size: 22px; --sf-photo-copy-normal-heading-line: 28px;
    --sf-photo-copy-normal-body-size: 16px; --sf-photo-copy-normal-body-line: 24px;
    --sf-photo-copy-normal-extent: 136px; gap: 8px;
  }
  .sf-safety .sf-safety-reviews__rail .sf-content-carousel__track { --sf-safety-review-width: calc((100vw - 104px) / 2); }
  .sf-safety .sf-safety-closing { padding-top: 0; }
}
@media (min-width: 1104px) {
  .sf-safety .sf-safety-card__copy {
    --sf-photo-copy-normal-heading-size: 28px; --sf-photo-copy-normal-heading-line: 36px;
    --sf-photo-copy-normal-body-size: 20px; --sf-photo-copy-normal-body-line: 28px;
    --sf-photo-copy-normal-extent: 132px; gap: 12px;
  }
}
@media (min-width: 1067px) and (max-width: 1279px) { .sf-safety .sf-safety-closing__image img { object-position: 100% 50%; } }
@media (min-width: 1174px) { .sf-safety .sf-safety-explore__card--warranty .sf-safety-explore__image img { object-position: 100% 0%; } }
@media (min-width: 1280px) {
  .sf-safety .sf-safety-lower .sf-safety__intro h2,
  .sf-safety .sf-safety-faq > .sf-safety__inner > h2 { font-size: 40px; line-height: 48px; }
  .sf-safety .sf-safety-rules__grid { grid-template-columns: repeat(6,minmax(0,1fr)); }
  .sf-safety .sf-safety-rule { min-height: 220px; padding: 24px 16px; gap: 20px; }
  .sf-safety .sf-safety-rule__label { font-size: 20px; line-height: 28px; }
  .sf-safety .sf-safety-faq__list { width: calc((200% - 24px) / 3); max-width: 952px; }
  .sf-safety .sf-safety-explore__grid { grid-template-columns: calc((100% - 48px) / 3) minmax(0,1fr); }
  .sf-safety .sf-safety-explore__card { min-height: 620px; }
  .sf-safety .sf-safety-explore__copy { --sf-photo-copy-normal-heading-size: 28px; --sf-photo-copy-normal-heading-line: 36px; --sf-photo-copy-normal-extent: 212px; }
  .sf-safety .sf-safety-closing__garden { min-height: calc((100vw - 80px) * .6277777778); padding-top: 68px; }
  .sf-safety .sf-safety-closing__image img { object-position: 50% 50%; }
  .sf-safety .sf-safety-closing__invitation { --sf-photo-copy-normal-heading-size: 44px; --sf-photo-copy-normal-heading-line: 54px; --sf-photo-copy-normal-extent: 190px; }
}
@media (min-width: 1344px) {
  .sf-safety .sf-safety-video { flex-direction: row; align-items: stretch; }
  .sf-safety .sf-safety-video--reverse { flex-direction: row-reverse; }
  .sf-safety .sf-safety-video__poster { width: 384px; border-radius: 24px 0 0 24px; }
  .sf-safety .sf-safety-video--reverse .sf-safety-video__poster { border-radius: 0 24px 24px 0; }
  .sf-safety .sf-safety-video__panel { grid-template-columns: minmax(0,1fr) minmax(190px,-webkit-max-content); grid-template-columns: minmax(0,1fr) minmax(190px,max-content); grid-template-areas: 'header action' 'copy action'; column-gap: 24px; align-items: center; }
  .sf-safety .sf-safety-video__action { justify-self: end; }
}
@media (min-width: 1345px) { .sf-safety .sf-safety-closing__invitation { max-width: 1200px; margin-left: auto; margin-right: auto; } }
@media (min-width: 1520px) {
  .sf-safety .sf-safety-aspect__rail .sf-content-carousel__track { --sf-safety-card-width: 708px; }
  .sf-safety .sf-safety-reviews__rail .sf-content-carousel__track { --sf-safety-review-width: 708px; }
  .sf-safety .sf-safety-closing__garden { min-height: 904px; }
}
@supports ((-webkit-mask-image: url('../images/content/arrow-right.svg')) or (mask-image: url('../images/content/arrow-right.svg'))) or (-webkit-mask-image: url('../images/content/arrow-right.svg')) {
  .sf-safety .sf-safety-video__action .sf-video-dialog__trigger::after {
    background: currentColor;
    -webkit-mask-image: url('../images/content/arrow-right.svg'); -webkit-mask-position: center; -webkit-mask-size: contain; -webkit-mask-repeat: no-repeat;
    mask-image: url('../images/content/arrow-right.svg'); mask-position: center; mask-size: contain; mask-repeat: no-repeat;
  }
  .sf-safety .sf-safety-explore__copy .sf-safety__button--outline .wp-block-button__link::after { background: currentColor; }
  .sf-safety .sf-safety-faq .wp-block-accordion-heading__toggle-icon,
  .sf-safety .sf-safety-faq .wp-block-details > summary::after {
    background: currentColor;
    -webkit-mask-image: url('../images/checkout/chevron-down.svg'); -webkit-mask-position: center; -webkit-mask-size: 24px 24px; -webkit-mask-repeat: no-repeat;
    mask-image: url('../images/checkout/chevron-down.svg'); mask-position: center; mask-size: 24px 24px; mask-repeat: no-repeat;
  }
}
@media (prefers-reduced-motion: reduce) {
  .sf-safety .sf-safety-faq .wp-block-accordion-heading__toggle-icon,
  .sf-safety .sf-safety-faq .wp-block-details > summary::after { transition: none; }
}

