/*
 * The Classic look of the new block types (page-builder §2.4b, page-builder-new-blocks.md).
 * Loaded only on pages that have a Classic new block (the type's ASSETS). Every rule is
 * scoped to `.ow-c` and a block's root class, so nothing here reaches the theme's markup.
 *
 * Vocabulary, all from the theme (style.css and the Customizer CSS): TT Lakes headings,
 * the giant outlined word (.section-title), the orange accent rule (#ff602e, the
 * `.module hr`), notched corners (the _slicendice.scss clip paths: 40px, 90px from 640px),
 * the navy #0f2947, the cool grey #596b90, the #b5b5b5 column dividers, the #ced3db lines,
 * the #f3f8ff light panel, the link blues #1779ba / #1468a0 and the theme's buttons.
 * Breakpoints are Foundation's: 40em (640px), 64em (1024px), 75em (1200px).
 * Contrast (WCAG AA): #151515 18.3:1, #596b90 5.3:1, #1468a0 6.0:1 on white.
 */

/* ── shared ─────────────────────────────────────────────────────────────── */
.ow-c {
  color: #151515;
  background-color: #fff;
}
.ow-c *,
.ow-c *::before,
.ow-c *::after { box-sizing: border-box; }
/* Restores the theme's spacing where a page wrapper resets it (HOPE's `.hope-page *`). */
.ow-c.grid-container { padding-left: .625rem; padding-right: .625rem; }
.ow-c.module { margin-top: 60px; margin-bottom: 60px; }
.ow-c p { margin: 0 0 1rem; }
.ow-c ul:not([role="list"]),
.ow-c ol { margin: 0 0 1rem 1.25rem; }
@media print, screen and (min-width: 40em) {
  .ow-c.grid-container { padding-left: .9375rem; padding-right: .9375rem; }
  .ow-c.module { margin-top: 100px; margin-bottom: 100px; }
}
.ow-c [role="list"] { list-style: none; margin: 0; padding: 0; }
/* The media pipeline's <picture> (D-66): its <img> sizes itself as the box's child. */
.ow-c picture { display: contents; }
.ow-c a:not(.button) { color: #1779ba; }
.ow-c a:not(.button):hover,
.ow-c a:not(.button):focus { color: #1468a0; }
/* Links inside running text are underlined, so colour isn't their only cue (WCAG 1.4.1). */
.ow-c .ow-head__intro a,
.ow-c .ow-card__text a,
.ow-c .ow-tabs__body a,
.ow-c .ow-accordion__body a,
.ow-c .ow-table__table a,
.ow-c .ow-table__note a,
.ow-c .ow-callout__text a,
.ow-c .ow-event__text a,
.ow-c .ow-quote__text a { text-decoration: underline; text-underline-offset: 2px; }
.ow-c .ow-inner { position: relative; }

/* The section header: outlined word, small label, orange rule, h2, introduction. */
.ow-c .ow-head { margin: 0 0 2.5rem; max-width: 56rem; }
.ow-c .ow-head .section-title {
  display: block;
  margin: 0 0 1.25rem;
  font-size: min(3.5rem, 13vw);
  overflow-wrap: anywhere;
}
.ow-c .ow-eyebrow {
  margin: 0 0 .25rem;
  font-family: TT-Lakes, Open-Sans, Helvetica, Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: .875rem;
  line-height: 1.2;
  text-transform: uppercase;
  color: #596b90;
}
.ow-c .ow-head hr,
.ow-c .ow-rule {
  display: block;
  width: 2rem;
  max-width: none;
  height: 0;
  margin: .75rem 0 1.25rem;
  border: 0;
  border-bottom: 4px solid #ff602e;
}
.ow-c .ow-head .section-title + hr { margin-top: 0; }
.ow-c .ow-head > hr:first-child { margin-top: 0; }
.ow-c .ow-head__title { margin: 0 0 1rem; font-weight: 600; }
.ow-c .ow-head__intro { max-width: 48rem; }
.ow-c .ow-head__intro p { font-size: 1.15rem; line-height: 2; margin-bottom: 1rem; }
.ow-c .ow-head__intro p:last-child { margin-bottom: 0; }
@media print, screen and (min-width: 40em) {
  .ow-c .ow-head .section-title { font-size: min(7rem, 11vw); margin-bottom: 1.5rem; }
  .ow-c .ow-eyebrow { font-size: 1rem; }
  .ow-c .ow-head hr,
  .ow-c .ow-rule { border-bottom-width: 8px; }
}
@media print, screen and (min-width: 64em) {
  .ow-c .ow-head .section-title { font-size: min(10rem, 9vw); }
  .ow-c .ow-eyebrow { font-size: 1.125rem; }
}

/* Buttons: the theme's own (.button.cta, .primary-cta, .quote-cta) as <a>. */
.ow-c .ow-actions { margin-top: 2.5rem; }
.ow-c .ow-actions .button { margin: 0 0 0 7px; }
.ow-c a.button { text-decoration: none; }
.ow-c a.button.cta:hover,
.ow-c a.button.cta:focus { background-color: #fff; color: #151515; }

/* The theme's minor-arrow link ("Learn more →"). */
.ow-c .ow-arrow {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin-top: .5rem;
  font-size: .85rem;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  color: #151515;
}
.ow-c .ow-arrow__icon { width: 18px; height: 18px; flex: none; }
@keyframes ow-point-right { 0% { transform: translateX(0); } 50% { transform: translateX(5px); } 90%, 100% { transform: translateX(0); } }

/* A Classic block right after a Modern band needs no grey separator. */
.ow-m + hr { display: none; }

/* ── card_grid ──────────────────────────────────────────────────────────── */
.ow-c.ow-card-grid .ow-card-grid__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .ow-c.ow-card-grid .ow-card-grid__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem 1.875rem; }
}
@media print, screen and (min-width: 64em) {
  .ow-c.ow-card-grid.ow-cols-3 .ow-card-grid__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ow-c.ow-card-grid.ow-cols-4 .ow-card-grid__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.ow-c .ow-card { position: relative; height: 100%; }
.ow-c .ow-card__media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #f3f8ff;
  clip-path: polygon(0 0, calc(100% - 40px) 0, 100% 40px, 100% 100%, 0 100%);
}
.ow-c .ow-card__img,
.ow-c .ow-card__empty {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1s;
}
.ow-c .ow-card__overlay {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(-45deg, rgba(43, 86, 130, .5) 0%, rgba(255, 95, 45, .5) 100%);
  opacity: 0;
  transition: opacity 1s;
}
.ow-c .ow-card--linked:hover .ow-card__img,
.ow-c .ow-card--linked:focus-within .ow-card__img { transform: scale(1.06); }
.ow-c .ow-card--linked:hover .ow-card__overlay,
.ow-c .ow-card--linked:focus-within .ow-card__overlay { opacity: 1; }
.ow-c .ow-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.5rem;
  height: 4.5rem;
  background: #f3f8ff;
  color: #0f2947;
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 0 100%);
}
.ow-c .ow-card__icon .ow-icon { width: 2rem; height: 2rem; }
.ow-c .ow-card__body hr { margin: 1.25rem 0 .75rem; }
.ow-c .ow-card__title {
  margin: 0 0 .5rem;
  font-weight: 600;
  font-size: 1.25rem;
  line-height: 1.2;
}
.ow-c .ow-card__title a { color: #1468a0; }
/* The title link covers the card only when the card is one link: on a card with its own
   buttons the cover would take their clicks (Inventa's "Get a quote" opened the sheet). */
.ow-c .ow-card--linked .ow-card__link::after { content: ''; position: absolute; inset: 0; z-index: 1; }
.ow-c .ow-card__text { margin: 0; line-height: 1.6; }
.ow-c .ow-card--linked:hover .ow-arrow__icon { animation: ow-point-right 1.4s infinite; }
.ow-c .ow-card--linked:has(.ow-card__link:focus-visible) { outline: 2px solid #1468a0; outline-offset: 6px; }
.ow-c .ow-card--linked .ow-card__link:focus-visible { outline: none; }
.ow-c.ow-card-grid .ow-actions { text-align: center; }
/* No picture: text columns with the values module's #b5b5b5 dividers. */
.ow-c.ow-card-grid--none .ow-card-grid__grid { gap: 0; }
.ow-c.ow-card-grid--none .ow-card-grid__item { padding: 1.5rem 0; border-top: 1px solid #b5b5b5; }
.ow-c.ow-card-grid--none .ow-card-grid__item:first-child { border-top: 0; padding-top: 0; }
@media print, screen and (min-width: 40em) {
  .ow-c .ow-card__title { font-size: 1.375rem; }
  .ow-c.ow-card-grid--none .ow-card-grid__item { border-top: 0; padding: .5rem 1.875rem; border-left: 1px solid #b5b5b5; }
  .ow-c.ow-card-grid--none .ow-card-grid__item:nth-child(2n+1) { border-left: 0; padding-left: 0; }
}
@media print, screen and (min-width: 64em) {
  .ow-c .ow-card__media { clip-path: polygon(0 0, calc(100% - 60px) 0, 100% 60px, 100% 100%, 0 100%); }
  .ow-c .ow-card__title { font-size: 1.5rem; }
  .ow-c.ow-card-grid--none .ow-card-grid__item:nth-child(n) { border-left: 1px solid #b5b5b5; padding-left: 1.875rem; }
  .ow-c.ow-card-grid--none.ow-cols-2 .ow-card-grid__item:nth-child(2n+1),
  .ow-c.ow-card-grid--none.ow-cols-3 .ow-card-grid__item:nth-child(3n+1),
  .ow-c.ow-card-grid--none.ow-cols-4 .ow-card-grid__item:nth-child(4n+1) { border-left: 0; padding-left: 0; }
}

/* Product cards (D-95, all optional): the picture beside the text, a facts table, a main
   button, a note under the cards. A card with a button keeps its links as ordinary links. */
.ow-c .ow-card--actions { display: flex; flex-direction: column; }
.ow-c .ow-card__facts {
  width: 100%;
  margin: 1rem 0 0;
  border: 0;
  border-collapse: collapse;
  background: transparent;
  font-size: .875rem;
  line-height: 1.4;
}
.ow-c .ow-card__facts thead,
.ow-c .ow-card__facts tbody,
.ow-c .ow-card__facts tbody tr,
.ow-c .ow-card__facts tbody tr:nth-child(even) { background: transparent; border: 0; }
.ow-c .ow-card__facts th,
.ow-c .ow-card__facts td {
  padding: .45rem .75rem .45rem 0;
  border-bottom: 1px solid #ced3db;
  text-align: left;
  vertical-align: top;
  background: transparent;
}
.ow-c .ow-card__facts thead th {
  padding-top: 0;
  font-family: TT-Lakes, Open-Sans, Helvetica, Roboto, Arial, sans-serif;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #596b90;
}
.ow-c .ow-card__facts tbody th { font-weight: 600; white-space: nowrap; }
.ow-c .ow-card__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem 1.5rem;
  margin-top: auto;
  padding-top: 1.25rem;
}
.ow-c .ow-card__actions .button { margin: 0; }
.ow-c a.ow-arrow { margin-top: 0; color: #151515; }
.ow-c a.ow-arrow:hover .ow-arrow__icon,
.ow-c a.ow-arrow:focus .ow-arrow__icon { animation: ow-point-right 1.4s infinite; }
.ow-c .ow-card-grid__note { margin: 1.5rem 0 0; font-size: .875rem; line-height: 1.5; color: #596b90; }
/* The picture beside the text: a light notched panel, the photo in a white box. */
.ow-c.ow-card-grid--side .ow-card-grid__grid { gap: 1.25rem; }
.ow-c.ow-card-grid--side .ow-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
  padding: 1.25rem;
  background: #f3f8ff;
  clip-path: polygon(0 0, calc(100% - 30px) 0, 100% 30px, 100% 100%, 0 100%);
}
.ow-c.ow-card-grid--side .ow-card__media { aspect-ratio: 16 / 9; background: #fff; clip-path: none; }
.ow-c.ow-card-grid--side .ow-card__img { object-fit: contain; }
.ow-c.ow-card-grid--side .ow-card__body { display: flex; flex-direction: column; min-width: 0; }
.ow-c.ow-card-grid--side .ow-card__body hr { margin-top: 0; }
@media print, screen and (min-width: 40em) {
  .ow-c.ow-card-grid--side .ow-card-grid__grid { gap: 1.5rem; }
  .ow-c.ow-card-grid--side .ow-card { grid-template-columns: minmax(0, 8.5rem) minmax(0, 1fr); padding: 1.5rem; }
  .ow-c.ow-card-grid--side .ow-card__media { aspect-ratio: 3 / 4; align-self: start; }
}
@media print, screen and (min-width: 40em) and (max-width: 74.9375em) {
  /* Two cards side by side leave too little room for a picture column below 1200px. */
  .ow-c.ow-card-grid--side.ow-cols-2 .ow-card-grid__grid { grid-template-columns: minmax(0, 1fr); }
}
@media print, screen and (min-width: 64em) {
  .ow-c.ow-card-grid--side .ow-card { grid-template-columns: minmax(0, 9rem) minmax(0, 1fr); padding: 1.75rem; }
  .ow-c.ow-card-grid--side .ow-card__title { font-size: 1.375rem; }
}

/* ── quote ──────────────────────────────────────────────────────────────── */
.ow-c .ow-quote__figure { margin: 0; display: grid; gap: 1.5rem; }
.ow-c.ow-quote--plain .ow-quote__figure { max-width: 56rem; margin: 0 auto; text-align: center; }
.ow-c.ow-quote--plain .ow-rule { margin-left: auto; margin-right: auto; }
.ow-c .ow-quote__photo {
  width: 70%;
  max-width: 320px;
  aspect-ratio: 1;
  overflow: hidden;
  clip-path: polygon(0 40px, 40px 0, 100% 0, 100% calc(100% - 40px), calc(100% - 40px) 100%, 0 100%);
  background: #f3f8ff;
}
.ow-c .ow-quote__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ow-c .ow-quote__text { margin: 0; padding: 0; border: 0; }
.ow-c .ow-quote__text p {
  margin: 0;
  font-family: TT-Lakes, Open-Sans, Helvetica, Roboto, Arial, sans-serif;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.35;
  color: #151515;
}
.ow-c .ow-quote__text p::before { content: '\201C'; }
.ow-c .ow-quote__text p::after { content: '\201D'; }
.ow-c .ow-quote__cite { display: flex; flex-direction: column; gap: .25rem; }
.ow-c .ow-quote__name {
  font-family: TT-Lakes, Open-Sans, Helvetica, Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: 1rem;
  text-transform: uppercase;
}
.ow-c .ow-quote__role { color: #596b90; font-size: .95rem; }
@media print, screen and (min-width: 40em) {
  .ow-c.ow-quote--photo .ow-quote__figure {
    grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
    grid-template-rows: auto 1fr;
    column-gap: 3rem;
    align-items: start;
  }
  .ow-c.ow-quote--photo .ow-quote__photo { grid-row: 1 / span 2; width: 100%; max-width: none; }
  .ow-c.ow-quote--photo .ow-quote__photo { clip-path: polygon(0 90px, 90px 0, 100% 0, 100% calc(100% - 90px), calc(100% - 90px) 100%, 0 100%); }
  .ow-c .ow-quote__text p { font-size: 1.875rem; }
}
@media print, screen and (min-width: 64em) {
  .ow-c .ow-quote__text p { font-size: 2.25rem; }
}

/* ── accordion (the theme's pipeline accordion) ─────────────────────────── */
.ow-c .ow-accordion__items { border-bottom: 1px solid #b5b5b5; max-width: 62rem; }
.ow-c .ow-accordion__item { border-top: 1px solid #b5b5b5; }
.ow-c .ow-accordion__heading { margin: 0; font-size: inherit; }
.ow-c .ow-accordion__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  padding: 1.25rem .5rem 1.25rem 0;
  border: 0;
  background: transparent;
  color: #151515;
  text-align: left;
  cursor: pointer;
  font-family: TT-Lakes, Open-Sans, Helvetica, Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 1.3;
  transition: background-color .25s ease-out;
}
.ow-c .ow-accordion__trigger:hover { background-color: #f3f8ff; }
.ow-c .ow-accordion__trigger:focus-visible { outline: 2px solid #1468a0; outline-offset: -2px; }
.ow-c .ow-accordion__icon { flex: none; display: inline-flex; color: #151515; transition: transform .25s; }
.ow-c .ow-accordion__svg { width: 22px; height: 22px; }
.ow-c .ow-accordion__trigger[aria-expanded="true"] .ow-accordion__icon { transform: rotate(180deg); }
.ow-c .ow-accordion__panel { padding: 0 0 1.5rem; }
.ow-c .ow-accordion__body { max-width: 48rem; line-height: 1.6; }
.ow-c .ow-accordion__body > :last-child { margin-bottom: 0; }
@media print, screen and (min-width: 40em) {
  .ow-c .ow-accordion__trigger { font-size: 1.3125rem; padding: 1.5rem .75rem 1.5rem 0; }
}

/* ── tabs ───────────────────────────────────────────────────────────────── */
.ow-c .ow-tabs__list {
  display: flex;
  gap: 0 2rem;
  margin: 0 0 2rem;
  border-bottom: 1px solid #ced3db;
  overflow-x: auto;
  scrollbar-width: thin;
}
.ow-c .ow-tabs__tab {
  position: relative;
  flex: none;
  padding: .75rem 0 1rem;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-family: TT-Lakes, Open-Sans, Helvetica, Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: 1rem;
  text-transform: uppercase;
  color: #596b90;
}
.ow-c .ow-tabs__tab::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 4px;
  background: transparent;
}
.ow-c .ow-tabs__tab:hover { color: #0f2947; }
.ow-c .ow-tabs__tab[aria-selected="true"] { color: #0f2947; }
.ow-c .ow-tabs__tab[aria-selected="true"]::after { background: #ff602e; }
.ow-c .ow-tabs__tab:focus-visible { outline: 2px solid #1468a0; outline-offset: 2px; }
.ow-c .ow-tabs__panel { display: grid; gap: 2rem; }
.ow-c .ow-tabs__panel[hidden] { display: none; }
.ow-c .ow-tabs__panel:focus-visible { outline: 2px solid #1468a0; outline-offset: 8px; }
.ow-c .ow-tabs__nolabel {
  display: none;
  margin: 0;
  font-family: TT-Lakes, Open-Sans, Helvetica, Roboto, Arial, sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  color: #596b90;
}
.ow-c .ow-tabs__heading { margin: 0 0 1rem; font-weight: 600; font-size: 1.5rem; }
.ow-c .ow-tabs__body { line-height: 1.8; }
.ow-c .ow-tabs__body p { font-size: 1.05rem; }
.ow-c .ow-tabs__body > :last-child { margin-bottom: 0; }
.ow-c .ow-tabs__media {
  overflow: hidden;
  aspect-ratio: 4 / 3;
  clip-path: polygon(0 0, calc(100% - 40px) 0, 100% 40px, 100% 100%, 40px 100%, 0 calc(100% - 40px));
  background: #f3f8ff;
}
.ow-c .ow-tabs__img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media print, screen and (min-width: 40em) {
  .ow-c .ow-tabs__tab { font-size: 1.125rem; }
  .ow-c .ow-tabs__heading { font-size: 2rem; }
}
@media print, screen and (min-width: 64em) {
  .ow-c .ow-tabs__panel--image { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 4rem; align-items: start; }
  .ow-c .ow-tabs__media { clip-path: polygon(0 0, calc(100% - 90px) 0, 100% 90px, 100% 100%, 90px 100%, 0 calc(100% - 90px)); }
}

/* ── table ──────────────────────────────────────────────────────────────── */
.ow-c .ow-table__figure { margin: 0; }
.ow-c .ow-table__scroll {
  position: relative;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
.ow-c .ow-table__scroll:focus-visible { outline: 2px solid #1468a0; outline-offset: 4px; }
.ow-c .ow-table__scroll.ow-more-right { box-shadow: inset -24px 0 16px -16px rgba(15, 41, 71, .35); }
.ow-c .ow-table__table { width: 100%; min-width: 34rem; margin: 0; border-collapse: collapse; }
.ow-c .ow-table__caption {
  caption-side: top;
  padding: 0 0 .75rem;
  text-align: left;
  font-family: TT-Lakes, Open-Sans, Helvetica, Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: 1rem;
  text-transform: uppercase;
  color: #596b90;
}
.ow-c .ow-table__table thead { background: #0f2947; border: 0; }
.ow-c .ow-table__table thead th {
  padding: .875rem 1rem;
  font-family: TT-Lakes, Open-Sans, Helvetica, Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: .9rem;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: #fff;
  text-align: left;
  vertical-align: bottom;
}
.ow-c .ow-table__table tbody { border: 0; border-bottom: 1px solid #b5b5b5; }
.ow-c .ow-table__table tbody td,
.ow-c .ow-table__table tbody th { padding: .875rem 1rem; text-align: left; vertical-align: top; line-height: 1.5; }
.ow-c .ow-table__table tbody th { font-weight: 700; }
.ow-c .ow-table__table tbody tr { background-color: #fff; }
.ow-c .ow-table__table tbody tr:nth-child(2n) { background-color: #bacfe7; }
.ow-c .ow-table__note { margin: .75rem 0 0; font-size: .875rem; color: #596b90; }
@media print, screen and (min-width: 40em) {
  .ow-c .ow-table__table { min-width: 0; }
}

/* ── gallery ────────────────────────────────────────────────────────────── */
.ow-c .ow-gallery__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
@media print, screen and (min-width: 40em) {
  .ow-c .ow-gallery__grid { gap: 1.875rem; }
}
@media print, screen and (min-width: 64em) {
  .ow-c.ow-cols-3 .ow-gallery__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ow-c.ow-cols-4 .ow-gallery__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.ow-c .ow-gallery__figure { margin: 0; }
.ow-c .ow-gallery__open,
.ow-c .ow-gallery__frame {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 3 / 2;
  background: #f3f8ff;
  clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 28px, 100% 100%, 0 100%);
}
.ow-c.ow-gallery--square .ow-gallery__open,
.ow-c.ow-gallery--square .ow-gallery__frame { aspect-ratio: 1; }
.ow-c .ow-gallery__item:nth-child(2n) .ow-gallery__open,
.ow-c .ow-gallery__item:nth-child(2n) .ow-gallery__frame { clip-path: polygon(0 0, 100% 0, 100% 100%, 28px 100%, 0 calc(100% - 28px)); }
.ow-c .ow-gallery__img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1s; }
.ow-c .ow-gallery__open:hover .ow-gallery__img,
.ow-c .ow-gallery__open:focus-visible .ow-gallery__img { transform: scale(1.06); }
.ow-c .ow-gallery__open::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: linear-gradient(-45deg, rgba(43, 86, 130, .45) 0%, rgba(255, 95, 45, .45) 100%);
  opacity: 0;
  transition: opacity 1s;
}
.ow-c .ow-gallery__open:hover::after,
.ow-c .ow-gallery__open:focus-visible::after { opacity: 1; }
.ow-c .ow-gallery__open:focus-visible { outline: 3px solid #1468a0; outline-offset: -3px; }
.ow-c .ow-gallery__zoom {
  position: absolute;
  right: .75rem;
  bottom: .75rem;
  z-index: 1;
  display: flex;
  padding: .4rem;
  background: #fff;
  color: #0f2947;
  opacity: 0;
  transition: opacity .5s;
}
.ow-c .ow-gallery__zoom-svg { width: 20px; height: 20px; }
.ow-c .ow-gallery__open:hover .ow-gallery__zoom,
.ow-c .ow-gallery__open:focus-visible .ow-gallery__zoom { opacity: 1; }
.ow-c .ow-gallery__caption { margin: .625rem 0 0; font-size: .875rem; line-height: 1.5; color: #596b90; }
/* The carousel: Swiper 6 with the /company/ timeline's navigation. */
.ow-c .ow-gallery__swiper { overflow: hidden; }
.ow-c .ow-gallery__slide { height: auto; }
.ow-c .ow-gallery__slide .ow-gallery__open,
.ow-c .ow-gallery__slide .ow-gallery__frame { clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 28px, 100% 100%, 0 100%); }
.ow-c .ow-gallery__nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
  margin-top: 1.5rem;
}
.ow-c .ow-gallery__prev,
.ow-c .ow-gallery__next {
  display: inline-flex;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.ow-c .ow-gallery__prev img,
.ow-c .ow-gallery__next img { width: 40px; height: 40px; }
.ow-c .ow-gallery__prev.swiper-button-disabled,
.ow-c .ow-gallery__next.swiper-button-disabled { opacity: .35; cursor: default; }
.ow-c .ow-gallery__dots.swiper-pagination { position: static; width: auto; display: flex; gap: 0; }
/* Each bullet is a 24px target (WCAG 2.5.8) around the theme's 10px square. */
.ow-c .ow-gallery__dots .swiper-pagination-bullet {
  position: relative;
  width: 24px;
  height: 24px;
  margin: 0;
  border-radius: 0;
  background: transparent;
  opacity: 1;
}
.ow-c .ow-gallery__dots .swiper-pagination-bullet::before {
  content: '';
  position: absolute;
  inset: 7px;
  background: #ced3db;
}
.ow-c .ow-gallery__dots .swiper-pagination-bullet-active::before { background: #0320e6; }
.ow-c .ow-gallery__dots .swiper-pagination-bullet:focus-visible { outline: 2px solid #1468a0; outline-offset: 0; }

/* ── callout ────────────────────────────────────────────────────────────── */
.ow-c .ow-callout__box {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem;
  max-width: 62rem;
  padding: 1.5rem 1.5rem 1.5rem 1.25rem;
  background: #f3f8ff;
  border-left: 6px solid #0f2947;
  clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 0 100%);
}
.ow-c .ow-callout--important { background: #fff3ee; border-left-color: #ff602e; }
.ow-c .ow-callout--disclaimer {
  background: #fff;
  border-left: 0;
  border-top: 1px solid #ced3db;
  border-bottom: 1px solid #ced3db;
  padding-left: 0;
  clip-path: none;
}
.ow-c .ow-callout__icon { display: flex; color: #0f2947; padding-top: .1rem; }
.ow-c .ow-callout--important .ow-callout__icon { color: #c2410c; }
.ow-c .ow-callout--disclaimer .ow-callout__icon { color: #596b90; }
.ow-c .ow-callout__svg { width: 26px; height: 26px; }
.ow-c .ow-callout__title {
  margin: 0 0 .5rem;
  font-family: TT-Lakes, Open-Sans, Helvetica, Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: 1.25rem;
  line-height: 1.3;
}
.ow-c .ow-callout__text { line-height: 1.7; }
.ow-c .ow-callout__text > :last-child { margin-bottom: 0; }
.ow-c .ow-callout--disclaimer .ow-callout__title { font-size: 1rem; text-transform: uppercase; color: #596b90; }
.ow-c .ow-callout--disclaimer .ow-callout__text { font-size: .875rem; color: #596b90; }
.ow-c .ow-callout__box .ow-actions { margin-top: 1.5rem; }
@media print, screen and (min-width: 40em) {
  .ow-c .ow-callout__box { padding: 2rem 2.5rem 2rem 2rem; gap: 1.25rem; }
  .ow-c .ow-callout--disclaimer { padding-left: 0; }
}

/* ── checklist ──────────────────────────────────────────────────────────── */
.ow-c .ow-checklist__list { display: grid; grid-template-columns: 1fr; column-gap: 3rem; border-top: 1px solid #b5b5b5; }
@media print, screen and (min-width: 40em) {
  .ow-c.ow-cols-2 .ow-checklist__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.ow-c .ow-checklist__item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem;
  padding: 1.25rem 0;
  border-bottom: 1px solid #b5b5b5;
}
.ow-c .ow-checklist__icon { display: flex; color: #ff602e; padding-top: .1rem; }
.ow-c .ow-checklist__svg { width: 28px; height: 28px; stroke-width: 2; }
.ow-c .ow-checklist__title {
  margin: 0 0 .25rem;
  font-family: TT-Lakes, Open-Sans, Helvetica, Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: 1.1875rem;
  line-height: 1.3;
}
.ow-c .ow-checklist__text { margin: 0; line-height: 1.6; }

/* ── press ──────────────────────────────────────────────────────────────── */
.ow-c .ow-press__list { display: grid; gap: 1.875rem; }
.ow-c.ow-press--cards .ow-press__list { grid-template-columns: 1fr; }
@media print, screen and (min-width: 40em) {
  .ow-c.ow-press--cards .ow-press__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media print, screen and (min-width: 64em) {
  .ow-c.ow-press--cards .ow-press__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.ow-c .ow-press__card { position: relative; height: 100%; }
.ow-c.ow-press--cards .ow-press__card {
  display: flex;
  flex-direction: column;
  padding: 1.75rem 1.75rem 3.5rem;
  background: #f3f8ff;
  clip-path: polygon(0 0, calc(100% - 40px) 0, 100% 40px, 100% 100%, 0 100%);
}
.ow-c .ow-press__logo { height: 48px; margin-bottom: 1.25rem; display: flex; align-items: center; }
.ow-c .ow-press__logo-img {
  max-height: 48px;
  max-width: 160px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(100%);
  transition: filter .5s;
}
.ow-c .ow-press__card:hover .ow-press__logo-img,
.ow-c .ow-press__card:focus-within .ow-press__logo-img { filter: grayscale(0%); }
.ow-c .ow-press__meta {
  margin: 0 0 .5rem;
  font-family: TT-Lakes, Open-Sans, Helvetica, Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: .875rem;
  text-transform: uppercase;
  color: #596b90;
}
.ow-c .ow-press__headline { margin: 0 0 .75rem; font-weight: 600; font-size: 1.25rem; line-height: 1.3; }
.ow-c .ow-press__link { color: #151515 !important; }
.ow-c .ow-press__link::after { content: ''; position: absolute; inset: 0; z-index: 1; }
.ow-c .ow-press__card:hover .ow-press__link { color: #1468a0 !important; }
.ow-c .ow-press__card:has(.ow-press__link:focus-visible) { outline: 2px solid #1468a0; outline-offset: 4px; }
.ow-c .ow-press__link:focus-visible { outline: none; }
.ow-c .ow-press__excerpt { margin: 0; line-height: 1.6; color: #151515; }
.ow-c .ow-press__go { position: absolute; left: 1.75rem; bottom: 1.5rem; display: flex; color: #151515; }
.ow-c .ow-press__go-svg { width: 22px; height: 22px; }
.ow-c .ow-press__card:hover .ow-press__go-svg { animation: ow-point-right 1.4s infinite; }
/* List: rows with the logo on the left and #b5b5b5 hairlines. */
.ow-c.ow-press--list .ow-press__list { gap: 0; border-top: 1px solid #b5b5b5; }
.ow-c.ow-press--list .ow-press__card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .75rem 2rem;
  padding: 1.5rem 3rem 1.5rem 0;
  border-bottom: 1px solid #b5b5b5;
}
.ow-c.ow-press--list .ow-press__logo { margin: 0; }
.ow-c.ow-press--list .ow-press__go { left: auto; right: .5rem; top: 50%; bottom: auto; translate: 0 -50%; }
@media print, screen and (min-width: 40em) {
  .ow-c.ow-press--list .ow-press__card { grid-template-columns: 160px minmax(0, 1fr); align-items: center; }
  .ow-c.ow-press--list .ow-press__card:not(:has(.ow-press__logo)) { grid-template-columns: minmax(0, 1fr); }
  .ow-c .ow-press__headline { font-size: 1.375rem; }
}

/* ── event ──────────────────────────────────────────────────────────────── */
.ow-c .ow-event__card { display: grid; gap: 1.5rem 2.5rem; grid-template-columns: minmax(0, 1fr); }
.ow-c .ow-event__tile {
  align-self: start;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  justify-self: start;
  min-width: 8.5rem;
  padding: 1.25rem 2.5rem 1.25rem 1.25rem;
  background: #0f2947;
  color: #fff;
  clip-path: polygon(0 0, calc(100% - 24px) 0, 100% 24px, 100% 100%, 0 100%);
  font-family: TT-Lakes, Open-Sans, Helvetica, Roboto, Arial, sans-serif;
  line-height: 1;
}
.ow-c .ow-event__month { font-weight: 600; font-size: 1rem; letter-spacing: .04em; }
.ow-c .ow-event__days { margin: .375rem 0 .5rem; font-weight: 600; font-size: 3rem; white-space: nowrap; }
.ow-c .ow-event__year { padding-top: .5rem; border-top: 4px solid #ff602e; font-weight: 500; font-size: .95rem; }
.ow-c .ow-event__body .ow-eyebrow { margin-bottom: .25rem; }
.ow-c .ow-event__body hr {
  width: 2rem;
  max-width: none;
  margin: .75rem 0 1.25rem;
  border: 0;
  border-bottom: 4px solid #ff602e;
}
.ow-c .ow-event__title { margin: 0 0 1rem; font-weight: 600; }
.ow-c .ow-event__facts { display: flex; flex-wrap: wrap; gap: .5rem 1.75rem; margin: 0 0 1.25rem; }
.ow-c .ow-event__fact { display: inline-flex; align-items: center; gap: .5rem; font-weight: 600; }
.ow-c .ow-event__svg { flex: none; width: 20px; height: 20px; color: #ff602e; stroke-width: 2; }
.ow-c .ow-event__text { max-width: 44rem; }
.ow-c .ow-event__text p { font-size: 1.15rem; line-height: 2; }
.ow-c .ow-event__text > :last-child { margin-bottom: 0; }
.ow-c .ow-event__media {
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #f3f8ff;
  clip-path: polygon(0 40px, 40px 0, 100% 0, 100% 100%, 0 100%);
}
.ow-c .ow-event__img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media print, screen and (min-width: 40em) {
  .ow-c .ow-event__card { grid-template-columns: auto minmax(0, 1fr); }
  .ow-c.ow-event--image .ow-event__media { grid-column: 1 / -1; }
  .ow-c .ow-event__body hr { border-bottom-width: 8px; }
  .ow-c .ow-event__days { font-size: 4rem; }
}
@media print, screen and (min-width: 64em) {
  .ow-c.ow-event--image .ow-event__card { grid-template-columns: auto minmax(0, 1fr) minmax(0, 26rem); }
  .ow-c.ow-event--image .ow-event__media { grid-column: auto; clip-path: polygon(0 90px, 90px 0, 100% 0, 100% 100%, 0 100%); }
}

/* ── page_nav ───────────────────────────────────────────────────────────── */
.ow-c.ow-page-nav { position: relative; z-index: 6; background: #fff; }
.ow-c.ow-page-nav--sticky { position: sticky; top: 73px; border-bottom: 1px solid #ced3db; }
.ow-c .ow-page-nav__nav {
  display: flex;
  align-items: center;
  gap: .5rem 1.5rem;
  max-width: 77.5rem;
  margin: 0 auto;
  padding: .875rem .625rem;
}
.ow-c .ow-page-nav__label {
  flex: none;
  margin: 0;
  font-family: TT-Lakes, Open-Sans, Helvetica, Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: .875rem;
  text-transform: uppercase;
  color: #596b90;
}
.ow-c .ow-page-nav__list {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
  min-width: 0;
}
.ow-c .ow-page-nav__list::-webkit-scrollbar { display: none; }
.ow-c .ow-page-nav__list.ow-more-right { -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent); }
.ow-c .ow-page-nav__item { flex: none; display: flex; align-items: center; }
.ow-c .ow-page-nav__item + .ow-page-nav__item::before {
  content: '';
  width: 1px;
  height: 1.25rem;
  margin: 0 1rem;
  background: #b5b5b5;
}
.ow-c a.ow-page-nav__link {
  position: relative;
  padding: .375rem 0;
  font-family: TT-Lakes, Open-Sans, Helvetica, Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: 1rem;
  white-space: nowrap;
  color: #151515;
}
.ow-c a.ow-page-nav__link:hover { color: #1468a0; }
.ow-c a.ow-page-nav__link[aria-current="true"] { color: #0f2947; }
.ow-c a.ow-page-nav__link[aria-current="true"]::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2px;
  height: 4px;
  background: #ff602e;
}
.ow-c a.ow-page-nav__link:focus-visible { outline: 2px solid #1468a0; outline-offset: 2px; }
@media print, screen and (min-width: 40em) {
  .ow-c .ow-page-nav__nav { padding: 1rem .9375rem; }
}
@media screen and (max-width: 39.99875em) {
  .ow-c .ow-page-nav__nav { flex-direction: column; align-items: flex-start; }
  .ow-c .ow-page-nav__list { width: 100%; }
}

/* ── newsletter (the theme's pre-footer banner) ─────────────────────────── */
.ow-c .ow-newsletter__panel {
  position: relative;
  overflow: hidden;
  padding: 60px 1.25rem;
  background-color: #0f2947;
  background-position: center;
  background-size: cover;
  color: #fff;
  text-align: center;
  clip-path: polygon(0 40px, 40px 0, 100% 0, 100% 100%, 0 100%);
}
.ow-c .ow-newsletter__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(145deg, rgba(43, 86, 130, .4) 0%, rgba(255, 95, 45, .4) 100%), rgba(15, 41, 71, .6);
}
.ow-c .ow-newsletter__panel:not(.ow-newsletter__panel--photo) .ow-newsletter__shade {
  background: linear-gradient(145deg, rgba(43, 86, 130, .5) 0%, rgba(15, 41, 71, 0) 60%);
}
.ow-c .ow-newsletter__content { position: relative; z-index: 1; max-width: 44rem; margin: 0 auto; }
.ow-c .ow-newsletter__panel .ow-eyebrow { color: #fff; }
.ow-c .ow-newsletter__title { margin: 0 0 1rem; font-weight: 600; color: #fff; }
.ow-c .ow-newsletter__text { margin: 0 auto 2rem; max-width: 40rem; font-size: 1.15rem; line-height: 1.8; }
.ow-c .ow-newsletter__form { max-width: 34rem; margin: 0 auto; }
.ow-c .ow-newsletter__row { display: flex; flex-direction: column; gap: 1.25rem; align-items: stretch; }
.ow-c .ow-newsletter__input {
  height: 3rem;
  margin: 0;
  padding: .5rem 1rem;
  border: 1px solid #fff;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #fff;
  font-size: 1rem;
}
.ow-c .ow-newsletter__input::placeholder { color: rgba(255, 255, 255, .8); opacity: 1; }
.ow-c .ow-newsletter__input:focus { border-color: #40fff5; box-shadow: 0 0 0 1px #40fff5; outline: 0; background: rgba(255, 255, 255, .08); }
.ow-c .ow-newsletter__submit { margin: 7px; align-self: center; }
.ow-c .ow-newsletter__hp { display: none !important; }
.ow-c .ow-newsletter__consent { margin: 1.5rem auto 0; max-width: 34rem; font-size: .875rem; color: #fff; }
.ow-c .ow-newsletter__consent a,
.ow-c .ow-newsletter__panel a:not(.button) { color: #fff; text-decoration: underline; }
.ow-c .ow-newsletter__panel .gform_confirmation_message { color: #fff; font-size: 1.15rem; }
.ow-c .ow-newsletter__panel .gform_validation_errors,
.ow-c .ow-newsletter__panel .validation_message { color: #fff; }
@media print, screen and (min-width: 40em) {
  .ow-c .ow-newsletter__panel { padding: 100px 2rem; clip-path: polygon(0 90px, 90px 0, 100% 0, 100% 100%, 0 100%); }
  .ow-c .ow-newsletter__row { flex-direction: row; align-items: center; gap: 1.5rem; }
  .ow-c .ow-newsletter__input { flex: 1; }
  .ow-c .ow-newsletter__submit { margin: 0 7px 0 0; }
}

/* ── download ───────────────────────────────────────────────────────────── */
.ow-c .ow-download__card {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1.25rem 1.5rem;
  align-items: center;
  max-width: 62rem;
  padding: 1.5rem;
  background: #f3f8ff;
  clip-path: polygon(0 0, calc(100% - 40px) 0, 100% 40px, 100% 100%, 40px 100%, 0 calc(100% - 40px));
}
.ow-c .ow-download__icon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4.75rem;
  background: #fff;
  color: #0f2947;
}
.ow-c .ow-download__svg { width: 2.25rem; height: 2.25rem; }
.ow-c .ow-download__ext {
  position: absolute;
  bottom: .375rem;
  font-family: TT-Lakes, Open-Sans, Helvetica, Roboto, Arial, sans-serif;
  font-weight: 700;
  font-size: .65rem;
  letter-spacing: .05em;
}
.ow-c .ow-download__thumb { display: block; width: 100%; height: 100%; object-fit: cover; }
.ow-c .ow-download__title { margin: 0 0 .25rem; font-weight: 600; font-size: 1.25rem; line-height: 1.3; }
.ow-c .ow-download__meta {
  margin: 0;
  font-family: TT-Lakes, Open-Sans, Helvetica, Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: .875rem;
  text-transform: uppercase;
  color: #596b90;
}
.ow-c .ow-download__text { margin: .5rem 0 0; line-height: 1.6; }
.ow-c .ow-download__action { grid-column: 1 / -1; }
.ow-c .ow-download__action .button { margin: 0 0 0 7px; }
@media print, screen and (min-width: 40em) {
  .ow-c .ow-download__card { grid-template-columns: auto minmax(0, 1fr) auto; padding: 2rem 2.5rem; }
  .ow-c .ow-download__action { grid-column: auto; }
  .ow-c .ow-download__title { font-size: 1.5rem; }
}

/* ── divider ────────────────────────────────────────────────────────────── */
.ow-c.ow-divider { background: transparent; }
.ow-c.ow-divider--small { padding: 12px 0; }
.ow-c.ow-divider--medium { padding: 24px 0; }
.ow-c.ow-divider--large { padding: 48px 0; }
.ow-c.ow-divider--space.ow-divider--small { height: 24px; padding: 0; }
.ow-c.ow-divider--space.ow-divider--medium { height: 48px; padding: 0; }
.ow-c.ow-divider--space.ow-divider--large { height: 96px; padding: 0; }
.ow-c .ow-divider__rule { margin: 0 auto; }
.ow-c.ow-divider--accent .ow-divider__rule {
  width: 2rem;
  max-width: none;
  border-bottom: 4px solid #ff602e;
}
.ow-c.ow-divider--accent { max-width: 77.5rem; margin: 0 auto; padding-left: .625rem; padding-right: .625rem; }
.ow-c.ow-divider--accent .ow-divider__rule { margin: 0; }
@media print, screen and (min-width: 40em) {
  .ow-c.ow-divider--medium { padding: 30px 0; }
  .ow-c.ow-divider--large { padding: 50px 0; }
  .ow-c.ow-divider--space.ow-divider--medium { height: 60px; }
  .ow-c.ow-divider--space.ow-divider--large { height: 100px; }
  .ow-c.ow-divider--accent { padding-left: .9375rem; padding-right: .9375rem; }
  .ow-c.ow-divider--accent .ow-divider__rule { border-bottom-width: 8px; }
}

/* ── stats (the heading row's frame, TT Lakes figures, the orange rule) ── */
.ow-c .ow-stats__list {
  display: grid;
  grid-template-columns: 1fr;
  border-top: 1px solid #b5b5b5;
  border-bottom: 1px solid #b5b5b5;
}
.ow-c .ow-stat { padding: 1.75rem 0; text-align: center; }
.ow-c .ow-stat + .ow-stat { border-top: 1px solid #b5b5b5; }
.ow-c .ow-stat__figure {
  margin: 0;
  font-family: TT-Lakes, Open-Sans, Helvetica, Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: 3.5rem;
  line-height: 1;
  color: #0f2947;
  white-space: nowrap;
}
.ow-c .ow-stat__unit { font-size: 1.5rem; font-weight: 500; }
.ow-c .ow-stat .ow-rule { margin: 1rem auto .875rem; }
.ow-c .ow-stat__label {
  margin: 0;
  font-family: TT-Lakes, Open-Sans, Helvetica, Roboto, Arial, sans-serif;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.3;
}
.ow-c .ow-stat__note { margin: .5rem 0 0; font-size: .875rem; color: #596b90; }
@media print, screen and (min-width: 40em) {
  .ow-c.ow-cols-2 .ow-stats__list,
  .ow-c.ow-cols-4 .ow-stats__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ow-c.ow-cols-3 .ow-stats__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ow-c .ow-stat { padding: 2.5rem 1.25rem; }
  .ow-c .ow-stat + .ow-stat { border-top: 0; border-left: 1px solid #b5b5b5; }
  .ow-c.ow-cols-4 .ow-stat:nth-child(3) { border-left: 0; }
  .ow-c.ow-cols-4 .ow-stat:nth-child(n+3) { border-top: 1px solid #b5b5b5; }
}
@media print, screen and (min-width: 64em) {
  .ow-c.ow-cols-4 .ow-stats__list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ow-c.ow-cols-4 .ow-stat:nth-child(3) { border-left: 1px solid #b5b5b5; }
  .ow-c.ow-cols-4 .ow-stat:nth-child(n+3) { border-top: 0; }
  .ow-c .ow-stat__figure { font-size: 5rem; }
  .ow-c .ow-stat__unit { font-size: 1.75rem; }
}

/* ── the gallery's larger view (blocks-modern.css has the same, for Modern) ───────────────────── */
.ow-c .ow-lightbox {
  width: min(92vw, 1200px);
  max-width: none;
  max-height: 92vh;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  overflow: visible;
}
.ow-c .ow-lightbox::backdrop { background: rgba(15, 41, 71, .92); }
.ow-c .ow-lightbox__inner { position: relative; display: flex; flex-direction: column; align-items: center; }
.ow-c .ow-lightbox__figure { margin: 0; text-align: center; }
.ow-c .ow-lightbox__img { display: block; max-width: 100%; max-height: calc(92vh - 6rem); width: auto; height: auto; margin: 0 auto; }
.ow-c .ow-lightbox__caption { margin: .875rem 0 0; font-size: 1rem; color: #fff; }
.ow-c .ow-lightbox__count { margin: .375rem 0 0; font-size: .875rem; color: rgba(255, 255, 255, .8); }
.ow-c .ow-lightbox__prev,
.ow-c .ow-lightbox__next,
.ow-c .ow-lightbox__close {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .6);
  background: rgba(15, 41, 71, .6);
  color: #fff;
  cursor: pointer;
}
.ow-c .ow-lightbox__prev { left: .5rem; top: calc(50% - 3rem); }
.ow-c .ow-lightbox__next { right: .5rem; top: calc(50% - 3rem); }
.ow-c .ow-lightbox__close { right: 0; top: -3.25rem; }
.ow-c .ow-lightbox__svg { width: 24px; height: 24px; }
.ow-c .ow-lightbox button:hover { background: rgba(15, 41, 71, .9); }
.ow-c .ow-lightbox button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

/* ── form, Panel layout (D-95) ──────────────────────────────────────────── */
/* The form as the page's destination: a light notched panel (the theme's .form-box colour
   and corner) at a comfortable width, the heading and intro on the left and the contact
   details on the right of its top row, the fields on a two-column grid. Scoped to the
   panel, so Contact's and HOPE's forms don't change. */
.ow-c.ow-form-panel .ow-form-panel__box {
  max-width: 60rem;
  margin: 0 auto;
  padding: 1.75rem 1.25rem;
  background: #f3f8ff;
  clip-path: polygon(0 0, calc(100% - 40px) 0, 100% 40px, 100% 100%, 0 100%);
}
.ow-c.ow-form-panel .ow-form-panel__top { display: grid; gap: 1.25rem; margin-bottom: 1.75rem; }
.ow-c.ow-form-panel .ow-head { margin: 0; }
.ow-c.ow-form-panel .ow-head__intro p { font-size: 1rem; line-height: 1.6; }
.ow-c.ow-form-panel .ow-form-panel__contact { font-size: .9375rem; line-height: 1.6; }
.ow-c.ow-form-panel .ow-form-panel__contact > :last-child { margin-bottom: 0; }
/* Links on the light panel use the darker link blue (#1468a0: 5.6:1 on #f3f8ff). */
.ow-c.ow-form-panel a:not(.button) { color: #1468a0; text-decoration: underline; text-underline-offset: 2px; }
.ow-c.ow-form-panel .ow-form-panel__contact strong {
  display: block;
  font-family: TT-Lakes, Open-Sans, Helvetica, Roboto, Arial, sans-serif;
  font-size: .8125rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #596b90;
}
@media print, screen and (min-width: 40em) {
  .ow-c.ow-form-panel .ow-form-panel__box { padding: 2.5rem 2.5rem 2.75rem; }
  .ow-c.ow-form-panel .ow-form-panel__top { grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 2rem; }
  .ow-c.ow-form-panel .ow-form-panel__contact { padding-left: 1.5rem; border-left: 1px solid #ced3db; }
}
@media print, screen and (min-width: 64em) {
  .ow-c.ow-form-panel .ow-form-panel__box { padding: 3rem 3.5rem 3.5rem; }
}
/* Gravity's legacy markup, laid out on a grid: half-width fields pair up from 640px. */
.ow-c.ow-form-panel .gform_wrapper,
.ow-c.ow-form-panel .gform_wrapper form { max-width: none; margin: 0; }
.ow-c.ow-form-panel .gform_wrapper ul.gform_fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ow-c.ow-form-panel .gform_wrapper ul.gform_fields li.gfield {
  grid-column: 1 / -1;
  margin: 0;
  padding: 0;
  max-width: none !important;
}
@media print, screen and (min-width: 40em) {
  .ow-c.ow-form-panel .gform_wrapper ul.gform_fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ow-c.ow-form-panel .gform_wrapper ul.gform_fields li.gfield.ow-field--half { grid-column: auto; }
}
.ow-c.ow-form-panel .gform_wrapper .gfield_label,
.ow-c.ow-form-panel .gform_wrapper legend.gfield_label {
  display: block;
  margin: 0 0 .35rem;
  padding: 0;
  font-family: TT-Lakes, Open-Sans, Helvetica, Roboto, Arial, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0;
  text-transform: none;
  color: #151515;
}
.ow-c.ow-form-panel .gform_wrapper .gfield_required { color: #b3261e; }
.ow-c.ow-form-panel .gform_wrapper .gfield_description:not(.validation_message) {
  margin: -.15rem 0 .4rem;
  padding: 0;
  font-size: .8125rem;
  line-height: 1.4;
  color: #596b90;
}
.ow-c.ow-form-panel .gform_wrapper .ginput_container { margin: 0; }
.ow-c.ow-form-panel .gform_wrapper input[type="text"],
.ow-c.ow-form-panel .gform_wrapper input[type="email"],
.ow-c.ow-form-panel .gform_wrapper input[type="tel"],
.ow-c.ow-form-panel .gform_wrapper select,
.ow-c.ow-form-panel .gform_wrapper textarea {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: .55rem .75rem;
  border: 1px solid #ced3db;
  border-radius: 0;
  background-color: #fff;
  box-shadow: none;
  font-size: 1rem;
  line-height: 1.4;
  color: #151515;
}
.ow-c.ow-form-panel .gform_wrapper input[type="text"],
.ow-c.ow-form-panel .gform_wrapper input[type="email"],
.ow-c.ow-form-panel .gform_wrapper input[type="tel"],
.ow-c.ow-form-panel .gform_wrapper select { height: 2.75rem; }
/* The theme draws the select's arrow 1rem past the content box (background-origin:
   content-box; right -1rem): keep its 1.5rem+ right padding or the arrow is clipped. */
.ow-c.ow-form-panel .gform_wrapper select { padding-right: 2rem; }
.ow-c.ow-form-panel .gform_wrapper textarea { height: 7.5rem; min-height: 5rem; resize: vertical; }
.ow-c.ow-form-panel .gform_wrapper input:focus,
.ow-c.ow-form-panel .gform_wrapper select:focus,
.ow-c.ow-form-panel .gform_wrapper textarea:focus { border-color: #1468a0; outline: 2px solid #1468a0; outline-offset: 0; }
.ow-c.ow-form-panel .gform_wrapper fieldset.gfield_fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.ow-c.ow-form-panel .gform_wrapper ul.gfield_checkbox {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .5rem 1.5rem;
  margin: .25rem 0 0;
  padding: 0;
  list-style: none;
}
@media print, screen and (min-width: 40em) {
  .ow-c.ow-form-panel .gform_wrapper ul.gfield_checkbox { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.ow-c.ow-form-panel .gform_wrapper ul.gfield_checkbox li.gchoice {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  margin: 0;
  padding: 0;
  overflow: visible;
}
.ow-c.ow-form-panel .gform_wrapper ul.gfield_checkbox li.gchoice input[type="checkbox"] {
  flex: none;
  width: 1.125rem;
  height: 1.125rem;
  margin: .15rem 0 0;
  accent-color: #0f2947;
}
.ow-c.ow-form-panel .gform_wrapper ul.gfield_checkbox li.gchoice label {
  margin: 0;
  max-width: none;
  font-size: .9375rem;
  line-height: 1.4;
  color: #151515;
}
.ow-c.ow-form-panel .gform_wrapper .gform_footer { margin: 1.75rem 0 0; padding: 0; }
.ow-c.ow-form-panel .gform_wrapper .gform_footer .gform_button {
  display: block;
  width: 100%;
  margin: 0;
  padding: 1rem 1.5rem;
  border: 0;
  background-color: #ffcb3f;
  color: #151515;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ow-c.ow-form-panel .gform_wrapper .gform_footer .gform_button:hover,
.ow-c.ow-form-panel .gform_wrapper .gform_footer .gform_button:focus { background-color: #f5b800; }
.ow-c.ow-form-panel .ow-turnstile { margin-top: 1.25rem; }
.ow-c.ow-form-panel .gform_confirmation_message { font-size: 1.125rem; }

/* ── documents, Small list layout (D-95) ────────────────────────────────── */
/* Downloads in a quiet two-column list: a type tag, the title, the size. */
.ow-c.ow-docs .ow-docs__title {
  margin: 0 0 1rem;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.3;
}
.ow-c.ow-docs .ow-docs__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0 2.5rem;
  border-top: 1px solid #e4e8ee;
}
@media print, screen and (min-width: 40em) {
  .ow-c.ow-docs .ow-docs__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.ow-c.ow-docs .ow-docs__item {
  display: flex;
  align-items: baseline;
  gap: .6rem;
  padding: .6rem 0;
  border-bottom: 1px solid #e4e8ee;
  font-size: .9375rem;
  line-height: 1.4;
}
.ow-c.ow-docs .ow-docs__type {
  flex: none;
  padding: .15rem .3rem;
  border: 1px solid #596b90;
  font-family: TT-Lakes, Open-Sans, Helvetica, Roboto, Arial, sans-serif;
  font-size: .6875rem;
  font-weight: 600;
  letter-spacing: .04em;
  line-height: 1;
  color: #596b90;
}
.ow-c.ow-docs .ow-docs__item a { min-width: 0; }
.ow-c.ow-docs .ow-docs__meta { flex: none; margin-left: auto; font-size: .8125rem; color: #596b90; white-space: nowrap; }

/* ── compact rhythm (D-95) ─────────────────────────────────────────────── */
/* A page whose body class has `ow-compact` (Pages → Settings → Body class) spaces its
   sections closer than the theme's 60/100px module rhythm. Used by /inventa/. */
.ow-compact .module,
.ow-compact .ow-c.module { margin-top: 40px; margin-bottom: 40px; }
.ow-compact .ow-c .ow-head { margin-bottom: 1.75rem; }
@media print, screen and (min-width: 40em) {
  .ow-compact .module,
  .ow-compact .ow-c.module { margin-top: 64px; margin-bottom: 64px; }
}
