/*
Theme Name: Brahmin Theme
Theme URI: https://brahmin.com/
Author: SiteForge WP
Description: Authorized migration starter generated from BRAHMIN. Review content and licenses before publishing.
Version: 1.0.0
Requires at least: 6.2
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: siteforge
*/

:root {
  --sf-bg: #ffffff;
  --sf-text: #111111;
  --sf-accent: #005fcc;
  --sf-border: color-mix(in srgb, var(--sf-text) 18%, transparent);
  --sf-radius: 4px;
  --sf-width: 40px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.siteforge-theme { margin: 0; background: var(--sf-bg); color: var(--sf-text); font-family: Graphik, system-ui, sans-serif; line-height: 1.6; }
img { max-width: 100%; height: auto; }
a { color: inherit; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.screen-reader-text:focus { clip: auto; width: auto; height: auto; z-index: 100000; padding: 12px 16px; background: #fff; color: #111; }
.siteforge-container { width: min(calc(100% - 40px), var(--sf-width)); margin-inline: auto; }
.siteforge-main { padding-block: clamp(48px, 8vw, 104px); min-height: 55vh; }
.siteforge-reading { max-width: min(820px, calc(100% - 40px)); }
.siteforge-page-header { margin-bottom: 36px; }
.siteforge-page-header h1 { max-width: 18ch; margin: 0; font-size: 4rem; line-height: 1.02; letter-spacing: 0; }
.siteforge-meta, .siteforge-kicker { margin: 0 0 8px; opacity: .65; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0; }
.siteforge-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 3vw, 36px); }
.siteforge-card { min-width: 0; border-top: 1px solid var(--sf-border); padding-top: 16px; }
.siteforge-card__media { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: color-mix(in srgb, var(--sf-text) 5%, var(--sf-bg)); }
.siteforge-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.siteforge-card:hover .siteforge-card__media img { transform: scale(1.025); }
.siteforge-card__body { padding-top: 16px; }
.siteforge-card__title { margin: 0; font-size: 1.3rem; line-height: 1.2; letter-spacing: 0; }
.siteforge-card__title a { text-decoration: none; }
.siteforge-card__excerpt { margin-top: 10px; opacity: .75; }
.siteforge-featured { margin: 0 0 40px; }
.siteforge-entry { font-size: 1.05rem; }
.siteforge-entry > * { max-width: 100%; }
.siteforge-entry > * + * { margin-top: 1.35em; }
.siteforge-button, .siteforge-empty input[type="submit"], .siteforge-auth input[type="submit"] { display: inline-flex; align-items: center; min-height: 44px; margin-top: 20px; padding: 10px 18px; border: 0; border-radius: var(--sf-radius); background: var(--sf-accent); color: #fff; text-decoration: none; font-weight: 700; cursor: pointer; }
.siteforge-empty { max-width: 620px; padding-block: 64px; }
.siteforge-standalone { width: min(calc(100% - 40px), var(--sf-width)); }
.siteforge-auth { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 460px); align-items: start; gap: clamp(48px, 8vw, 120px); }
.siteforge-auth__intro { min-width: 0; }
.siteforge-auth__intro .siteforge-entry { max-width: 620px; }
.siteforge-auth__panel { min-width: 0; padding-left: clamp(28px, 4vw, 56px); border-left: 1px solid var(--sf-border); }
.siteforge-auth__form p { margin: 0 0 18px; }
.siteforge-auth__form label { display: block; margin-bottom: 7px; font-size: .9rem; font-weight: 700; }
.siteforge-auth__form input[type="text"], .siteforge-auth__form input[type="email"], .siteforge-auth__form input[type="password"] { width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid var(--sf-border); border-radius: var(--sf-radius); background: var(--sf-bg); color: var(--sf-text); font: inherit; }
.siteforge-auth__form input:focus { outline: 2px solid var(--sf-accent); outline-offset: 2px; }
.siteforge-auth__form .login-remember label { display: flex; align-items: center; gap: 8px; font-weight: 500; }
.siteforge-auth__form .login-submit { margin-bottom: 0; }
.siteforge-form-note { opacity: .7; font-size: .88rem; }
.siteforge-auth__links, .siteforge-account-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 20px; }
.siteforge-account-actions .siteforge-button { margin-top: 0; }
.siteforge-notice { padding: 16px 0; border-block: 1px solid var(--sf-border); }
.siteforge-notice p, .siteforge-notice ul { margin: 6px 0 0; }
.siteforge-notice--success { border-color: color-mix(in srgb, #26714d 50%, var(--sf-border)); }
.siteforge-notice--error { border-color: color-mix(in srgb, #b23a32 55%, var(--sf-border)); }
.siteforge-pagination { display: flex; width: min(calc(100% - 40px), var(--sf-width)); justify-content: center; gap: 8px; margin: 32px auto; }
.siteforge-pagination .page-numbers { display: grid; min-width: 40px; min-height: 40px; place-items: center; border: 1px solid var(--sf-border); text-decoration: none; }
.siteforge-pagination .current { background: var(--sf-accent); color: #fff; }
.siteforge-header { border-bottom: 1px solid var(--sf-border); }
.siteforge-header__inner { display: flex; min-height: 72px; align-items: center; justify-content: space-between; gap: 24px; }
.siteforge-brand { font-weight: 800; text-decoration: none; }
.siteforge-footer { border-top: 1px solid var(--sf-border); padding-block: 32px; }
.siteforge-captured { overflow-x: clip; }

/* Imported BRAHMIN footer pages use full-bleed editorial sections. Keep the
   ordinary WordPress pages readable, but let these pages use the whole
   viewport so hero media and wide split sections are not squeezed into the
   default 820px reading column. */
.siteforge-footer-page { width: 100%; max-width: none; padding-inline: 0; }
.siteforge-footer-page .siteforge-page-header { width: min(calc(100% - 40px), var(--sf-width)); margin-inline: auto; }
.siteforge-footer-page .siteforge-entry { width: 100%; max-width: none !important; margin-inline: 0; }
.siteforge-footer-page .siteforge-entry > * { max-width: none; }
.siteforge-footer-page .siteforge-entry > section { width: 100%; }
.siteforge-footer-page .siteforge-entry img,
.siteforge-footer-page .siteforge-entry video { max-width: 100%; }
.siteforge-captured [data-siteforge-static-form="true"] { pointer-events: none; }

@media (max-width: 900px) {
  .siteforge-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .siteforge-container, .siteforge-reading { width: min(calc(100% - 28px), var(--sf-width)); }
  .siteforge-footer-page { width: 100%; }
  .siteforge-footer-page .siteforge-page-header { width: calc(100% - 28px); }
  .siteforge-grid { grid-template-columns: 1fr; }
  .siteforge-page-header h1 { font-size: 2.35rem; }
  .siteforge-auth { grid-template-columns: 1fr; gap: 32px; }
  .siteforge-auth__panel { padding: 28px 0 0; border-top: 1px solid var(--sf-border); border-left: 0; }
}
