/* Carmelo Barbera / SIGNATURE 4.0.
   Expressive art direction over the preserved site structure. */
#cb-site.cb-signature {
  --cb-signature-ink: #173448;
  --cb-signature-blue: #205e8d;
  --cb-signature-sky: #dceef9;
  --cb-studio-width: 1520px;
  --cb-gutter: clamp(22px, 5vw, 84px);
  color: #173448 !important;
  background: #f6f9fb !important;
}
#cb-site.cb-signature main :is(h1,h2,h3,h4) { color: #173448 !important; }
#cb-site.cb-signature main h1 { font-weight: 650 !important; letter-spacing: -.065em !important; font-size: clamp(2.55rem,4.5vw,4.65rem) !important; line-height: 1.02 !important; }
#cb-site.cb-signature main h2 { font-size: clamp(2.3rem,4.2vw,4rem) !important; letter-spacing: -.06em !important; line-height: 1.06 !important; font-weight: 600 !important; }
#cb-site.cb-signature main h3 { font-weight: 600 !important; }

/* Quiet navigation above an expansive, uninterrupted stage. */
#cb-site.cb-signature header.cb-unified-header {
  width: calc(100% - 32px) !important; max-width: 1540px !important;
  top: 10px !important; margin-top: 10px !important;
  border-color: rgba(169,195,213,.62) !important; border-radius: 10px !important;
  background: rgba(255,255,255,.97) !important;
  box-shadow: 0 6px 24px rgba(24,72,104,.035) !important;
}
#cb-site.cb-signature .cb-unified-header__inner { min-height: 78px !important; padding-inline: 24px !important; }
#cb-site.cb-signature .cb-unified-nav > a, #cb-site.cb-signature .cb-smart-nav-trigger { min-height: 78px; color: #324f63 !important; }
#cb-site.cb-signature .cb-unified-header__cta { border-radius: 999px !important; min-height: 45px; padding-inline: 21px !important; background: #205e8d !important; border-color: #205e8d !important; }
#cb-site.cb-signature .cb-unified-header__cta:hover { background: #173448 !important; border-color: #173448 !important; }
#cb-site.cb-signature .cb-smart-menu { border-top: 3px solid #b86a3c !important; border-radius: 10px !important; }
#cb-site.cb-signature .cb-smart-menu a:hover { background: #e5f1fa !important; }

/* Full-scale identity artwork replaces all small illustration frames. */
#cb-site.cb-signature main > .cb-immersive-hero {
  isolation: isolate; position: relative;
  padding-top: clamp(62px,7.8vw,124px) !important;
  padding-bottom: 64px !important;
  overflow: visible;
}
#cb-site.cb-signature .cb-immersive-hero::before {
  content: ""; position: absolute; z-index: -2;
  top: -120px; bottom: -2px; left: 50%; width: 100vw;
  transform: translateX(-50%); pointer-events: none;
  background:
    radial-gradient(ellipse at 87% 36%,rgba(110,181,229,.32),transparent 43%),
    radial-gradient(ellipse at 62% 73%,rgba(218,232,242,.84),transparent 36%),
    linear-gradient(120deg,#fff 24%,#f4faff 68%,#deedf7);
}
#cb-site.cb-signature .cb-immersive-hero::after {
  content: ""; position: absolute; z-index: -1;
  left: 50%; bottom: 0; width: 100vw; height: 1px; transform: translateX(-50%);
  background: linear-gradient(90deg,transparent,#adc9dc 28%,#adc9dc 78%,transparent);
}
#cb-site.cb-signature .cb-hero-grid { gap: clamp(30px,3.5vw,64px) !important; align-items: center !important; }
#cb-site.cb-signature .cb-hero-copy { position: relative; z-index: 3; }
#cb-site.cb-signature .cb-hero-art-column { position: relative; min-width: 0; }
#cb-site.cb-signature .cb-hero-copy > .pill { border: 0 !important; padding: 0 0 0 19px !important; background: transparent !important; border-radius: 0 !important; font: 600 11px/1.5 ui-monospace,Consolas,monospace !important; letter-spacing: .09em !important; text-transform: uppercase; position: relative; color: #8b4b2e !important; }
#cb-site.cb-signature .cb-hero-copy > .pill::before { content:""; position:absolute; left:0; top:5px; width:7px; height:7px; border-radius:50%; background:#b86a3c; }
#cb-site.cb-signature .cb-hero-copy h1 + p { margin-top: 28px; }
#cb-site.cb-signature .cb-hero-copy p { max-width: 59ch; }

#cb-site.cb-signature .cb-signature-art {
  --cb-art-x: 0; --cb-art-y: 0; --cb-art-float: 0px; --cb-art-scroll: 0px;
  position: relative; width: 100%; aspect-ratio: 1;
  isolation: isolate; perspective: 1200px; transform-style: preserve-3d;
  pointer-events: auto; background: transparent; border: 0;
}
#cb-site.cb-signature .cb-art-halo {
  position: absolute; inset: 5% -15% 0;
  background: radial-gradient(ellipse at 51% 45%,rgba(255,255,255,.97),rgba(125,186,226,.2) 37%,transparent 68%);
  transform: translate3d(calc(var(--cb-art-x)*-18px),calc(var(--cb-art-y)*-12px),-30px);
  pointer-events: none;
}
#cb-site.cb-signature .cb-art-grid {
  position: absolute; inset: 25% -12% 0; opacity: .2;
  background-image: linear-gradient(#9abacf 1px,transparent 1px),linear-gradient(90deg,#9abacf 1px,transparent 1px);
  background-size: 54px 54px; transform: perspective(600px) rotateX(68deg) translateY(35%);
  mask-image: radial-gradient(ellipse,#000,transparent 72%); pointer-events: none;
}
#cb-site.cb-signature .cb-art-stage {
  position: absolute; inset: -7% -9% 2%;
  transform: translate3d(calc(var(--cb-art-x)*11px),calc(var(--cb-art-float) + var(--cb-art-scroll)),50px) rotateX(calc(var(--cb-art-y)*-6deg)) rotateY(calc(var(--cb-art-x)*9deg)) rotateZ(-7deg);
  transform-style: preserve-3d; will-change: transform;
}
#cb-site.cb-signature .cb-art-sculpture { width: 100%; height: 100%; max-width: none; object-fit: contain; filter: drop-shadow(14px 32px 22px rgba(30,86,125,.16)); user-select: none; -webkit-user-drag: none; }
#cb-site.cb-signature .cb-art-orbit {
  position: absolute; inset: 14% -3% 10%; border: 1px solid rgba(55,117,162,.35); border-radius: 50%; pointer-events: none;
  transform: rotateZ(-32deg) rotateY(calc(40deg + var(--cb-art-x)*10deg)) rotateX(calc(52deg + var(--cb-art-y)*10deg));
}
#cb-site.cb-signature .cb-art-orbit--b { inset: 0 14%; border-color: rgba(184,106,60,.35); transform: rotateZ(38deg) rotateY(calc(54deg + var(--cb-art-x)*-10deg)) rotateX(25deg); }
#cb-site.cb-signature .cb-art-point { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #b86a3c; box-shadow: 0 0 0 6px rgba(184,106,60,.09); }
#cb-site.cb-signature .cb-art-point--a { top: 15%; right: 9%; }
#cb-site.cb-signature .cb-art-point--b { bottom: 20%; left: 1%; width: 5px; height: 5px; background: #2f78b7; box-shadow: 0 0 0 5px rgba(47,120,183,.08); }
#cb-site.cb-signature .cb-art-axis { position: absolute; right: 2%; bottom: 5%; width: 45px; height: 45px; }
#cb-site.cb-signature .cb-art-axis i { position:absolute; left:0; bottom:0; width:36px; height:1px; background:#5c829d; transform-origin:left; }
#cb-site.cb-signature .cb-art-axis i:nth-child(2) { transform:rotate(-90deg); }
#cb-site.cb-signature .cb-art-axis i:nth-child(3) { transform:rotate(-135deg); width:24px; background:#b86a3c; }
#cb-site.cb-signature .cb-signature-art--compact { max-width: none; aspect-ratio: 2.15; overflow: hidden; margin: 0 0 22px; background: linear-gradient(115deg,#f0f8fd,#dceef9); border-radius: 12px; }
#cb-site.cb-signature .cb-signature-art--compact .cb-art-stage { inset: 4% 23%; }
#cb-site.cb-signature .cb-signature-art--compact .cb-art-grid { opacity: .1; }
#cb-site.cb-signature .cb-signature-art--compact .cb-art-orbit { inset: 8% 24%; }
#cb-site.cb-signature [data-cb-art="folio"] .cb-art-stage { transform: translate3d(calc(var(--cb-art-x)*11px),calc(var(--cb-art-float) + var(--cb-art-scroll)),50px) rotateX(calc(var(--cb-art-y)*-6deg)) rotateY(calc(var(--cb-art-x)*9deg)) rotateZ(5deg); }

/* The home headline is a composed typographic object; its original words remain. */
#cb-site.cb-signature[data-cb-page="home"] main h1 { max-width: none; margin-top: 0; font-size: 1rem !important; line-height: 1 !important; }
#cb-site.cb-signature[data-cb-page="home"] main h1 .cb-headline-line { display: block; color: #173448 !important; font-weight: 650 !important; letter-spacing: -.072em !important; line-height: .98 !important; white-space: nowrap; }
#cb-site.cb-signature[data-cb-page="home"] main h1 .cb-headline-line--a { font-size: clamp(4.25rem,7.5vw,7.8rem) !important; }
#cb-site.cb-signature[data-cb-page="home"] main h1 .cb-headline-line--b { margin-top: 8px; font-size: clamp(2.75rem,4.6vw,4.85rem) !important; }
#cb-site.cb-signature[data-cb-page="home"] main h1 .cb-headline-line--c { margin-top: 9px; font-size: clamp(2.3rem,3.9vw,4.1rem) !important; color: #246293 !important; }
#cb-site.cb-signature[data-cb-page="home"] main h1 .gradient-text { display:block; margin-top:30px; font-size:clamp(1.04rem,1.6vw,1.38rem) !important; font-weight:450 !important; color:#56636e !important; letter-spacing:-.02em !important; line-height:1.5 !important; }
#cb-site.cb-signature[data-cb-page="home"] .cb-hero-copy > p:first-of-type { font-size: 1rem !important; line-height: 1.75 !important; }
#cb-site.cb-signature[data-cb-page="home"] .cb-hero-copy > p:nth-of-type(2) { font-size: .86rem !important; }
#cb-site.cb-signature[data-cb-page="home"] .cb-hero-copy .pill { color:#324f63 !important; background:transparent !important; border:0 !important; padding-inline:0 !important; border-radius:0 !important; font-size:.71rem; }
#cb-site.cb-signature[data-cb-page="home"] .cb-hero-copy .pill:not(:last-child)::after { content:"/"; color:#b86a3c; padding-inline:10px; }
#cb-site.cb-signature[data-cb-page="home"] [data-cb-hero] > .glass { margin-top:76px !important; padding:30px 0 !important; border-top:1px solid #b4ccd9 !important; border-bottom:0 !important; }
#cb-site.cb-signature [data-cb-hero] > .glass .icon-badge { background:transparent !important; border:0 !important; color:#246293 !important; }

/* Each section is composed around typography and a different surface rhythm. */
#cb-site.cb-signature main > .cb-section:not([data-cb-hero]) { padding-block: clamp(68px,7vw,116px) !important; }
#cb-site.cb-signature main .cb-panel { border-color: #c7dbe8 !important; border-radius: 16px !important; box-shadow: 0 8px 32px rgba(28,73,104,.035) !important; }
#cb-site.cb-signature main .cb-panel .cb-panel { border-radius: 8px !important; box-shadow: none !important; background: #f5f9fc !important; }
#cb-site.cb-signature main .icon-badge { background: #e3f0fa !important; color:#246293 !important; border-color:#b9d6e9 !important; border-radius:12px !important; }
#cb-site.cb-signature main .card-hover { transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s !important; }
#cb-site.cb-signature main .card-hover:hover { border-color:#6ca2cb !important; box-shadow:0 22px 50px rgba(30,86,125,.1) !important; transform:translateY(-5px) !important; }
#cb-site.cb-signature .cb-section > .text-center { text-align: left !important; margin-left:0 !important; max-width:820px !important; }
#cb-site.cb-signature[data-cb-page="home"] main > section:nth-of-type(2) .cb-panel { padding:38px !important; min-height:220px; }
#cb-site.cb-signature[data-cb-page="home"] main > section:nth-of-type(2) .cb-panel:first-child { background:linear-gradient(125deg,#fff,#dceef9) !important; border-radius:16px 60px 16px 16px !important; }
#cb-site.cb-signature[data-cb-page="home"] main > section:nth-of-type(2) .cb-panel:nth-child(2) { background:#fff !important; margin-top:36px; }
#cb-site.cb-signature main > section.border-y { background:#edf5fb !important; border-color:#c2d8e7 !important; }
#cb-site.cb-signature .section-line { padding-bottom:14px; margin-top:20px; color:#8b4b2e !important; font-size:.75rem !important; letter-spacing:.06em; }

/* Services become wide interactive editorial rows, with no nested cards. */
#cb-site.cb-signature main .grid:has(> .cb-service-item) { grid-template-columns:1fr !important; gap:0 !important; }
#cb-site.cb-signature main .cb-service-item {
  position:relative; isolation:isolate; display:grid; grid-template-columns:64px minmax(0,1fr) 62px; align-items:center; gap:28px;
  padding:30px 22px !important; min-height:144px; border:0 !important; border-bottom:1px solid #b8d1e1 !important;
  border-radius:0 !important; background:transparent !important; box-shadow:none !important;
  text-decoration:none; overflow:hidden; transform:none !important;
}
#cb-site.cb-signature main .cb-service-item::before { content:""; position:absolute; inset:0; z-index:-1; background:#205e8d !important; transform:scaleY(0); transform-origin:bottom; transition:transform .28s cubic-bezier(.2,.7,.2,1); }
#cb-site.cb-signature main .cb-service-item > div { display:block; }
#cb-site.cb-signature main .cb-service-item > div > div { display:grid; grid-template-columns:minmax(200px,.85fr) minmax(0,1fr); align-items:center; column-gap:40px; }
#cb-site.cb-signature main .cb-service-overview-copy { display:grid !important; grid-template-columns:minmax(200px,.85fr) minmax(0,1fr); column-gap:40px; align-items:center; }
#cb-site.cb-signature main .cb-service-overview-copy > div { display:block !important; }
#cb-site.cb-signature main .cb-service-overview-copy > div:first-of-type { grid-column:1; grid-row:1; color:#8b4b2e !important; font:500 11px/1.4 ui-monospace,Consolas,monospace; margin-bottom:7px; }
#cb-site.cb-signature main .cb-service-overview-copy > div:nth-of-type(2) { grid-column:1; grid-row:2/4; margin-top:0; color:#173448 !important; font-size:clamp(1.35rem,2vw,1.85rem) !important; font-weight:600 !important; letter-spacing:-.035em; line-height:1.25; }
#cb-site.cb-signature main .cb-service-overview-copy > p { grid-column:2; grid-row:1/3; }
#cb-site.cb-signature main .cb-service-overview-copy > div:last-of-type { grid-column:2; grid-row:3; margin-top:12px; color:#205e8d !important; font-size:.76rem; }
#cb-site.cb-signature main .cb-service-item h3 { margin:0; font-size:clamp(1.35rem,2vw,1.85rem) !important; letter-spacing:-.035em !important; }
#cb-site.cb-signature main .cb-service-item p { margin:0 !important; font-size:.92rem !important; line-height:1.6 !important; }
#cb-site.cb-signature main .cb-service-item .icon-badge { display:none !important; }
#cb-site.cb-signature .cb-service-index { color:#8b4b2e !important; font:400 17px/1 ui-monospace,Consolas,monospace; }
#cb-site.cb-signature .cb-service-arrow { width:56px; height:56px; display:grid; place-items:center; border:1px solid #a7c4d7; border-radius:50%; color:#205e8d !important; font-size:30px; line-height:1; transition:transform .25s,background .25s; }
#cb-site.cb-signature main .cb-service-item:is(:hover,:focus-visible) { background:#205e8d !important; transform:none !important; box-shadow:none !important; }
#cb-site.cb-signature main .cb-service-item:is(:hover,:focus-visible)::before { transform:scaleY(1); }
#cb-site.cb-signature main .cb-service-item:is(:hover,:focus-visible) :is(h3,p,.cb-service-index) { color:#fff !important; }
#cb-site.cb-signature main .cb-service-item:is(:hover,:focus-visible) .cb-service-overview-copy > div { color:#fff !important; }
#cb-site.cb-signature main .cb-service-item:is(:hover,:focus-visible) .cb-service-arrow { color:#205e8d !important; background:#fff; border-color:#fff; transform:rotate(45deg); }

/* Azure interlude: foreground and surface are always changed together. */
#cb-site.cb-signature main .cb-feature-band { position:relative; isolation:isolate; color:#fff !important; background:#205e8d !important; border:0 !important; }
#cb-site.cb-signature main .cb-feature-band :is(h2,h3,p,strong,b,li,span) { color:#fff !important; -webkit-text-fill-color:currentColor !important; }
#cb-site.cb-signature main .cb-feature-band .cb-panel { color:#fff !important; background:#286795 !important; border:1px solid #6c9bbd !important; border-top:3px solid #dbaa89 !important; box-shadow:none !important; }
#cb-site.cb-signature main .cb-feature-band .icon-badge { color:#fff !important; background:#205e8d !important; border-color:#6c9bbd !important; }
#cb-site.cb-signature main .cb-feature-band .cb-primary { color:#205e8d !important; background:#fff !important; border-color:#fff !important; }
#cb-site.cb-signature main .cb-feature-band .cb-primary:hover { color:#173448 !important; background:#e5f1fa !important; border-color:#e5f1fa !important; }
#cb-site.cb-signature main .cb-feature-band .cb-primary * { color:inherit !important; }
#cb-site.cb-signature main .cb-feature-band .cb-secondary { color:#fff !important; border-color:#fff !important; background:transparent !important; }
#cb-site.cb-signature main .cb-feature-band .cb-secondary:hover { background:#fff !important; color:#205e8d !important; }
#cb-site.cb-signature main .cb-feature-band .cb-secondary :is(span,svg) { color:inherit !important; }
#cb-site.cb-signature main .cb-audit-invite { position:relative; padding:clamp(32px,5vw,72px) !important; border:1px solid #a9c8dd !important; border-radius:26px !important; background:radial-gradient(ellipse at 100% 0,#b9ddf4,transparent 58%),#e6f2fb !important; }
#cb-site.cb-signature main .cb-audit-invite::after { content:""; position:absolute; right:28px; top:28px; width:12px; height:12px; border-radius:50%; background:#b86a3c !important; box-shadow:0 0 0 9px rgba(184,106,60,.1) !important; }

/* Method: tall chapter cards overlap naturally as the reader progresses. */
#cb-site.cb-signature .cb-process-stack { display:block !important; padding-bottom:20px; }
#cb-site.cb-signature main .cb-process-step { position:sticky; top:120px; display:grid; grid-template-columns:60px minmax(160px,.85fr) minmax(0,1.3fr); column-gap:32px; padding:38px !important; margin:0 0 28px; min-height:260px; box-shadow:0 -10px 40px rgba(30,65,90,.04) !important; }
#cb-site.cb-signature main .cb-process-step:nth-child(2) { top:138px; background:#eef7fd !important; }
#cb-site.cb-signature main .cb-process-step:nth-child(3) { top:156px; background:#e2f0fa !important; }
#cb-site.cb-signature main .cb-process-step:nth-child(4) { top:174px; background:#d5e8f5 !important; }
#cb-site.cb-signature .cb-process-number { grid-column:1; grid-row:1/4; color:#8b4b2e !important; font:400 32px/1.2 ui-monospace,Consolas,monospace; }
#cb-site.cb-signature .cb-process-step > div { grid-column:2; grid-row:1; color:#56636e !important; letter-spacing:.04em !important; font-size:.75rem !important; }
#cb-site.cb-signature main .cb-process-step h3 { grid-column:2; grid-row:2/4; font-size:clamp(1.7rem,2.5vw,2.5rem) !important; margin-top:6px; }
#cb-site.cb-signature .cb-process-step p { grid-column:3; grid-row:1/3; margin-top:0; }
#cb-site.cb-signature .cb-process-step ul { grid-column:3; grid-row:3; }

/* Case studies have graphic covers, clearly separate from the real results. */
#cb-site.cb-signature main .cb-project-card { overflow:hidden; padding:0 30px 32px !important; border-radius:20px !important; box-shadow:none !important; }
#cb-site.cb-signature main .cb-project-card:nth-of-type(even) { margin-top:64px; }
#cb-site.cb-signature[data-cb-page="home"] main .cb-project-card { padding-bottom:32px !important; }
#cb-site.cb-signature[data-cb-page="home"] main .cb-project-card .cb-case-cover { height:200px; }
#cb-site.cb-signature .cb-case-cover { position:relative; isolation:isolate; height:260px; margin:0 -30px 30px; background:#dbeefa; overflow:hidden; perspective:900px; }
#cb-site.cb-signature .cb-case-cover--2 { background:#e9edf0; }
#cb-site.cb-signature .cb-case-cover--0 { background:#205e8d; }
#cb-site.cb-signature .cb-case-cover__index { position:absolute; top:24px; left:30px; font:400 14px/1 ui-monospace,Consolas,monospace; color:#205e8d !important; }
#cb-site.cb-signature .cb-case-cover--0 .cb-case-cover__index { color:#fff !important; }
#cb-site.cb-signature .cb-case-cover__planes { position:absolute; inset:14% 26%; transform:rotateX(48deg) rotateY(-18deg) rotateZ(-27deg); transform-style:preserve-3d; transition:transform .65s cubic-bezier(.2,.7,.2,1); }
#cb-site.cb-signature .cb-case-cover__planes i { position:absolute; inset:0; border:1px solid #b4d1e4; border-radius:12px; background:linear-gradient(140deg,#fff,#bad9ee); box-shadow:10px 18px 20px rgba(22,61,88,.12); }
#cb-site.cb-signature .cb-case-cover__planes i:nth-child(2) { transform:translate3d(16px,-16px,28px); background:linear-gradient(140deg,#72b8e8,#2f78b7); border-color:#81b9dd; }
#cb-site.cb-signature .cb-case-cover__planes i:nth-child(3) { transform:translate3d(32px,-32px,56px); background:linear-gradient(135deg,#eed0ba,#b86a3c); border-color:#e0b191; inset:24% 23%; border-radius:50%; }
#cb-site.cb-signature .cb-project-card:hover .cb-case-cover__planes { transform:rotateX(35deg) rotateY(12deg) rotateZ(-17deg); }
#cb-site.cb-signature .cb-case-cover__orbit { position:absolute; inset:22% 10%; border:1px solid rgba(72,117,148,.35); border-radius:50%; transform:rotate(-25deg); }
#cb-site.cb-signature .cb-case-cover__corner { position:absolute; right:24px; bottom:16px; font-size:38px; color:#205e8d !important; }
#cb-site.cb-signature .cb-case-cover--0 .cb-case-cover__corner { color:#fff !important; }

/* Actions: confident primary pill and lighter, underlined secondary action. */
#cb-site.cb-signature main .cb-primary { min-height:52px; padding:15px 28px !important; border-radius:999px !important; color:#fff !important; background:#205e8d !important; border-color:#205e8d !important; box-shadow:0 6px 18px rgba(32,94,141,.12) !important; }
#cb-site.cb-signature main .cb-primary:hover { background:#173448 !important; border-color:#173448 !important; box-shadow:0 12px 28px rgba(32,94,141,.2) !important; }
#cb-site.cb-signature main .cb-secondary { min-height:52px; border:0 !important; border-bottom:1px solid #779cb6 !important; border-radius:0 !important; color:#205e8d !important; background:transparent !important; padding:14px 5px !important; box-shadow:none !important; }
#cb-site.cb-signature main .cb-secondary:hover { color:#173448 !important; background:transparent !important; border-color:#b86a3c !important; transform:translateY(-2px) !important; }

/* A bright-azure closing poster, with an explicit white text contract. */
#cb-site.cb-signature main .cb-contact-panel {
  color:#fff !important; background:linear-gradient(125deg,#194b71,#205e8d 60%,#2f78b7) !important;
  border:0 !important; border-radius:24px !important; box-shadow:0 20px 50px rgba(32,94,141,.14) !important;
  padding:clamp(38px,6vw,88px) !important; overflow:hidden;
}
#cb-site.cb-signature main .cb-contact-panel :is(h2,h3,p,small,strong,b,li,.cb-talk-sub) { color:#fff !important; -webkit-text-fill-color:currentColor !important; }
#cb-site.cb-signature main .cb-contact-panel :is(div,span) { color:#fff !important; -webkit-text-fill-color:currentColor !important; }
#cb-site.cb-signature main .cb-contact-panel h2 { font-size:clamp(2.6rem,5.5vw,5.2rem) !important; font-weight:550 !important; letter-spacing:-.06em !important; max-width:22ch; }
#cb-site.cb-signature main .cb-contact-panel p { max-width:58ch; font-size:1rem !important; line-height:1.7 !important; }
#cb-site.cb-signature main .cb-contact-panel .cb-primary { color:#205e8d !important; background:#fff !important; border:1px solid #fff !important; box-shadow:none !important; }
#cb-site.cb-signature main .cb-contact-panel .cb-primary:hover { color:#173448 !important; background:#e5f1fa !important; border-color:#e5f1fa !important; }
#cb-site.cb-signature main .cb-contact-panel .cb-secondary { color:#fff !important; background:transparent !important; border-color:#b4d1e4 !important; }
#cb-site.cb-signature main .cb-contact-panel .cb-secondary:hover { color:#fff !important; background:transparent !important; border-color:#fff !important; }
#cb-site.cb-signature main .cb-contact-panel :is(.cb-primary,.cb-secondary) * { color:inherit !important; -webkit-text-fill-color:currentColor !important; }
#cb-site.cb-signature main .cb-contact-panel .cb-talk-icon { color:#fff !important; background:transparent !important; border:1px solid #6b9bbd !important; border-radius:50% !important; box-shadow:none !important; }
#cb-site.cb-signature main .cb-contact-panel .cb-talk-icon svg { color:#fff !important; }
#cb-site.cb-signature main .cb-contact-panel .cb-panel { color:#fff !important; background:#205e8d !important; border-color:#6b9bbd !important; }
#cb-site.cb-signature .cb-consult-cta > .relative { gap:40px !important; }

/* Supporting pages retain their form and report state machines. */
#cb-site.cb-signature[data-cb-page="audit"] .hero-grid { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); padding-block:84px; }
#cb-site.cb-signature[data-cb-page="audit"] .compass-preview { border-radius:20px !important; border-color:#a4c6de !important; box-shadow:0 20px 55px rgba(32,94,141,.1) !important; }
#cb-site.cb-signature[data-cb-page="audit"] .cb-signature-art--compact { height:180px; aspect-ratio:auto; }
#cb-site.cb-signature[data-cb-page="audit"] .cb-signature-art--compact .cb-art-stage { inset:0 26%; }
#cb-site.cb-signature[data-cb-page="audit"] .preview-score-row strong { color:#205e8d !important; }
#cb-site.cb-signature .article-toc { border-radius:12px !important; background:#eaf5fd !important; border-color:#b9d6e9 !important; }
#cb-site.cb-signature details.cb-panel { border:0 !important; border-bottom:1px solid #b4cddb !important; border-radius:0 !important; box-shadow:none !important; padding:12px 0 !important; }
#cb-site.cb-signature details.cb-panel[open] { background:#e5f1fa !important; padding-inline:20px !important; }

/* A personal signature finishes the page, with the original logo below. */
#cb-site.cb-signature footer.cb-unified-footer { padding-top:48px; background:#fff !important; border-top:0 !important; }
#cb-site.cb-signature .cb-footer-masthead { width:min(100%,1520px); margin:0 auto; padding:34px var(--cb-gutter) 30px; white-space:nowrap; color:#173448; font-weight:650; font-size:clamp(44px,10.5vw,160px); letter-spacing:-.075em; line-height:1; border-bottom:1px solid #d6e4ee; }
#cb-site.cb-signature .cb-footer-masthead > span { color:#173448 !important; }
#cb-site.cb-signature .cb-footer-masthead > span:last-child { color:#246293 !important; }
#cb-site.cb-signature .cb-footer-masthead .cb-masthead-dot { color:#b86a3c !important; }
#cb-site.cb-signature .cb-unified-footer__inner { padding-top:56px; }
#cb-site.cb-signature .cb-unified-footer__column strong { font-family:ui-monospace,Consolas,monospace; letter-spacing:.03em; font-size:.72rem; }
#cb-site.cb-signature .cb-unified-footer__social a { border-radius:999px; padding-inline:14px; }
#cb-site.cb-signature .cb-unified-footer__column a:hover { text-decoration-color:#b86a3c !important; }
#cb-site.cb-signature .cb-motion-toggle { border-radius:999px; background:rgba(255,255,255,.96); border-color:#a7c4d7; color:#205e8d; min-height:44px; }
#cb-site.cb-signature .cb-scroll-progress { height:3px; }

@media (min-width: 1280px) {
  #cb-site.cb-signature[data-cb-page="home"] .cb-hero-art-column { margin-left:-20px; margin-right:-32px; }
  #cb-site.cb-signature[data-cb-page="home"] .cb-signature-art { aspect-ratio:.98; }
}
@media (max-width: 1279px) {
  #cb-site.cb-signature .cb-unified-header__inner { min-height:68px !important; }
  #cb-site.cb-signature[data-cb-page="home"] main h1 .cb-headline-line--a { font-size:clamp(4rem,7.2vw,6rem) !important; }
  #cb-site.cb-signature[data-cb-page="home"] main h1 .cb-headline-line--b { font-size:clamp(2.4rem,4.4vw,4rem) !important; }
  #cb-site.cb-signature[data-cb-page="home"] main h1 .cb-headline-line--c { font-size:clamp(2rem,3.7vw,3.4rem) !important; }
  #cb-site.cb-signature .cb-process-step { gap:20px; padding:28px !important; }
}
@media (max-width: 1023px) {
  #cb-site.cb-signature .cb-hero-grid, #cb-site.cb-signature[data-cb-page="audit"] .hero-grid { grid-template-columns:1fr !important; }
  #cb-site.cb-signature .cb-signature-art { max-width:620px; margin:0 auto; aspect-ratio:1.12; }
  #cb-site.cb-signature .cb-art-stage { inset:0 5%; }
  #cb-site.cb-signature .cb-signature-art--compact { max-width:none; aspect-ratio:2.1; }
  #cb-site.cb-signature .cb-signature-art--compact .cb-art-stage { inset:4% 24%; }
  #cb-site.cb-signature[data-cb-page="home"] main h1 .cb-headline-line--a { font-size:clamp(4.3rem,10vw,6.5rem) !important; }
  #cb-site.cb-signature[data-cb-page="home"] main h1 .cb-headline-line--b { font-size:clamp(2.9rem,6.5vw,4.5rem) !important; }
  #cb-site.cb-signature[data-cb-page="home"] main h1 .cb-headline-line--c { font-size:clamp(2.35rem,5.4vw,3.8rem) !important; }
  #cb-site.cb-signature .cb-process-step { position:relative !important; top:auto !important; grid-template-columns:50px minmax(0,1fr) !important; }
  #cb-site.cb-signature .cb-process-step h3 { grid-column:2; grid-row:2; }
  #cb-site.cb-signature .cb-process-step p { grid-column:2; grid-row:3; margin-top:16px; }
  #cb-site.cb-signature .cb-process-step ul { grid-column:2; grid-row:4; }
  #cb-site.cb-signature main .cb-project-card:nth-of-type(even) { margin-top:0; }
}
@media (max-width: 700px) {
  #cb-site.cb-signature { --cb-gutter:24px; }
  #cb-site.cb-signature main h1 { font-size:clamp(2.5rem,8.3vw,3.5rem) !important; }
  #cb-site.cb-signature main > .cb-immersive-hero { padding-top:52px !important; padding-bottom:44px !important; }
  #cb-site.cb-signature main > .cb-section:not([data-cb-hero]) { padding-block:64px !important; }
  #cb-site.cb-signature main .cb-service-item { grid-template-columns:28px minmax(0,1fr) 40px; gap:14px; padding:24px 8px !important; }
  #cb-site.cb-signature main .cb-service-item > div > div { grid-template-columns:1fr; gap:10px; }
  #cb-site.cb-signature main .cb-service-overview-copy { grid-template-columns:1fr; gap:10px; }
  #cb-site.cb-signature main .cb-service-overview-copy > div:nth-of-type(2) { grid-column:1; grid-row:2; }
  #cb-site.cb-signature main .cb-service-overview-copy > p { grid-column:1; grid-row:3; }
  #cb-site.cb-signature main .cb-service-overview-copy > div:last-of-type { grid-column:1; grid-row:4; }
  #cb-site.cb-signature main .cb-service-item h3 { font-size:1.4rem !important; }
  #cb-site.cb-signature main .cb-service-item p { font-size:.86rem !important; }
  #cb-site.cb-signature .cb-service-arrow { width:36px; height:36px; font-size:24px; }
  #cb-site.cb-signature .cb-service-index { font-size:12px; }
  #cb-site.cb-signature main .cb-contact-panel { padding:36px 26px !important; border-radius:18px !important; }
  #cb-site.cb-signature main .cb-contact-panel h2 { font-size:2.7rem !important; }
  #cb-site.cb-signature main .cb-contact-panel p { font-size:.92rem !important; }
  #cb-site.cb-signature[data-cb-page="home"] main > section:nth-of-type(2) .cb-panel { padding:28px !important; }
  #cb-site.cb-signature[data-cb-page="home"] main > section:nth-of-type(2) .cb-panel:nth-child(2) { margin-top:0; }
  #cb-site.cb-signature .cb-footer-masthead { font-size:clamp(36px,9.5vw,65px); padding-bottom:24px; }
}
@media (max-width: 480px) {
  #cb-site.cb-signature { --cb-gutter:20px; }
  #cb-site.cb-signature header.cb-unified-header { width:calc(100% - 20px) !important; }
  #cb-site.cb-signature .cb-unified-header__inner { min-height:64px !important; padding-inline:12px !important; }
  #cb-site.cb-signature[data-cb-page="home"] main h1 .cb-headline-line--a { font-size:clamp(3.3rem,13vw,4.5rem) !important; }
  #cb-site.cb-signature[data-cb-page="home"] main h1 .cb-headline-line--b { font-size:clamp(2rem,8.4vw,2.9rem) !important; }
  #cb-site.cb-signature[data-cb-page="home"] main h1 .cb-headline-line--c { font-size:clamp(1.75rem,7.2vw,2.45rem) !important; }
  #cb-site.cb-signature[data-cb-page="home"] main h1 .gradient-text { margin-top:24px; }
  #cb-site.cb-signature .cb-signature-art { aspect-ratio:1; }
  #cb-site.cb-signature .cb-art-stage { inset:0 -3%; }
  #cb-site.cb-signature .cb-signature-art--compact { aspect-ratio:1.7; }
  #cb-site.cb-signature .cb-signature-art--compact .cb-art-stage { inset:2% 18%; }
  #cb-site.cb-signature .cb-process-step { grid-template-columns:32px minmax(0,1fr) !important; gap:16px; padding:24px !important; }
  #cb-site.cb-signature .cb-process-number { font-size:22px; }
  #cb-site.cb-signature .cb-case-cover { height:220px; }
}
@media (hover:none) {
  #cb-site.cb-signature main .card-hover:hover { transform:none !important; }
}
@media (prefers-reduced-motion:reduce) {
  #cb-site.cb-signature *, #cb-site.cb-signature *::before, #cb-site.cb-signature *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  #cb-site.cb-signature .cb-art-stage { will-change:auto; }
  #cb-site.cb-signature .cb-project-card:hover .cb-case-cover__planes { transform:rotateX(48deg) rotateY(-18deg) rotateZ(-27deg); }
}
#cb-site.cb-signature.cb-motion-paused .cb-art-stage { will-change:auto; }
#cb-site.cb-signature.cb-motion-paused .cb-project-card:hover .cb-case-cover__planes { transform:rotateX(48deg) rotateY(-18deg) rotateZ(-27deg); }
@media print {
  #cb-site.cb-signature .cb-signature-art, #cb-site.cb-signature .cb-case-cover { display:none !important; }
  #cb-site.cb-signature .cb-process-step { position:static !important; }
  #cb-site.cb-signature main .cb-contact-panel { background:#fff !important; border:1px solid #cfd6db !important; }
  #cb-site.cb-signature main .cb-contact-panel :is(h2,h3,p,strong,b,small) { color:#173448 !important; }
}
