/*
Theme Name: Applied Visibility
Theme URI: https://appliedvisibility.com
Author: Applied Visibility LLC
Description: Block theme for Applied Visibility LLC — lighting design and assessment, expert witness services, and product assessment for the visual environment.
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.2.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: applied-visibility
Tags: block-patterns, full-site-editing, one-column, custom-colors, editor-style
*/

/* Small refinements theme.json can't express */
html { scroll-behavior: smooth; }
a { text-underline-offset: .18em; text-decoration-thickness: 1px; }
:where(.wp-site-blocks) *:focus-visible { outline: 2px solid var(--wp--preset--color--amber); outline-offset: 3px; border-radius: 2px; }

.av-header { position: sticky; top: 0; z-index: 50; backdrop-filter: saturate(140%) blur(8px); background: color-mix(in srgb, var(--wp--preset--color--night) 92%, transparent) !important; }
.av-header .wp-block-site-logo img { border-radius: 6px; }

.av-eyebrow { letter-spacing: .14em; text-transform: uppercase; }

.av-card { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.wp-block-column > .av-card:only-child, .wp-block-post > .av-card { height: 100%; }
.wp-block-column > .av-card + .av-card { margin-top: var(--wp--preset--spacing--30); }
.av-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px -18px rgba(11,21,38,.35); border-color: var(--wp--preset--color--amber) !important; }

.av-icon { width: 44px; height: 44px; display: block; }
.av-icon svg { width: 100%; height: 100%; display: block; }

.av-hero { position: relative; overflow: hidden; }
.av-hero-art img { width: 100%; height: auto; display: block; }

.av-glow { background:
  radial-gradient(60% 80% at 85% 0%, rgba(232,163,61,.22), transparent 60%),
  var(--wp--preset--color--night) !important; }

.av-stat-num { font-variant-numeric: tabular-nums; }

.av-list { list-style: none; padding-left: 0; }
.av-list li { padding: .55rem 0 .55rem 1.6rem; position: relative; border-bottom: 1px solid var(--wp--preset--color--line); }
.av-list li::before { content: ""; position: absolute; left: 0; top: 1.05rem; width: .6rem; height: .6rem; border-radius: 50%; background: var(--wp--preset--color--amber); box-shadow: 0 0 0 4px rgba(232,163,61,.18); }
.av-list li:last-child { border-bottom: 0; }

.av-footer a { color: inherit; text-decoration: none; }
.av-footer a:hover { color: var(--wp--preset--color--amber); }

.av-portrait img { border-radius: 14px; aspect-ratio: 1 / 1; object-fit: cover; }

.av-logo { margin: 0; line-height: 0; }
.av-logo img { display: block; height: auto; }
.av-hero-photo { margin: 0; }
.av-hero-photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 35%; border-radius: 16px; box-shadow: 0 30px 60px -30px rgba(0,0,0,.7), 0 0 0 1px rgba(255,255,255,.06); }
@media (max-width: 781px) {
  .av-hero-photo img { aspect-ratio: 16 / 11; object-position: 50% 30%; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .av-card { transition: none; }
  .av-card:hover { transform: none; }
}

/* Full-bleed sections sit flush against header and footer */
.wp-site-blocks > * { margin-block-start: 0; }
main > .alignfull:first-child { margin-block-start: 0; }
.wp-block-site-title a { text-decoration: none; }
.av-portrait + .av-card { margin-top: var(--wp--preset--spacing--40); }
