@font-face {
    font-family: "BrainyfontOne";
    src: url("../fonts/BrainyfontOne-Regular.otf");
    font-display: swap;
}
:root {
  /* BRAINYTECH brand palette */
  --bt-green: #00d67a;
  --bt-cyan: #0e7cd0;
  --bt-blue: #2020d8;
  --bt-violet: #6612d5;
  --bt-magenta: #d100d1;
  --bt-ink: #000015;
  --bt-white: #fafaff;

  /* UI roles derived from the brand palette */
  --bt-muted: #50506b;
  --bt-surface: #f4f4ff;
  --bt-surface-strong: #ececff;
  --bt-border: #d8d8f2;
  --bt-primary: var(--bt-blue);
  --bt-primary-hover: #1717b5;
  --bt-primary-soft: #eeeeff;
  --bt-accent: var(--bt-violet);
  --bt-accent-soft: #f1eaff;
  --bt-success-text: #00633a;
  --bt-radius: 1.1rem;
  --bt-shadow: 0 1.25rem 3rem rgba(0, 0, 21, .10);
  --brand-font: 'BrainyfontOne', monospace;

  /* Bootstrap alignment with the BRAINYTECH charter */
  --bs-primary: #2020d8;
  --bs-primary-rgb: 32, 32, 216;
  --bs-secondary: #55556f;
  --bs-secondary-rgb: 85, 85, 111;
  --bs-light: #f4f4ff;
  --bs-light-rgb: 244, 244, 255;
  --bs-dark: #000015;
  --bs-dark-rgb: 0, 0, 21;
  --bs-body-color: #000015;
  --bs-body-color-rgb: 0, 0, 21;
  --bs-body-bg: #fafaff;
  --bs-body-bg-rgb: 250, 250, 255;
  --bs-link-color: #2020d8;
  --bs-link-color-rgb: 32, 32, 216;
  --bs-link-hover-color: #1717b5;
  --bs-link-hover-color-rgb: 23, 23, 181;
  --bs-border-color: #d8d8f2;
  --bs-focus-ring-color: rgba(32, 32, 216, .24);
}

html { scroll-behavior: smooth; }
body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  color: var(--bt-ink);
  background: var(--bt-white);
  font-family: Verdana, sans-serif;
  line-height: 1.65;
}
main { flex: 1 0 auto; }
a { color: var(--bt-primary); }
a:hover { color: var(--bt-primary-hover); }
::selection { background: rgba(32, 32, 216, .18); color: var(--bt-ink); }
.c {
    fill: url(#b);
}
.f {
    fill: url(#e);
}

.brand-name {
  position: relative;
  display: inline-block;
  padding-bottom: .18rem;
  font-family: var(--brand-font);
  letter-spacing: .045em;
  color: var(--bt-ink);
  text-decoration: none;
}
/*.brand-name::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    var(--bt-green) 0 20%,
    var(--bt-cyan) 20% 40%,
    var(--bt-blue) 40% 60%,
    var(--bt-violet) 60% 80%,
    var(--bt-magenta) 80% 100%
  );
}*/
.navbar-brand.brand-name:hover,
.navbar-brand.brand-name:focus { color: var(--bt-ink); }

.site-header {
  background: rgba(250, 250, 255, .96);
  border-bottom: 1px solid rgba(32, 32, 216, .12);
  /*backdrop-filter: blur(14px);*/
}
.navbar .nav-link { color: #3f3f5a; font-weight: 600; }
.navbar .nav-link:hover,
.navbar .nav-link.active { color: var(--bt-primary); }
.dropdown-menu {
  --bs-dropdown-bg: var(--bt-white);
  --bs-dropdown-link-hover-bg: var(--bt-primary-soft);
  --bs-dropdown-link-active-bg: var(--bt-primary);
  padding: .65rem;
  border-radius: .85rem;
}
.dropdown-item { border-radius: .55rem; padding: .55rem .75rem; }

.btn { border-radius: .7rem; font-weight: 700; padding: .72rem 1.05rem; }
.btn-primary {
  --bs-btn-color: var(--bt-white);
  --bs-btn-bg: var(--bt-primary);
  --bs-btn-border-color: var(--bt-primary);
  --bs-btn-hover-color: var(--bt-white);
  --bs-btn-hover-bg: var(--bt-primary-hover);
  --bs-btn-hover-border-color: var(--bt-primary-hover);
  --bs-btn-focus-shadow-rgb: 32, 32, 216;
  --bs-btn-active-color: var(--bt-white);
  --bs-btn-active-bg: var(--bt-primary-hover);
  --bs-btn-active-border-color: var(--bt-primary-hover);
}
.btn-outline-primary {
  --bs-btn-color: var(--bt-primary);
  --bs-btn-border-color: var(--bt-primary);
  --bs-btn-hover-color: var(--bt-white);
  --bs-btn-hover-bg: var(--bt-primary);
  --bs-btn-hover-border-color: var(--bt-primary);
  --bs-btn-focus-shadow-rgb: 32, 32, 216;
  --bs-btn-active-color: var(--bt-white);
  --bs-btn-active-bg: var(--bt-primary-hover);
  --bs-btn-active-border-color: var(--bt-primary-hover);
}

.hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 84% 12%, rgba(32, 32, 216, .14), transparent 27rem),
    radial-gradient(circle at 98% 34%, rgba(209, 0, 209, .08), transparent 22rem),
    radial-gradient(circle at 73% 5%, rgba(0, 214, 122, .08), transparent 17rem),
    linear-gradient(180deg, #f3f3ff 0%, var(--bt-white) 100%);
  border-bottom: 1px solid var(--bt-border);
}
.hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: linear-gradient(
    90deg,
    var(--bt-green),
    var(--bt-cyan),
    var(--bt-blue),
    var(--bt-violet),
    var(--bt-magenta)
  );
}
.hero h1 { max-width: 16ch; font-size: clamp(2.35rem, 5vw, 4.7rem); line-height: 1.04; letter-spacing: -.035em; }
.hero .lead { max-width: 48rem; color: var(--bt-muted); font-size: clamp(1.08rem, 2vw, 1.25rem); }
.eyebrow { color: var(--bt-accent); text-transform: uppercase; font-size: .78rem; font-weight: 800; letter-spacing: .12em; }

.section-pad { padding-top: clamp(4rem, 8vw, 7rem); padding-bottom: clamp(4rem, 8vw, 7rem); }
.section-soft { background: var(--bt-surface); }
.section-title { max-width: 17ch; font-size: clamp(2rem, 3vw, 3rem); letter-spacing: -.025em; }
.section-intro { max-width: 48rem; color: var(--bt-muted); }

.bt-card {
  height: 100%;
  border: 1px solid var(--bt-border);
  border-radius: var(--bt-radius);
  background: var(--bt-white);
  padding: 1.5rem;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.bt-card:hover { transform: translateY(-3px); box-shadow: var(--bt-shadow); border-color: rgba(32, 32, 216, .35); }
.bt-card h3 { font-size: 1.15rem; }
.bt-card p { color: var(--bt-muted); }
.bt-card a.stretched-link { text-decoration: none; }

.offer-featured {
  border: 2px solid var(--bt-primary);
  box-shadow: 0 1.25rem 3rem rgba(32, 32, 216, .12);
}
.badge-soft {
  color: var(--bt-success-text);
  background: rgba(0, 214, 122, .13);
  border: 1px solid rgba(0, 214, 122, .34);
}

.process-step { display: flex; gap: 1rem; align-items: flex-start; }
.process-number {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  background: var(--bt-primary);
  color: var(--bt-white);
  font-weight: 800;
}

.proof-box {
  border-left: .25rem solid var(--bt-magenta);
  background: var(--bt-surface);
  border-radius: 0 var(--bt-radius) var(--bt-radius) 0;
}

.price { font-size: clamp(2rem, 4vw, 3rem); font-weight: 850; letter-spacing: -.03em; color: var(--bt-ink); }

.form-shell {
  border: 1px solid var(--bt-border);
  border-radius: 1.4rem;
  box-shadow: var(--bt-shadow);
  background: var(--bt-white);
}
.form-section + .form-section { border-top: 1px solid var(--bt-border); }
.form-label { font-weight: 700; }
.form-text { color: var(--bt-muted); }
.form-control,
.form-select {
  border-color: #c8c8e7;
  border-radius: .65rem;
  padding: .75rem .85rem;
  background-color: var(--bt-white);
}
.form-control:focus,
.form-select:focus { border-color: var(--bt-primary); box-shadow: 0 0 0 .22rem rgba(32, 32, 216, .16); }
.required-marker { color: var(--bt-violet); }
.honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(1px,1px,1px,1px) !important; white-space: nowrap !important; }

.cta-band {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--bt-ink) 0%, #11114b 100%);
  color: var(--bt-white);
  border-radius: 1.5rem;
}
.cta-band::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 4px;
  background: linear-gradient(
    90deg,
    var(--bt-green),
    var(--bt-cyan),
    var(--bt-blue),
    var(--bt-violet),
    var(--bt-magenta)
  );
}
.cta-band p { color: #dadaef; }
.cta-band .btn-light {
  --bs-btn-color: var(--bt-ink);
  --bs-btn-bg: var(--bt-white);
  --bs-btn-border-color: var(--bt-white);
  --bs-btn-hover-color: var(--bt-primary);
  --bs-btn-hover-bg: #f0f0ff;
  --bs-btn-hover-border-color: #f0f0ff;
}

.site-footer { background: #f1f1ff; border-top: 1px solid var(--bt-border); }
.footer-heading { font-size: .82rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 800; color: var(--bt-primary); }
.footer-links li + li { margin-top: .45rem; }
.footer-links a,
.site-footer a { color: #4a4a67; text-decoration: none; }
.footer-links a:hover,
.site-footer a:hover { color: var(--bt-primary); text-decoration: underline; text-underline-offset: .2em; }

.skip-link {
  position: fixed;
  z-index: 2000;
  left: 1rem;
  top: 1rem;
  padding: .65rem 1rem;
  background: var(--bt-white);
  color: var(--bt-primary);
  border: 2px solid var(--bt-primary);
  border-radius: .5rem;
}

@media (max-width: 1199.98px) {
  .offcanvas { --bs-offcanvas-width: min(90vw, 390px); --bs-offcanvas-bg: var(--bt-white); }
  .offcanvas .dropdown-menu { position: static !important; transform: none !important; box-shadow: none !important; margin-top: .25rem; border: 1px solid var(--bt-border) !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Offer pages */
.offer-hero h1,
.hero-compact h1 { max-width: 18ch; }
.offer-facts { margin-top: 1.35rem; }
.offer-facts > div { padding: .85rem 0; border-top: 1px solid var(--bt-border); }
.offer-facts dt { font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; color: var(--bt-muted); font-weight: 800; }
.offer-facts dd { margin: .25rem 0 0; font-weight: 650; color: var(--bt-ink); }
.check-list li { position: relative; padding-left: 1.8rem; margin-bottom: .75rem; color: var(--bt-muted); }
.check-list li::before { content: "✓"; position: absolute; left: 0; top: 0; font-weight: 900; color: var(--bt-success-text); }
.decision-table th { color: var(--bt-ink); font-weight: 800; background: var(--bt-surface-strong); }
.decision-table td,
.decision-table th { padding: 1rem; }
.accordion {
  --bs-accordion-bg: var(--bt-white);
  --bs-accordion-border-color: var(--bt-border);
  --bs-accordion-btn-focus-box-shadow: 0 0 0 .22rem rgba(32, 32, 216, .16);
  --bs-accordion-active-bg: var(--bt-primary-soft);
  --bs-accordion-active-color: var(--bt-ink);
}
.accordion-button { font-weight: 750; }
.alert-primary {
  --bs-alert-bg: var(--bt-primary-soft);
  --bs-alert-color: var(--bt-ink);
  --bs-alert-border-color: rgba(32, 32, 216, .22);
  --bs-alert-link-color: var(--bt-primary-hover);
}
@media (min-width: 992px) { .pb-lg-7 { padding-bottom: 7rem !important; } }

/* Resource pages and ROI calculator */
.decision-list { margin: 0; padding-left: 1.4rem; }
.decision-list li { padding: .75rem 0 .75rem .35rem; border-bottom: 1px solid var(--bt-border); }
.decision-list li:last-child { border-bottom: 0; }
.calculator-shell {
  border: 1px solid var(--bt-border);
  border-radius: 1.5rem;
  background: var(--bt-white);
  box-shadow: var(--bt-shadow);
  padding: clamp(1.25rem, 3vw, 2.5rem);
}
.calculator-form fieldset { border: 0; padding: 0; }
.calculator-results { position: sticky; top: 7rem; }
.metric-card { height: 100%; border: 1px solid var(--bt-border); border-radius: 1rem; padding: 1.15rem; background: var(--bt-surface); }
.metric-label { display: block; color: var(--bt-muted); font-size: .82rem; font-weight: 750; text-transform: uppercase; letter-spacing: .055em; }
.metric-value { display: block; font-size: clamp(1.8rem, 4vw, 2.8rem); line-height: 1.15; letter-spacing: -.03em; }
.result-highlight { border: 2px solid var(--bt-primary); border-radius: 1.1rem; padding: 1.25rem; background: var(--bt-primary-soft); }
.calculator-table th:first-child { min-width: 10rem; }
.form-range { accent-color: var(--bt-primary); }
@media (max-width: 991.98px) { .calculator-results { position: static; } }

/* FAQ and legal pages */
.scroll-margin-top { scroll-margin-top: 7rem; }
.legal-content h2 { margin-top: 2.75rem; margin-bottom: 1rem; font-size: clamp(1.45rem, 2.5vw, 2rem); letter-spacing: -.015em; }
.legal-content h3 { margin-top: 1.75rem; font-size: 1.18rem; }
.legal-content p,
.legal-content li { color: var(--bt-muted); }
.legal-content strong { color: var(--bt-ink); }
.legal-content code { color: var(--bt-ink); }
.list-group-item { border-color: var(--bt-border); color: var(--bt-muted); background: var(--bt-white); }
.list-group-item:hover,
.list-group-item:focus { color: var(--bt-primary); background: var(--bt-primary-soft); }

/* Final accessibility and responsive polish */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid rgba(32, 32, 216, .62);
  outline-offset: 3px;
}
.navbar-toggler:focus-visible,
.btn-close:focus-visible { box-shadow: 0 0 0 .25rem rgba(32, 32, 216, .20); }
.navbar .nav-link,
.dropdown-item { min-height: 2.75rem; display: flex; align-items: center; }
.table-responsive {
  scrollbar-width: thin;
  scrollbar-color: #aaaade transparent;
}
.invalid-feedback { font-weight: 650; }

@media (max-width: 575.98px) {
  .section-pad { padding-top: 3.25rem; padding-bottom: 3.25rem; }
  .hero h1 { font-size: clamp(2.15rem, 11vw, 3.2rem); }
  .hero .btn,
  .cta-band .btn { width: 100%; }
  .cta-band { border-radius: 1.1rem; }
  .form-shell { border-radius: 1rem; }
  .bt-card { padding: 1.25rem; }
}

@media (hover: none) {
  .bt-card:hover { transform: none; box-shadow: none; }
}
