:root { color-scheme: dark; --background: #242a1e; --accent: #fff5da; --text: #fff5da; --muted: #e2dccb; --line: #686957; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 32px; }
body { margin: 0; background: var(--background); color: var(--text); font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-weight: 400; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-underline-offset: 5px; }
a:hover { color: var(--accent); }
a:focus-visible, button:focus-visible { outline: 2px solid var(--accent); outline-offset: 6px; }
.skip-link { position: fixed; z-index: 10; top: 12px; left: 20px; padding: 12px 18px; background: var(--accent); color: #050505; transform: translateY(-160%); }
.skip-link:focus { transform: none; }
.site-header { max-width: 1600px; margin: auto; padding: 29px 5%; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 28px; }
.wordmark { color: var(--accent); font-size: 22px; text-transform: uppercase; font-weight: 300; letter-spacing: -1px; text-decoration: none; white-space: nowrap; }
.social-links { display: flex; gap: 12px; align-items: center; justify-content: flex-end; color: var(--accent); }
.social-links a { width: 26px; height: 36px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.social-links svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.social-links .filled { fill: currentColor; stroke: none; }
.social-links a:hover { color: var(--text); }
.imdb { font-size: 10px; font-weight: 700; letter-spacing: -.5px; }
.vimeo { font: italic 700 25px Georgia, serif; }
.announcement { text-align: center; padding: 64px 24px 82px; }
.eyebrow { color: var(--muted); margin: 0 0 28px; font-size: 10px; text-transform: uppercase; letter-spacing: 2.8px; }
h1 { color: var(--accent); font-family: "Helvetica Neue", "Segoe UI", Arial, sans-serif; font-weight: 200; font-size: clamp(64px, 7.3vw, 106px); letter-spacing: -4.5px; line-height: .88; text-transform: uppercase; margin: 0 0 30px; }
.intro { max-width: 700px; margin: auto; font-size: 14px; line-height: 1.9; letter-spacing: .3px; }
.intro p { margin: 0 0 17px; }
.intro p:last-child { margin-bottom: 0; }
.intro em { font-style: normal; color: #f2efeb; }
.intro a { color: var(--accent); text-decoration-thickness: 1px; }
.intro a:hover { color: var(--text); }
.on-set { max-width: 1600px; margin: auto; padding: 0 5%; }
.photographs { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
figure { margin: 0; overflow: hidden; background: #191714; }
figure img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.image-caption { display: flex; justify-content: space-between; margin: 16px 0 0; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: 1.7px; }
.contact { text-align: center; padding: 112px 24px 106px; }
.contact .eyebrow { margin-bottom: 21px; }
h2 { color: var(--accent); font-family: "Helvetica Neue", "Segoe UI", Arial, sans-serif; font-size: clamp(40px, 5vw, 64px); font-weight: 200; letter-spacing: -2px; margin: 0 0 20px; }
h2 a { text-decoration: none; }
h2 a:hover { color: var(--text); }
h2 span { font-size: .65em; display: inline-block; vertical-align: middle; }
.email { color: var(--text); font-size: 13px; letter-spacing: .4px; text-decoration: none; }
.site-footer { margin: 0 5%; border-top: 1px solid var(--line); padding: 27px 0 30px; display: flex; justify-content: space-between; gap: 20px; font-size: 10px; text-transform: uppercase; letter-spacing: 1.3px; color: var(--muted); }
.footer-links { display: flex; gap: 25px; }
.footer-links a { text-decoration: none; }
@media (min-width: 1600px) { .site-footer { max-width: 1440px; margin-inline: auto; } }
@media (max-width: 640px) {
  .site-header { padding: 22px 20px; gap: 16px; }
  .wordmark { font-size: 20px; }
  .header-social { gap: 6px; }
  .social-links a { width: 24px; }
  .announcement { padding: 59px 20px 52px; }
  .eyebrow { font-size: 9px; letter-spacing: 2px; margin-bottom: 25px; }
  h1 { font-size: clamp(54px, 13.5vw, 82px); letter-spacing: -2.8px; margin-bottom: 28px; }
  .intro { max-width: 440px; font-size: 13px; line-height: 1.85; letter-spacing: .1px; }
  .intro p { margin-bottom: 20px; }
  .on-set { padding: 0 20px; }
  .photographs { grid-template-columns: 1fr; gap: 12px; }
  .image-caption { font-size: 8px; letter-spacing: 1px; gap: 12px; }
  .contact { padding: 80px 20px; }
  .site-footer { margin: 0 20px; flex-direction: column; padding: 24px 0; font-size: 9px; }
  .footer-links { flex-wrap: wrap; gap: 24px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Full-frame holding page. Legacy selectors above support the 404 page. */
.landing { font-family: Arial, Helvetica, sans-serif; color: #fff5da; }
.full-frame { position: relative; isolation: isolate; min-height: 100svh; display: flex; flex-direction: column; padding: 0 4%; }
.hero-photo, .hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-photo { z-index: -2; object-fit: cover; object-position: 47% center; }
.hero-shade { z-index: -1; background: linear-gradient(180deg, rgba(15,23,10,.72), transparent 35%, rgba(15,23,10,.15) 55%, rgba(15,23,10,.86)), linear-gradient(90deg, rgba(15,23,10,.72), transparent 65%); }
.landing-header { display: grid; grid-template-columns: 1fr 1fr auto; align-items: start; gap: 24px; padding: 30px 0; font-size: 13px; line-height: 1.5; }
.landing .role, .landing .construction { margin: 0; }
.construction { justify-self: center; }
 .construction span { opacity: .85; }
.contact-link { justify-self: end; }
.credit-link { position: relative; isolation: isolate; overflow: hidden; display: inline-flex; align-items: center; gap: 11px; padding: 11px 13px 10px; border-top: 1px solid rgba(255,245,218,.58); border-bottom: 1px solid rgba(255,245,218,.58); color: inherit; text-decoration: none; font-size: 10px; line-height: 1; letter-spacing: .14em; text-transform: uppercase; transition: color .28s ease, border-color .28s ease; }
.credit-link::before { content: ""; position: absolute; z-index: 0; inset: 0; background: var(--accent); transform: scaleX(0); transform-origin: right center; transition: transform .38s cubic-bezier(.77,0,.18,1); }
.credit-link > span { position: relative; z-index: 1; }
.credit-link:hover, .credit-link:focus-visible { color: var(--background); border-color: var(--accent); text-decoration: none; }
.credit-link:hover::before, .credit-link:focus-visible::before { transform: scaleX(1); transform-origin: left center; }
.credit-number { min-width: 15px; font-size: 8px; font-variant-numeric: tabular-nums; letter-spacing: .08em; opacity: .68; }
.credit-label { white-space: nowrap; }
.film-hook { max-width: 500px; padding: clamp(60px, 12vh, 140px) 0 50px; }
.film-label { margin: 0 0 16px; font-size: 11px; text-transform: uppercase; letter-spacing: 1.8px; }
.film-hook h2 { margin: 0 0 14px; font: 400 clamp(36px, 4.5vw, 64px)/1.08 Georgia, serif; letter-spacing: -1.5px; color: inherit; }
.film-description { margin: 0 0 25px; font-size: 14px; line-height: 1.6; }
.press-link { display: inline-grid; grid-template-columns: auto 1fr; align-items: center; gap: 13px; min-width: 290px; padding: 13px 15px 12px; }
.credit-copy { display: flex; flex-direction: column; gap: 7px; }
.press-source { font-size: 8px; letter-spacing: .16em; text-transform: uppercase; opacity: .72; }
.identity { margin-top: auto; padding: 10px 0 24px; }
.identity h1 { margin: 0; font: 400 clamp(40px, 14.3vw, 250px)/1.04 Anton, 'Arial Narrow', Impact, sans-serif; letter-spacing: -.025em; text-transform: uppercase; white-space: nowrap; color: inherit; }
.landing-footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; font-size: 11px; padding: 0 0 20px; }
.landing-footer .email { display: inline-block; padding: 12px 0; color: inherit; font-size: 11px; letter-spacing: 0; text-decoration: none; }
.landing-footer .email:hover { text-decoration: underline; }
.profile-links { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 700px) {
  .full-frame { padding: 0 24px; }
  .landing-header { grid-template-columns: 1fr auto; gap: 22px; font-size: 12px; padding: 24px 0; }
  .construction { grid-row: 2; grid-column: 1 / -1; justify-self: start; }
  .contact-link { grid-column: 2; grid-row: 1; }
  .hero-photo { object-position: 48% center; }
  .hero-shade { background: linear-gradient(180deg, rgba(15,23,10,.72), rgba(15,23,10,.2) 35%, rgba(15,23,10,.75)), linear-gradient(90deg, rgba(15,23,10,.55), transparent); }
  .film-hook { padding: 65px 0 55px; }
  .film-hook h2 { font-size: 40px; }
  .identity h1 { font-size: 23vw; line-height: .99; white-space: normal; }
  .identity h1 span { display: block; }
  .identity { padding-bottom: 28px; }
  .landing-footer { column-gap: 20px; row-gap: 0; padding-bottom: 18px; }
  .photo-caption { width: 100%; margin-bottom: 10px; }
   .profile-links { gap: 10px; }
  .credit-link { padding: 10px 11px 9px; }
  .press-link { min-width: min(290px, 100%); }
}
@media (prefers-reduced-motion: reduce) {
  .credit-link, .credit-link::before { transition: none; }
}

/* Editorial biography refinement: keep approved copy and sunflower, improve hierarchy and balance. */
body.portfolio .journey-section {
  grid-template-columns: minmax(0, 980px) 180px !important;
  justify-content: space-between !important;
  gap: clamp(54px, 6vw, 110px) !important;
  padding-block: clamp(64px, 6vw, 96px) !important;
  padding-inline: clamp(48px, 9vw, 176px) !important;
  align-items: center !important;
}
body.portfolio .journey-copy {
  width: 100% !important;
  max-width: 980px !important;
  margin: 0 !important;
  text-align: left !important;
}
body.portfolio .journey-copy p {
  max-width: 940px;
  margin: 0 0 clamp(18px, 1.6vw, 25px) !important;
  font: 400 clamp(19px, 1.45vw, 24px)/1.5 Georgia, serif !important;
  letter-spacing: -.012em;
}
body.portfolio .journey-copy p:last-child { margin-bottom: 0 !important; }
body.portfolio .journey-copy .bio-role {
  font-variant-caps: normal !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}
body.portfolio .journey-section::before { opacity: .045 !important; }
body.portfolio .sunflower-stage {
  width: 180px !important;
  justify-self: end;
}
body.portfolio .growing-sunflower {
  width: 180px !important;
  height: 366px !important;
  filter: drop-shadow(0 4px 5px rgba(0,0,0,.1)) !important;
}
@media (max-width: 900px) {
  body.portfolio .journey-section {
    grid-template-columns: minmax(0, 1fr) 112px !important;
    gap: 28px !important;
    padding-inline: clamp(28px, 6vw, 56px) !important;
  }
  body.portfolio .sunflower-stage { width: 112px !important; }
  body.portfolio .growing-sunflower { width: 112px !important; height: 228px !important; }
}
@media (max-width: 700px) {
  body.portfolio .journey-section {
    grid-template-columns: minmax(0, 1fr) 68px !important;
    gap: 18px !important;
    padding-block: 46px !important;
    padding-inline: 22px !important;
    align-items: start !important;
  }
  body.portfolio .journey-copy p {
    font-size: clamp(17px, 4.55vw, 20px) !important;
    line-height: 1.46 !important;
    letter-spacing: -.01em;
    margin-bottom: 18px !important;
  }
  body.portfolio .sunflower-stage { width: 68px !important; padding-top: 8px; }
  body.portfolio .growing-sunflower { width: 68px !important; height: 138px !important; }
}
