:root {
  --oafb-bg: #0a0a0a;
  --oafb-navy: #001d39;
  --oafb-surface: #141414;
  --oafb-mid: #1f1f1f;
  --oafb-raised: #2a2a2a;
  --oafb-fg: #f4f0e8;
  --oafb-muted: #9a9488;
  --oafb-dim: #6e6a62;
  --oafb-gold: #c8a96e;
  --oafb-gold-light: #e8d4a8;
  --oafb-gold-dark: #8a6f3e;
  --oafb-accent: #d4a843;
  --oafb-bronze: #985e23;
  --oafb-paper: #f4f0e8;
  --oafb-ink: #14110e;
  --oafb-line: rgb(200 169 110 / 0.18);
  --oafb-line-strong: rgb(200 169 110 / 0.32);
  --oafb-sans: "Outfit", ui-sans-serif, system-ui, sans-serif;
  --oafb-display: "Bebas Neue", sans-serif;
  --oafb-serif: "DM Serif Display", ui-serif, Georgia, serif;
  --oafb-max: 72rem;
  --oafb-header: 5.5rem;
}

*,
*::before,
*::after { box-sizing: border-box; }

html {
  -webkit-font-smoothing: antialiased;
  scroll-behavior: smooth;
  overflow-x: hidden;
}

html, body {
  margin: 0;
  background: var(--oafb-bg);
  color: var(--oafb-fg);
  font-family: var(--oafb-sans);
  font-weight: 400;
  line-height: 1.55;
}

body.oafb-cookies-open { padding-bottom: 7rem; }

img { max-width: 100%; height: auto; display: block; }
a { color: var(--oafb-gold); text-decoration: none; }
a:hover { color: var(--oafb-gold-light); }
em { font-style: italic; }
::selection { background: var(--oafb-gold); color: var(--oafb-bg); }

.screen-reader-text {
  position: absolute;
  width: 1px; height: 1px;
  overflow: hidden; clip: rect(0,0,0,0);
}

.oafb-wrap { width: min(var(--oafb-max), calc(100% - 2.5rem)); margin-inline: auto; }
.oafb-main { min-height: 60vh; }

/* Buttons */
.oafb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border: 0;
  cursor: pointer;
  font-family: inherit;
  font-weight: 500;
  text-decoration: none !important;
  transition: background .2s, border-color .2s, color .2s;
  white-space: nowrap;
}
.oafb-btn:disabled { opacity: .5; pointer-events: none; }
.oafb-btn--gold { background: var(--oafb-gold); color: var(--oafb-bg) !important; }
.oafb-btn--gold:hover { background: var(--oafb-gold-light); color: var(--oafb-bg) !important; }
.oafb-btn--outline {
  background: transparent;
  color: var(--oafb-fg) !important;
  border: 1px solid rgb(200 169 110 / 0.4);
}
.oafb-btn--outline:hover { border-color: var(--oafb-gold); background: rgb(200 169 110 / 0.1); }
.oafb-btn--ghost { background: transparent; color: rgb(244 240 232 / 0.8) !important; }
.oafb-btn--ghost:hover { color: var(--oafb-gold) !important; }
.oafb-btn--dark { background: var(--oafb-navy); color: var(--oafb-fg) !important; }
.oafb-btn--sm { height: 2.5rem; padding: 0 1rem; font-size: .875rem; border-radius: 8px; }
.oafb-btn--md { height: 3rem; padding: 0 1.5rem; font-size: .875rem; letter-spacing: .04em; border-radius: 8px; }
.oafb-btn--lg {
  height: 3.5rem; padding: 0 2rem;
  font-size: .8rem; letter-spacing: .16em; text-transform: uppercase;
  border-radius: 8px;
}

.oafb-eyebrow {
  display: flex; align-items: center; gap: .75rem;
  margin: 0 0 1rem;
  font-size: .7rem; letter-spacing: .3em; text-transform: uppercase;
  color: var(--oafb-gold);
}
.oafb-eyebrow::before { content: ""; width: 2rem; height: 1px; background: var(--oafb-gold); }

.oafb-serif { font-family: var(--oafb-serif); }
.oafb-display { font-family: var(--oafb-display); }
.oafb-gold { color: var(--oafb-gold); }
.oafb-muted { color: var(--oafb-muted); }
.oafb-dim { color: var(--oafb-dim); }

/* Header */
.oafb-header {
  position: fixed; inset: 0 0 auto 0; z-index: 50;
  padding: 1.25rem 0;
  background: linear-gradient(to bottom, rgb(10 10 10 / .9), transparent);
  transition: padding .3s, background .3s, border-color .3s;
}
.oafb-header.is-scrolled {
  padding: .75rem 0;
  background: rgb(10 10 10 / .95);
  border-bottom: 1px solid var(--oafb-line);
  backdrop-filter: blur(12px);
}
.oafb-header__bar {
  width: min(var(--oafb-max), calc(100% - 2.5rem));
  margin-inline: auto;
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
}
.oafb-logo { display: flex; align-items: center; gap: .75rem; color: inherit !important; text-decoration: none !important; }
.oafb-logo__mark {
  width: 2.5rem; height: 2.5rem; flex-shrink: 0;
  display: grid; place-items: center;
  border: 1px solid rgb(200 169 110 / .4);
  background: var(--oafb-navy); border-radius: 4px;
  font-family: var(--oafb-display);
  font-size: 1.15rem; letter-spacing: .08em; color: var(--oafb-gold);
}
.oafb-logo__word {
  font-family: var(--oafb-display);
  font-size: 1.35rem; letter-spacing: .14em; color: var(--oafb-fg);
  line-height: 1;
}

.oafb-nav { display: none; align-items: center; gap: 1.5rem; }
@media (min-width: 1024px) {
  .oafb-nav { display: flex; }
  .oafb-header__cta { display: flex !important; }
  .oafb-burger { display: none !important; }
}
.oafb-nav a {
  font-size: .75rem; letter-spacing: .18em; text-transform: uppercase;
  color: rgb(244 240 232 / .7) !important;
}
.oafb-nav a:hover, .oafb-nav a.is-active { color: var(--oafb-gold) !important; }

.oafb-header__cta { display: none; align-items: center; gap: 1rem; }
.oafb-header__phone {
  display: inline-flex; align-items: center; gap: .5rem;
  color: rgb(244 240 232 / .8) !important; font-size: .9rem;
}
.oafb-header__phone:hover { color: var(--oafb-gold) !important; }
.oafb-header__phone svg { width: 1rem; height: 1rem; color: var(--oafb-gold); }

.oafb-burger {
  width: 2.75rem; height: 2.75rem;
  display: grid; place-items: center;
  border: 1px solid var(--oafb-line); background: transparent; color: var(--oafb-fg);
  border-radius: 4px; cursor: pointer;
}
.oafb-mobile {
  display: none; border-top: 1px solid var(--oafb-line);
  background: var(--oafb-bg); padding: 1.5rem 1.25rem;
}
.oafb-header.is-open .oafb-mobile { display: block; }
.oafb-mobile a {
  display: block; padding: .75rem .75rem;
  font-size: .9rem; letter-spacing: .16em; text-transform: uppercase;
  color: rgb(244 240 232 / .8) !important; border-radius: 4px;
}
.oafb-mobile a:hover, .oafb-mobile a.is-active { color: var(--oafb-gold) !important; background: var(--oafb-mid); }

/* Hero / page hero */
.oafb-page-hero {
  border-bottom: 1px solid var(--oafb-line);
  background: var(--oafb-bg);
  padding: 7rem 0 4rem;
}
@media (min-width: 768px) { .oafb-page-hero { padding: 8rem 0 5rem; } }
.oafb-page-hero h1 {
  margin: 0; max-width: 48rem;
  font-family: var(--oafb-serif);
  font-size: clamp(2.2rem, 5vw, 3.75rem);
  font-weight: 400; line-height: 1.12; color: var(--oafb-fg);
}
.oafb-page-hero h1 em { color: var(--oafb-gold); }
.oafb-page-hero p { margin: 1.5rem 0 0; max-width: 36rem; color: var(--oafb-muted); font-size: 1rem; }

/* Home hero */
.oafb-home-hero {
  position: relative; min-height: 100svh; overflow: hidden;
  background: var(--oafb-bg); padding-top: 6rem;
}
.oafb-home-hero__img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; opacity: .35;
}
.oafb-home-hero__shade {
  position: absolute; inset: 0;
  background:
    linear-gradient(to right, var(--oafb-bg), rgb(10 10 10 / .8), rgb(10 10 10 / .3)),
    linear-gradient(to top, var(--oafb-bg), transparent, rgb(10 10 10 / .4));
}
.oafb-home-hero__inner {
  position: relative;
  width: min(var(--oafb-max), calc(100% - 2.5rem));
  margin-inline: auto;
  min-height: calc(100svh - 6rem);
  display: flex; flex-direction: column; justify-content: flex-end;
}
.oafb-home-hero__copy { max-width: 48rem; padding: 2.5rem 0 4rem; }
.oafb-kicker { margin: 0; font-size: .7rem; letter-spacing: .32em; text-transform: uppercase; color: var(--oafb-gold); }
.oafb-home-hero h1 {
  margin: 1.25rem 0 0;
  font-family: var(--oafb-serif);
  font-size: clamp(2.7rem, 7vw, 4.5rem);
  font-weight: 400; line-height: 1.05; color: var(--oafb-fg);
}
.oafb-home-hero h1 em { color: var(--oafb-gold); }
.oafb-home-hero__lede { margin: 1.5rem 0 0; max-width: 32rem; color: var(--oafb-muted); }
.oafb-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.oafb-stats {
  display: grid; border-top: 1px solid var(--oafb-line);
}
@media (min-width: 640px) { .oafb-stats { grid-template-columns: repeat(3, 1fr); } }
.oafb-stats__item { padding: 1.5rem 0; border-bottom: 1px solid var(--oafb-line); }
@media (min-width: 640px) {
  .oafb-stats__item { padding: 2rem; border-bottom: 0; border-right: 1px solid var(--oafb-line); }
  .oafb-stats__item:last-child { border-right: 0; }
}
.oafb-stats__value { margin: 0; font-family: var(--oafb-display); font-size: 1.875rem; letter-spacing: .04em; color: var(--oafb-gold); }
.oafb-stats__label { margin: .25rem 0 0; font-size: .7rem; letter-spacing: .18em; text-transform: uppercase; color: var(--oafb-dim); }

/* Marquee */
.oafb-marquee { overflow: hidden; background: var(--oafb-gold); padding: .75rem 0; }
.oafb-marquee__track { display: flex; width: max-content; animation: oafb-marquee 28s linear infinite; }
.oafb-marquee span {
  font-family: var(--oafb-display); font-size: .875rem;
  letter-spacing: .22em; color: var(--oafb-bg); padding: 0 2rem;
}
@keyframes oafb-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .oafb-marquee__track { animation: none; } }

/* Sections */
.oafb-section { padding: 5rem 0; }
@media (min-width: 768px) { .oafb-section { padding: 7rem 0; } }
.oafb-section--surface { background: var(--oafb-surface); }
.oafb-section--bg { background: var(--oafb-bg); }
.oafb-section h2 {
  margin: 0;
  font-family: var(--oafb-serif);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 400; color: var(--oafb-fg);
}
.oafb-section h2 em { color: var(--oafb-gold); }

.oafb-split { display: grid; gap: 3rem; align-items: center; }
@media (min-width: 1024px) { .oafb-split { grid-template-columns: 1fr 1fr; gap: 4rem; } }
.oafb-photo { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 16px; }

.oafb-steps {
  display: grid; gap: 1px; overflow: hidden;
  border-radius: 16px; background: var(--oafb-line);
}
@media (min-width: 768px) { .oafb-steps { grid-template-columns: repeat(4, 1fr); } }
.oafb-step { position: relative; background: var(--oafb-mid); padding: 2rem; }
.oafb-step__num {
  position: absolute; top: 1rem; right: 1.25rem;
  font-family: var(--oafb-display); font-size: 3rem; color: rgb(200 169 110 / .15);
}
.oafb-step__tag { margin: 0; font-size: .65rem; letter-spacing: .25em; text-transform: uppercase; color: var(--oafb-gold); }
.oafb-step h3 { margin: 1.5rem 0 0; font-family: var(--oafb-serif); font-size: 1.5rem; font-weight: 400; }
.oafb-step p { margin: .75rem 0 0; font-size: .875rem; color: var(--oafb-muted); }

.oafb-why { list-style: none; margin: 2rem 0 0; padding: 0; border-radius: 16px; overflow: hidden; background: var(--oafb-line); }
.oafb-why li { display: flex; gap: 1rem; background: var(--oafb-surface); padding: 1.25rem; margin-top: 1px; }
.oafb-why li:first-child { margin-top: 0; }
.oafb-check {
  width: 2.25rem; height: 2.25rem; flex-shrink: 0;
  display: grid; place-items: center;
  border: 1px solid rgb(200 169 110 / .3); color: var(--oafb-gold); border-radius: 4px;
}
.oafb-why p { margin: 0; }
.oafb-why strong { display: block; font-size: .9rem; font-weight: 500; color: var(--oafb-fg); }
.oafb-why span { display: block; margin-top: .25rem; font-size: .875rem; color: var(--oafb-muted); }

.oafb-ind-grid {
  display: grid; gap: 1px; overflow: hidden;
  border-radius: 16px; background: var(--oafb-line);
}
@media (min-width: 640px) { .oafb-ind-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .oafb-ind-grid { grid-template-columns: 1fr 1fr 1fr; } }
.oafb-ind-card {
  position: relative; display: block; min-height: 16rem; overflow: hidden;
  background: var(--oafb-mid); color: inherit !important;
}
.oafb-ind-card img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; opacity: .5; transition: transform .5s;
}
.oafb-ind-card:hover img { transform: scale(1.05); }
.oafb-ind-card__shade {
  position: absolute; inset: 0;
  background: linear-gradient(to top, var(--oafb-bg), rgb(10 10 10 / .4), transparent);
}
.oafb-ind-card__copy { position: relative; min-height: 16rem; display: flex; flex-direction: column; justify-content: flex-end; padding: 1.5rem; }
.oafb-ind-card__copy p { margin: 0; font-size: .65rem; letter-spacing: .22em; text-transform: uppercase; color: var(--oafb-gold); }
.oafb-ind-card__copy h3 { margin: .5rem 0 0; font-family: var(--oafb-serif); font-size: 1.5rem; font-weight: 400; color: var(--oafb-fg); }
.oafb-ind-fund {
  min-height: 16rem; display: flex; flex-direction: column; justify-content: space-between;
  background: var(--oafb-navy); padding: 1.5rem; color: var(--oafb-fg) !important;
}
.oafb-ind-fund p { margin: 0; font-size: .65rem; letter-spacing: .22em; text-transform: uppercase; color: var(--oafb-gold); }
.oafb-ind-fund h3 { margin: 0; font-family: var(--oafb-serif); font-size: 1.5rem; font-weight: 400; }
.oafb-ind-fund span { display: inline-flex; align-items: center; gap: .5rem; margin-top: 1rem; color: var(--oafb-gold); font-size: .9rem; }

.oafb-head-row { display: flex; flex-direction: column; gap: 1.5rem; justify-content: space-between; margin-bottom: 3rem; }
@media (min-width: 768px) { .oafb-head-row { flex-direction: row; align-items: flex-end; } }

/* Insights */
.oafb-insights { display: grid; gap: 2rem; }
@media (min-width: 1024px) { .oafb-insights { grid-template-columns: 1.3fr 1fr; } }
.oafb-featured { overflow: hidden; border-radius: 16px; border: 1px solid var(--oafb-line); color: inherit !important; display: block; }
.oafb-featured img { width: 100%; aspect-ratio: 16/9; object-fit: cover; transition: transform .5s; }
.oafb-featured:hover img { transform: scale(1.03); }
.oafb-featured__body { padding: 1.5rem; }
@media (min-width: 768px) { .oafb-featured__body { padding: 2rem; } }
.oafb-featured h3 { margin: .75rem 0 0; font-family: var(--oafb-serif); font-size: 1.75rem; font-weight: 400; color: var(--oafb-fg); }
.oafb-featured:hover h3 { color: var(--oafb-gold); }
.oafb-cat { margin: 0; font-size: .65rem; letter-spacing: .2em; text-transform: uppercase; color: var(--oafb-gold); }
.oafb-list-posts { display: flex; flex-direction: column; border-top: 1px solid var(--oafb-line); }
@media (min-width: 1024px) { .oafb-list-posts { border-top: 0; } }
.oafb-list-posts a { display: block; padding: 1.5rem 0; border-bottom: 1px solid var(--oafb-line); color: inherit !important; }
.oafb-list-posts a:first-child { padding-top: 0; }
.oafb-list-posts h3 { margin: .5rem 0 0; font-family: var(--oafb-serif); font-size: 1.25rem; font-weight: 400; color: var(--oafb-fg); }
.oafb-list-posts a:hover h3 { color: var(--oafb-gold); }
.oafb-list-posts p { margin: .5rem 0 0; font-size: .875rem; color: var(--oafb-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* Cards / lists */
.oafb-cards { display: grid; gap: 1.5rem; }
@media (min-width: 768px) { .oafb-cards { grid-template-columns: 1fr 1fr; } }
.oafb-card { border: 1px solid var(--oafb-line); background: var(--oafb-mid); border-radius: 16px; padding: 1.75rem; }
.oafb-card h3 { margin: 0; font-family: var(--oafb-serif); font-size: 1.5rem; font-weight: 400; }
.oafb-card p { margin: .75rem 0 0; font-size: .875rem; color: var(--oafb-muted); }

.oafb-process-list { list-style: none; margin: 0; padding: 0; border-radius: 16px; overflow: hidden; background: var(--oafb-line); }
.oafb-process-list li { display: grid; gap: 1.5rem; background: var(--oafb-surface); padding: 2rem; margin-top: 1px; }
.oafb-process-list li:first-child { margin-top: 0; }
@media (min-width: 768px) { .oafb-process-list li { grid-template-columns: 8rem 1fr; padding: 2.5rem; } }
.oafb-process-list .num { margin: 0; font-family: var(--oafb-display); font-size: 3rem; color: var(--oafb-gold); }
.oafb-navy-box { border-radius: 16px; background: var(--oafb-navy); padding: 2rem; margin-top: 3rem; }
@media (min-width: 768px) { .oafb-navy-box { padding: 3rem; } }
.oafb-navy-box h2 { margin: 0; font-family: var(--oafb-serif); font-size: 1.875rem; font-weight: 400; }
.oafb-navy-box ul { margin: 1.5rem 0 0; padding: 0; list-style: none; display: grid; gap: .75rem; }
@media (min-width: 768px) { .oafb-navy-box ul { grid-template-columns: 1fr 1fr; } }
.oafb-navy-box li { font-size: .875rem; color: var(--oafb-muted); }

.oafb-fund-grid { display: grid; gap: 1px; overflow: hidden; border-radius: 16px; background: var(--oafb-line); }
@media (min-width: 768px) { .oafb-fund-grid { grid-template-columns: 1fr 1fr; } }
.oafb-fund-grid article { background: var(--oafb-surface); padding: 2rem; }
.oafb-fund-grid .num { margin: 0; font-family: var(--oafb-display); font-size: 1.5rem; color: var(--oafb-gold); }
.oafb-fund-grid h2 { margin: .75rem 0 0; font-family: var(--oafb-serif); font-size: 1.5rem; font-weight: 400; }
.oafb-fund-grid p { margin: .75rem 0 0; font-size: .875rem; color: var(--oafb-muted); }

.oafb-industry { display: grid; gap: 2.5rem; align-items: center; scroll-margin-top: 7rem; }
@media (min-width: 1024px) { .oafb-industry { grid-template-columns: 1fr 1fr; } }
.oafb-industry + .oafb-industry { margin-top: 5rem; }
.oafb-industry.is-flip img { order: 0; }
@media (min-width: 1024px) { .oafb-industry.is-flip img { order: 2; } }
.oafb-industry h2 { margin: .75rem 0 0; font-family: var(--oafb-serif); font-size: clamp(1.75rem, 3vw, 2.25rem); font-weight: 400; }
.oafb-industry .kicker { margin: 0; font-size: .7rem; letter-spacing: .28em; text-transform: uppercase; color: var(--oafb-gold); }
.oafb-dots { list-style: none; margin: 1.5rem 0 0; padding: 0; }
.oafb-dots li { display: flex; gap: .75rem; font-size: .9rem; color: rgb(244 240 232 / .8); margin-top: .5rem; }
.oafb-dots li::before { content: ""; width: .375rem; height: .375rem; margin-top: .5rem; flex-shrink: 0; border-radius: 99px; background: var(--oafb-gold); }

/* Forms */
.oafb-form { display: grid; gap: 1.25rem; }
.oafb-form--2 { display: grid; gap: 1.25rem; }
@media (min-width: 640px) { .oafb-form--2 { grid-template-columns: 1fr 1fr; } }
.oafb-label {
  display: block; margin-bottom: .4rem;
  font-size: .7rem; letter-spacing: .18em; text-transform: uppercase; color: var(--oafb-gold);
}
.oafb-input, .oafb-select, .oafb-textarea {
  width: 100%; background: var(--oafb-mid); color: var(--oafb-fg);
  border: 1px solid var(--oafb-line); border-radius: 8px;
  padding: .85rem 1rem; font-family: inherit; font-size: 1rem;
}
.oafb-input:focus, .oafb-select:focus, .oafb-textarea:focus {
  outline: none; border-color: var(--oafb-gold);
}
.oafb-textarea { min-height: 7rem; resize: vertical; }
.oafb-select { appearance: none; height: 3.1rem; }
.oafb-form-success { border: 1px solid var(--oafb-line); background: var(--oafb-mid); border-radius: 16px; padding: 2rem; }
.oafb-form-success p { margin: 0; }
.oafb-form-success .big { font-family: var(--oafb-serif); font-size: 1.75rem; color: var(--oafb-fg); }
.oafb-form-success .sub { margin-top: .75rem; font-size: .875rem; color: var(--oafb-muted); }
.oafb-guide-form { display: flex; flex-direction: column; gap: .75rem; }
@media (min-width: 640px) { .oafb-guide-form { flex-direction: row; } }
.oafb-guide-form .oafb-input { height: 3rem; }
.oafb-hp { position: absolute; left: -9999px; }

.oafb-contact-grid { display: grid; gap: 3rem; }
@media (min-width: 1024px) { .oafb-contact-grid { grid-template-columns: .85fr 1.15fr; } }
.oafb-contact-card {
  display: flex; gap: 1rem; align-items: flex-start;
  border: 1px solid var(--oafb-line); background: var(--oafb-surface);
  border-radius: 16px; padding: 1.5rem; color: inherit !important;
}
.oafb-contact-card + .oafb-contact-card { margin-top: 1rem; }
.oafb-contact-card:hover { border-color: rgb(200 169 110 / .4); }
.oafb-contact-card svg { width: 1.25rem; height: 1.25rem; color: var(--oafb-gold); flex-shrink: 0; margin-top: .15rem; }
.oafb-contact-card .lbl { margin: 0; font-size: .75rem; letter-spacing: .2em; text-transform: uppercase; color: var(--oafb-gold); }
.oafb-contact-card .val { margin: .25rem 0 0; font-family: var(--oafb-serif); font-size: 1.35rem; color: var(--oafb-fg); word-break: break-all; }

/* Quiz */
.oafb-quiz fieldset { border: 1px solid var(--oafb-line); background: var(--oafb-surface); border-radius: 16px; padding: 1.25rem; margin: 0 0 1rem; }
.oafb-quiz legend { font-family: var(--oafb-serif); font-size: 1.1rem; color: var(--oafb-fg); padding: 0; }
.oafb-quiz .opts { display: flex; gap: .75rem; margin-top: 1rem; }
.oafb-quiz .opt {
  height: 2.75rem; min-width: 6rem; border-radius: 8px; cursor: pointer;
  border: 1px solid var(--oafb-line); background: transparent; color: var(--oafb-fg);
  font-family: inherit; font-size: .9rem;
}
.oafb-quiz .opt.is-on { background: var(--oafb-gold); color: var(--oafb-bg); border-color: var(--oafb-gold); }
.oafb-quiz-result { border: 1px solid var(--oafb-line); background: var(--oafb-surface); border-radius: 16px; padding: 2.5rem; }
.oafb-quiz-result .score { margin: 0; font-family: var(--oafb-display); font-size: 3.75rem; color: var(--oafb-gold); }

/* Article */
.oafb-article { max-width: 44rem; margin: 0 auto; padding: 4rem 1.25rem 6rem; }
.oafb-article h2 { font-family: var(--oafb-serif); font-size: 1.75rem; font-weight: 400; margin: 2.5rem 0 1rem; }
.oafb-article p { color: var(--oafb-muted); font-size: 1rem; line-height: 1.7; }
.oafb-article ul, .oafb-article ol { color: var(--oafb-muted); padding-left: 1.25rem; }
.oafb-article li { margin: .4rem 0; }
.oafb-quote {
  margin: 2rem 0; padding: 1.5rem 1.75rem;
  border-left: 2px solid var(--oafb-gold);
  background: var(--oafb-surface); border-radius: 0 12px 12px 0;
  font-family: var(--oafb-serif); font-size: 1.25rem; color: var(--oafb-fg);
}
.oafb-quote cite { display: block; margin-top: .75rem; font-family: var(--oafb-sans); font-size: .8rem; font-style: normal; color: var(--oafb-dim); letter-spacing: .08em; text-transform: uppercase; }

/* Footer */
.oafb-footer { border-top: 1px solid var(--oafb-line); background: var(--oafb-navy); }
.oafb-footer__grid {
  width: min(var(--oafb-max), calc(100% - 2.5rem));
  margin-inline: auto; padding: 4rem 0;
  display: grid; gap: 3rem;
}
@media (min-width: 1024px) { .oafb-footer__grid { grid-template-columns: 1.1fr .9fr; } }
.oafb-footer h2 { margin: .75rem 0 0; font-family: var(--oafb-serif); font-size: 2rem; font-weight: 400; }
.oafb-footer h2 em { color: var(--oafb-gold); }
.oafb-footer__cols { display: grid; gap: 2rem; }
@media (min-width: 640px) { .oafb-footer__cols { grid-template-columns: 1fr 1fr; } }
.oafb-footer .lbl { margin: 0; font-size: .7rem; letter-spacing: .22em; text-transform: uppercase; color: var(--oafb-gold); }
.oafb-footer ul { list-style: none; margin: 1rem 0 0; padding: 0; }
.oafb-footer li { margin: .5rem 0; }
.oafb-footer li a { color: rgb(244 240 232 / .75) !important; font-size: .9rem; }
.oafb-footer li a:hover { color: var(--oafb-gold) !important; }
.oafb-footer__phone { display: block; margin-top: 1rem; font-family: var(--oafb-serif); font-size: 1.5rem; color: var(--oafb-fg) !important; }
.oafb-footer__bar {
  border-top: 1px solid rgb(200 169 110 / .15);
}
.oafb-footer__bar-inner {
  width: min(var(--oafb-max), calc(100% - 2.5rem));
  margin-inline: auto; padding: 1.5rem 0;
  display: flex; flex-direction: column; gap: 1rem;
}
@media (min-width: 640px) {
  .oafb-footer__bar-inner { flex-direction: row; align-items: center; justify-content: space-between; }
}
.oafb-legal { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; font-size: .75rem; color: var(--oafb-dim); }
.oafb-legal a { color: var(--oafb-dim) !important; }
.oafb-legal a:hover { color: var(--oafb-gold) !important; }

/* Cookie */
.oafb-cookies {
  position: fixed; inset: auto 0 0 0; z-index: 50;
  border-top: 1px solid var(--oafb-line);
  background: rgb(20 20 20 / .95); backdrop-filter: blur(12px);
  padding: .85rem 1.25rem;
}
.oafb-cookies__inner {
  width: min(var(--oafb-max), 100%);
  margin-inline: auto;
  display: flex; flex-direction: column; gap: .75rem;
}
@media (min-width: 640px) {
  .oafb-cookies__inner { flex-direction: row; align-items: center; justify-content: space-between; }
}
.oafb-cookies p { margin: 0; max-width: 42rem; font-size: .8rem; color: var(--oafb-muted); }
.oafb-cookies__btns { display: flex; gap: .5rem; flex-shrink: 0; }

/* Gutenberg / Elementor coexistence */
.wp-block-button__link { border-radius: 8px !important; }
.entry-content > * { max-width: 44rem; margin-inline: auto; }
.entry-content .alignwide { max-width: var(--oafb-max); }
.entry-content .alignfull { max-width: none; }
.elementor-widget-heading h1,
.elementor-widget-heading h2 { font-family: var(--oafb-serif); font-weight: 400; }
.elementor-page .oafb-main { padding-top: 0; }
body.elementor-editor-active .oafb-header { position: relative; }
.oafb-404 { padding: 10rem 1.25rem 6rem; text-align: center; }
.oafb-404 h1 { font-family: var(--oafb-serif); font-size: 3rem; font-weight: 400; }

.admin-bar .oafb-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .oafb-header { top: 46px; } }
