/* V83 green-only patch for V82: ONE restrained accent, #96FF32.
   Green is a UI signal, not a general-purpose decoration.
   Apply to interactive hover/focus, active feedback, gallery pointer only.
   Everything informational is monochrome. Official third-party marks and
   semantic validation states retain their own identity. */
:root {
  --ht-accent: #96FF32;
  --ht-accent-interactive: #96FF32; /* same single accent hue, full-strength for focus and hover */
  --ht-accent-soft: #96FF32;
  --ht-accent-line: #96FF32;
  --ht-accent-glow: rgba(150,255,50,.11);
  --ht-accent-glow-deep: rgba(150,255,50,.13);
  --ht-accent-shadow: rgba(150,255,50,.29);
}
/* Accessible focus, used consistently on all 18 pages. */
html body :is(a,button,input,textarea,select,[tabindex]):focus-visible {
  outline: 2px solid var(--ht-accent-interactive) !important;
  outline-offset: 3px;
}
/* Quiet typography: numbers, section captions, informational panels are NOT brand accents. */
html body .v74-founder-eyebrow,
html body .v74-experience-grid article span,
html body .v74-case-takeaway span,
html body .v77-index,
html body .v77-delivery-list article > span,
html body .v77-next-grid article > span {
  color: #B8BCC2 !important;
}
html body .v74-founder-signoff,
html body .v74-case-takeaway { border-left-color: #62666D !important; }
html body .v77-next-grid article { border-top-color: #4B4F56 !important; }
html body .v77-link, html body .v77-us-actions a {
  border-bottom-color: #666A72 !important;
}
html body .v77-link:hover,html body .v77-us-actions a:hover,
html body .v77-link:focus-visible,html body .v77-us-actions a:focus-visible {
  border-bottom-color: var(--ht-accent-interactive) !important;
}
/* Contact feedback is grey until success/error is known; semantic colours remain. */
html body .v76-contact-form .v76-form-status:not([data-state=error]):not([data-state=success]) {
  color: #B9BCC3 !important;
}
/* Future LinkedIn cards (hidden pending authorization): neutral until interaction. */
html body .v76-inside-header a,
html body .v76-inside-card > span:last-child { color:#E4E5E9 !important; }
html body .v76-inside-header a:hover,
html body .v76-inside-card:hover > span:last-child,
html body .v76-inside-card:focus-visible > span:last-child { color:var(--ht-accent-interactive) !important; }
/* Global interaction vocabulary: a small VFX-green cue only while the user interacts. */
html body :is(.nav a,.v20-footer-nav a,.ht-text-action,.inline-link,.v27-button,.pill-button):hover,
html body :is(.nav a,.v20-footer-nav a,.ht-text-action,.inline-link,.v27-button,.pill-button):focus-visible {
  text-decoration-color: var(--ht-accent-interactive);
}
html body .nav a:hover,html body .nav a:focus-visible {
  color: var(--ht-accent-interactive) !important;
}
html body :is(input,textarea,select):focus-visible { border-color:var(--ht-accent-interactive) !important; }
/* Film stills and case-study boxes remain neutral. Cursor feedback is reserved for the titles field. */
html body .v57-case-study:before { background:none !important; }
html body .v59-credits {
  background:radial-gradient(ellipse at 50% 90%,#15161A 0%,#0A0B0E 48%,#07090B 100%) !important;
}
html body .v59-credits:before { background:none !important; }
html body .v62-gallery-stage {
  background:radial-gradient(ellipse at 50% 42%,#17171C 0%,#0C0D10 50%,transparent 85%) !important;
}
html body .v62-gallery-stage:after {
  background:radial-gradient(circle 300px at var(--pointer-x,50%) var(--pointer-y,50%),var(--ht-accent-glow),transparent 85%) !important;
}
html body .v61-poster:before {
  box-shadow:0 0 35px rgba(150,255,50,.21),0 0 75px rgba(150,255,50,.09) !important;
}
html body .v61-titles-controls button:hover,
html body .v61-titles-controls button:focus-visible { background:#24262A !important; }
/* Floating hamburger remains accessible everywhere, but isn't a permanent green badge. */
html body header.site-header .header-inner > .header-menu-wrap {
  position:fixed !important;
  top:17px !important;
  right:32px !important;
  left:auto !important;
  margin:0 !important;
  padding:3px !important;
  z-index:10000 !important;
  isolation:isolate;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  box-shadow:none;
  transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease;
}
html body.v80-has-scrolled header.site-header .header-inner > .header-menu-wrap,
html body header.site-header .header-inner > .header-menu-wrap:focus-within,
html body header.site-header .header-inner > .header-menu-wrap.is-open {
  background:rgba(15,16,19,.96) !important;
  border-color:rgba(255,255,255,.19) !important;
  box-shadow:0 12px 30px rgba(0,0,0,.42) !important;
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
}
html body header.site-header .header-inner > .header-menu-wrap:focus-within {
  border-color:var(--ht-accent-interactive) !important;
}
html body header.site-header .header-menu-wrap > .nav {
  top:100% !important;right:0 !important;border-radius:9px !important;
  max-height:min(76dvh,680px) !important;overscroll-behavior:contain;
}
@media(max-width:700px) {
  html body header.site-header .header-inner > .header-menu-wrap { top:12px !important;right:13px !important; }
  html body header.site-header .header-menu-wrap > .nav { width:min(345px,calc(100vw - 26px)) !important; }
}
@media(prefers-reduced-motion:reduce) {
  html body header.site-header .header-inner > .header-menu-wrap { transition:none !important; }
}

/* V103.5: consistent green form focus across public website, including native Safari select focus. */
html body select, html body input[type="checkbox"], html body input[type="radio"] { accent-color: #96FF32 !important; }
html body select:focus, html body select:focus-visible {
  outline: 2px solid #96FF32 !important;
  outline-offset: 2px !important;
  border-color: #96FF32 !important;
  box-shadow: none !important;
}
html body input:focus-visible, html body textarea:focus-visible,
html body button:focus-visible, html body a:focus-visible {
  outline-color: #96FF32 !important;
}
