/* supporting-views.css: About, Podcast, Contact, Web, key light, nav marker, course entry pages. */
.enh-light,
.enh-nav-marker { display: none; }
html:not(.enh) :is(.enh-light, .enh-nav-marker, .enh-cinema-nav, .enh-home-index) { display: none; }

/* Key light: one static warm source per view; it moves only when data-enh-view changes. */
html.enh[data-enh-view] .enh-light {
  --enh-lx: 30vw;
  --enh-ly: 55vh;
  --enh-lo: 1;
  position: fixed;
  inset: 0;
  z-index: 0;
  display: block;
  overflow: hidden;
  contain: strict;
  pointer-events: none;
}
html.enh[data-enh-view] .enh-light::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 160vmax;
  height: 160vmax;
  margin: -80vmax 0 0 -80vmax;
  background: radial-gradient(closest-side, rgba(226, 194, 140, 0.075), rgba(216, 182, 124, 0.034) 40%, rgba(183, 205, 180, 0.012) 68%, transparent);
  content: "";
  opacity: var(--enh-lo);
  transform: translate3d(var(--enh-lx), var(--enh-ly), 0);
  transition: transform 900ms cubic-bezier(0.22, 1, 0.36, 1), opacity 900ms cubic-bezier(0.22, 1, 0.36, 1);
}
html.enh[data-enh-view="about"] .enh-light { --enh-lx: 18vw; --enh-ly: 20vh; }
html.enh[data-enh-view^="cinema-"] .enh-light { --enh-lx: 40vw; --enh-ly: 22vh; }
html.enh[data-enh-view="cinema-courses"] .enh-light { --enh-lx: 50vw; --enh-ly: 30vh; }
html.enh[data-enh-view="cinema-blog"] .enh-light { --enh-lx: 30vw; --enh-ly: 35vh; }
html.enh[data-enh-view="cinema-blog-reader"] .enh-light { --enh-lx: 22vw; --enh-ly: 30vh; --enh-lo: 0.55; }
html.enh[data-enh-view="podcast"] .enh-light { --enh-lx: 28vw; --enh-ly: 50vh; }
html.enh[data-enh-view="web"] .enh-light { --enh-lx: 75vw; --enh-ly: 25vh; }
html.enh[data-enh-view="contact"] .enh-light { --enh-lx: 50vw; --enh-ly: 50vh; }

/* Navigation marker: a single gold hairline along the topbar rule. */
html.enh .topbar-links { position: relative; }
html.enh .enh-nav-marker {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: var(--enh-marker-width, 0px);
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--accent) 18%, var(--accent) 82%, transparent);
  opacity: var(--enh-marker-opacity, 0);
  pointer-events: none;
  transform: translateX(var(--enh-marker-x, 0px));
  transition: transform 500ms cubic-bezier(0.22, 1, 0.36, 1), width 500ms cubic-bezier(0.22, 1, 0.36, 1), opacity 500ms ease;
}

/* About: open editorial chapters with fading hairlines instead of trial cards. */
html.enh[data-enh-view="about"] #about-section > .profile-chapter {
  margin: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  padding: clamp(2.5rem, 5vw, 4.5rem) 0;
}
html.enh[data-enh-view="about"] #about-section > .profile-chapter:first-child { padding-top: 0; }
html.enh[data-enh-view="about"] #about-section > .profile-chapter:last-child { padding-bottom: 0; }
html.enh[data-enh-view="about"] #about-section > .profile-chapter + .profile-chapter::before {
  top: 0;
  display: block;
  background: linear-gradient(90deg, transparent, rgba(216, 182, 124, 0.17) 14%, rgba(216, 182, 124, 0.17) 86%, transparent);
}
html.enh[data-enh-view="about"] #about-section .profile-chapter-heading span {
  color: var(--accent);
  font: 400 14px/1.2 "Inter", sans-serif;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.18em;
}
html.enh[data-enh-view="about"] #about-section .profile-entry p {
  max-width: 68ch;
  font-size: 16px;
  line-height: 1.85;
}

html.enh #podcast-section .podcast-subtitle {
  font-size: calc(clamp(0.90625rem, 1.45vw, 1.0625rem) - 1px);
}

@media (min-width: 861px) {
  html.enh #podcast-section .podcast-cover {
    contain: size;
    align-self: stretch;
    justify-self: start;
    width: auto;
    height: 100%;
    max-width: 100%;
    aspect-ratio: 1;
  }
}

/* Contact: end credits, role beside name, centred in the visible pane. */
html.enh[data-enh-view="contact"] .rhs-content { display: flex; flex-direction: column; }
html.enh[data-enh-view="contact"] .rhs-content > .section-stage { margin-block: auto; }
html.enh[data-enh-view="contact"] #contact-section { padding-bottom: 0; }
html.enh[data-enh-view="contact"] #contact-section .contact-panel { width: min(100%, 56rem); gap: 3rem; margin: 0 auto; }
html.enh[data-enh-view="contact"] #contact-section .contact-group {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: baseline;
  column-gap: clamp(1.5rem, 4vw, 3rem);
}
html.enh[data-enh-view="contact"] #contact-section .contact-heading {
  margin: 0;
  color: var(--accent);
  font: 400 14px/1.5 "Inter", sans-serif;
  letter-spacing: 0.18em;
  text-align: right;
  text-transform: uppercase;
}
html.enh[data-enh-view="contact"] #contact-section .contact-links { gap: 0; justify-items: start; }
html.enh[data-enh-view="contact"] #contact-section .contact-links li { max-width: 100%; min-width: 0; }
html.enh[data-enh-view="contact"] #contact-section .contact-links a {
  display: flex;
  width: fit-content;
  max-width: 100%;
  min-height: 48px;
  align-items: center;
  color: var(--text);
  font: 300 22px/1.25 "Cormorant Garamond", serif;
  letter-spacing: 0.01em;
  overflow-wrap: anywhere;
  text-decoration-color: rgba(216, 182, 124, 0.28);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}
html.enh[data-enh-view="contact"] #contact-section .contact-links a:is(:hover, :focus-visible) {
  color: var(--italic-accent);
  text-decoration-color: var(--italic-accent);
}

/* Web: token and type fixes only; architecture, sliders, expanders and reveals untouched. */
html.enh[data-enh-view="web"] .web-section { --web-quiet: #8f897f; }
html.enh[data-enh-view="web"] #web-section :is(.web-eyebrow, .web-case-index, .web-case-scope, .web-section-number, .web-hero-footnote, .web-process-steps span, .web-service-row > span, .proposal-service-row > span, .web-text-link, .web-contact-link) { font-size: 14px; }
html.enh[data-enh-view="web"] #web-section .web-case-visual { border-radius: 2px; }

@media (min-width: 861px) {
  html.enh[data-enh-view="about"] #about-section > .profile-chapter {
    --enh-about-title: clamp(48px, 4vw, 56px);
    grid-template-columns: calc(var(--enh-about-title) * 4.9) minmax(0, 1fr);
    column-gap: clamp(40px, 4.5vw, 64px);
  }
  html.enh[data-enh-view="about"] #about-section .profile-chapter-heading { position: sticky; top: 3rem; }
  html.enh[data-enh-view="about"] #about-section .profile-chapter-heading h2 {
    font-family: "Cormorant Garamond", serif;
    font-size: var(--enh-about-title);
    font-weight: 300;
    line-height: 1;
  }
  html.enh[data-enh-view="about"] #about-section > .profile-chapter > :is(.profile-pair, .profile-entry) { padding-top: 28px; }
}

@media (max-width: 860px), (hover: none) and (pointer: coarse) and (max-width: 1040px) and (max-height: 500px) {
  html.enh .enh-nav-marker { display: none; }
  html.enh[data-enh-view="contact"] #contact-section .contact-group { grid-template-columns: minmax(0, 1fr); row-gap: 0.35rem; text-align: center; }
  html.enh[data-enh-view="contact"] #contact-section .contact-heading { text-align: center; }
  html.enh[data-enh-view="contact"] #contact-section .contact-links { justify-items: center; }
  html.enh[data-enh-view="contact"] #contact-section .contact-links a { justify-content: center; margin-inline: auto; text-align: center; }
}

/* React course entry pages: no enhancement JS, CSS-only care. */
html:has(> body > #root) { scrollbar-color: #444842 #0b100d; }
html:has(> body > #root) :is(textarea, select) { scrollbar-color: auto; }
html:has(> body > #root) :not(input, textarea, select)::selection { background-color: rgba(216, 182, 124, 0.24); color: #f3e8d2; }
html:has(> body > #root) :focus-visible:not(input, select, textarea, video, audio, iframe) {
  outline: 2px solid rgba(216, 182, 124, 0.9) !important;
  outline-offset: 3px !important;
}

@media (prefers-reduced-motion: reduce) {
  html.enh[data-enh-view] .enh-light::before,
  html.enh .enh-nav-marker { transition: none; }
  html:has(> body > #root) { scroll-behavior: auto !important; }
  html:has(> body > #root) body :not(form, form *, video, audio, [class*="player" i], [class*="player" i] *) {
    scroll-behavior: auto !important;
    animation-delay: 0s !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    transition-delay: 0s !important;
    transition-duration: 1ms !important;
  }
}
/* OPUS_SUPPORTING_COMPLETE */
