/*
 * utilities.css
 * Small utility + element classes that replace former inline `style="..."`
 * attributes. Inline styles were removed so the site can ship a strict
 * Content-Security-Policy with no `unsafe-inline` (see firebase.json).
 * Loaded LAST so these win over same-specificity component rules, matching
 * the precedence the inline styles previously had.
 */

/* layout / spacing helpers */
.u-flex-col-start { flex-direction: column; align-items: flex-start; }
.u-section-floating { margin-top: var(--spacing-12); margin-bottom: var(--spacing-12); position: relative; z-index: var(--z-floating); }
.u-plain-link { text-decoration: none; color: inherit; }
.u-pb-4xl { padding-bottom: var(--spacing-4xl); }
.u-pt-4rem { padding-top: 4rem; }
.u-pt-16 { padding-top: var(--spacing-16); }
.u-mt-12 { margin-top: var(--spacing-12); }
.u-mt-4rem { margin-top: 4rem; }
.u-mb-10 { margin-bottom: var(--spacing-10); }
.u-mt-4px { margin-top: 4px; }
.u-align-start { align-items: flex-start; }
.u-text-left { text-align: left; }
.u-fw-medium { font-weight: var(--font-medium); }
.u-btn-row { display: flex; flex-wrap: wrap; gap: var(--spacing-4); justify-content: center; }

/* page-hero diagonal background images */
.hero-img--founder { background-image: url('/images/header-founder-lr.jpg'); background-position: center 35%; }
.hero-img--about { background-image: url('/images/header-about-lr.jpg'); }
.hero-img--contact { background-image: url('/images/header-contact-lr.jpg'); background-position: center 38%; }

/* portfolio category banner background images */
.cat-img--healthcare { background-image: url('/images/category-healthcare-lr.jpg'); }
.cat-img--realestate { background-image: url('/images/category-realestate-lr.jpg'); }
.cat-img--education { background-image: url('/images/category-education-lr.jpg'); }
.cat-img--energy { background-image: url('/images/category-energy-lr.jpg'); }
.cat-img--technology { background-image: url('/images/category-technology-lr.jpg'); }
