html.enh {
  --enh-read: #c4bdb1;
  --enh-rule: rgba(216, 182, 124, 0.16);
  --enh-matte: #050807;
  --enh-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* Home destination index (JS-generated nav): removed in every viewport.
   display: none leaves no box, keyboard targets or accessibility-tree entries;
   !important stops later or more specific rules from restoring it. */
.enh-home-index {
  display: none !important;
}

/* Home: one projected widescreen frame, lit from within. */
html.enh #home-section {
  width: min(100%, 1280px);
  justify-content: center;
}

html.enh #home-section > .profile-intro {
  margin-block: 0;
}

html.enh #home-section .profile-opening {
  --enh-pw: min(45vw, 680px, calc((100vh - var(--topbar) - 208px) * 1.36));
  --profile-portrait-height: calc(var(--enh-pw) / 1.36);
  position: relative;
  isolation: isolate;
  grid-template-columns: var(--enh-pw) minmax(0, 1fr);
  align-items: center;
  gap: clamp(28px, 4vw, 64px);
  min-height: clamp(360px, 54vh, 640px);
  padding: clamp(24px, 4vh, 48px) clamp(16px, 3vw, 56px) 0 0;
}

html.enh #home-section .profile-opening::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  content: "";
  pointer-events: none;
  background:
    radial-gradient(closest-side at 44% 56%, rgba(216, 182, 124, 0.034), transparent),
    linear-gradient(90deg, transparent, rgba(230, 224, 212, 0.02) 26% 74%, transparent);
}

html.enh #home-section .profile-hero {
  align-self: end;
}

html.enh #home-section .profile-lead {
  min-width: 0;
  max-width: 36rem;
  align-self: center;
  padding-block: clamp(20px, 4vh, 48px);
}

html.enh #home-section .profile-lead p {
  max-width: none;
  margin: 0 0 18px;
}

html.enh #home-section .profile-lead p:first-child {
  margin-bottom: 20px;
  color: var(--accent);
  font: 400 14px/1.7 "Inter", sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-wrap: balance;
}

html.enh #home-section .profile-lead p:nth-child(2) {
  margin-bottom: 24px;
  color: var(--text);
  font: 300 clamp(1.875rem, 0.6rem + 2.5vw, 3rem)/1.1 "Cormorant Garamond", serif;
  text-wrap: balance;
}

html.enh #home-section .profile-lead p:nth-child(3) {
  color: var(--muted);
  font: 300 16px/1.65 "Inter", sans-serif;
  text-wrap: pretty;
}

html.enh #home-section .profile-lead .profile-location {
  margin: 0;
  font-size: 15px;
  letter-spacing: 0.02em;
}

@media (prefers-reduced-motion: no-preference) {
  html.enh:not(.site-preloading) #home-section .profile-opening::after {
    animation: enh-home-frame 1400ms var(--enh-ease) both;
  }
}

@keyframes enh-home-frame {
  from { opacity: 0; clip-path: inset(0 50%); }
  to { opacity: 1; clip-path: inset(0 0); }
}

/* Phone: the frame stacks and scrolls. */
@media (max-width: 860px), (hover: none) and (pointer: coarse) and (max-width: 1040px) and (max-height: 500px) {
  html.enh #home-section .profile-opening {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    min-height: 0;
    padding: 22px 0 30px;
  }

  html.enh #home-section .profile-lead {
    max-width: none;
    padding: 0;
  }
}

/* Menu label typography matches andrewhewitt.co; retain this site's colors. */
html.enh .topbar-links .menu-entry {
  min-height: 44px;
  font: 500 12px/18px "Inter", sans-serif;
  letter-spacing: 2.4px;
  text-transform: uppercase;
}

html.enh .cinema-menu-option,
html.enh .site-brand {
  min-height: 44px;
}

@media (min-width: 861px) and (max-width: 1099px) {
  html.enh .topbar-links {
    gap: clamp(12px, calc(6.7vw - 46px), 28px);
    margin-left: 1rem;
  }

  html.enh .topbar-links .menu-entry {
    padding-inline: 0.25rem;
    letter-spacing: 2.4px;
  }
}

/* Shared accessibility: visible keyboard focus, without programmatic heading rings. */
html.enh :focus-visible {
  outline: 2px solid var(--accent) !important;
  outline-offset: 3px !important;
}

html.enh [tabindex="-1"]:focus-visible {
  outline: none !important;
}

/* OPUS_HOME_CORE_COMPLETE *//* Home hero: suppress the full-rectangle ::after gradient wash so the hero sits directly on the page. Portrait, type geometry and portrait masking are untouched. */
html.enh #home-section .profile-opening::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}
/* Start only once the loaded page has been painted in its hidden state. */
html.local-entrance-pending body {
  opacity: 1 !important;
  transition: none !important;
  animation: none !important;
}
/* One bottom gutter: nested page padding must not manufacture overflow. */
html.enh .rhs-content { padding-bottom: 24px; }
html.enh .section { padding-bottom: 0; }
/* LOCAL_PAGE_GEOMETRY_COMPLETE */
