/* ------------------------------------------------------------------
   fix.css – overrides for the self-contained (no-JS) static export.
   Framer normally reveals content and handles anchor scrolling via
   JavaScript loaded from framerusercontent.com. That JS was removed to
   make the site self-hosting, so these rules restore the intended
   final/visible state and native anchor behaviour.
   ------------------------------------------------------------------ */

/* Smooth in-page navigation for the (now native) anchor links. */
html {
  scroll-behavior: smooth;
}

/* Keep section targets clear of the sticky navigation bar when jumping
   to an in-page anchor. */
:target,
#hero-section,
#bio-section,
#work-section,
#contact {
  scroll-margin-top: 96px;
}

/* Safety net: any element still carrying a Framer "appear" start state
   (opacity/blur/offset) is forced to its resting, visible state. The
   HTML has already been baked to the final state, so this only guards
   against anything missed. */
[data-framer-appear-id] {
  opacity: 1 !important;
  filter: none !important;
}

/* Anchor links should look clickable. */
a { cursor: pointer; }

/* The hero avatar's front face is meant to be greyscale (Framer scopes
   that filter to one breakpoint only, so guarantee it here). */
[data-framer-name="Avatar - Front"] { filter: grayscale(1) !important; }

/* A second, empty "Services Cards" breakpoint variant (its cards were
   injected by the Framer runtime that we removed) otherwise leaves an
   empty gap. Hide any Services Cards container that has no content. */
[data-framer-name="Services Cards"]:empty { display: none !important; }

/* ------------------------------------------------------------------
   Offline hamburger menu (built by assets/nav.js). Hidden until the
   <html> element gets the .nav-open class. Styled to match the dark
   navigation bar.
   ------------------------------------------------------------------ */
.offline-menu {
  position: fixed;
  top: 76px;
  right: 20px;
  z-index: 1000;
  display: none;
  flex-direction: column;
  min-width: 180px;
  padding: 8px;
  border-radius: 14px;
  background: #3a0d0d;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.28);
  font-family: "Inter", "Trebuchet MS", system-ui, sans-serif;
}
.nav-open .offline-menu { display: flex; }
.offline-menu a {
  padding: 11px 14px;
  border-radius: 9px;
  color: #faf7f3;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: background-color 0.15s ease;
}
.offline-menu a:hover,
.offline-menu a:focus {
  background: rgba(250, 247, 243, 0.14);
  color: #faf7f3;
}
