/* Editable overrides for the static site. style.css preserves the original design. */
:root {
    --canvas: #f5f7fb;
    --surface: #ffffff;
    --ink: #111827;
    --subtle: #475569;
    --muted: #7c8799;
    --line: #cbd5e1;
    --accent: #2563eb;
    --pixel: #3b82f6;
    --shadow: 4px 4px 0 var(--ink);
}
.dark {
    --canvas: #0b0f17;
    --surface: #111827;
    --ink: #f8fafc;
    --subtle: #b8c2d3;
    --muted: #7f8da3;
    --line: #334155;
    --accent: #60a5fa;
    --pixel: #60a5fa;
    --shadow: 4px 4px 0 var(--ink);
}
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
.palette-dialog { padding: 0; border: 0; width: min(92vw, 36rem); max-height: 80vh; margin: 12vh auto auto; color: var(--ink); background: transparent; overflow: visible; }
.palette-dialog::backdrop { background: rgb(0 0 0 / 55%); }
.palette-dialog .palette-panel { width: 100%; max-height: 80vh; overflow: auto; }
.palette-search { display: flex; align-items: center; gap: 1rem; padding: 1rem; border-bottom: 2px solid var(--ink); }
.palette-search input { width: 100%; min-width: 0; background: transparent; color: var(--ink); font: inherit; }
.palette-search button { cursor: pointer; }
.palette-results { max-height: 20rem; overflow-y: auto; padding: .5rem 0; }
.palette-results a { display: block; padding: .7rem 1rem; }
.palette-results a:hover, .palette-results .is-selected { background: color-mix(in srgb, var(--pixel) 40%, transparent); }
.palette-help, .palette-empty { padding: .75rem 1rem; }
.palette-help { border-top: 2px solid var(--ink); }
[data-drag-handle] { touch-action: none; }
[data-contact-status] a { text-decoration: underline; }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Minimal editorial polish */
body { overflow-x: hidden; }
.nav-shell { backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.hero-room { position: relative; min-height: min(700px, calc(100svh - 64px)); display: grid; align-items: center; overflow: hidden; }
.hero-room::before { content: ""; position: absolute; width: min(42vw, 34rem); aspect-ratio: 1; right: 8%; top: 12%; z-index: -1; border-radius: 50%; background: color-mix(in srgb, var(--pixel) 7%, transparent); filter: blur(60px); }
.hero-room h1 { line-height: .86; letter-spacing: -.06em; text-wrap: balance; }
.work-stage { overflow: hidden; }
.work-hero-image { transition: transform .8s cubic-bezier(.2,.75,.2,1), filter .5s ease; }
.work-hero:hover .work-hero-image { transform: scale(1.015); filter: saturate(1.04); }
.project-row { transition: background .25s ease; }
.project-row:hover { background: color-mix(in srgb, var(--pixel) 5%, transparent); }
.project-gallery-item img { transition: transform .45s ease, filter .45s ease; }
.project-gallery-item:hover img { transform: scale(1.008); filter: saturate(1.04); }

@media (max-width: 767px) {
    .hero-room { min-height: auto; }
    .hero-room h1 { font-size: clamp(3.2rem, 18vw, 5rem); }
}
