@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Space+Grotesk:wght@400;500;600;700&display=swap');

body.doribene-v2-inner {
  --ink: #f8f6f1;
  --navy: #0f1d33;
  --paper: #0f1d33;
  --paper-soft: #46546b;
  --blue: #2b5ca8;
  --cyan: #2b5ca8;
  --acid: #2b5ca8;
  --line: rgba(15, 29, 51, .14);
  color: #0f1d33;
  background: #eeeae2;
  font-family: 'Space Grotesk', system-ui, sans-serif;
  letter-spacing: 0;
}

body.doribene-v2-inner::before,
body.doribene-v2-inner::after,
body.doribene-v2-inner .cursor { display: none; }
body.doribene-v2-inner * { letter-spacing: 0; }
body.doribene-v2-inner a { color: inherit; }
body.doribene-v2-inner a:focus-visible,
body.doribene-v2-inner button:focus-visible,
body.doribene-v2-inner summary:focus-visible { outline: 2px solid #2b5ca8; outline-offset: 4px; }
body.doribene-v2-inner .eyebrow,
body.doribene-v2-inner .case-section-label,
body.doribene-v2-inner .service-proof span { color: #2b5ca8; font-family: 'IBM Plex Mono', monospace; font-weight: 500; }
body.doribene-v2-inner .lead { color: #46546b; }

/* The public pages retain their content and layout, but share the home navigation. */
body.doribene-v2-inner .site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 76px;
  padding: 0 clamp(20px, 4.4vw, 64px);
  border-bottom: 1px solid var(--line);
  background: rgba(238, 234, 226, .94);
  backdrop-filter: blur(12px);
}
body.doribene-v2-inner .site-header .brand { display: inline-flex; align-items: center; gap: 11px; min-width: 0; }
body.doribene-v2-inner .site-header .brand-logo { display: block; width: 38px; height: 44px; object-fit: contain; filter: none; }
body.doribene-v2-inner .brand-word { color: #0f1d33; font: 500 18px/1 'IBM Plex Mono', monospace; white-space: nowrap; }
body.doribene-v2-inner .brand-word span { color: #2b5ca8; }
body.doribene-v2-inner .site-header .nav { display: flex; align-items: center; gap: 4px; color: #46546b; }
body.doribene-v2-inner .site-header .nav a { padding: 10px 14px; color: #46546b; font-size: 14px; font-weight: 500; border-radius: 5px; }
body.doribene-v2-inner .site-header .nav a:hover,
body.doribene-v2-inner .site-header .nav a[aria-current="page"] { color: #0f1d33; background: rgba(43, 92, 168, .09); }

body.doribene-v2-inner h1,
body.doribene-v2-inner h2,
body.doribene-v2-inner h3 { color: #0f1d33; font-family: 'Space Grotesk', system-ui, sans-serif; font-weight: 500; }
body.doribene-v2-inner .project-hero { min-height: 0; padding-top: clamp(50px, 7vw, 100px); padding-bottom: clamp(48px, 7vw, 90px); }
body.doribene-v2-inner .project-hero h1 { max-width: 16ch; font-size: clamp(3.3rem, 6vw, 6.5rem); line-height: .98; }
body.doribene-v2-inner .project-hub-hero h1,
body.doribene-v2-inner .case-index-hero h1,
body.doribene-v2-inner .case-study-hero h1 { font-size: clamp(3.3rem, 6vw, 6.5rem); line-height: .98; }
body.doribene-v2-inner .project-hub-hero .lead { color: #46546b; }
body.doribene-v2-inner .case-hero-statement { color: #0f1d33; }
body.doribene-v2-inner .case-hero-intro,
body.doribene-v2-inner .case-copy p,
body.doribene-v2-inner .case-flow-head p { color: #46546b; }
body.doribene-v2-inner .project-breadcrumbs,
body.doribene-v2-inner .case-breadcrumbs,
body.doribene-v2-inner .service-breadcrumbs { color: #667188; }
body.doribene-v2-inner .project-breadcrumbs a { color: #46546b; }

body.doribene-v2-inner .btn-primary,
body.doribene-v2-inner .case-study-main .btn-primary { color: #fff; background: #2b5ca8; border-color: #2b5ca8; box-shadow: none; }
body.doribene-v2-inner .btn-primary:hover,
body.doribene-v2-inner .case-study-main .btn-primary:hover { background: #1f4686; color: #fff; }
body.doribene-v2-inner .btn-ghost { color: #0f1d33; background: transparent; border-color: #0f1d33; }
body.doribene-v2-inner .btn-ghost:hover { color: #fff; background: #0f1d33; }

body.doribene-v2-inner .project-facts,
body.doribene-v2-inner .project-content article,
body.doribene-v2-inner .service-proof article,
body.doribene-v2-inner .service-related-grid a,
body.doribene-v2-inner .service-cta,
body.doribene-v2-inner .case-feature-copy,
body.doribene-v2-inner .case-facts div,
body.doribene-v2-inner .case-flow article,
body.doribene-v2-inner .case-capability-grid article,
body.doribene-v2-inner .case-result,
body.doribene-v2-inner .case-stat,
body.doribene-v2-inner .case-panel,
body.doribene-v2-inner .case-quote,
body.doribene-v2-inner .case-deliverable,
body.doribene-v2-inner .case-prices article,
body.doribene-v2-inner .blog-list article { color: #0f1d33; background: #f8f6f1; border-color: var(--line); box-shadow: none; }
body.doribene-v2-inner .project-content p,
body.doribene-v2-inner .project-content li,
body.doribene-v2-inner .project-facts p,
body.doribene-v2-inner .service-proof p,
body.doribene-v2-inner .service-faq p,
body.doribene-v2-inner .service-cta p,
body.doribene-v2-inner .case-feature-copy > p:not(.eyebrow),
body.doribene-v2-inner .case-result p { color: #46546b; }
body.doribene-v2-inner .project-facts strong { color: #2b5ca8; }
body.doribene-v2-inner .service-proof { background: var(--line); }
body.doribene-v2-inner .service-cta,
body.doribene-v2-inner .case-price-band { background: #e5e0d5; }
body.doribene-v2-inner .service-related-grid a::after { color: #2b5ca8; }
body.doribene-v2-inner .case-feature { background: #f8f6f1; border-color: var(--line); }
body.doribene-v2-inner .case-tags span { color: #46546b; }
body.doribene-v2-inner .case-cover { border-radius: 8px; }
body.doribene-v2-inner .case-cover::after { border-color: var(--line); }
body.doribene-v2-inner .case-loader { background: #eeeae2; color: #0f1d33; }
body.doribene-v2-inner .case-loader-line::after { background: #2b5ca8; }

body.doribene-v2-inner .project-category-card { border-color: var(--line); }
body.doribene-v2-inner .project-category-card h2,
body.doribene-v2-inner .project-category-card h3 { color: #fff; }
body.doribene-v2-inner .project-category-card .eyebrow { color: #b7d2ff; }
body.doribene-v2-inner .project-category-card .btn-primary { background: #2b5ca8; color: #fff; }
body.doribene-v2-inner .project-card { background: #f8f6f1; border-color: var(--line); box-shadow: none; }
body.doribene-v2-inner .project-card p { color: #46546b; }
body.doribene-v2-inner .project-card-tags span { color: #46546b; border-color: var(--line); background: transparent; }

body.doribene-v2-inner .blog-page { padding-top: 75px; }
body.doribene-v2-inner .blog-page h1 { max-width: 16ch; font-size: clamp(3.1rem, 6vw, 6.5rem); line-height: 1; }
body.doribene-v2-inner .blog-article { max-width: 780px; }
body.doribene-v2-inner .blog-article p,
body.doribene-v2-inner .blog-article li { color: #46546b; }
body.doribene-v2-inner .blog-article .lead { color: #0f1d33; font-size: 1.25rem; }
body.doribene-v2-inner .blog-article a { color: #2b5ca8; text-decoration: underline; text-underline-offset: 3px; }
body.doribene-v2-inner .blog-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
body.doribene-v2-inner .blog-list article { padding: 26px; border-radius: 8px; }
body.doribene-v2-inner .blog-list h2 { font-size: clamp(1.45rem, 2vw, 2.15rem); line-height: 1.18; }
body.doribene-v2-inner .blog-list a:hover { color: #2b5ca8; }
body.doribene-v2-inner .blog-list article > p:not(.article-date) { color: #46546b; }
body.doribene-v2-inner .article-date,
body.doribene-v2-inner .source-note { color: #667188 !important; }
body.doribene-v2-inner .cta { background: #e5e0d5; }
body.doribene-v2-inner .policy-main { background: #eeeae2; }
body.doribene-v2-inner .policy-hero p,
body.doribene-v2-inner .policy-content p,
body.doribene-v2-inner .policy-content li { color: #46546b; }
body.doribene-v2-inner .policy-content { color: #0f1d33; }

body.doribene-v2-inner .site-footer { background: #0f1d33; color: #eeeae2; border-color: #0f1d33; }
body.doribene-v2-inner .site-footer a,
body.doribene-v2-inner .site-footer p { color: #eeeae2; }

body.doribene-v2-inner .cookie-banner {
  inset: auto 18px 18px auto;
  width: min(420px, calc(100vw - 36px));
  color: #0f1d33;
}
body.doribene-v2-inner .cookie-panel {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  max-height: calc(100svh - 36px);
  overflow: auto;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 16px;
  color: #0f1d33;
  background: #f8f6f1;
  box-shadow: 0 20px 70px rgba(15, 29, 51, .25);
}
body.doribene-v2-inner .cookie-copy h2 { color: #0f1d33; font-size: 25px; }
body.doribene-v2-inner .cookie-copy p:not(.eyebrow) { color: #46546b; font-size: 13px; }
body.doribene-v2-inner .cookie-toggle { border-color: var(--line); background: #eeeae2; }
body.doribene-v2-inner .cookie-toggle span { color: #0f1d33; }
body.doribene-v2-inner .cookie-toggle small { color: #46546b; }
body.doribene-v2-inner .cookie-close { color: #0f1d33; border-color: var(--line); background: transparent; }
body.doribene-v2-inner .cookie-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
body.doribene-v2-inner .cookie-actions .btn { min-width: 0; width: 100%; min-height: 44px; justify-content: center; font-size: 13px; }
body.doribene-v2-inner .cookie-actions .btn-ghost { color: #0f1d33; border-color: #0f1d33; background: transparent; }
body.doribene-v2-inner .cookie-actions .btn-primary { grid-column: 1 / -1; color: #fff; border-color: #2b5ca8; background: #2b5ca8; }
body.doribene-v2-inner .cookie-actions .cookie-reject { color: #0f1d33; border-color: var(--line); background: #e5e0d5; }

@media (max-width: 760px) {
  body.doribene-v2-inner .site-header {
    position: sticky;
    top: 0;
    left: auto;
    right: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
    gap: 4px;
    padding: 8px 20px 6px;
    border: 0;
    border-bottom: 1px solid var(--line);
    border-radius: 0;
    box-shadow: none;
  }
  body.doribene-v2-inner .site-header::after,
  body.doribene-v2-inner .site-header .brand::after { display: none; }
  body.doribene-v2-inner .site-header .brand-logo { width: 30px; height: 36px; }
  body.doribene-v2-inner .brand-word { font-size: 15px; }
  body.doribene-v2-inner .site-header .nav { display: flex; width: 100%; gap: 0; overflow-x: auto; scrollbar-width: none; }
  body.doribene-v2-inner .site-header .nav::-webkit-scrollbar { display: none; }
  body.doribene-v2-inner .site-header .nav a { padding: 8px 10px; font-size: 12px; white-space: nowrap; }
  body.doribene-v2-inner .project-hub-main,
  body.doribene-v2-inner .service-page-main,
  body.doribene-v2-inner .case-study-main,
  body.doribene-v2-inner .case-index-main { padding-top: 28px; }
  body.doribene-v2-inner .blog-page { padding-top: 36px; }
  body.doribene-v2-inner .project-hero h1 { font-size: clamp(3rem, 11vw, 5rem); }
  body.doribene-v2-inner .blog-list { grid-template-columns: 1fr; }
  body.doribene-v2-inner .case-feature-copy { padding: 28px; }
  body.doribene-v2-inner .cookie-actions { grid-template-columns: 1fr; }
  body.doribene-v2-inner .cookie-actions .btn-primary { grid-column: auto; }
}
