/* 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; }
}

/* --- jtanderson.co --- */
/* Contrast: these labels sat at 80% opacity in pale orange; now fully opaque, colour shifted just enough to pass WCAG AA */
.framer-1w636jq, .framer-sw8ezh, .framer-1x6zk2q { opacity: 1 !important; }
.framer-1w636jq .framer-text { color: #a35e09 !important; }
.framer-sw8ezh .framer-text, .framer-1x6zk2q .framer-text { color: #e1aa65 !important; }

/* News page tab bar was fixed at 350px and spilled off 320px screens */
.framer-1x54kqt, .framer-cfm6ur-container, .framer-cfm6ur-container > * { max-width: 100% !important; }

/* Phone header: never wider than the screen */
.framer-ZiM1d.framer-v-1fyln4y.framer-1kzyq4g { width: 100% !important; max-width: 100vw; box-sizing: border-box; }

/* --- Laura Anderson --- */
/* The signature logo is long and thin, so give it wider boxes than the template's square-ish logo */
.framer-12vxgde { width: 190px !important; }
.framer-qtoqks { width: 260px !important; height: 52px !important; }
/* Four credential logos instead of eight client logos: let the grid size its rows to its content */
.framer-omwFN .framer-4cwpg1 { grid-template-rows: auto !important; grid-auto-rows: auto !important; row-gap: 40px !important; }
@media (max-width: 809.98px) {
  .framer-12vxgde { width: 150px !important; }
  .framer-qtoqks { width: 210px !important; height: 42px !important; }
}
