@import url("https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&family=Merriweather:wght@300;400;700&display=swap");

@keyframes claude-pulse { 
  0% { box-shadow: rgba(217, 119, 87, 0.5) 0px 0px 10px inset, rgba(217, 119, 87, 0.3) 0px 0px 20px inset, rgba(217, 119, 87, 0.1) 0px 0px 30px inset; }
  50% { box-shadow: rgba(217, 119, 87, 0.7) 0px 0px 15px inset, rgba(217, 119, 87, 0.5) 0px 0px 25px inset, rgba(217, 119, 87, 0.2) 0px 0px 35px inset; }
  100% { box-shadow: rgba(217, 119, 87, 0.5) 0px 0px 10px inset, rgba(217, 119, 87, 0.3) 0px 0px 20px inset, rgba(217, 119, 87, 0.1) 0px 0px 30px inset; }
}

:root { --color-primary-50: #e6f2fb; --color-primary-100: #cce5f7; --color-primary-200: #99cbef; --color-primary-300: #66b0e7; --color-primary-400: #3396df; --color-primary-500: #0069B1; --color-primary-600: #005a97; --color-primary-700: #004a7d; --color-primary-800: #003a63; --color-primary-900: #002a49; --color-primary-950: #001a2f; --color-secondary-50: #fef9f0; --color-secondary-100: #fce8ce; --color-secondary-200: #f9d89e; --color-secondary-300: #f5c26f; --color-secondary-400: #f2a84a; --color-secondary-500: #ED8C2A; --color-secondary-600: #d87520; --color-secondary-700: #b45d19; --color-secondary-800: #8d4513; --color-secondary-900: #6a330c; --color-neutral-50: #faf9f7; --color-neutral-100: #f3f1ed; --color-neutral-200: #ebe8e2; --color-neutral-300: #ddd8cf; --color-neutral-400: #cfc6ba; --color-neutral-500: #b8aca0; --color-neutral-600: #a09889; --color-neutral-700: #897e75; --color-neutral-800: #6b635a; --color-neutral-900: #4a453d; --color-neutral-950: #2f2a25; --font-heading: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; --font-body: 'Merriweather', Georgia, 'Times New Roman', serif; --section-padding-desktop: 80px; --section-padding-tablet: 60px; --section-padding-mobile: 48px; --section-padding-tiny: 36px; --shadow-sm: 0 1px 2px 0 rgba(0,0,0,0.05); --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -1px rgba(0,0,0,0.06); --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05); }

.fb-home *, .fb-home ::before, .fb-home ::after { margin: 0px; padding: 0px; box-sizing: border-box; }

.fb-home { font-family: var(--font-body); color: var(--color-neutral-950); line-height: 1.7; -webkit-font-smoothing: antialiased; }

.fb-home img { max-width: 100%; height: auto; display: block; }

.fb-home a { text-decoration: none; color: inherit; }

.fb-container { max-width: 1200px; margin: 0px auto; padding: 0px 40px; }

.fb-container--narrow { max-width: 800px; margin: 0px auto; padding: 0px 40px; }

.fb-section { padding: var(--section-padding-desktop) 0; }

.fb-section--white { background-color: rgb(255, 255, 255); }

.fb-section--light { background-color: var(--color-neutral-50); }

.fb-section--dark { background-color: var(--color-primary-900); color: rgb(255, 255, 255); }

.fb-section--cta { background: linear-gradient(135deg, var(--color-primary-800), var(--color-primary-900)); color: rgb(255, 255, 255); }

.fb-display { font-family: var(--font-heading); font-size: 3.5rem; font-weight: 900; line-height: 1.1; letter-spacing: -0.02em; }

.fb-h1 { font-family: var(--font-heading); font-size: 2.25rem; font-weight: 700; line-height: 1.25; letter-spacing: -0.02em; }

.fb-h2 { font-family: var(--font-heading); font-size: 1.875rem; font-weight: 700; line-height: 1.25; }

.fb-h3 { font-family: var(--font-heading); font-size: 1.5rem; font-weight: 700; line-height: 1.3; }

.fb-body-lg { font-family: var(--font-body); font-size: 1.125rem; line-height: 1.7; }

.fb-body { font-family: var(--font-body); font-size: 1rem; line-height: 1.7; }

.fb-overline { font-family: var(--font-heading); font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; }

.fb-btn { display: inline-block; font-family: var(--font-heading); font-size: 1rem; font-weight: 700; padding: 14px 32px; border-radius: 8px; border: 2px solid transparent; cursor: pointer; text-align: center; text-decoration: none; transition: 0.2s; line-height: 1.2; }

.fb-btn--primary { background-color: var(--color-secondary-500); color: rgb(255, 255, 255); border-color: var(--color-secondary-500); }

.fb-btn--primary:hover { background-color: var(--color-secondary-600); border-color: var(--color-secondary-600); transform: translateY(-1px); box-shadow: var(--shadow-md); }

.fb-btn--secondary { background-color: transparent; color: var(--color-primary-500); border-color: var(--color-primary-500); }

.fb-btn--secondary:hover { background-color: var(--color-primary-50); transform: translateY(-1px); }

.fb-btn--ghost { background-color: transparent; color: var(--color-neutral-800); border-color: var(--color-neutral-400); }

.fb-btn--ghost:hover { background-color: var(--color-neutral-100); border-color: var(--color-neutral-800); }

.fb-btn--primary-light { background-color: rgb(255, 255, 255); color: var(--color-primary-900); border-color: rgb(255, 255, 255); }

.fb-btn--primary-light:hover { background-color: var(--color-neutral-50); border-color: var(--color-neutral-50); transform: translateY(-1px); }

.fb-btn--ghost-light { background-color: transparent; color: rgb(255, 255, 255); border-color: rgba(255, 255, 255, 0.4); }

.fb-btn--ghost-light:hover { border-color: rgba(255, 255, 255, 0.8); background-color: rgba(255, 255, 255, 0.1); }

.fb-btn-group { display: flex; gap: 16px; flex-wrap: wrap; }

.fb-hero { position: relative; background: var(--color-primary-950); color: rgb(255, 255, 255); min-height: 100vh; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; text-align: center; }

.fb-hero__bg { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; object-fit: cover; object-position: center top; opacity: 0.3; }

.fb-hero__content { position: relative; z-index: 2; max-width: 960px; margin: 0px auto; padding: 0px 40px 80px; }

.fb-hero__headline { font-family: var(--font-heading); font-size: 4rem; font-weight: 900; line-height: 1.1; letter-spacing: -0.02em; margin-bottom: 24px; white-space: nowrap; }

.fb-hero__sub { font-family: var(--font-body); font-size: 1.125rem; line-height: 1.7; color: rgba(255, 255, 255, 0.85); margin-bottom: 40px; max-width: 640px; margin-left: auto; margin-right: auto; text-align: left; }

.fb-hero .fb-btn-group { justify-content: center; }

.fb-home .fb-hero__image-mobile { display: none; }

.fb-proof-bar { background-color: var(--color-secondary-500); padding: 28px 0px; }

.fb-proof-bar__inner { display: flex; justify-content: center; align-items: center; gap: 48px; flex-wrap: wrap; }

.fb-proof-bar__stat { display: flex; align-items: center; gap: 12px; }

.fb-proof-bar__number { font-family: var(--font-heading); font-size: 2rem; font-weight: 900; color: rgb(255, 255, 255); line-height: 1; }

.fb-proof-bar__label { font-family: var(--font-heading); font-size: 0.875rem; font-weight: 700; color: rgba(255, 255, 255, 0.9); line-height: 1.3; text-transform: uppercase; letter-spacing: 0.05em; }

.fb-proof-bar__divider { width: 1px; height: 32px; background-color: rgba(255, 255, 255, 0.3); }

.fb-problem__headline { margin-bottom: 32px; }

.fb-problem__body p { font-family: var(--font-body); font-size: 1rem; line-height: 1.8; color: var(--color-neutral-800); margin-bottom: 20px; }

.fb-problem__body p:last-child { margin-bottom: 0px; }

.fb-problem__cta { margin-top: 32px; }

.fb-framework__intro { text-align: center; margin-bottom: 48px; }

.fb-framework__headline { margin-bottom: 16px; }

.fb-framework__sub { font-family: var(--font-body); font-size: 1rem; line-height: 1.8; color: var(--color-neutral-800); margin-bottom: 16px; text-align: left; }

.fb-framework__lead { font-family: var(--font-body); font-size: 1rem; line-height: 1.8; color: var(--color-neutral-800); font-style: italic; text-align: left; }

.fb-pillar-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 40px; }

.fb-pillar-card { background: rgb(255, 255, 255); border-left: 4px solid var(--color-primary-500); border-radius: 0px 8px 8px 0px; padding: 20px 24px; transition: 0.2s; }

.fb-pillar-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }

.fb-pillar-card__name { font-family: var(--font-heading); font-size: 1rem; font-weight: 700; color: var(--color-primary-500); margin-bottom: 6px; }

.fb-pillar-card__desc { font-family: var(--font-body); font-size: 0.875rem; line-height: 1.6; color: var(--color-neutral-800); }

.fb-framework__cta { text-align: center; }

.fb-casestudy { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }

.fb-casestudy__image { border-radius: 12px; overflow: hidden; box-shadow: var(--shadow-lg); }

.fb-casestudy__image img { width: 100%; height: auto; display: block; }

.fb-casestudy__headline { margin-bottom: 20px; }

.fb-casestudy__body { font-family: var(--font-body); font-size: 1rem; line-height: 1.8; color: var(--color-neutral-800); margin-bottom: 32px; }

.fb-final-cta { text-align: center; }

.fb-final-cta__content { max-width: 640px; margin: 0px auto; }

.fb-final-cta__headline { margin-bottom: 20px; }

.fb-final-cta__sub { font-family: var(--font-body); font-size: 1rem; line-height: 1.8; color: rgba(255, 255, 255, 0.9); margin-bottom: 40px; }

@media (max-width: 991px) {
  .fb-section { padding: var(--section-padding-tablet) 0; }
  .fb-container, .fb-container--narrow { padding: 0px 32px; }
  .fb-hero { min-height: 100vh; }
  .fb-hero__headline { font-size: 2.8rem; white-space: normal; }
  .fb-display { font-size: 2.8rem; }
  .fb-h1 { font-size: 2rem; }
  .fb-h2 { font-size: 1.625rem; }
  .fb-casestudy { gap: 32px; }
}

@media (max-width: 767px) {
  .fb-section { padding: var(--section-padding-mobile) 0; }
  .fb-container, .fb-container--narrow { padding: 0px 24px; }
  .fb-hero { min-height: auto; flex-direction: column; justify-content: flex-start; }
  .fb-home .fb-hero__bg { display: none; }
  .fb-home .fb-hero__image-mobile { display: block; width: 100%; height: 50vh; object-fit: cover; object-position: center top; }
  .fb-hero__content { padding: 48px 24px; background: linear-gradient(135deg, var(--color-primary-900) 0%, var(--color-primary-950) 100%); }
  .fb-hero__headline { font-size: 2.25rem; white-space: normal; }
  .fb-display { font-size: 2.25rem; }
  .fb-h1 { font-size: 1.75rem; }
  .fb-h2 { font-size: 1.5rem; }
  .fb-h3 { font-size: 1.25rem; }
  .fb-pillar-grid { grid-template-columns: 1fr; gap: 12px; }
  .fb-casestudy { grid-template-columns: 1fr; gap: 32px; }
  .fb-casestudy__image { order: -1; }
  .fb-proof-bar__inner { gap: 32px; }
  .fb-proof-bar__number { font-size: 1.75rem; }
}

@media (max-width: 479px) {
  .fb-proof-bar__inner { flex-direction: column; gap: 20px; }
  .fb-proof-bar__stat { justify-content: center; }
  .fb-proof-bar__divider { width: 48px; height: 1px; }
  .fb-section { padding: var(--section-padding-tiny) 0; }
  .fb-container, .fb-container--narrow { padding: 0px 20px; }
  .fb-hero__content { padding: 36px 20px; }
  .fb-hero__headline { font-size: 1.875rem; }
  .fb-hero__sub { font-size: 1rem; }
  .fb-display { font-size: 1.875rem; }
  .fb-h1 { font-size: 1.5rem; }
  .fb-h2 { font-size: 1.375rem; }
  .fb-h3 { font-size: 1.125rem; }
  .fb-btn-group { flex-direction: column; }
  .fb-btn { width: 100%; }
  .fb-proof-bar { padding: 20px 0px; }
  .fb-proof-bar__text { font-size: 0.875rem; }
}
