.elementor-kit-5{--e-global-color-primary:#1A1C20;--e-global-color-secondary:#D9AD77;--e-global-color-text:#3A3F47;--e-global-color-accent:#8C5F27;--e-global-color-cblpaper:#FBF8F3;--e-global-color-cblsand:#F3EDE3;--e-global-color-cblwhite:#FFFFFF;--e-global-color-cblmuted:#565C66;--e-global-color-cblline:#E4DCCF;--e-global-color-cbllinestrong:#CDBFA9;--e-global-color-cblondark:#F5F1EA;--e-global-color-cblondarkmuted:#C9C3B8;--e-global-color-cblbronzedeep:#734D1F;--e-global-color-cblgoldhover:#E6C08F;--e-global-color-cblgolddeep:#C8955A;--e-global-color-cblsignal:#2F8F5B;--e-global-color-cblfocus:#1F5FBF;--e-global-typography-primary-font-family:"Plus Jakarta Sans";--e-global-typography-primary-font-size:clamp(2.5rem, 1.3rem + 4.4vw, 5.25rem);--e-global-typography-primary-font-weight:800;--e-global-typography-primary-line-height:1em;--e-global-typography-primary-letter-spacing:-0.045em;--e-global-typography-secondary-font-family:"Plus Jakarta Sans";--e-global-typography-secondary-font-size:clamp(2rem, 1.3rem + 2.4vw, 3rem);--e-global-typography-secondary-font-weight:800;--e-global-typography-secondary-line-height:1.15em;--e-global-typography-secondary-letter-spacing:-0.03em;--e-global-typography-text-font-family:"Plus Jakarta Sans";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.65em;--e-global-typography-accent-font-family:"Plus Jakarta Sans";--e-global-typography-accent-font-size:13px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1.4em;--e-global-typography-accent-letter-spacing:0.12em;--e-global-typography-cblh3-font-family:"Plus Jakarta Sans";--e-global-typography-cblh3-font-size:24px;--e-global-typography-cblh3-font-weight:700;--e-global-typography-cblh3-line-height:1.15em;--e-global-typography-cblh3-letter-spacing:-0.01em;--e-global-typography-cbllead-font-family:"Plus Jakarta Sans";--e-global-typography-cbllead-font-size:clamp(1.125rem, 1rem + .4vw, 1.3125rem);--e-global-typography-cbllead-font-weight:400;--e-global-typography-cbllead-line-height:1.6em;--e-global-typography-cblsmall-font-family:"Plus Jakarta Sans";--e-global-typography-cblsmall-font-size:15px;--e-global-typography-cblsmall-font-weight:500;--e-global-typography-cblsmall-line-height:1.5em;--e-global-typography-cblbutton-font-family:"Plus Jakarta Sans";--e-global-typography-cblbutton-font-size:16px;--e-global-typography-cblbutton-font-weight:700;--e-global-typography-cblbutton-text-transform:none;--e-global-typography-cblbutton-line-height:1em;--e-global-typography-cblfooter-font-family:"Plus Jakarta Sans";--e-global-typography-cblfooter-font-size:clamp(2.25rem, 1rem + 5vw, 5.5rem);--e-global-typography-cblfooter-font-weight:800;--e-global-typography-cblfooter-line-height:1.02em;--e-global-typography-cblfooter-letter-spacing:-0.045em;background-color:var( --e-global-color-cblpaper );color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-cblbutton-font-family ), Sans-serif;font-size:var( --e-global-typography-cblbutton-font-size );font-weight:var( --e-global-typography-cblbutton-font-weight );text-transform:var( --e-global-typography-cblbutton-text-transform );line-height:var( --e-global-typography-cblbutton-line-height );letter-spacing:var( --e-global-typography-cblbutton-letter-spacing );word-spacing:var( --e-global-typography-cblbutton-word-spacing );color:var( --e-global-color-cblwhite );border-radius:999px 999px 999px 999px;padding:17px 28px 17px 28px;}.elementor-kit-5 button:hover,.elementor-kit-5 button:focus,.elementor-kit-5 input[type="button"]:hover,.elementor-kit-5 input[type="button"]:focus,.elementor-kit-5 input[type="submit"]:hover,.elementor-kit-5 input[type="submit"]:focus,.elementor-kit-5 .elementor-button:hover,.elementor-kit-5 .elementor-button:focus{background-color:#33363D;color:#FFFFFF;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 a{color:var( --e-global-color-accent );}.elementor-kit-5 a:hover{color:var( --e-global-color-primary );}.elementor-kit-5 h1{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-5 h2{color:var( --e-global-color-primary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-kit-5 h3{color:var( --e-global-color-primary );font-family:var( --e-global-typography-cblh3-font-family ), Sans-serif;font-size:var( --e-global-typography-cblh3-font-size );font-weight:var( --e-global-typography-cblh3-font-weight );line-height:var( --e-global-typography-cblh3-line-height );letter-spacing:var( --e-global-typography-cblh3-letter-spacing );word-spacing:var( --e-global-typography-cblh3-word-spacing );}.elementor-kit-5 h4{color:var( --e-global-color-primary );}.elementor-kit-5 label{color:var( --e-global-color-primary );font-family:"Plus Jakarta Sans", Sans-serif;font-size:15px;font-weight:600;}.elementor-kit-5 input:not([type="button"]):not([type="submit"]),.elementor-kit-5 textarea,.elementor-kit-5 .elementor-field-textual{font-family:"Plus Jakarta Sans", Sans-serif;font-size:16px;color:var( --e-global-color-primary );background-color:#FCFBF9;border-style:solid;border-width:1.5px 1.5px 1.5px 1.5px;border-color:#8A8F98;border-radius:8px 8px 8px 8px;padding:12px 16px 12px 16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1120px;}.e-con{--container-max-width:1120px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-5{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-5 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-5 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-kit-5 h3{font-size:var( --e-global-typography-cblh3-font-size );line-height:var( --e-global-typography-cblh3-line-height );letter-spacing:var( --e-global-typography-cblh3-letter-spacing );word-spacing:var( --e-global-typography-cblh3-word-spacing );}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{font-size:var( --e-global-typography-cblbutton-font-size );line-height:var( --e-global-typography-cblbutton-line-height );letter-spacing:var( --e-global-typography-cblbutton-letter-spacing );word-spacing:var( --e-global-typography-cblbutton-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5{--e-global-typography-cblh3-font-size:22px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-5 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-5 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-kit-5 h3{font-size:var( --e-global-typography-cblh3-font-size );line-height:var( --e-global-typography-cblh3-line-height );letter-spacing:var( --e-global-typography-cblh3-letter-spacing );word-spacing:var( --e-global-typography-cblh3-word-spacing );}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{font-size:var( --e-global-typography-cblbutton-font-size );line-height:var( --e-global-typography-cblbutton-line-height );letter-spacing:var( --e-global-typography-cblbutton-letter-spacing );word-spacing:var( --e-global-typography-cblbutton-word-spacing );padding:16px 24px 16px 24px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* =====================================================================
   CRAFTED BY LEE - GLOBAL STYLES
   Lives in: Site Settings > Custom CSS.
   Colors and fonts come from Site Settings > Global Colors / Global Fonts.
   Change a global color there and every rule below follows it.

   How to reuse a style: select a widget or container, go to
   Advanced > CSS Classes and type the class name.

   CLASS INDEX
   Layout ...... cbl-section  cbl-section--alt  cbl-section--dark  cbl-head
   Type ........ cbl-eyebrow (title may contain <span class="cbl-num">01</span>)
                 cbl-label  cbl-lead  cbl-intro  cbl-prose  cbl-hl (span inside a heading)
   Buttons ..... (no class = primary Ink)  cbl-btn--secondary  cbl-btn--outline
                 cbl-btn--gold  cbl-btn--sm
   Cards ....... cbl-card  cbl-case (+ is-featured)  cbl-case__media  cbl-case__body
                 cbl-service (+ is-dark)  cbl-step  cbl-why  cbl-tool  cbl-testimonial
   Components .. cbl-kicker  cbl-chips  cbl-proof  cbl-ticker  cbl-browser  cbl-facts
                 cbl-checks  cbl-email  cbl-next  cbl-pills  cbl-form
   Theme parts . cbl-header  cbl-logo  cbl-nav  cbl-progress  cbl-footer
   ===================================================================== */

/* ---------- 1. Tokens (linked to Global Colors) ---------- */
:root {
  --cbl-ink: var(--e-global-color-primary, #1A1C20);
  --cbl-gold: var(--e-global-color-secondary, #D9AD77);
  --cbl-body: var(--e-global-color-text, #3A3F47);
  --cbl-accent: var(--e-global-color-accent, #8C5F27);
  --cbl-paper: var(--e-global-color-cblpaper, #FBF8F3);
  --cbl-sand: var(--e-global-color-cblsand, #F3EDE3);
  --cbl-white: var(--e-global-color-cblwhite, #FFFFFF);
  --cbl-muted: var(--e-global-color-cblmuted, #565C66);
  --cbl-line: var(--e-global-color-cblline, #E4DCCF);
  --cbl-line-strong: var(--e-global-color-cbllinestrong, #CDBFA9);
  --cbl-on-dark: var(--e-global-color-cblondark, #F5F1EA);
  --cbl-on-dark-muted: var(--e-global-color-cblondarkmuted, #C9C3B8);
  --cbl-accent-deep: var(--e-global-color-cblbronzedeep, #734D1F);
  --cbl-gold-hover: var(--e-global-color-cblgoldhover, #E6C08F);
  --cbl-gold-deep: var(--e-global-color-cblgolddeep, #C8955A);
  --cbl-signal: var(--e-global-color-cblsignal, #2F8F5B);
  --cbl-focus: var(--e-global-color-cblfocus, #1F5FBF);
  --cbl-radius: 16px;
  --cbl-radius-lg: 24px;
  --cbl-shadow: 0 1px 2px rgba(26,28,32,.06), 0 8px 24px rgba(26,28,32,.06);
  --cbl-shadow-lift: 0 2px 4px rgba(26,28,32,.08), 0 16px 40px rgba(26,28,32,.12);
  --cbl-ease: cubic-bezier(.2,.7,.2,1);
}

/* ---------- 2. Base ---------- */
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body { -webkit-font-smoothing: antialiased; }
:focus-visible { outline: 3px solid var(--cbl-focus); outline-offset: 3px; border-radius: 4px; }
.cbl-section--dark :focus-visible, .cbl-footer :focus-visible { outline-color: var(--cbl-gold); }
.cbl-cta :focus-visible { outline-color: var(--cbl-ink); }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* Gold highlight bar behind a word: <span class="cbl-hl">clients.</span> */
.cbl-hl { position: relative; white-space: nowrap; z-index: 0; }
.cbl-hl::after { content: ""; position: absolute; z-index: -1; left: -0.06em; right: -0.04em; bottom: 0.06em; height: 0.32em; background: var(--cbl-gold); border-radius: 4px; transform: skewX(-8deg); opacity: .85; }

/* ---------- 3. Type helpers ---------- */
.cbl-eyebrow .elementor-heading-title { display: inline-flex; align-items: center; gap: 10px; }
.cbl-num { display: inline-grid; place-items: center; min-width: 30px; height: 22px; padding: 0 6px; border-radius: 999px; background: color-mix(in srgb, var(--cbl-accent) 12%, transparent); color: var(--cbl-accent-deep); font-size: 11px; font-weight: 800; letter-spacing: .04em; }
.cbl-section--dark .cbl-num { background: color-mix(in srgb, var(--cbl-gold) 16%, transparent); color: var(--cbl-gold); }
.cbl-label .elementor-heading-title { font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--cbl-muted); }
.cbl-lead { max-width: 46ch; }
.cbl-intro { max-width: 52ch; color: var(--cbl-muted); }
.cbl-head .elementor-heading-title, h2.elementor-heading-title { text-wrap: balance; }

/* ---------- 4. Buttons (primary = Site Settings > Theme Style > Buttons) ---------- */
.elementor-button { transition: transform .2s var(--cbl-ease), background-color .2s, color .2s, border-color .2s, box-shadow .2s; }
.elementor-button:hover { transform: translateY(-1px); }
.elementor-widget-button:not([class*="cbl-btn--"]) .elementor-button { box-shadow: 0 6px 18px rgba(26,28,32,.18); }
.cbl-btn--secondary .elementor-button { background: transparent; color: var(--cbl-ink); border: 2px solid var(--cbl-ink); }
.cbl-btn--secondary .elementor-button:hover, .cbl-btn--secondary .elementor-button:focus { background: var(--cbl-ink); color: var(--cbl-white); }
.cbl-btn--outline .elementor-button { background: transparent; color: var(--cbl-ink); border: 1.5px solid var(--cbl-ink); padding: 10px 18px; font-size: 15px; }
.cbl-btn--outline .elementor-button:hover, .cbl-btn--outline .elementor-button:focus { background: var(--cbl-ink); color: var(--cbl-white); }
.cbl-btn--gold .elementor-button { background: var(--cbl-gold); color: var(--cbl-ink); }
.cbl-btn--gold .elementor-button:hover { background: var(--cbl-gold-hover); }
.cbl-btn--sm .elementor-button { padding: 12px 20px; font-size: 15px; }

/* ---------- 5. Header ---------- */
.cbl-header { background: color-mix(in srgb, var(--cbl-paper) 92%, transparent); -webkit-backdrop-filter: saturate(1.2) blur(10px); backdrop-filter: saturate(1.2) blur(10px); border-bottom: 1px solid transparent; transition: border-color .2s, box-shadow .2s; }
.cbl-header.elementor-sticky--effects { border-bottom-color: var(--cbl-line); box-shadow: 0 4px 16px rgba(26,28,32,.05); }
.cbl-logo { flex: none; }
.cbl-logo .elementor-heading-title a { display: inline-flex; align-items: center; gap: 12px; color: var(--cbl-ink); text-decoration: none; white-space: nowrap; }
.cbl-mono { width: 36px; height: 36px; flex: none; display: inline-grid; place-items: center; border-radius: 10px; background: var(--cbl-ink); color: var(--cbl-gold); font-size: 18px; font-weight: 800; letter-spacing: -0.02em; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cbl-gold) 35%, transparent); }
.cbl-footer .cbl-mono { background: var(--cbl-gold); color: var(--cbl-ink); box-shadow: none; }
.cbl-footer .cbl-logo .elementor-heading-title a { color: var(--cbl-on-dark); }
.cbl-progress { position: absolute !important; left: 0; right: 0; bottom: -1px; width: 100% !important; margin: 0 !important; z-index: 2; pointer-events: none; }
.cbl-progress .elementor-scrolling-tracker { height: 3px; border-radius: 0; background: transparent; padding: 0; border: 0; }
.cbl-progress .current-progress { border-radius: 0; background: linear-gradient(90deg, var(--cbl-accent), var(--cbl-gold)); }
.cbl-progress .current-progress-percentage { display: none; }
.cbl-nav .elementor-menu-toggle { width: 48px; height: 48px; border: 1px solid var(--cbl-line); border-radius: 12px; background: var(--cbl-white); }
.cbl-nav .elementor-nav-menu--dropdown { border-bottom: 1px solid var(--cbl-line); box-shadow: 0 16px 24px rgba(26,28,32,.08); }
.cbl-nav .elementor-nav-menu--dropdown .elementor-item { border-bottom: 1px solid var(--cbl-line); }
@media (max-width: 379px) { .cbl-header .cbl-wordmark { display: none; } }

/* ---------- 6. Hero ---------- */
.cbl-hero { isolation: isolate; }
.cbl-hero::before { content: ""; position: absolute; z-index: -1; width: 720px; height: 720px; right: -160px; top: -220px; background: radial-gradient(closest-side, color-mix(in srgb, var(--cbl-gold) 38%, transparent), transparent); pointer-events: none; }
.cbl-hero::after { content: ""; position: absolute; z-index: -2; inset: 0; background-image: radial-gradient(rgba(26,28,32,.07) 1px, transparent 1.2px); background-size: 22px 22px; -webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 85%); mask-image: linear-gradient(180deg, #000 0%, transparent 85%); pointer-events: none; }
.cbl-kicker p { display: inline-flex; align-items: center; gap: 10px; margin: 0; padding: 6px 14px 6px 12px; background: var(--cbl-white); border: 1px solid var(--cbl-line); border-radius: 999px; font-size: 15px; font-weight: 600; color: var(--cbl-ink); line-height: 1.4; }
.cbl-dot { position: relative; width: 8px; height: 8px; flex: none; border-radius: 50%; background: var(--cbl-signal); box-shadow: 0 0 0 4px color-mix(in srgb, var(--cbl-signal) 16%, transparent); }
.cbl-dot::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: var(--cbl-signal); animation: cbl-pulse 2s var(--cbl-ease) infinite; }
@keyframes cbl-pulse { 0% { transform: scale(1); opacity: .6; } 80%, 100% { transform: scale(2.8); opacity: 0; } }
.cbl-chips ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.cbl-chips li { font-size: 13px; font-weight: 600; color: var(--cbl-body); background: var(--cbl-white); border: 1px solid var(--cbl-line); border-radius: 999px; padding: 6px 14px; line-height: 1.4; }
.cbl-hero .cbl-h1 .elementor-heading-title { max-width: 13ch; }
.cbl-hero__media { max-width: 440px; margin-left: auto; }
.cbl-hero__media::before { content: ""; position: absolute; inset: 24px -24px -24px 24px; background: linear-gradient(145deg, var(--cbl-gold), var(--cbl-gold-deep)); border-radius: var(--cbl-radius-lg); z-index: 0; }
.cbl-hero__media::after { content: ""; position: absolute; z-index: 0; width: 88px; height: 88px; right: -40px; top: -28px; border-radius: 50%; border: 2px dashed color-mix(in srgb, var(--cbl-accent) 45%, transparent); }
.cbl-hero__photo { position: relative; z-index: 1; width: 100%; }
.cbl-hero__photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--cbl-radius-lg); box-shadow: var(--cbl-shadow); }
.cbl-hero__badges { position: absolute !important; inset: 0; z-index: 3; margin: 0 !important; width: auto !important; max-width: none !important; pointer-events: none; }
.cbl-chip { position: absolute; display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px 10px 12px; background: var(--cbl-white); border: 1px solid var(--cbl-line); border-radius: 999px; box-shadow: var(--cbl-shadow-lift); font-size: 15px; font-weight: 700; color: var(--cbl-ink); white-space: nowrap; line-height: 1.2; animation: cbl-bob 6s ease-in-out infinite; }
.cbl-chip svg { width: 20px; height: 20px; padding: 3px; border-radius: 50%; background: var(--cbl-signal); color: #fff; flex: none; }
.cbl-chip--a { left: -64px; top: 12%; }
.cbl-chip--b { right: -56px; top: 42%; animation-delay: -2s; }
@keyframes cbl-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
.cbl-hire { position: absolute; left: -24px; bottom: 32px; display: inline-flex; align-items: center; gap: 8px; background: var(--cbl-white); color: var(--cbl-ink); border: 1px solid var(--cbl-line); font-size: 15px; font-weight: 600; padding: 12px 16px; border-radius: 12px; box-shadow: var(--cbl-shadow-lift); line-height: 1.3; }
.cbl-hire svg { color: var(--cbl-accent); flex: none; }
.cbl-proof p { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 32px; margin: 0; padding: 14px 28px; background: var(--cbl-white); border: 1px solid var(--cbl-line); border-radius: 999px; }
.cbl-proof .cbl-proof__label { font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--cbl-muted); }
.cbl-proof a { font-weight: 700; color: var(--cbl-ink); text-decoration: none; font-size: 17px; }
.cbl-proof a:hover { color: var(--cbl-accent); text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 1100px) { .cbl-chip--a { left: -24px; } .cbl-chip--b { right: -20px; } }
@media (max-width: 1024px) {
  .cbl-hero .cbl-h1 .elementor-heading-title { max-width: 14ch; }
  .cbl-hero__media { max-width: 360px; margin-right: 24px; margin-left: 0; }
  .cbl-chip--a { left: auto; right: -8px; top: 8%; }
  .cbl-chip--b { right: -8px; top: 22%; }
  .cbl-hire { left: 12px; bottom: 16px; }
  .cbl-proof p { border-radius: var(--cbl-radius); padding: 16px 24px; }
}

/* ---------- 7. Ticker band ---------- */
.cbl-ticker { overflow: hidden; }
.cbl-ticker__track { display: flex; width: max-content; animation: cbl-marquee 38s linear infinite; }
.cbl-ticker__track > div { display: flex; align-items: center; gap: 28px; padding-right: 28px; }
.cbl-ticker span { font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem); font-weight: 800; letter-spacing: -0.02em; white-space: nowrap; color: var(--cbl-on-dark); line-height: 1.2; }
.cbl-ticker span:nth-child(4n+1) { color: var(--cbl-gold); }
.cbl-ticker .cbl-ticker__dot { font-size: 1rem; color: var(--cbl-gold); opacity: .7; }
.cbl-ticker:hover .cbl-ticker__track { animation-play-state: paused; }
@keyframes cbl-marquee { to { transform: translateX(-50%); } }

/* ---------- 8. Cards ---------- */
.cbl-card, .cbl-case, .cbl-service, .cbl-why, .cbl-tool, .cbl-testimonial { background: var(--cbl-white); border: 1px solid var(--cbl-line); border-radius: var(--cbl-radius); }
.cbl-case { overflow: hidden; box-shadow: var(--cbl-shadow); transition: transform .25s var(--cbl-ease), box-shadow .25s var(--cbl-ease), border-color .25s; }
.cbl-case:hover, .cbl-case:focus-within { transform: translateY(-4px); box-shadow: var(--cbl-shadow-lift); border-color: var(--cbl-line-strong); }
.cbl-case.is-featured { grid-column: 1 / -1; background: linear-gradient(135deg, var(--cbl-white) 0%, color-mix(in srgb, var(--cbl-paper) 50%, var(--cbl-white)) 100%); }
.cbl-case__media { position: relative; overflow: hidden; background: #EFE9DF; border-bottom: 1px solid var(--cbl-line); text-decoration: none; }
.cbl-case.is-featured .cbl-case__media { border-bottom: 0; border-right: 1px solid var(--cbl-line); }
.cbl-case__media .elementor-widget-image { flex: 1 1 auto; min-height: 0; width: 100%; }
.cbl-case__media .elementor-widget-image img { display: block; width: 100%; height: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: top; transition: transform .5s var(--cbl-ease); }
.cbl-case.is-featured .cbl-case__media .elementor-widget-image img { aspect-ratio: auto; min-height: 386px; }
.cbl-case:hover .cbl-case__media img { transform: scale(1.03); }
.cbl-case__media::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, transparent 55%, rgba(26,28,32,.28)); opacity: 0; transition: opacity .25s var(--cbl-ease); pointer-events: none; mix-blend-mode: normal; }
.cbl-case__media::after { content: "View live site \2197"; position: absolute; z-index: 2; left: 50%; bottom: 20px; transform: translate(-50%, 12px); padding: 10px 18px; border-radius: 999px; background: rgba(26,28,32,.88); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); color: #fff; font-size: 15px; font-weight: 700; white-space: nowrap; opacity: 0; transition: opacity .25s var(--cbl-ease), transform .25s var(--cbl-ease); pointer-events: none; }
.cbl-case:hover .cbl-case__media::before, .cbl-case:focus-within .cbl-case__media::before { opacity: 1; }
.cbl-case:hover .cbl-case__media::after, .cbl-case:focus-within .cbl-case__media::after { opacity: 1; transform: translate(-50%, 0); }
.cbl-browser { display: flex; align-items: center; gap: 6px; height: 34px; padding: 0 12px; background: #F3EEE6; border-bottom: 1px solid var(--cbl-line); }
.cbl-browser i { width: 10px; height: 10px; border-radius: 50%; background: #E0796B; flex: none; }
.cbl-browser i:nth-child(2) { background: #E8B44F; }
.cbl-browser i:nth-child(3) { background: #6BB27A; }
.cbl-browser::after { content: ""; width: 42px; flex: none; }
.cbl-browser span { flex: 1; min-width: 0; max-width: 340px; margin: 0 auto; height: 22px; display: flex; align-items: center; justify-content: center; padding: 0 12px; background: #fff; border-radius: 6px; font-size: 12px; font-weight: 600; color: var(--cbl-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cbl-case__top p { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; margin: 0; }
.cbl-industry { font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--cbl-accent); }
.cbl-badge { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; background: var(--cbl-ink); color: var(--cbl-gold); padding: 4px 10px; border-radius: 999px; }
.cbl-facts dl { margin: 0; padding: 16px 0; border-top: 1px solid var(--cbl-line); border-bottom: 1px solid var(--cbl-line); display: flex; flex-wrap: wrap; gap: 16px 40px; }
.cbl-facts dl > div { display: flex; flex-direction: column; gap: 6px; }
.cbl-facts dt { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--cbl-muted); }
.cbl-facts dd { margin: 0; font-size: 15px; font-weight: 600; color: var(--cbl-ink); line-height: 1.4; }
.cbl-case__body { flex: 1 1 auto; }
.cbl-case__body .cbl-btn--outline { margin-top: auto; }
.cbl-case.is-featured .cbl-case__body { justify-content: center; }
@media (max-width: 420px) { .cbl-facts dl { grid-template-columns: 1fr; } .cbl-facts dl > div { flex-direction: row; justify-content: space-between; align-items: center; } }

/* Services */
.cbl-service { position: relative; overflow: hidden; transition: transform .25s var(--cbl-ease), box-shadow .25s var(--cbl-ease), border-color .25s; }
.cbl-service:hover { transform: translateY(-4px); box-shadow: var(--cbl-shadow-lift); border-color: var(--cbl-line-strong); }
.cbl-service::after { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--cbl-gold), var(--cbl-accent)); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--cbl-ease); }
.cbl-service:hover::after { transform: scaleX(1); }
.cbl-service .elementor-icon { width: 52px; height: 52px; border-radius: 14px; background: var(--cbl-ink); color: var(--cbl-gold); fill: var(--cbl-gold); display: grid; place-items: center; font-size: 22px; transition: transform .3s var(--cbl-ease); }
.cbl-service .elementor-icon svg { width: 22px; height: 22px; }
.cbl-service:hover .elementor-icon { transform: rotate(-6deg) scale(1.05); }
.cbl-service.is-dark { background: var(--cbl-ink); border-color: var(--cbl-ink); box-shadow: var(--cbl-shadow-lift); }
.cbl-service.is-dark:hover { border-color: var(--cbl-gold); }
.cbl-service.is-dark .elementor-heading-title { color: var(--cbl-on-dark); }
.cbl-service.is-dark .elementor-widget-text-editor { color: var(--cbl-on-dark-muted); }
.cbl-service.is-dark .elementor-icon { background: var(--cbl-gold); color: var(--cbl-ink); fill: var(--cbl-ink); }
.cbl-checks { padding-top: 16px; border-top: 1px solid var(--cbl-line); }
.cbl-service.is-dark .cbl-checks { border-top-color: #3A3D45; }
.cbl-checks .elementor-icon-list-text { font-size: 15px; font-weight: 500; color: var(--cbl-ink); }
.cbl-service.is-dark .cbl-checks .elementor-icon-list-text { color: var(--cbl-on-dark); }
.cbl-checks .elementor-icon-list-icon i { color: var(--cbl-accent); }
.cbl-checks .elementor-icon-list-icon svg { fill: var(--cbl-accent); }
.cbl-service.is-dark .cbl-checks .elementor-icon-list-icon i { color: var(--cbl-gold); }
.cbl-service.is-dark .cbl-checks .elementor-icon-list-icon svg { fill: var(--cbl-gold); }

/* Process timeline */
.cbl-process { background: var(--cbl-white); border: 1px solid var(--cbl-line); border-radius: 20px; }
.cbl-step { position: relative; }
.cbl-step__num .elementor-heading-title { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: var(--cbl-ink); color: var(--cbl-gold); font-size: 15px; font-weight: 800; box-shadow: 0 0 0 6px var(--cbl-white); position: relative; z-index: 1; }
.cbl-step:not(:last-child)::after { content: ""; position: absolute; top: 22px; left: 52px; right: -16px; border-top: 2px dashed var(--cbl-line-strong); }
@media (max-width: 1024px) { .cbl-step::after { display: none; } }

/* Tools */
.cbl-tool { transition: border-color .2s, box-shadow .2s, transform .2s var(--cbl-ease); }
.cbl-tool:hover { border-color: var(--cbl-line-strong); box-shadow: var(--cbl-shadow); transform: translateY(-2px); }
.cbl-tool .elementor-widget-image { height: 48px; display: flex; align-items: center; justify-content: center; width: 100%; }
.cbl-tool .elementor-widget-image img { max-width: min(128px, 100%); max-height: 32px; width: auto; height: auto; object-fit: contain; filter: grayscale(1); opacity: .72; transition: filter .25s, opacity .25s, transform .25s var(--cbl-ease); }
.cbl-tool.is-square .elementor-widget-image img { max-height: 44px; }
.cbl-tool:hover .elementor-widget-image img { filter: none; opacity: 1; transform: scale(1.05); }
.cbl-tool .elementor-heading-title { font-size: 13px; font-weight: 600; color: var(--cbl-muted); letter-spacing: .02em; }

/* About + why */
.cbl-prose { border-left: 3px solid var(--cbl-gold); padding-left: 32px; }
.cbl-prose p:first-child { font-size: 20px; font-weight: 500; color: var(--cbl-ink); line-height: 1.6; }
.cbl-prose a { color: var(--cbl-accent); font-weight: 700; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; text-decoration-color: color-mix(in srgb, var(--cbl-accent) 35%, transparent); }
.cbl-prose a:hover { text-decoration-color: currentColor; }
.cbl-why { transition: border-color .25s, box-shadow .25s; }
.cbl-why:hover { border-color: var(--cbl-line-strong); box-shadow: var(--cbl-shadow); }
.cbl-why__num .elementor-heading-title { font-size: 44px; font-weight: 800; line-height: 1; letter-spacing: -0.04em; color: transparent; -webkit-text-stroke: 1.5px var(--cbl-accent); }
@media (max-width: 1024px) { .cbl-prose { padding-left: 24px; } }

/* Testimonials (saved as a template until real quotes are ready) */
.cbl-testimonial { box-shadow: var(--cbl-shadow); }
.cbl-testimonial blockquote { position: relative; margin: 0; }
.cbl-testimonial blockquote::before { content: "\201C"; position: absolute; top: -28px; right: -4px; font-size: 5.5rem; line-height: 1; font-weight: 800; color: var(--cbl-gold); opacity: .25; }

/* ---------- 9. CTA band ---------- */
.cbl-cta { overflow: hidden; background: linear-gradient(120deg, var(--cbl-gold) 0%, var(--cbl-gold-hover) 55%, color-mix(in srgb, var(--cbl-gold) 80%, var(--cbl-gold-deep)) 100%); }
.cbl-cta::before { content: ""; position: absolute; width: 420px; height: 420px; right: -120px; top: -200px; border-radius: 50%; border: 60px solid rgba(255,255,255,.18); pointer-events: none; }
.cbl-cta::after { content: ""; position: absolute; width: 220px; height: 220px; left: 8%; bottom: -150px; border-radius: 50%; background: color-mix(in srgb, var(--cbl-accent) 14%, transparent); pointer-events: none; }
.cbl-cta > .e-con-inner { position: relative; z-index: 1; }

/* ---------- 10. Contact ---------- */
.cbl-section--dark { background: var(--cbl-ink); color: var(--cbl-on-dark-muted); overflow: hidden; }
.cbl-section--dark .elementor-heading-title { color: var(--cbl-on-dark); }
.cbl-section--dark .cbl-eyebrow .elementor-heading-title { color: var(--cbl-gold); }
.cbl-section--dark .cbl-label .elementor-heading-title { color: var(--cbl-on-dark); }
.cbl-contact::before { content: ""; position: absolute; width: 640px; height: 640px; left: -240px; bottom: -320px; background: radial-gradient(closest-side, color-mix(in srgb, var(--cbl-gold) 16%, transparent), transparent); pointer-events: none; }
.cbl-email a { display: inline-flex; align-items: center; gap: 14px; text-decoration: none; color: var(--cbl-on-dark); padding: 14px 20px 14px 16px; border: 1px solid #4A4E57; border-radius: 14px; max-width: 100%; transition: border-color .2s, background-color .2s; }
.cbl-email a:hover { border-color: var(--cbl-gold); background: color-mix(in srgb, var(--cbl-gold) 8%, transparent); }
.cbl-email svg { color: var(--cbl-gold); flex: none; }
.cbl-email span { display: flex; flex-direction: column; font-weight: 700; font-size: 17px; line-height: 1.4; }
.cbl-email small { font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--cbl-on-dark-muted); }
.cbl-next ol { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
.cbl-next li { display: flex; gap: 14px; align-items: flex-start; font-size: 15px; color: var(--cbl-on-dark-muted); line-height: 1.5; }
.cbl-next li > span { flex: none; width: 32px; height: 32px; border-radius: 50%; border: 1.5px solid var(--cbl-gold); color: var(--cbl-gold); display: grid; place-items: center; font-weight: 800; font-size: 15px; }
.cbl-next strong { display: block; color: var(--cbl-on-dark); font-size: 17px; }
.cbl-pills ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.cbl-pills a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 1px solid #4A4E57; border-radius: 999px; color: var(--cbl-on-dark); text-decoration: none; font-weight: 600; font-size: 15px; transition: border-color .2s, background-color .2s; }
.cbl-pills a:hover { border-color: var(--cbl-gold); background: color-mix(in srgb, var(--cbl-gold) 10%, transparent); }
.cbl-form { background: var(--cbl-white); border-radius: 20px; box-shadow: 0 24px 60px rgba(0,0,0,.35); }
.cbl-form .elementor-heading-title { color: var(--cbl-ink); }
.cbl-form .elementor-field-group .elementor-field-textual, .cbl-form .elementor-field-group select { min-height: 48px; background: #FCFBF9; transition: border-color .2s, box-shadow .2s, background-color .2s; }
.cbl-form .elementor-field-textual:hover, .cbl-form select:hover { border-color: var(--cbl-ink); }
.cbl-form .elementor-field-textual:focus, .cbl-form select:focus { background: var(--cbl-white); border-color: var(--cbl-ink); box-shadow: 0 0 0 4px color-mix(in srgb, var(--cbl-gold) 25%, transparent); }
.cbl-form .elementor-field-label .elementor-field-label-optional, .cbl-form .cbl-optional { font-weight: 400; color: var(--cbl-muted); }
.cbl-form .elementor-message { font-size: 15px; }

/* ---------- 11. Footer ---------- */
.cbl-footer { overflow: hidden; }
.cbl-footer::before { content: ""; position: absolute; width: 700px; height: 700px; right: -260px; top: -340px; background: radial-gradient(closest-side, color-mix(in srgb, var(--cbl-gold) 14%, transparent), transparent); pointer-events: none; }
.cbl-footer__big .elementor-heading-title a { display: inline-flex; align-items: center; gap: .3em; color: var(--cbl-on-dark); text-decoration: none; transition: color .25s; }
.cbl-footer__big .elementor-heading-title a span { color: var(--cbl-gold); transition: transform .3s var(--cbl-ease); }
.cbl-footer__big .elementor-heading-title a:hover { color: var(--cbl-gold); }
.cbl-footer__big .elementor-heading-title a:hover span { transform: translateX(12px); }
.cbl-footer__bottom { border-top: 1px solid #33363D; }
.cbl-footer__links ul { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 0; padding: 0; list-style: none; }
.cbl-footer__links a { color: var(--cbl-on-dark); text-decoration: none; font-weight: 600; font-size: 15px; }
.cbl-footer__links a:hover { text-decoration: underline; }

/* ---------- 12. Small phones (320-400px) ---------- */
@media (max-width: 400px) {
  .cbl-section, .cbl-hero, .cbl-header, .cbl-cta, .cbl-footer__top, .cbl-footer__bottom { --padding-left: 16px; --padding-right: 16px; }
  /* Font sizes come from Global Fonts, so small-phone sizes override the global variables locally */
  .cbl-hero { --e-global-typography-primary-font-size: clamp(2rem, 1.2rem + 4vw, 2.5rem); --e-global-typography-cbllead-font-size: 17px; }
  .cbl-hero .cbl-h1 .elementor-heading-title { max-width: none; }
  .cbl-cta { --e-global-typography-secondary-font-size: 28px; }
  .cbl-footer__top { --e-global-typography-cblfooter-font-size: 32px; }
  .cbl-kicker p { font-size: 12px; padding: 6px 12px 6px 10px; }
  .cbl-chips li { padding: 5px 12px; }
  .cbl-chip { font-size: 13px; padding: 7px 12px 7px 8px; gap: 6px; }
  .cbl-chip svg { width: 18px; height: 18px; }
  .cbl-chip--a { right: -4px; top: 6%; }
  .cbl-chip--b { right: -4px; top: calc(6% + 46px); }
  .cbl-hire { font-size: 13px; padding: 10px 12px; left: 8px; right: 8px; bottom: 12px; }
  .cbl-hero__media::after { display: none; }
  .cbl-proof p { padding: 16px; gap: 6px 24px; }
  .cbl-proof a { font-size: 15px; }
  .cbl-case__body, .cbl-service, .cbl-why, .cbl-process, .cbl-form { --padding-left: 16px; --padding-right: 16px; }
  .cbl-tool { --padding-left: 12px; --padding-right: 12px; min-height: 104px; }
  .cbl-prose { padding-left: 16px; }
  .cbl-prose p:first-child { font-size: 17px; }
  .cbl-email a { flex-direction: column; align-items: flex-start; gap: 8px; padding: 14px 16px; }
  .cbl-email span { font-size: 14px; }
  .cbl-footer__big .elementor-heading-title a { display: inline; }
  .cbl-footer__big .elementor-heading-title a span { display: inline-block; margin-left: .2em; }
}

/* ---------- 13. Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .cbl-ticker__track, .cbl-chip, .cbl-dot::after { animation: none !important; }
  .cbl-case, .cbl-service, .cbl-tool, .elementor-button { transition: none !important; }
  .cbl-case:hover, .cbl-service:hover, .cbl-tool:hover, .elementor-button:hover { transform: none; }
}/* End custom CSS */