:root {
  --cdb2b-ink: #111925;
  --cdb2b-deep: #0a1019;
  --cdb2b-paper: #f4f5f2;
  --cdb2b-white: #fff;
  --cdb2b-muted: #66707e;
  --cdb2b-line: #d9ddd9;
  --cdb2b-orange: #ed6a1a;
  --cdb2b-orange-dark: #bb4705;
}

.cutdrill-b2b-prototype-body { margin: 0; background: var(--cdb2b-paper); color: var(--cdb2b-ink); }
.cutdrill-b2b-prototype-body .cd-floating-btn { display: none !important; }
.cd-madrid-prototype-body .cd-floating-btn { display: none !important; }
.cdb2b-page, .cdb2b-page * { box-sizing: border-box; }
.cdb2b-page { overflow: clip; font-family: Inter, "Helvetica Neue", Arial, sans-serif; line-height: 1.55; }
.cdb2b-page a { color: inherit; text-decoration: none; }
.cdb2b-page h1, .cdb2b-page h2, .cdb2b-page h3, .cdb2b-page p { margin-top: 0; }
.cdb2b-container { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.cdb2b-skip { position: fixed; top: 10px; left: 10px; z-index: 999; transform: translateY(-160%); padding: 10px 14px; background: #fff; color: #111; }
.cdb2b-skip:focus { transform: none; }

.cdb2b-header { position: absolute; z-index: 10; top: 0; left: 50%; display: grid; width: min(1180px, calc(100% - 48px)); min-height: 88px; grid-template-columns: 1fr auto 1fr; align-items: center; border-bottom: 1px solid rgba(255,255,255,.18); color: #fff; transform: translateX(-50%); }
.cdb2b-header nav { display: flex; gap: 26px; font-size: 13px; font-weight: 800; }
.cdb2b-header-cta { justify-self: end; padding: 12px 18px; border: 1px solid rgba(255,255,255,.38); font-size: 12px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }

.cdb2b-hero { position: relative; min-height: 780px; display: grid; align-items: center; padding: 132px 0 72px; overflow: hidden; background: radial-gradient(circle at 72% 18%, rgba(237,106,26,.22), transparent 28%), linear-gradient(135deg, #151f2d 0%, #090e16 74%); color: #fff; }
.cdb2b-hero::after { content: ""; position: absolute; right: -180px; bottom: -300px; width: 680px; height: 680px; border: 1px solid rgba(255,255,255,.09); border-radius: 50%; box-shadow: 0 0 0 80px rgba(255,255,255,.015), 0 0 0 160px rgba(255,255,255,.012); }
.cdb2b-hero-grid { position: absolute; inset: 0; opacity: .32; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(90deg, transparent, #000 60%, #000); }
.cdb2b-hero-inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(330px, .75fr); gap: 90px; align-items: end; }
.cdb2b-eyebrow { margin-bottom: 18px; color: var(--cdb2b-orange); font-size: 12px; font-weight: 950; letter-spacing: .16em; text-transform: uppercase; }
.cdb2b-hero h1 { max-width: 820px; margin-bottom: 28px; font-size: clamp(48px, 5.2vw, 78px); font-weight: 900; letter-spacing: -.055em; line-height: .98; text-wrap: balance; }
.cdb2b-lead { max-width: 760px; color: #c8ced7; font-size: 20px; line-height: 1.55; }
.cdb2b-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.cdb2b-button, .cdb2b-header-cta { transition: transform .18s ease, background .18s ease, border-color .18s ease; }
.cdb2b-button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; padding: 14px 21px; border: 1px solid rgba(255,255,255,.35); color: #fff; font-size: 13px; font-weight: 900; letter-spacing: .025em; }
.cdb2b-button.is-primary { border-color: var(--cdb2b-orange); background: var(--cdb2b-orange); color: #fff; }
.cdb2b-button:hover, .cdb2b-button:focus-visible, .cdb2b-header a:hover, .cdb2b-header a:focus-visible { transform: translateY(-2px); }
.cdb2b-page a:focus-visible, .cdb2b-page button:focus-visible, .cdb2b-page input:focus-visible, .cdb2b-page select:focus-visible, .cdb2b-page textarea:focus-visible, .cdb2b-page summary:focus-visible { outline: 3px solid #ff9b59; outline-offset: 3px; }
.cdb2b-hero-panel { position: relative; padding: 34px; border: 1px solid rgba(255,255,255,.18); background: rgba(9,14,22,.7); backdrop-filter: blur(12px); }
.cdb2b-hero-panel::before { content: ""; position: absolute; top: -1px; left: -1px; width: 68px; height: 4px; background: var(--cdb2b-orange); }
.cdb2b-panel-index { display: block; margin-bottom: 38px; color: #9fa8b4; font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.cdb2b-hero-panel > strong { display: block; margin-bottom: 14px; font-size: 27px; letter-spacing: -.025em; line-height: 1.1; }
.cdb2b-hero-panel p { color: #b8c0cb; font-size: 15px; }
.cdb2b-hero-panel ul { margin: 24px 0 0; padding: 20px 0 0; border-top: 1px solid rgba(255,255,255,.14); list-style: none; }
.cdb2b-hero-panel li { position: relative; padding: 7px 0 7px 20px; font-size: 14px; font-weight: 750; }
.cdb2b-hero-panel li::before { content: ""; position: absolute; top: 15px; left: 0; width: 8px; height: 2px; background: var(--cdb2b-orange); }

.cdb2b-section { padding: 112px 0; background: var(--cdb2b-paper); }
.cdb2b-section.is-tint { background: #e8ebe7; }
.cdb2b-section.is-dark { background: var(--cdb2b-deep); color: #fff; }
.cdb2b-section-head { max-width: 770px; margin-bottom: 56px; }
.cdb2b-section-head h2, .cdb2b-two-col h2, .cdb2b-final h2, .cdb2b-company-docs h2 { margin-bottom: 22px; font-size: clamp(38px, 4vw, 58px); font-weight: 900; letter-spacing: -.045em; line-height: 1.02; text-wrap: balance; }
.cdb2b-section-head > p:last-child, .cdb2b-two-col > div > p, .cdb2b-final-grid > div > p { max-width: 710px; color: var(--cdb2b-muted); font-size: 18px; }
.is-dark .cdb2b-section-head > p:last-child, .is-dark .cdb2b-two-col > div > p, .is-dark .cdb2b-final-grid > div > p { color: #aeb6c1; }

.cdb2b-audience-list { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top: 1px solid var(--cdb2b-line); border-left: 1px solid var(--cdb2b-line); }
.cdb2b-audience-list span { display: flex; min-height: 100px; gap: 20px; align-items: center; padding: 24px; border-right: 1px solid var(--cdb2b-line); border-bottom: 1px solid var(--cdb2b-line); background: rgba(255,255,255,.38); font-weight: 850; }
.cdb2b-audience-list b { color: var(--cdb2b-orange-dark); font-size: 11px; letter-spacing: .08em; }

.cdb2b-services { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1px; background: #303845; border: 1px solid #303845; }
.cdb2b-services article { display: flex; min-height: 390px; flex-direction: column; padding: 40px; background: #111925; }
.cdb2b-service-top { display: flex; gap: 22px; align-items: center; }
.cdb2b-service-top span { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid #434c59; color: var(--cdb2b-orange); font-size: 11px; font-weight: 950; }
.cdb2b-service-top h3 { margin: 0; font-size: 26px; letter-spacing: -.025em; }
.cdb2b-services article > p { margin: 28px 0; color: #b5bdc7; }
.cdb2b-needed { margin-top: auto; padding: 20px; border-left: 2px solid var(--cdb2b-orange); background: #0c131e; }
.cdb2b-needed strong { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.cdb2b-needed p { margin: 7px 0 0; color: #aeb7c2; font-size: 14px; }
.cdb2b-services article > a { margin-top: 24px; color: #fff; font-size: 13px; font-weight: 900; }
.cdb2b-services article > a span { color: var(--cdb2b-orange); }

.cdb2b-expect { display: grid; grid-template-columns: minmax(310px,.72fr) minmax(0,1.28fr); gap: 80px; }
.cdb2b-expect .cdb2b-section-head { position: sticky; top: 30px; align-self: start; }
.cdb2b-expect-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--cdb2b-line); border-left: 1px solid var(--cdb2b-line); }
.cdb2b-expect-grid article { min-height: 190px; padding: 28px; border-right: 1px solid var(--cdb2b-line); border-bottom: 1px solid var(--cdb2b-line); background: #fff; }
.cdb2b-expect-grid h3 { font-size: 18px; line-height: 1.25; }
.cdb2b-expect-grid p { margin-bottom: 0; color: var(--cdb2b-muted); font-size: 14px; }

.cdb2b-process { margin: 0; padding: 0; border-top: 1px solid #c9ceca; list-style: none; }
.cdb2b-process li { display: grid; grid-template-columns: 90px minmax(0,1fr); gap: 28px; padding: 32px 0; border-bottom: 1px solid #c9ceca; }
.cdb2b-process li > span { color: var(--cdb2b-orange-dark); font-size: 12px; font-weight: 950; letter-spacing: .1em; }
.cdb2b-process h3 { margin-bottom: 7px; font-size: 23px; }
.cdb2b-process p { max-width: 720px; margin-bottom: 0; color: var(--cdb2b-muted); }

.cdb2b-two-col { display: grid; grid-template-columns: 1.2fr .8fr; gap: 100px; align-items: center; }
.cdb2b-two-col .cdb2b-button { margin-top: 20px; }
.cdb2b-suitable { padding: 40px; border: 1px solid #343d4b; background: #111925; }
.cdb2b-suitable > strong { color: var(--cdb2b-orange); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.cdb2b-suitable ul { margin: 22px 0 0; padding: 0; list-style: none; }
.cdb2b-suitable li { padding: 15px 0; border-top: 1px solid #303947; color: #d1d6dd; }

.cdb2b-docs-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: start; }
.cdb2b-docs-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.cdb2b-docs-grid span { position: relative; min-height: 90px; display: flex; align-items: center; padding: 20px 20px 20px 54px; border: 1px solid var(--cdb2b-line); background: #fff; font-weight: 850; }
.cdb2b-docs-grid span::before { content: "+"; position: absolute; left: 22px; color: var(--cdb2b-orange-dark); font-size: 20px; font-weight: 900; }
.cdb2b-company-docs { display: grid; grid-template-columns: 1.25fr .75fr; gap: 80px; align-items: center; }
.cdb2b-company-docs > div > p:last-child { color: var(--cdb2b-muted); font-size: 17px; }
.cdb2b-company-docs ul { margin: 0; padding: 0; border-top: 1px solid #c5cac6; list-style: none; }
.cdb2b-company-docs li { padding: 14px 0; border-bottom: 1px solid #c5cac6; font-weight: 800; }

.cdb2b-faq-layout { display: grid; grid-template-columns: .65fr 1.35fr; gap: 90px; }
.cdb2b-faq details { border-top: 1px solid var(--cdb2b-line); }
.cdb2b-faq details:last-child { border-bottom: 1px solid var(--cdb2b-line); }
.cdb2b-faq summary { position: relative; padding: 24px 48px 24px 0; cursor: pointer; font-size: 17px; font-weight: 850; list-style: none; }
.cdb2b-faq summary::-webkit-details-marker { display: none; }
.cdb2b-faq summary::after { content: "+"; position: absolute; right: 8px; color: var(--cdb2b-orange-dark); font-size: 24px; }
.cdb2b-faq details[open] summary::after { content: "−"; }
.cdb2b-faq details p { max-width: 720px; padding: 0 48px 24px 0; color: var(--cdb2b-muted); }

.cdb2b-final-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 80px; align-items: start; }
.cdb2b-contact-card { display: grid; gap: 6px; margin-top: 42px; padding-top: 24px; border-top: 1px solid #343d49; }
.cdb2b-contact-card span { margin-bottom: 4px; color: #8e98a5; font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.cdb2b-contact-card a { font-size: 18px; font-weight: 850; }

.cdb2b-form-shell { color: var(--cdb2b-ink); }
.cdb2b-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; padding: 38px; background: #fff; box-shadow: 0 30px 80px rgba(0,0,0,.22); }
.cdb2b-form label { display: grid; gap: 8px; color: #343d48; font-size: 12px; font-weight: 900; letter-spacing: .02em; }
.cdb2b-form label span { color: #7b8490; font-weight: 650; }
.cdb2b-form input, .cdb2b-form select, .cdb2b-form textarea { width: 100%; min-height: 48px; padding: 12px 13px; border: 1px solid #cbd0d4; border-radius: 0; background: #fafafa; color: #121923; font: inherit; font-size: 15px; font-weight: 550; }
.cdb2b-form textarea { min-height: 118px; resize: vertical; }
.cdb2b-form .is-full { grid-column: 1 / -1; }
.cdb2b-hp { position: absolute !important; left: -9999px !important; }
.cdb2b-upload { padding: 24px; border: 1px dashed #aab1b7; background: #f5f6f4; }
.cdb2b-upload > strong { display: block; font-size: 16px; }
.cdb2b-upload p { margin: 5px 0 16px; color: var(--cdb2b-muted); font-size: 13px; }
.cdb2b-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.cdb2b-file-control { display: flex; gap: 14px; align-items: center; }
.cdb2b-file-control button { min-height: 42px; padding: 10px 14px; border: 0; background: var(--cdb2b-ink); color: #fff; font-weight: 850; cursor: pointer; }
.cdb2b-file-control span { overflow-wrap: anywhere; color: #515b67; font-size: 13px; }
.cdb2b-upload small { display: block; margin-top: 10px; color: #b12a20; font-weight: 800; }
.cdb2b-form-note { margin: 0; padding: 12px 15px; border-left: 3px solid var(--cdb2b-orange); background: #fff6ee; color: #5b4433; font-size: 13px; }
.cdb2b-check { grid-template-columns: auto 1fr !important; align-items: start; font-weight: 650 !important; line-height: 1.45; }
.cdb2b-check input { width: 18px; min-height: 18px; margin: 2px 0 0; accent-color: var(--cdb2b-orange); }
.cdb2b-submit { min-height: 54px; padding: 14px 22px; border: 0; background: var(--cdb2b-orange); color: #fff; font-size: 14px; font-weight: 950; cursor: pointer; }
.cdb2b-form-status { margin: 0 0 16px; padding: 14px 16px; font-weight: 800; }
.cdb2b-form-status.is-success { border: 1px solid #6bac77; background: #e9f6eb; color: #1f572a; }
.cdb2b-form-status.is-error { border: 1px solid #cf766e; background: #fff0ef; color: #81241c; }

.cdb2b-footer { padding: 34px 0; background: #060a10; color: #b3bac3; }
.cdb2b-footer .cdb2b-container { display: grid; grid-template-columns: auto 1fr auto; gap: 30px; align-items: center; }
.cdb2b-footer-home { font-size: 12px; font-weight: 800; }
.cdb2b-footer p { margin: 0; font-size: 12px; text-align: center; }
.cdb2b-footer div > div { display: flex; gap: 20px; font-size: 12px; font-weight: 800; }

/* Madrid-only B2B insert: isolated from the standalone page composition. */
.cdm-b2b-prototype { background: #0b121d; color: #fff; }
.cdm-b2b-inner { width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 92px 0; }
.cdm-b2b-layout { display: grid; grid-template-columns: 1.05fr .95fr; gap: 64px; align-items: start; }
.cdm-b2b-prototype .cdm-kicker { color: #ff8536; }
.cdm-b2b-copy > h2 { max-width: 720px; margin: 0 0 20px; font-size: clamp(36px,4.2vw,58px); letter-spacing: -.045em; line-height: 1.02; }
.cdm-b2b-copy > p { color: #b9c1cc; font-size: 18px; }
.cdm-b2b-benefits { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; margin-top: 36px; background: #35404f; border: 1px solid #35404f; }
.cdm-b2b-benefits article { min-height: 155px; padding: 22px; background: #121c29; }
.cdm-b2b-benefits h3 { margin: 0 0 8px; font-size: 16px; }
.cdm-b2b-benefits p { margin: 0; color: #aab3bf; font-size: 13px; }
.cdm-b2b-side { padding: 34px; border-top: 4px solid var(--cdb2b-orange); background: #fff; color: var(--cdb2b-ink); box-shadow: 0 24px 70px rgba(0,0,0,.25); }
.cdm-b2b-side h3 { font-size: 25px; }
.cdm-b2b-workflow { margin: 24px 0; padding: 0; counter-reset: step; list-style: none; }
.cdm-b2b-workflow li { display: grid; grid-template-columns: 28px 1fr; gap: 12px; padding: 11px 0; border-top: 1px solid #e0e3e5; font-size: 14px; font-weight: 800; }
.cdm-b2b-workflow li::before { counter-increment: step; content: counter(step, decimal-leading-zero); color: var(--cdb2b-orange-dark); font-size: 10px; font-weight: 950; }
.cdm-b2b-actions { display: grid; gap: 10px; }
.cdm-b2b-actions .cdm-btn { width: 100%; }
.cdm-b2b-form-zone { margin-top: 54px; padding-top: 54px; border-top: 1px solid #303b49; }
.cdm-b2b-form-zone > div:first-child { max-width: 760px; margin-bottom: 30px; }
.cdm-b2b-form-zone h3 { margin-bottom: 12px; font-size: 32px; }
.cdm-b2b-form-zone > div:first-child p { color: #b8c1cc; }
.cdm-b2b-prototype .cdb2b-form { box-shadow: none; }
.cdm-b2b-prototype .cdb2b-form-shell.is-compact .cdb2b-form { grid-template-columns: repeat(2,minmax(0,1fr)); }

@media (max-width: 900px) {
  .cdb2b-header { grid-template-columns: 1fr auto; }
  .cdb2b-header nav { display: none; }
  .cdb2b-hero-inner, .cdb2b-two-col, .cdb2b-docs-layout, .cdb2b-company-docs, .cdb2b-faq-layout, .cdb2b-final-grid, .cdb2b-expect { grid-template-columns: 1fr; gap: 48px; }
  .cdb2b-hero { min-height: auto; }
  .cdb2b-hero-panel { max-width: 560px; }
  .cdb2b-audience-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cdb2b-expect .cdb2b-section-head { position: static; }
  .cdm-b2b-layout { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .cdb2b-container { width: min(100% - 32px, 1180px); }
  .cdb2b-header { width: calc(100% - 32px); min-height: 72px; }
  .cdb2b-header-cta { padding: 9px 10px; font-size: 10px; }
  .cdb2b-hero { padding: 112px 0 58px; }
  .cdb2b-hero h1 { font-size: clamp(39px, 12vw, 54px); }
  .cdb2b-lead { font-size: 17px; }
  .cdb2b-actions, .cdb2b-button { width: 100%; }
  .cdb2b-section { padding: 78px 0; }
  .cdb2b-section-head { margin-bottom: 36px; }
  .cdb2b-section-head h2, .cdb2b-two-col h2, .cdb2b-final h2, .cdb2b-company-docs h2 { font-size: 38px; }
  .cdb2b-audience-list, .cdb2b-services, .cdb2b-expect-grid, .cdb2b-docs-grid { grid-template-columns: 1fr; }
  .cdb2b-services article { min-height: 350px; padding: 28px; }
  .cdb2b-process li { grid-template-columns: 46px 1fr; gap: 12px; }
  .cdb2b-suitable, .cdb2b-hero-panel { padding: 26px; }
  .cdb2b-form { grid-template-columns: 1fr; padding: 22px; }
  .cdb2b-form .is-full { grid-column: auto; }
  .cdb2b-file-control { align-items: flex-start; flex-direction: column; }
  .cdb2b-footer .cdb2b-container { grid-template-columns: 1fr; text-align: center; }
  .cdb2b-footer div > div { justify-content: center; }
  .cdm-b2b-inner { width: calc(100% - 32px); padding: 68px 0; }
  .cdm-b2b-benefits { grid-template-columns: 1fr; }
  .cdm-b2b-side { padding: 24px; }
  .cdm-b2b-prototype .cdb2b-form-shell.is-compact .cdb2b-form { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .cdb2b-page *, .cdm-b2b-prototype * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

.cdb2b-global{margin:clamp(48px,7vw,96px) 0;background:#0b121d;color:#fff}.cdb2b-global-inner{width:min(1180px,calc(100% - 40px));margin:auto;padding:clamp(56px,7vw,88px) 0;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:start}.cdb2b-global-copy{position:sticky;top:24px}.cdb2b-global h2{margin:0 0 18px;color:#fff;font-size:clamp(34px,4vw,52px);line-height:1.04}.cdb2b-global-copy>p{color:#bac3ce}.cdb2b-global-context{padding:12px 14px;border-left:3px solid var(--cdb2b-orange);background:#151f2c;color:#fff!important}.cdb2b-global-actions,.cdb2b-mode-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.cdb2b-global-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#34404e}.cdb2b-global-benefits article{padding:20px;background:#121c29}.cdb2b-global-benefits h3{margin:0 0 7px;color:#fff;font-size:16px}.cdb2b-global-benefits p{margin:0;color:#aeb8c4;font-size:13px}.cdb2b-global-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;margin:18px 0 0;padding:0;list-style:none;counter-reset:b2bflow}.cdb2b-global-flow li{padding:14px 10px;background:#fff;color:#172131;font-size:11px;font-weight:850}.cdb2b-global-flow li:before{counter-increment:b2bflow;content:counter(b2bflow,decimal-leading-zero);display:block;color:var(--cdb2b-orange);font-size:10px}.cdb2b-faq-static,.cdb2b-contact-mode{width:min(1180px,calc(100% - 40px));margin:64px auto;padding:clamp(30px,5vw,58px);background:#f3f5f7}.cdb2b-faq-static details{padding:16px 0;border-top:1px solid #ccd2da}.cdb2b-faq-static summary{font-weight:850;cursor:pointer}.cdb2b-mode-links a{padding:12px 18px;background:#0b121d;color:#fff!important;font-weight:850}.cutdrill-b2b-menu>a{font-weight:850}@media(max-width:900px){.cdb2b-global-inner{grid-template-columns:1fr}.cdb2b-global-copy{position:static}.cdb2b-global-flow{grid-template-columns:1fr}}@media(max-width:620px){.cdb2b-global-inner,.cdb2b-faq-static,.cdb2b-contact-mode{width:calc(100% - 32px)}.cdb2b-global-benefits{grid-template-columns:1fr}}
