/* Adapted from the public HTQ team search. Every selector is scoped to this embed. */
@property --cgf-orbit-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}
@font-face {
  font-family: "Curiegym Inter";
  src: url("fonts/inter-latin-wght-normal.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
.curiegym-finder {
  --cgf-primary: #125292;
  --cgf-text: #202124;
  --cgf-secondary: #5f6368;
  --cgf-border: #e0e3e7;
  --cgf-radius: 14px;
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  margin-inline: 0;
  padding-inline: 0;
  color: var(--cgf-text);
  font-family: "Curiegym Inter", "Inter", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.55;
  text-align: left;
  overflow: visible;
  -webkit-text-size-adjust: 100%;
}
.curiegym-finder, .curiegym-finder * { box-sizing: border-box; }
/* Opt-in: add this class to the finder's Divi ROW, not the text module.
   Section padding and all unrelated Divi rows remain under Divi control. */
.et_pb_row.cgf-finder-row {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-inline: 0 !important;
}
.curiegym-finder.cgf-is-open { z-index: 10000; }
/* Applied only to the open finder's own Divi ancestors, then removed on close.
   Raising the child alone cannot escape a lower stacking context in Divi. */
.cgf-divi-layer {
  z-index: 10000 !important;
  overflow: visible !important;
}
.cgf-divi-layer.cgf-divi-static { position: relative !important; }
.curiegym-finder [hidden] { display: none !important; }
.curiegym-finder .cgf-hero { margin: 0 0 18px; padding: 0; }
.curiegym-finder .cgf-greeting {
  position: static;
  width: auto;
  height: auto;
  max-width: 100%;
  margin: 7px 0 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--cgf-primary);
  font-family: inherit;
  font-size: clamp(26px, 5vw, 35px);
  font-weight: 700;
  font-style: normal;
  line-height: 1.16;
  letter-spacing: -.035em;
  text-transform: none;
  text-align: left;
  overflow-wrap: anywhere;
}
.curiegym-finder .cgf-search { position: relative; margin: 0; padding: 0; }
.curiegym-finder .cgf-control {
  position: relative;
  display: flex;
  align-items: center;
  border-radius: var(--cgf-radius);
  background: #fff;
  font-size: 18px;
  font-weight: 650;
  line-height: 1.5;
  text-align: left;
}
/* A stronger blue highlight travels around a masked 3px rim, with matching end stops.
   The mask keeps the input, caret and buttons completely unobstructed. */
.curiegym-finder .cgf-control::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  padding: 3px;
  border: 0;
  border-radius: inherit;
  background: conic-gradient(
    from var(--cgf-orbit-angle, 0deg),
    rgba(18,82,146,.36) 0deg,
    rgba(18,82,146,.40) 45deg,
    rgba(18,82,146,.60) 90deg,
    #216fb4 140deg,
    #082f56 185deg,
    #125292 230deg,
    rgba(18,82,146,.60) 280deg,
    rgba(18,82,146,.40) 325deg,
    rgba(18,82,146,.36) 360deg
  );
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  pointer-events: none;
  animation: cgf-search-orbit 4.5s linear infinite;
}
/* Gentle halo adds depth without covering the input or changing its dimensions. */
.curiegym-finder .cgf-control::after {
  content: "";
  position: absolute; inset: -3px; border-radius: calc(var(--cgf-radius) + 3px);
  pointer-events: none;
  box-shadow: 0 0 0 3px rgba(18,82,146,.06), 0 5px 24px rgba(18,82,146,.16);
  animation: cgf-search-glow 4.5s ease-in-out infinite;
}
@keyframes cgf-search-glow {
  0%, 100% { opacity: .45; }
  50% { opacity: 1; }
}
@keyframes cgf-search-orbit {
  from { --cgf-orbit-angle: 0deg; }
  to { --cgf-orbit-angle: 360deg; }
}
@supports not ((mask-composite: exclude) or (-webkit-mask-composite: xor)) {
  .curiegym-finder .cgf-control::before {
    padding: 0;
    border: 3px solid #125292;
    background: none;
    animation: none;
  }
}
.curiegym-finder .cgf-search-icon {
  position: absolute;
  left: 19px;
  z-index: 1;
  width: 23px;
  height: 23px;
  fill: none;
  stroke: var(--cgf-primary);
  stroke-width: 1.8;
  stroke-linecap: round;
  pointer-events: none;
}
.curiegym-finder input.cgf-input {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: none;
  height: 64px;
  min-height: 64px;
  margin: 0;
  padding: 0 54px 0 57px;
  border: 2px solid var(--cgf-border);
  border-radius: var(--cgf-radius);
  background: #fff;
  box-shadow: none;
  color: var(--cgf-primary);
  caret-color: var(--cgf-primary);
  font-family: inherit;
  font-size: 18px;
  font-weight: 650;
  line-height: 1.5;
  letter-spacing: normal;
  text-align: left;
  appearance: none;
  -webkit-appearance: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.curiegym-finder input.cgf-input::placeholder { color: #707780; font-weight: 400; opacity: 1; }
.curiegym-finder input.cgf-input:placeholder-shown { padding-right: 18px; }
.curiegym-finder input.cgf-input:focus { border-color: var(--cgf-primary); outline: 0; box-shadow: 0 0 0 4px rgba(18,82,146,.11); }
.curiegym-finder input.cgf-input::-webkit-search-cancel-button,
.curiegym-finder input.cgf-input::-webkit-search-decoration { -webkit-appearance: none; }
/* Real input retains caret, selection and keyboard behavior. Its inert text mirror
   gives the full typed string a gradient, including in browsers with native input internals. */
.curiegym-finder .cgf-ink-window {
  position: absolute;
  inset: 2px 56px 2px 59px;
  display: none;
  align-items: center;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
}
.curiegym-finder .cgf-input-ink {
  display: block;
  flex: 0 0 auto;
  white-space: pre;
  font: inherit;
  letter-spacing: normal;
  background: linear-gradient(105deg, #125292 0%, #0c3b6a 48%, #04182e 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
@supports ((background-clip: text) or (-webkit-background-clip: text)) {
  .curiegym-finder.cgf-has-ink .cgf-ink-window { display: flex; }
  .curiegym-finder.cgf-has-ink input.cgf-input { color: transparent; -webkit-text-fill-color: transparent; }
}
.curiegym-finder input.cgf-input::selection { background: #cbdff3; color: #04182e; }
.curiegym-finder button.cgf-clear {
  position: absolute;
  right: 8px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--cgf-secondary);
  box-shadow: none;
  cursor: pointer;
}
.curiegym-finder .cgf-clear svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.curiegym-finder .cgf-clear:hover { color: var(--cgf-primary); background: #f0f5fa; }
.curiegym-finder .cgf-results {
  position: absolute;
  text-align: left;
  z-index: 10001;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  max-height: min(420px, 56vh);
  max-height: min(420px, 56dvh);
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid #e6e8eb;
  border-radius: var(--cgf-radius);
  background: #fff;
  box-shadow: 0 18px 42px rgba(18,29,41,.17);
}
.curiegym-finder ul.cgf-list { list-style: none !important; margin: 0; padding: 5px; }
.curiegym-finder .cgf-list li { list-style: none !important; margin: 0; padding: 0; }
.curiegym-finder :is(a, button).cgf-result {
  display: flex;
  width: 100%;
  font: inherit;
  text-align: left;
  cursor: pointer;
  appearance: none;
  align-items: center;
  gap: 20px;
  min-height: 62px;
  margin: 0;
  padding: 16px 18px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--cgf-text);
  text-decoration: none !important;
  box-shadow: none;
  transition: background .15s ease;
}
.curiegym-finder .cgf-list li + li { border-top: 1px solid #f0f2f5; }
.curiegym-finder :is(a, button).cgf-result:hover { background: #f4f8fc; color: var(--cgf-primary); }
.curiegym-finder .cgf-result-body { display: block; min-width: 0; flex: 1; overflow-wrap: anywhere; }
.curiegym-finder .cgf-result-title { display: block; color: inherit; font-size: 16px; font-weight: 600; line-height: 1.4; }
.curiegym-finder .cgf-result-description { display: block; margin-top: 4px; color: var(--cgf-secondary); font-size: 13px; font-weight: 400; line-height: 1.55; }
.curiegym-finder .cgf-result-arrow { flex: 0 0 auto; color: #798998; font-size: 23px; font-weight: 400; line-height: 1; }
.curiegym-finder .cgf-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.curiegym-finder .cgf-chip { display: inline-flex; align-items: center; min-height: 22px; padding: 3px 8px; border: 1px solid transparent; border-radius: 6px; font-size: 9px; font-weight: 700; line-height: 1.4; letter-spacing: .065em; }
.curiegym-finder .cgf-chip-important { border-color: #ead5ac; background: #fff6e6; color: #825500; }
.curiegym-finder .cgf-chip-external { border-color: #dbe5ef; background: #f1f5fa; color: #50657b; }
.curiegym-finder p.cgf-message { margin: 0; padding: 22px; color: var(--cgf-secondary); font-size: 14px; line-height: 1.55; white-space: pre-line; }
.curiegym-finder button.cgf-more { display: block; width: calc(100% - 10px); min-height: 44px; margin: 0 5px 5px; padding: 12px 18px; border: 0; border-radius: 9px; background: #f4f8fc; color: var(--cgf-primary); font-family: inherit; font-size: 13px; font-weight: 600; line-height: 1.5; text-align: left; cursor: pointer; }
.curiegym-finder :is(.cgf-clear, .cgf-more, :is(a, button).cgf-result):focus-visible { outline: 2px solid var(--cgf-primary); outline-offset: -2px; background: #f0f6fc; }
.curiegym-finder .cgf-sr-only { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
/* Answer card participates in normal flow directly below the search field. */
.curiegym-finder .cgf-answer-icon { color: var(--cgf-primary); }
.curiegym-finder .cgf-answer-icon svg,
.curiegym-finder .cgf-answer-box svg {
  display: block; width: 23px; height: 23px; fill: none;
  stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round;
}
.curiegym-finder .cgf-answer-box {
  position: relative; box-sizing: border-box;
  display: flex; flex-direction: column;
  width: 100%; min-width: 0; max-width: none;
  margin: 16px 0 0; padding: 24px; overflow: hidden;
  border: 1px solid #dbe4ed; border-radius: 20px;
  background: #fff; color: var(--cgf-text); font: inherit; text-align: left;
  box-shadow: 0 24px 80px rgba(4,24,46,.24);
}
.curiegym-finder .cgf-answer-box:not([hidden]) {
  animation: cgf-answer-box-enter .18s ease-out;
}
.curiegym-finder .cgf-answer-box-head {
  display: flex; align-items: center; gap: 10px; flex-shrink: 0; margin: 0 0 18px;
}
.curiegym-finder .cgf-answer-box-symbol {
  display: grid; place-items: center; width: 40px; height: 40px;
  border-radius: 12px; background: #edf4fa; color: var(--cgf-primary);
}
.curiegym-finder .cgf-answer-box-label {
  color: var(--cgf-primary); font-size: 11px; font-weight: 700;
  letter-spacing: .09em; text-transform: uppercase;
}
.curiegym-finder button.cgf-answer-box-close {
  display: grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px;
  margin: 0 0 0 auto; padding: 0; border: 1px solid #e6e8eb; border-radius: 12px;
  background: #f4f6f8; color: #50657b; box-shadow: none; cursor: pointer; appearance: none;
}
.curiegym-finder button.cgf-answer-box-close:hover { background: #e8f0f8; color: #125292; }
.curiegym-finder .cgf-answer-box-title {
  margin: 0 0 14px; padding: 0; color: #125292; font-family: inherit;
  font-size: clamp(20px, 5vw, 25px); font-weight: 700; line-height: 1.25;
  letter-spacing: -.025em; text-transform: none; text-align: left;
  flex-shrink: 0; overflow-wrap: anywhere;
}
.curiegym-finder .cgf-answer-box-answer {
  max-height: min(420px, 60vh); max-height: min(420px, 60dvh);
  min-height: 0; overflow-y: auto; overscroll-behavior: contain;
  white-space: pre-wrap; overflow-wrap: anywhere;
  font-size: 15px; font-weight: 400; line-height: 1.7; color: #303c48;
}
.curiegym-finder :is(.cgf-answer-box-close, .cgf-answer-box-answer):focus-visible {
  outline: 2px solid #125292; outline-offset: -2px;
}
.curiegym-finder .cgf-answer-box-answer.cgf-formatted { white-space: normal; }
.curiegym-finder .cgf-answer-box-answer :is(p, div, blockquote, pre, ul, ol) { margin: 0 0 12px; }
.curiegym-finder .cgf-answer-box-answer p { padding: 0; }
.curiegym-finder .cgf-answer-box-answer :is(h2, h3, h4, h5, h6) {
  margin: 20px 0 10px; padding: 0; color: #125292; font-family: inherit;
  font-weight: 700; line-height: 1.35; text-transform: none; letter-spacing: -.015em;
}
.curiegym-finder .cgf-answer-box-answer h2 { font-size: 22px; }
.curiegym-finder .cgf-answer-box-answer h3 { font-size: 20px; }
.curiegym-finder .cgf-answer-box-answer h4 { font-size: 17px; }
.curiegym-finder .cgf-answer-box-answer h5 { font-size: 16px; }
.curiegym-finder .cgf-answer-box-answer h6 { font-size: 15px; }
.curiegym-finder .cgf-answer-box-answer :is(b, strong) { font-weight: 700; }
.curiegym-finder .cgf-answer-box-answer :is(i, em) { font-style: italic; }
.curiegym-finder .cgf-answer-box-answer :is(ul, ol) { padding: 0 0 0 24px; list-style-position: outside; }
.curiegym-finder .cgf-answer-box-answer ul { list-style-type: disc; }
.curiegym-finder .cgf-answer-box-answer ol { list-style-type: decimal; }
.curiegym-finder .cgf-answer-box-answer li { display: list-item; list-style: inherit; margin: 5px 0; padding: 0; }
.curiegym-finder .cgf-answer-box-answer a { color: #125292; text-decoration: underline; text-underline-offset: 3px; }
.curiegym-finder .cgf-answer-box-answer blockquote { border-left: 3px solid #125292; padding: 4px 0 4px 16px; }
.curiegym-finder .cgf-answer-box-answer :is(code, pre) { font-family: monospace; background: #f4f6f8; }
.curiegym-finder .cgf-answer-box-answer pre { padding: 12px; border-radius: 8px; white-space: pre-wrap; }
.curiegym-finder .cgf-answer-box-answer hr { border: 0; border-top: 1px solid #e0e3e7; margin: 16px 0; }
.curiegym-finder .cgf-answer-box-answer > :first-child { margin-top: 0; }
.curiegym-finder .cgf-answer-box-answer > :last-child { margin-bottom: 0; }
@keyframes cgf-answer-box-enter {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 480px) {
  .curiegym-finder .cgf-answer-box { padding: 20px; }
  .curiegym-finder .cgf-hero { margin-bottom: 14px; }
  .curiegym-finder .cgf-control { font-size: clamp(16px, 4.1vw, 18px); }
  .curiegym-finder input.cgf-input { padding-left: 43px; padding-right: 45px; font-size: clamp(16px, 4.1vw, 18px); }
  .curiegym-finder .cgf-ink-window { left: 45px; right: 47px; }
  .curiegym-finder .cgf-search-icon { left: 14px; width: 20px; height: 20px; }
  .curiegym-finder button.cgf-clear { right: 3px; }
  .curiegym-finder :is(a, button).cgf-result { gap: 12px; padding: 15px 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .curiegym-finder *, .curiegym-finder *::before, .curiegym-finder *::after { transition: none !important; animation: none !important; }
}
@media (forced-colors: active) {
  .curiegym-finder.cgf-has-ink .cgf-ink-window { display: none; }
  .curiegym-finder.cgf-has-ink input.cgf-input { color: CanvasText; -webkit-text-fill-color: CanvasText; }
  .curiegym-finder .cgf-control::before, .curiegym-finder .cgf-control::after { display: none; }
}
