:root {
  --bt-page: #fbfcfe;
  --bt-surface: #ffffff;
  --bt-surface-blue: #f5f7fa;
  --bt-surface-blue-strong: #d9e1ec;
  --bt-line: #d8e0ea;
  --bt-line-strong: #b8c5d4;
  --bt-text: #111c2f;
  --bt-muted: #5d6675;
  --bt-blue: #163b63;
  --bt-blue-dark: #0f2a47;
  --bt-blue-soft: #edf2f7;
  --bt-blue-pale: #f7f9fc;
  --bt-navy: #111c2f;
  --bt-navy-soft: #1b2f4a;
  --bt-header-bg: rgba(255, 255, 255, 0.98);
  --bt-header-border: #d8e0ea;
  --bt-header-shadow: 0 8px 22px rgba(17, 28, 47, 0.08);
  --bt-header-text: #111c2f;
  --bt-header-muted: #465568;
  --bt-header-cta-bg: #163b63;
  --bt-header-cta-hover: #0f2a47;
  --bt-hero-overlay: transparent;
  --bt-font-body: "SUIT", "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bt-font-heading: "SUIT", "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bt-heading-weight: 780;
  --bt-context-weight: 700;
}

.site-light[data-theme="white"] {
  --bt-page: #fbfcfe;
  --bt-surface: #ffffff;
  --bt-surface-blue: #f5f7fa;
  --bt-line: #d8e0ea;
  --bt-line-strong: #b8c5d4;
  --bt-header-bg: rgba(255, 255, 255, 0.98);
  --bt-header-border: #d8e0ea;
  --bt-header-shadow: 0 8px 22px rgba(17, 28, 47, 0.08);
  --bt-header-text: #111c2f;
  --bt-header-muted: #465568;
  --bt-hero-overlay: transparent;
}

.site-light[data-theme="soft-blue"] {
  --bt-page: #f5f8fb;
  --bt-surface: #ffffff;
  --bt-surface-blue: #f5f8fb;
  --bt-line: #d8e0ea;
  --bt-line-strong: #b8c5d4;
  --bt-header-bg: rgba(248, 251, 255, 0.98);
  --bt-header-border: #d8e0ea;
  --bt-header-shadow: 0 8px 22px rgba(17, 28, 47, 0.08);
  --bt-header-text: #111c2f;
  --bt-header-muted: #465568;
  --bt-hero-overlay: transparent;
}

.site-light[data-theme="cool-gray"] {
  --bt-page: #f6f7f9;
  --bt-surface: #ffffff;
  --bt-surface-blue: #f6f7f9;
  --bt-line: #dfe5ee;
  --bt-line-strong: #c8d2e0;
  --bt-header-bg: rgba(250, 251, 252, 0.98);
  --bt-header-border: #d8dee8;
  --bt-header-shadow: 0 10px 24px rgba(31, 41, 55, 0.08);
  --bt-header-text: #111827;
  --bt-header-muted: #4b5563;
  --bt-hero-overlay: transparent;
}

.site-light[data-nav-theme="nav-white"] {
  --bt-header-bg: rgba(255, 255, 255, 0.98);
  --bt-header-border: var(--bt-line);
  --bt-header-shadow: 0 10px 24px rgba(15, 58, 116, 0.1);
  --bt-header-text: var(--bt-text);
  --bt-header-muted: #40536f;
  --bt-header-cta-bg: var(--bt-blue);
  --bt-header-cta-hover: var(--bt-blue-dark);
}

.site-light[data-nav-theme="nav-blue"] {
  --bt-header-bg: rgba(22, 59, 99, 0.98);
  --bt-header-border: rgba(255, 255, 255, 0.18);
  --bt-header-shadow: 0 12px 28px rgba(17, 28, 47, 0.18);
  --bt-header-text: #ffffff;
  --bt-header-muted: rgba(255, 255, 255, 0.88);
  --bt-header-cta-bg: #ffffff;
  --bt-header-cta-hover: #eef4ff;
}

.site-light[data-nav-theme="nav-navy"] {
  --bt-header-bg: rgba(15, 31, 61, 0.98);
  --bt-header-border: rgba(217, 229, 255, 0.18);
  --bt-header-shadow: 0 14px 36px rgba(15, 31, 61, 0.22);
  --bt-header-text: #ffffff;
  --bt-header-muted: #b8ccff;
  --bt-header-cta-bg: #ffffff;
  --bt-header-cta-hover: #eef4ff;
}

.site-light[data-nav-theme="nav-blue"] .site-header-cta,
.site-light[data-nav-theme="nav-blue"] header nav > a.hidden,
.site-light[data-nav-theme="nav-navy"] .site-header-cta,
.site-light[data-nav-theme="nav-navy"] header nav > a.hidden {
  color: var(--bt-blue) !important;
}

.site-light[data-nav-theme="nav-blue"] .site-header-cta:hover,
.site-light[data-nav-theme="nav-blue"] header nav > a.hidden:hover,
.site-light[data-nav-theme="nav-navy"] .site-header-cta:hover,
.site-light[data-nav-theme="nav-navy"] header nav > a.hidden:hover {
  color: var(--bt-blue-dark) !important;
}

.site-light[data-font-theme="pretendard"] {
  --bt-font-body: "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bt-font-heading: "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bt-heading-weight: 760;
  --bt-context-weight: 720;
}

.site-light[data-font-theme="noto-sans"] {
  --bt-font-body: "Noto Sans KR", "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bt-font-heading: "Noto Sans KR", "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bt-heading-weight: 800;
  --bt-context-weight: 700;
}

.site-light[data-font-theme="suit"] {
  --bt-font-body: "SUIT", "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bt-font-heading: "SUIT", "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bt-heading-weight: 780;
  --bt-context-weight: 700;
}

.site-light[data-font-theme="noto-serif"] {
  --bt-font-body: "Noto Serif KR", "Noto Sans KR", serif;
  --bt-font-heading: "Noto Serif KR", "Noto Sans KR", serif;
  --bt-heading-weight: 700;
  --bt-context-weight: 650;
}

.site-light[data-font-theme="gulim"] {
  --bt-font-body: "Gulim", "굴림", "Apple SD Gothic Neo", sans-serif;
  --bt-font-heading: "Gulim", "굴림", "Apple SD Gothic Neo", sans-serif;
  --bt-heading-weight: 700;
  --bt-context-weight: 650;
}

html {
  scroll-behavior: smooth;
}

.site-light {
  background: var(--bt-page) !important;
  color: var(--bt-text) !important;
  font-family: var(--bt-font-body);
  word-break: keep-all;
  overflow-wrap: break-word;
}

.theme-switcher {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 70;
  display: grid;
  gap: 0.5rem;
  max-width: min(44rem, calc(100vw - 2rem));
  border: 1px solid var(--bt-line);
  background: rgba(255, 255, 255, 0.96);
  padding: 0.375rem;
  box-shadow: 0 16px 36px rgba(15, 58, 116, 0.14);
}

.theme-switcher[hidden] {
  display: none !important;
}

.theme-control-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.375rem;
}

.theme-control-label {
  min-width: 3rem;
  color: var(--bt-text);
  font-size: 0.78rem;
  line-height: 1.2;
  font-weight: 900;
}

.theme-switcher button {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  border: 1px solid transparent;
  background: transparent;
  padding: 0.5rem 0.62rem;
  color: var(--bt-muted);
  font-size: 0.8rem;
  line-height: 1.2;
  font-weight: 800;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.theme-switcher button:hover,
.theme-switcher button[aria-pressed="true"] {
  border-color: var(--bt-line-strong);
  background: var(--bt-blue-soft);
  color: var(--bt-blue-dark);
}

.theme-swatch {
  width: 0.72rem;
  height: 0.72rem;
  flex: 0 0 auto;
  border: 1px solid var(--bt-line-strong);
  border-radius: 999px;
}

.theme-swatch-white {
  background: #ffffff;
}

.theme-swatch-blue {
  background: #f4f8ff;
}

.theme-swatch-gray {
  background: #f6f7f9;
}

.theme-swatch-nav-blue {
  background: var(--bt-blue);
}

.theme-swatch-navy {
  background: var(--bt-navy);
}

.site-light header {
  background: var(--bt-header-bg) !important;
  border-color: var(--bt-header-border) !important;
  box-shadow: var(--bt-header-shadow);
}

.site-light header nav {
  min-height: 6.1rem;
}

.site-light header nav > a:first-child {
  gap: 1.05rem;
}

.site-light header nav > a:first-child > span:last-child > span:first-child {
  font-size: clamp(1.32rem, 1.65vw, 1.5rem);
  line-height: 1.08;
  font-weight: 820;
  letter-spacing: 0;
}

.site-light header nav > a:first-child > span:last-child > span:first-child + span {
  margin-top: 0.2rem;
  font-size: 0.78rem;
  letter-spacing: 0.18em;
}

.site-light header nav > div.hidden a {
  font-size: 1.08rem;
  line-height: 1.45;
  font-weight: 800;
}

.site-light header nav > a.hidden {
  padding: 1rem 1.9rem;
  font-size: 1.05rem;
  font-weight: 800;
}

.brand-title {
  display: block;
  color: var(--bt-header-text) !important;
  font-size: 1.5rem;
  line-height: 1.2;
  font-weight: 800;
}

.brand-subtitle {
  display: block;
  margin-top: 0.2rem;
  color: var(--bt-header-muted) !important;
  font-size: clamp(0.62rem, 1.2vw, 0.78rem);
  line-height: 1.35;
  font-weight: 600;
  letter-spacing: 0.08em !important;
}

.nav-brand-subtitle {
  display: block;
  margin-top: 0.2rem;
  color: var(--bt-header-muted) !important;
  font-size: clamp(0.72rem, 1.1vw, 0.84rem);
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: 0.18em !important;
}

.site-nav-link {
  color: var(--bt-header-muted) !important;
  font-size: 1.08rem;
  line-height: 1.45;
  font-weight: 800;
  transition: color 180ms ease;
}

.site-nav-link:hover {
  color: var(--bt-blue) !important;
}

.site-light[data-nav-theme="nav-blue"] .site-nav-link:hover,
.site-light[data-nav-theme="nav-navy"] .site-nav-link:hover {
  color: #ffffff !important;
}

.site-header-cta {
  align-items: center;
  justify-content: center;
  border: 1px solid var(--bt-header-cta-bg);
  background: var(--bt-header-cta-bg) !important;
  padding: 1rem 1.9rem;
  color: #ffffff !important;
  font-size: 1.05rem;
  line-height: 1.45;
  font-weight: 800;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.site-header-cta:hover {
  border-color: var(--bt-header-cta-hover);
  background: var(--bt-header-cta-hover) !important;
  color: #ffffff !important;
}

.site-menu-button {
  display: inline-flex;
  width: 2.75rem;
  height: 2.75rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--bt-line-strong);
  color: var(--bt-header-text) !important;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.site-menu-button:hover {
  border-color: var(--bt-blue);
  background: var(--bt-blue-soft);
  color: var(--bt-blue-dark) !important;
}

.mobile-menu-panel {
  border-top: 1px solid var(--bt-line);
  background: #ffffff;
  padding: 1.25rem;
}

.mobile-nav-link,
.mobile-nav-cta,
.mobile-nav-call {
  display: inline-flex;
  justify-content: center;
  padding: 0.875rem 0.25rem;
  color: var(--bt-header-text) !important;
  font-size: 0.95rem;
  line-height: 1.45;
  font-weight: 700;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.mobile-nav-link {
  justify-content: flex-start;
}

.mobile-nav-link:hover {
  color: var(--bt-blue) !important;
}

.mobile-nav-cta,
.mobile-nav-call {
  width: 100%;
  border: 1px solid var(--bt-line-strong);
  padding: 0.875rem 1.25rem;
}

.mobile-nav-cta {
  margin-top: 0.75rem;
}

.mobile-nav-cta:hover,
.mobile-nav-call:hover {
  border-color: var(--bt-blue);
  background: var(--bt-blue-soft);
  color: var(--bt-blue-dark) !important;
}

.mobile-header-actions {
  display: none;
  align-items: center;
  gap: 0.45rem;
}

.mobile-header-cta {
  display: inline-flex;
  min-height: 2.5rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--bt-blue);
  background: var(--bt-blue);
  padding: 0.58rem 0.78rem;
  color: #ffffff !important;
  font-size: 0.86rem;
  line-height: 1.2;
  font-weight: 850;
}

.mobile-header-cta:hover {
  border-color: var(--bt-blue-dark);
  background: var(--bt-blue-dark);
  color: #ffffff !important;
}

.site-light footer {
  background: #eef3f9 !important;
  border-color: var(--bt-line) !important;
  color: var(--bt-muted) !important;
}

.site-footer {
  border-top: 1px solid var(--bt-line);
  background: #ffffff !important;
  color: var(--bt-muted);
}

.site-footer-inner {
  max-width: 72rem;
  margin: 0 auto;
  padding: 4rem 1.25rem 4.5rem;
}

.site-footer-brand {
  display: flex;
  align-items: center;
  gap: 0.9rem;
}

.footer-brand-mark {
  width: 3rem;
  height: 3rem;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: 0.9rem;
  border: 1px solid rgba(185, 28, 28, 0.18);
  background: #b91c1c;
  box-shadow: 0 10px 24px rgba(185, 28, 28, 0.12);
}

.footer-brand-mark img {
  display: block;
  width: 100%;
  height: 100%;
}

.footer-company-name {
  color: var(--bt-text) !important;
  font-size: 1.25rem;
  line-height: 1.25;
  font-weight: 900;
}

.footer-brand-name {
  margin-top: 0.18rem;
  color: var(--bt-blue) !important;
  font-size: 0.72rem;
  line-height: 1.3;
  font-weight: 800;
  letter-spacing: 0.08em !important;
}

.site-footer-info {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
  margin-top: 2rem;
  color: var(--bt-muted);
  font-style: normal;
  font-size: 0.95rem;
  line-height: 1.8;
}

.site-footer-info span {
  display: inline-flex;
  gap: 0.4rem;
  align-items: baseline;
}

.site-footer-info strong {
  color: var(--bt-text);
  font-weight: 850;
}

.site-footer-info a {
  color: inherit;
  text-decoration: none;
}

.site-footer-info a:hover {
  color: var(--bt-blue);
}

.site-footer-copy {
  margin-top: 1.5rem;
  color: #7a8797 !important;
  font-size: 0.9rem;
  line-height: 1.6;
}

.site-light main {
  background: var(--bt-page);
}

.site-light section {
  background-color: var(--bt-page);
}

.section-soft {
  background-color: var(--bt-surface-blue) !important;
}

.site-light [class*="bg-[#071326]"],
.site-light [class*="bg-[#0a172b]"],
.site-light [class*="bg-[#061020]"],
.site-light [class*="bg-[#0b1830]"] {
  background-color: var(--bt-surface-blue) !important;
}

.site-light header[class*="bg-[#071326]"] {
  background: var(--bt-header-bg) !important;
  background-color: var(--bt-header-bg) !important;
}

.site-light [class*="bg-white/["] {
  background-color: var(--bt-surface) !important;
}

.site-light [class*="bg-[#c8a45d]"] {
  background-color: var(--bt-blue) !important;
  color: #ffffff !important;
}

.site-light [class*="hover:bg-[#c8a45d]"]:hover,
.site-light [class*="hover:bg-[#f2d38b]"]:hover {
  background-color: var(--bt-blue-dark) !important;
  color: #ffffff !important;
}

.site-light [class*="text-white"] {
  color: var(--bt-text) !important;
}

.site-light [class*="text-white/80"],
.site-light [class*="text-white/75"],
.site-light [class*="text-white/70"],
.site-light [class*="text-white/60"],
.site-light [class*="text-white/50"] {
  color: var(--bt-muted) !important;
}

.site-light [class*="text-[#c8a45d]"],
.site-light [class*="text-[#f2d38b]"] {
  color: var(--bt-blue) !important;
}

.site-light [class*="border-white"] {
  border-color: var(--bt-line) !important;
}

.site-light [class*="border-[#c8a45d]"],
.site-light [class*="border-[#f2d38b]"],
.site-light [class*="hover:border-[#f2d38b]"]:hover {
  border-color: var(--bt-blue) !important;
}

.site-light [class*="shadow-black"] {
  box-shadow: 0 18px 48px rgba(15, 58, 116, 0.12) !important;
}

.site-light [class*="bg-[linear-gradient"] {
  background-image: none !important;
}

.site-light [class*="bg-[radial-gradient"] {
  background-image: none !important;
}

.site-light .rounded-full {
  box-shadow: 0 0 0 8px rgba(22, 59, 99, 0.045);
}

.site-light details,
.site-light article,
.site-light aside {
  border-color: var(--bt-line) !important;
}

.site-light details,
.site-light article,
.site-light aside,
.site-light dl,
.site-light ol > li {
  background-color: var(--bt-surface) !important;
}

.site-light summary {
  color: var(--bt-text) !important;
}

.site-light a[class*="border"] {
  background-color: rgba(255, 255, 255, 0.72);
}

.site-light a[class*="border"]:hover {
  background-color: var(--bt-blue-soft);
}

.site-light a[class*="bg-[#c8a45d]"],
.site-light a[class*="bg-[#c8a45d]"]:hover {
  background-color: var(--bt-blue) !important;
  color: #ffffff !important;
}

.site-light span[class*="bg-white/["] {
  background-color: var(--bt-blue-soft) !important;
}

.site-light header nav > a:first-child > span:last-child > span:first-child,
.site-light header [data-menu-button],
.site-light header [data-mobile-menu] a {
  color: var(--bt-header-text) !important;
}

.site-light header nav > a:first-child > span:last-child > span:first-child + span,
.site-light header nav > div.hidden a {
  color: var(--bt-header-muted) !important;
}

.site-light header nav > div.hidden a:hover,
.site-light header [data-mobile-menu] a:hover {
  color: var(--bt-blue) !important;
}

.site-light header a[aria-current="page"] {
  color: var(--bt-blue) !important;
  text-decoration: underline;
  text-decoration-color: var(--bt-blue);
  text-underline-offset: 0.45rem;
}

.site-light header nav > a.hidden {
  background: var(--bt-header-cta-bg) !important;
  border-color: var(--bt-header-cta-bg) !important;
  color: #ffffff !important;
}

.site-light header nav > a.hidden:hover {
  background: var(--bt-header-cta-hover) !important;
  border-color: var(--bt-header-cta-hover) !important;
  color: #ffffff !important;
}

.site-light [data-mobile-menu] {
  background: #ffffff !important;
  border-color: var(--bt-line) !important;
}

.site-light header [data-mobile-menu] a[class*="border"] {
  background: transparent !important;
  border-color: var(--bt-line-strong) !important;
  color: var(--bt-header-text) !important;
}

.site-light header [data-mobile-menu] a[class*="border"]:hover {
  background: var(--bt-blue-soft) !important;
  border-color: var(--bt-blue) !important;
}

.site-light header [data-menu-button] {
  border-color: var(--bt-line-strong) !important;
}

.site-light header [data-menu-button]:hover {
  background: var(--bt-blue-soft);
  border-color: var(--bt-blue) !important;
}

.site-light svg {
  color: currentColor;
}

.site-light[data-page] header {
  background: var(--bt-header-bg) !important;
  border-color: var(--bt-header-border) !important;
  box-shadow: var(--bt-header-shadow);
}

.site-light[data-page] main {
  background: var(--bt-page);
}

.site-light[data-page] main > section:first-of-type {
  padding-top: 5.25rem !important;
}

.site-light[data-page] main > section:first-of-type > .absolute {
  background: var(--bt-page) !important;
}

.site-light[data-page] main > section:first-of-type > .absolute > [style*="background-image"] {
  opacity: 0.08 !important;
  filter: saturate(0.85);
}

.site-light[data-page] main > section:first-of-type > div:last-child {
  min-height: auto !important;
  padding-top: clamp(2.75rem, 5vw, 4.5rem) !important;
  padding-bottom: clamp(3rem, 5vw, 4.75rem) !important;
}

.site-light[data-page] main > section:first-of-type h1 {
  color: var(--bt-text) !important;
  font-size: clamp(2.15rem, 3.7vw, 3.45rem) !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;
}

.site-light[data-page] main > section:first-of-type p[class*="border-l-2"] {
  border-color: var(--bt-blue) !important;
  color: var(--bt-blue) !important;
  letter-spacing: 0 !important;
}

.site-light[data-page] article,
.site-light[data-page] aside,
.site-light[data-page] details,
.site-light[data-page] .emphasis-band {
  border-color: var(--bt-line) !important;
  background: var(--bt-surface) !important;
  box-shadow: 0 14px 36px rgba(17, 28, 47, 0.055);
}

.site-light[data-page] article h2,
.site-light[data-page] article h3,
.site-light[data-page] aside h2,
.site-light[data-page] aside h3,
.site-light[data-page] details summary {
  color: var(--bt-text) !important;
}

.site-light[data-page] footer {
  background: var(--bt-surface-blue) !important;
  border-color: var(--bt-line) !important;
  color: var(--bt-muted) !important;
}

.site-light[data-page] footer .text-white,
.site-light[data-page] footer [class*="text-white"] {
  color: var(--bt-text) !important;
}

.site-light h1,
.site-light h2,
.site-light h3,
.site-light p,
.site-light a,
.site-light dd,
.site-light dt,
.site-light li,
.site-light summary {
  letter-spacing: 0;
}

.headline-balance {
  text-wrap: balance;
}

.hero-intro-title {
  color: var(--bt-text) !important;
  font-family: var(--bt-font-heading);
  line-height: 1.04 !important;
  font-weight: 800 !important;
}

.hero-intro-title > span {
  display: block;
}

.hero-title-context {
  color: #172033 !important;
  font-size: clamp(2rem, 3.1vw, 2.9rem);
  line-height: 1.12;
  font-style: normal;
  font-weight: var(--bt-context-weight);
}

.site-light[data-title-style="context-italic"] .hero-title-context {
  font-style: italic;
}

.site-light[data-title-style="context-plain"] .hero-title-context {
  font-style: normal;
}

.hero-title-main {
  color: var(--bt-text) !important;
  margin-top: 0.1em;
  font-size: clamp(3rem, 4.85vw, 4.35rem);
  line-height: 1.02;
  font-weight: var(--bt-heading-weight);
}

.hero-title-action {
  margin-top: 0.06em;
  color: var(--bt-text) !important;
  font-size: clamp(1.85rem, 2.7vw, 2.55rem);
  line-height: 1.12;
  font-weight: 700;
}

.hero-title-particle {
  font-size: clamp(1.85rem, 2.7vw, 2.55rem);
  font-weight: 700;
}

.hero-background {
  background: var(--bt-page);
}

.hero-background-overlay {
  background: var(--bt-hero-overlay);
}

.hero-background-fade {
  display: none;
}

.hero-text-panel {
  position: relative;
  z-index: 1;
  grid-column: 1;
  grid-row: 1;
}

.hero-copy-stack {
  display: flex;
  flex-direction: column;
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  max-width: 45rem;
}

.hero-layout {
  column-gap: 2.5rem;
  row-gap: 0;
}

.hero-service-eyebrow {
  display: inline-flex;
  margin-bottom: 1rem;
  border: 1px solid rgba(22, 59, 99, 0.12);
  border-radius: 999px;
  background: rgba(22, 59, 99, 0.055);
  padding: 0.42rem 0.8rem;
  color: var(--bt-blue) !important;
  font-size: 0.9rem;
  line-height: 1.35;
  font-weight: 800;
}

.hero-copy {
  margin-top: 1.15rem;
  max-width: 43rem;
  color: var(--bt-muted) !important;
  font-size: 1rem;
}

@media (min-width: 640px) {
  .hero-copy {
    font-size: 1.16rem;
  }
}

.hero-main-cta {
  display: grid;
  gap: 0.9rem;
  margin-top: 1.2rem;
  grid-column: 1;
  grid-row: 3;
  max-width: 28rem;
}

.hero-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.hero-primary-link {
  display: inline-flex;
  min-height: 4.25rem;
  flex-direction: column;
  gap: 0.18rem;
  align-items: center;
  justify-content: center;
  padding: 0.95rem 1.8rem;
  font-size: 1.05rem;
  line-height: 1.35;
  font-weight: 850;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.hero-primary-link {
  width: 100%;
  min-width: 21rem;
  border: 1px solid var(--bt-blue);
  background: var(--bt-blue);
  color: #ffffff !important;
  box-shadow: 0 14px 28px rgba(22, 59, 99, 0.16);
}

.hero-primary-link:hover {
  border-color: var(--bt-blue-dark);
  background: var(--bt-blue-dark);
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 16px 32px rgba(22, 59, 99, 0.2);
}

.hero-cta-label,
.hero-cta-phone {
  display: block;
}

.hero-cta-phone {
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.82rem;
  font-weight: 750;
  letter-spacing: 0.04em;
}

.hero-main-cta p {
  border-left: 3px solid rgba(22, 59, 99, 0.2);
  padding-left: 0.85rem;
  color: var(--bt-muted) !important;
  font-size: 0.95rem;
  line-height: 1.6;
  font-weight: 680;
}

.hero-profile-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--bt-blue) !important;
  font-size: 0.92rem;
  font-weight: 800;
  line-height: 1.4;
}

.hero-profile-link {
  border: 1px solid rgba(17, 28, 47, 0.1);
  background: rgba(255, 255, 255, 0.72);
  padding: 0.6rem 0.9rem;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.hero-profile-link:hover {
  background: var(--bt-blue-soft);
  border-color: var(--bt-blue);
  color: var(--bt-blue-dark) !important;
}

.profile-link-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1.05rem;
}

.profile-caption {
  border-top: 1px solid rgba(17, 28, 47, 0.08);
  background: linear-gradient(180deg, #ffffff 0%, #f6f9fc 100%);
  padding: 1.25rem 1.35rem 1.35rem;
}

.profile-caption-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.45rem;
}

.profile-name {
  color: var(--bt-text) !important;
  font-size: 1.16rem;
  line-height: 1.35;
  font-weight: 860;
}

.profile-role {
  color: var(--bt-blue) !important;
  font-size: 0.92rem;
  line-height: 1.35;
  font-weight: 780;
}

.profile-career-summary {
  margin-top: 0.95rem;
  border: 1px solid rgba(17, 28, 47, 0.1);
  background: #eef3f8;
  padding: 1rem 1.05rem;
  color: var(--bt-text) !important;
}

.profile-career-label {
  color: var(--bt-blue) !important;
  font-size: 0.74rem;
  line-height: 1.35;
  font-weight: 850;
}

.profile-career-main {
  margin-top: 0.35rem;
  color: var(--bt-text) !important;
  font-size: 1.08rem;
  line-height: 1.45;
  font-weight: 860;
  word-break: keep-all;
}

.profile-career-details {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.65rem;
  margin-top: 0.75rem;
  color: var(--bt-muted) !important;
  font-size: 0.94rem;
  line-height: 1.45;
  font-weight: 780;
}

.profile-career-details span {
  position: relative;
}

.profile-career-details span + span {
  padding-left: 0.72rem;
}

.profile-career-details span + span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 0.88rem;
  background: rgba(17, 28, 47, 0.18);
  transform: translateY(-50%);
}

.compact-emphasis-title {
  font-size: clamp(1.125rem, 2vw, 1.5rem) !important;
  line-height: 1.55 !important;
}

.promise-title {
  font-size: clamp(1.55rem, 2.45vw, 2.25rem) !important;
  line-height: 1.32 !important;
}

.promise-title span {
  display: block;
}

@media (min-width: 640px) {
  .promise-title span {
    white-space: nowrap;
  }
}

.body-readable {
  line-height: 1.85;
  text-wrap: pretty;
}

.section-heading {
  color: var(--bt-text) !important;
  font-size: clamp(1.875rem, 3vw, 2.5rem);
  line-height: 1.22;
  font-weight: 800;
  text-wrap: balance;
}

.media-card {
  overflow: hidden;
  border: 1px solid rgba(17, 28, 47, 0.12);
  background: var(--bt-surface);
  box-shadow: 0 24px 54px rgba(17, 28, 47, 0.1);
}

.media-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-portrait-image {
  object-position: center 56%;
}

.hero-profile-card {
  align-self: center;
  justify-self: end;
  grid-column: 2;
  grid-row: 1;
  margin-top: 0;
  box-shadow: 0 26px 58px rgba(17, 28, 47, 0.13);
}

.icon-badge {
  display: inline-flex;
  width: 2.75rem;
  height: 2.75rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--bt-line-strong);
  border-radius: 999px;
  background: var(--bt-blue-soft);
  color: var(--bt-blue);
  font-size: 0.92rem;
  font-weight: 900;
}

.brand-mark {
  width: 3.75rem;
  height: 3.75rem;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: 1.05rem;
  border: 1px solid rgba(185, 28, 28, 0.18);
  background: #b91c1c;
  box-shadow: 0 14px 32px rgba(185, 28, 28, 0.2);
}

.brand-mark img {
  display: block;
  width: 100%;
  height: 100%;
}

.service-card {
  position: relative;
  display: block;
  overflow: hidden;
  border: 1px solid var(--bt-line);
  background: rgba(255, 255, 255, 0.88);
  padding: 1.85rem;
  box-shadow: 0 12px 28px rgba(17, 28, 47, 0.04);
  transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.service-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  background: rgba(22, 59, 99, 0.22);
}

.service-card:hover {
  border-color: var(--bt-line-strong);
  background: #ffffff;
  box-shadow: 0 16px 34px rgba(17, 28, 47, 0.07);
  transform: translateY(-0.15rem);
}

.service-card-title {
  color: var(--bt-text) !important;
  font-size: clamp(1.32rem, 1.75vw, 1.58rem);
  line-height: 1.35;
  font-weight: 880;
}

.service-card-copy {
  margin-top: 0.95rem;
  color: var(--bt-muted) !important;
  font-size: 1.03rem;
  line-height: 1.85;
  text-wrap: pretty;
}

.service-card-copy strong {
  color: var(--bt-blue);
  font-weight: 820;
}

.seo-context-section {
  background: var(--bt-page);
  padding: 2.75rem 1.25rem 3.25rem;
}

.seo-context-inner {
  max-width: 68rem;
  margin: 0 auto;
  border-top: 1px solid var(--bt-line);
  padding-top: 1.35rem;
}

.seo-context-inner h2 {
  color: var(--bt-text);
  font-size: clamp(1.05rem, 1.4vw, 1.28rem);
  line-height: 1.45;
  font-weight: 780;
}

.seo-context-inner p {
  max-width: 58rem;
  margin-top: 0.8rem;
  color: var(--bt-muted);
  font-size: 0.98rem;
  line-height: 1.85;
  text-wrap: pretty;
}

@media (min-width: 640px) {
  .service-card {
    padding: 1.75rem;
  }
}

.emphasis-band {
  border: 1px solid var(--bt-line);
  background: var(--bt-surface);
  box-shadow: 0 18px 48px rgba(15, 58, 116, 0.1);
}

.audit-emphasis-band {
  border: 1px solid rgba(200, 164, 93, 0.34);
  background: rgba(255, 255, 255, 0.055);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.18);
}

.audit-emphasis-kicker {
  color: #f2d38b;
  font-size: 0.9rem;
  line-height: 1.45;
  font-weight: 800;
}

.audit-emphasis-title {
  margin-top: 0.75rem;
  color: #ffffff !important;
  font-size: clamp(1.55rem, 2.45vw, 2.25rem) !important;
  line-height: 1.32 !important;
  font-weight: 800;
}

.audit-emphasis-title span {
  display: block;
}

.audit-emphasis-copy {
  color: rgba(255, 255, 255, 0.76) !important;
  font-size: 1rem;
}

.reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 520ms ease, transform 520ms ease;
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.metric-number {
  font-variant-numeric: tabular-nums;
}

.progress-line {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 60;
  height: 3px;
  width: 0;
  background: var(--bt-blue);
}

.mobile-quickbar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 55;
  display: none;
  border-top: 1px solid var(--bt-line);
  background: rgba(255, 255, 255, 0.96);
  padding: 0.625rem;
  box-shadow: 0 -12px 32px rgba(15, 58, 116, 0.12);
}

@media (max-width: 767px) {
  .site-light {
    padding-bottom: 0;
  }

  .mobile-header-actions {
    display: inline-flex;
  }

  .hero-layout {
    align-items: start;
    gap: 1.5rem;
    min-height: auto !important;
    padding-top: 0.75rem !important;
    padding-bottom: 2rem !important;
  }

  .hero-copy-stack {
    display: contents;
  }

  .hero-text-panel,
  .hero-profile-card,
  .hero-main-cta {
    grid-column: 1;
    grid-row: auto;
  }

  .hero-text-panel {
    order: 1;
  }

  .hero-profile-card {
    order: 2;
  }

  .hero-main-cta {
    order: 3;
  }

  .hero-intro-title {
    line-height: 1.15 !important;
  }

  .hero-title-context {
    font-size: clamp(1.58rem, 7.2vw, 2.12rem);
    line-height: 1.14;
  }

  .hero-title-main {
    margin-top: 0.1em;
    font-size: clamp(2.18rem, 10.2vw, 2.95rem);
    line-height: 1.1;
  }

  .hero-title-action {
    margin-top: 0.08em;
    font-size: clamp(1.52rem, 6.8vw, 2rem);
    line-height: 1.18;
  }

  .hero-title-particle {
    font-size: clamp(1.52rem, 6.8vw, 2rem);
  }

  .hero-service-eyebrow {
    margin-bottom: 0.9rem;
    padding: 0.42rem 0.62rem;
    font-size: 0.8rem;
  }

  .hero-copy {
    margin-top: 0.9rem;
    font-size: 0.96rem;
    line-height: 1.75;
  }

  .hero-main-cta {
    margin-top: 0.75rem;
  }

  .hero-cta-actions {
    display: grid;
    gap: 0.55rem;
  }

  .hero-primary-link {
    width: 100%;
    min-height: 3.65rem;
    padding: 0.78rem 1rem;
    font-size: 0.95rem;
  }

  .hero-primary-link {
    min-width: 0;
  }

  .hero-main-cta p {
    font-size: 0.84rem;
  }

  .hero-profile-card {
    width: min(100%, 22rem);
    max-width: 22rem;
    margin-left: 0;
    margin-right: auto;
    box-shadow: 0 14px 32px rgba(15, 58, 116, 0.1);
  }

  .hero-profile-card .hero-portrait-image {
    aspect-ratio: 4 / 3.35 !important;
    max-height: 17rem !important;
    object-position: center 42%;
  }

  .hero-profile-card .profile-caption {
    padding: 0.9rem;
  }

  .hero-profile-card .profile-career-summary {
    margin-top: 0.75rem;
    padding: 0.85rem;
  }

  .hero-profile-card .profile-career-main {
    font-size: 0.98rem;
  }

  .hero-profile-card .profile-career-details {
    font-size: 0.82rem;
    gap: 0.35rem 0.55rem;
  }

  .hero-profile-card .hero-profile-link {
    margin-top: 0;
    padding: 0.55rem 0.75rem;
    font-size: 0.82rem;
  }

  .mobile-quickbar {
    display: none;
  }

  .site-light header nav {
    min-height: 4.75rem;
    gap: 0.75rem;
  }

  .site-light header .brand-mark {
    width: 3rem;
    height: 3rem;
    border-radius: 0.9rem;
  }

  .site-light header nav > a:first-child > span:last-child > span:first-child {
    font-size: 1.24rem;
    line-height: 1.08;
    font-weight: 820;
  }

  .site-light header nav > a:first-child > span:last-child > span:first-child + span {
    font-size: 0.68rem;
  }

  .site-light [data-mobile-menu] a {
    font-size: 1rem !important;
  }

  .site-footer-inner {
    padding: 3rem 1.25rem;
  }

  .site-footer-info {
    display: grid;
    gap: 0.45rem;
  }

  .site-footer-info span {
    display: block;
  }

  .site-light h1 {
    font-size: clamp(1.9rem, 9.5vw, 2.8rem) !important;
    line-height: 1.24 !important;
  }

  .site-light .hero-intro-title {
    line-height: 1.15 !important;
  }

  .site-light .compact-emphasis-title {
    font-size: 1.125rem !important;
    line-height: 1.55 !important;
  }

  .site-light .promise-title {
    font-size: clamp(1.45rem, 6vw, 1.8rem) !important;
    line-height: 1.36 !important;
  }

  .site-light h2 {
    font-size: clamp(1.625rem, 7vw, 2.25rem) !important;
    line-height: 1.3 !important;
  }

  .site-light .section-heading {
    font-size: clamp(1.45rem, 6vw, 1.85rem) !important;
    line-height: 1.34 !important;
  }

  .site-light .seo-context-inner h2 {
    font-size: clamp(1.05rem, 4.6vw, 1.25rem) !important;
    line-height: 1.45 !important;
  }

  .site-light p,
  .site-light li,
  .site-light dd {
    font-size: 0.98rem;
  }
}
