/* site.css: behaviour that Framer handled in JavaScript, recreated in plain CSS.
   Loaded after the page stylesheet. Inline styles in the HTML are Framer's,
   so hover states need !important to override them. */

/* Nav links: soft inset shadow on hover */
a[data-framer-name="Variant 1"] { transition: box-shadow .2s ease; }
a[data-framer-name="Variant 1"]:hover { box-shadow: rgba(0, 0, 0, 0.275) 0px 1px 2px 0px inset !important; }

/* Light buttons ("Strategic Advisor" pill, light "Contact JT"): shadow deepens on hover */
[data-framer-name="secondary cta"] { transition: box-shadow .2s ease; }
[data-framer-name="secondary cta"]:hover {
  box-shadow: rgba(133, 133, 133, 0.69) 0px 0.706592px 0.706592px -0.583333px, rgba(133, 133, 133, 0.68) 0px 1.80656px 1.80656px -1.16667px, rgba(133, 133, 133, 0.65) 0px 3.62176px 3.62176px -1.75px, rgba(133, 133, 133, 0.61) 0px 6.8656px 6.8656px -2.33333px, rgba(133, 133, 133, 0.52) 0px 13.6468px 13.6468px -2.91667px, rgba(133, 133, 133, 0.3) 0px 30px 30px -3.5px, rgb(255, 255, 255) 0px 3px 1px 0px inset !important;
}

/* Dark "Contact JT" button: shadow deepens on hover */
[data-framer-name="main cta"] { transition: box-shadow .2s ease; }
[data-framer-name="main cta"]:hover {
  box-shadow: rgba(61, 61, 61, 0.72) 0px 0.602187px 1.08394px -1.25px, rgba(61, 61, 61, 0.64) 0px 2.28853px 4.11936px -2.5px, rgba(61, 61, 61, 0.25) 0px 10px 18px -3.75px, rgba(0, 0, 0, 0.48) 0px 0.706592px 0.706592px -0.583333px, rgba(0, 0, 0, 0.47) 0px 1.80656px 1.80656px -1.16667px, rgba(0, 0, 0, 0.46) 0px 3.62176px 3.62176px -1.75px, rgba(0, 0, 0, 0.43) 0px 6.8656px 6.8656px -2.33333px, rgba(0, 0, 0, 0.36) 0px 13.6468px 13.6468px -2.91667px, rgba(0, 0, 0, 0.21) 0px 30px 30px -3.5px !important;
}

/* Small square icon buttons (LinkedIn in the footer, contact tiles) */
a[data-framer-name="Primary"] { transition: box-shadow .2s ease; }
a[data-framer-name="Primary"]:hover {
  box-shadow: rgba(0, 0, 0, 0.12) 0px 0.706592px 0.706592px -0.666667px, rgba(0, 0, 0, 0.11) 0px 1.80656px 1.80656px -1.33333px, rgba(0, 0, 0, 0.11) 0px 3.62176px 3.62176px -2px, rgba(0, 0, 0, 0.1) 0px 6.8656px 6.8656px -2.66667px, rgba(0, 0, 0, 0.08) 0px 13.6468px 13.6468px -3.33333px, rgba(0, 0, 0, 0.03) 0px 30px 30px -4px, rgb(255, 255, 255) 0px 3px 1px 0px inset !important;
}

/* Mobile menu: Framer's classes set display on the nav, so force [hidden] */
nav[data-menu][hidden] { display: none !important; }

/* Mobile menu button */
[data-framer-name="Burger"], [data-framer-name="X"] { cursor: pointer; }
[data-framer-name="Burger"]:focus-visible, [data-framer-name="X"]:focus-visible { outline: 2px solid #fff; outline-offset: 4px; border-radius: 4px; }

/* Text read by screen readers and search engines but not shown */
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* Touch screens: enlarge the tappable area of small controls without changing how they look */
@media (pointer: coarse) {
  [data-framer-name="Burger"], [data-framer-name="X"],
  a[data-framer-name="Primary"], a[data-framer-name="Variation"],
  a.framer-text, a[data-framer-name="toggle"], a[data-framer-name="website"], a[data-framer-name="go back"] { position: relative; }
  [data-framer-name="Burger"]::after, [data-framer-name="X"]::after { content: ""; position: absolute; inset: -8px; }
  a[data-framer-name="Primary"]::after, a[data-framer-name="Variation"]::after { content: ""; position: absolute; inset: -4px; }
  a.framer-text::after, a[data-framer-name="toggle"]::after, a[data-framer-name="website"]::after, a[data-framer-name="go back"]::after { content: ""; position: absolute; inset: -14px -6px; }
}

/* Contact form status line */
.form-status { margin: 8px 0 0; font: 500 13px/1.4 "Inter", sans-serif; color: rgb(52, 71, 92); text-align: center; }

@media (prefers-reduced-motion: reduce) {
  [data-anim] { opacity: 1 !important; transform: none !important; filter: none !important; }
}

/* --- competencepartnership.com --- */
/* Audience cards: title fades out and the description slides up on hover */
.framer-l4yuF .framer-we9l7a { transition: opacity .3s ease; }
.framer-l4yuF .framer-k33yix { transition: top .45s cubic-bezier(0.22, 1, 0.36, 1); }
.framer-l4yuF.framer-v-nhyobk:hover .framer-we9l7a { opacity: 0 !important; }

/* Light icon buttons: inner glow strengthens on hover */
a[data-framer-name="Variation"] { transition: box-shadow .2s ease; }
a[data-framer-name="Variation"]:hover { box-shadow: rgb(255, 255, 255) 0px 0px 20px 0px inset !important; }

/* Contrast: text made fully opaque where it was faded, colours shifted just enough to pass WCAG AA */
.framer-pynvw9, .framer-tllajv, .framer-mwshdj, .framer-159qbw6, .framer-1b03jqn, .framer-5opua0 { opacity: 1 !important; }
.framer-hzc3e1 .framer-text, .framer-aizau6 .framer-text { color: #0d7896 !important; }
.framer-h2t2qd .framer-text { color: #ecf5f8 !important; }
.framer-pynvw9 .framer-text { color: #b0560b !important; }
.framer-tllajv .framer-text, .framer-1b03jqn .framer-text, .framer-5opua0 .framer-text { color: #edf5f8 !important; }
.framer-mwshdj .framer-text, .framer-159qbw6 .framer-text { color: #fbf2e9 !important; }

/* Phone header: fit any screen width (was fixed at 390px, hiding the menu button on smaller phones) */
.framer-i842N.framer-v-1fyln4y .framer-19xy2mx { max-width: calc(100vw - 40px) !important; }
.framer-i842N.framer-v-1voxep0 .framer-1y8gpgw { max-width: calc(100vw - 40px) !important; box-sizing: border-box; }
.framer-i842N.framer-v-1voxep0.framer-1kzyq4g { max-width: 100vw !important; box-sizing: border-box; }
.framer-i842N.framer-v-1voxep0 .framer-1opxx11 { max-width: calc(100vw - 40px) !important; }

/* Touch screens have no hover: show each audience card's description under its title */
@media (hover: none) {
  .framer-l4yuF .framer-15mb0sn { height: auto !important; overflow: visible !important; }
  .framer-l4yuF .framer-we9l7a, .framer-l4yuF .framer-k33yix { position: relative !important; top: auto !important; }
  .framer-l4yuF .framer-k33yix { margin-top: 10px; }
}
