/* Shared corrections, 13 October 2026. */
:root { --header-bg:rgba(251,250,247,.94); --nav-height:74px; color-scheme:light; }
html[data-theme="dark"] { --header-bg:rgba(18,18,18,.94); color-scheme:dark; }
.topbar { background:var(--header-bg); }
html[data-theme="dark"] .contact { background:linear-gradient(135deg,rgba(155,129,80,.14),var(--paper)); }
html[data-theme="dark"] .stats span,
html[data-theme="dark"] .project .video { background:var(--paper); }
.button.primary { color:var(--bg); }
main [id] { scroll-margin-top:calc(var(--nav-height) + 20px); }
.hero { padding-top:0; }
.hero-inner { width:100%; max-width:none!important; }
.hero .video { width:100%; max-width:none; aspect-ratio:16/9!important; min-height:0!important; max-height:none!important; margin:0; }
.hero-description { font-size:16px; line-height:1.5; color:var(--ink); margin:18px auto 24px; text-align:center; max-width:100%; }
.hero-summary { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:24px; width:100%; }
.hero-summary h2 { font-size:clamp(24px,3vw,42px); line-height:1.08; letter-spacing:-.04em; margin:0; text-align:left; }
.scroll-indicator { display:flex; align-items:center; justify-content:center; min-width:64px; min-height:44px; }
.scroll-indicator img { height:44px; width:auto; display:block; filter:brightness(.45); }
html[data-theme="dark"] .scroll-indicator img { filter:none; }
.scroll-indicator:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
.hero-stats { grid-column:1 / -1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 24px; width:100%; margin:0; padding:16px 0 4px; border-top:1px solid var(--line); list-style:none; text-align:center; font-size:11px; line-height:1.6; color:var(--ink); }
.hero-stats li { min-width:0; white-space:normal; }
.selected-projects-grid { --selected-gap:32px; --selected-extra:49.5px; display:grid; grid-template-columns:minmax(0,calc((100% - var(--selected-gap)) * 2 / 3 + var(--selected-extra) * 16 / 27)) minmax(0,1fr); gap:var(--selected-gap); align-items:start; margin-top:30px; }
.selected-projects-side { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; }
#contact > .contact { width:100%; max-width:none!important; }
.contact input,.contact textarea { min-width:0; width:100%; font-family:inherit; }
.invictus-watch-link { display:inline-block; margin-top:12px; color:var(--muted); font-size:11px; letter-spacing:.08em; text-decoration:underline; text-underline-offset:3px; }
.invictus-fallback { display:none; position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; background:var(--paper); }
.invictus-fallback img { width:100%; height:100%; object-fit:cover; display:block; }
.invictus-fallback span { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); padding:14px 20px; border-radius:30px; background:rgba(0,0,0,.8); color:white; text-align:center; font-size:13px; }
.invictus-player-unavailable > .video { display:none!important; }
.invictus-player-unavailable > .invictus-fallback { display:block; }
@media(max-width:1000px) { nav.wrap { height:auto; min-height:74px; padding-top:18px; padding-bottom:18px; } .navlinks { gap:14px; } }
@media(max-width:720px) {
  .hero { padding-top:0; }
  .hero-summary { gap:18px 12px; }
  .hero-stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .selected-projects-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
  .selected-projects-side { gap:28px; }
  main .grid2,main .grid3,main .grid4 { grid-template-columns:minmax(0,1fr)!important; }
  .meta { overflow-wrap:anywhere; }
  #invictus-secondary-footage figure { min-width:0!important; flex-basis:100%!important; }
  #contact > .contact { padding-left:22px!important; padding-right:22px!important; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Version 3: consistent galleries and media controls. */
.project-featured .video { aspect-ratio:16/9!important; min-height:0!important; max-height:none!important; background:transparent!important; }
.project-featured .meta { grid-template-columns:minmax(0,1fr) minmax(0,2fr); }
.unbound-credit { text-align:right; line-height:1.75; }
.unbound-credit a:hover { text-decoration:underline; text-underline-offset:3px; }
.invictus-films { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:26px; }
.portfolio-nav { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:28px 0; margin-top:20px; border-top:1px solid var(--line); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.portfolio-nav a { line-height:1.7; }
.portfolio-nav a[aria-current="page"] { color:var(--ink); }
.legal-nav { column-gap:18px; }
.gallery-page main { padding-top:28px; padding-bottom:48px; }
.gallery-page .section { border-top:0; }
#awards-recognition:target { display:block!important; }
@media(max-width:720px) {
  .invictus-films { grid-template-columns:minmax(0,1fr); }
  .unbound-credit { display:block; text-align:right!important; }
  #awards-recognition > div { grid-template-columns:minmax(0,1fr)!important; }
  .portfolio-nav { row-gap:14px; }
  .gallery-page .section { padding-top:24px; }
}

/* V7: keep the section label beneath its divider; the text column has no outline. */
.runway-section-title { margin-bottom:24px; }
.runway-feature { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; align-items:stretch; margin-bottom:36px; }
.runway-featured-film { grid-column:span 2; min-width:0; }
.runway-intro-card { min-width:0; padding:28px; display:flex; flex-direction:column; justify-content:center; }
.runway-intro-card h3 { margin:0; color:var(--ink); font-family:var(--sans); font-size:20px; font-weight:300; letter-spacing:.005em; line-height:1.5; }
.runway-intro-card .runway-description { margin:20px 0 0; color:var(--muted); font-size:14px; line-height:1.65; }
h1.hero-description { font-weight:300; letter-spacing:.005em; }
h1.eyebrow { line-height:1.5; }
@media(max-width:720px) {
  .runway-feature { grid-template-columns:minmax(0,1fr); gap:24px; }
  .runway-featured-film { grid-column:auto; }
  .runway-intro-card { padding:0; }
  .runway-intro-card h3 { font-size:20px; }
  .runway-intro-card .runway-description { margin-top:14px; }
}

/* V8: a smaller opening film and a compact introduction visible at arrival. */
.hero--compact { padding-bottom:12px; }
.hero--compact .hero-film { width:92%; max-width:calc(max(180px,100svh - var(--nav-height) - 230px) * 16 / 9); margin:0 auto; }
.hero--compact .hero-summary { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; margin-top:8px; }
.hero--compact .hero-heading-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:18px; }
.hero--compact .hero-tagline { margin:0; color:var(--ink); font-family:var(--sans); font-size:24px; font-weight:285; line-height:1.2; letter-spacing:-.04em; }
.hero--compact .scroll-indicator { min-height:44px; }
.hero--compact .scroll-indicator img { height:32px; }
.hero--compact .hero-description { margin:0; max-width:none; text-align:left; font-size:15px; line-height:1.5; }
.hero--compact .hero-stats { grid-column:auto; gap:6px 22px; padding:12px 0 0; font-size:13px; line-height:1.5; }
@media(max-width:720px) {
  .hero--compact .hero-film { max-width:none; }
  .hero--compact .hero-heading-row { gap:12px; }
  .hero--compact .hero-tagline { font-size:20px; }
  .hero--compact .hero-description { font-size:14px; }
  .hero--compact .hero-stats { gap:8px 14px; font-size:12.5px; line-height:1.45; }
}

/* V9: center the tagline and GIF together, with no transparent side gap. */
.hero--compact .hero-heading-row { width:fit-content; max-width:100%; justify-self:center; grid-template-columns:minmax(0,1fr) 24px; gap:8px; }
.hero--compact .hero-tagline { text-align:center; }
.hero--compact .scroll-indicator { min-width:24px; width:24px; }
.hero--compact .scroll-indicator img { width:24px; height:32px; object-fit:cover; object-position:center; }
.hero--compact .hero-description { text-align:center; }
