﻿/* ---------------------------------------------------------------------------
 * LCA! Film Festival 2026 — refinement layer
 *
 * Ported into this repository under LCA2026-SITE-010 (decision D-018) from the
 * Living Experience workspace. Design language adopted by the owner.
 *
 * AUTHORITY
 *   assets/css/tokens.css owns every design value. This file consumes tokens
 *   and defines none. It must never redefine a --color-*, --font-*, --duration-*,
 *   --easing-*, --space-* or --display-* custom property.
 *
 * CASCADE CONTRACT
 *   This layer SUPPLEMENTS production CSS; it never replaces it. It is linked
 *   AFTER the page's own stylesheet so it wins only where specificity is equal
 *   or higher. `.btn` itself stays owned by assets/css/components.css.
 *
 * Namespace is `.r06-`. Every rule below is as authored in the source layer
 * except this comment block.
 * ------------------------------------------------------------------------ */
/* R06 surface foundation. Values alias accepted LCA2026 tokens; no font/weight overrides. */
.r06 { --r06-texture-opacity:.085; --r06-caption: .75rem; }
.r06-section { padding-block:var(--section); }
.r06-eyebrow { display:block; font:700 .72rem/1.5 var(--font-body); letter-spacing:.14em; text-transform:uppercase; margin-bottom:1rem; }
.r06-caption { font:400 var(--r06-caption,.75rem)/1.6 var(--font-body); margin-top:.7rem; }
.r06-lead { font-size:clamp(1rem,1.25vw,1.2rem); line-height:1.7; max-width:52ch; }
.r06-texture { position:relative; isolation:isolate; }
.r06-texture::before { content:''; position:absolute; inset:0; pointer-events:none; z-index:-1; background-image:url('../../images/tile-c-wall.png'); background-size:155px auto; opacity:var(--r06-texture-opacity,.085); mask-image:linear-gradient(125deg,transparent 12%,#000 100%); }
.r06-texture--light::before { filter:invert(1); mix-blend-mode:screen; }
.r06-surface-ink { color:var(--color-paper); background:var(--color-ink); --focus:var(--color-yellow); }
.r06-surface-coral { color:var(--color-ink); background:var(--color-coral); }
.r06-surface-yellow { color:var(--color-ink); background:var(--color-yellow); }
.r06-surface-aqua { color:var(--color-ink); background:var(--color-aqua); }
.r06-surface-navy { color:var(--color-paper); background:var(--color-navy); --focus:var(--color-yellow); }
.r06-title { max-width:23ch; }
.r06-rule { border:0; border-top:1px solid currentColor; opacity:.25; }
.r06-prose { max-width:var(--reading); line-height:1.85; }
.r06-prose>*+* { margin-top:1.4rem; }
.r06 :is(figure,article,section,aside,div) { min-width:0; }
.r06 img { width:100%; }
.r06 :is(a,button) { -webkit-tap-highlight-color:transparent; }
.r06 .btn span[aria-hidden] { transition:transform var(--duration-hover); }
.r06 .btn:is(:hover,:focus-visible) span[aria-hidden] { transform:translate(2px,-2px); }
.r06 [id] { scroll-margin-top:1.5rem; }
.r06 :focus-visible { outline:3px solid var(--focus,var(--color-ink)); outline-offset:4px; }
.r06 picture { display:block; }
.r06-noscript { padding:1rem var(--gutter); background:var(--color-yellow); color:var(--color-ink); }
@media(prefers-reduced-motion:reduce) { .r06 * { scroll-behavior:auto!important; } }
