@charset "UTF-8";

/* ==========================================================
   CONTRASTELAB V87 — FINAL UX / ACCESSIBILITY / RHYTHM POLISH
   ========================================================== */
:root{
  --cl-v87-bg:#09090f;
  --cl-v87-panel:#111019;
  --cl-v87-text:#f6f4fb;
  --cl-v87-muted:#b9b6c5;
  --cl-v87-border:rgba(255,255,255,.11);
  --cl-v87-pink:#f25fc9;
  --cl-v87-violet:#8d68ff;
  --cl-v87-blue:#6f91ff;
  --cl-v87-focus:#f7b4e8;
  --cl-v87-radius:28px;
  --cl-v87-section:clamp(72px,7vw,112px);
}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;background:var(--cl-v87-bg);color:var(--cl-v87-text)}
body,button,input,textarea,select{font-family:Arial,Helvetica,sans-serif}
main{display:block}
section[id]{scroll-margin-top:92px}
::selection{background:rgba(242,95,201,.32);color:#fff}

/* Accessible skip + focus */
.cl-skip-link{position:fixed;left:16px;top:14px;z-index:10050;padding:11px 16px;border-radius:12px;background:#fff;color:#111;font-weight:800;transform:translateY(-150%);transition:transform .2s ease}
.cl-skip-link:focus{transform:translateY(0)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--cl-v87-focus)!important;outline-offset:4px!important}
button,a{touch-action:manipulation}

/* Header: clearer, less crowded, one strong action */
.cl-header .header-lower{min-height:78px}
.cl-header .main-box{gap:22px}
.cl-header .main-menu .navigation{gap:4px}
.cl-header .main-menu .navigation>li{margin:0 7px!important}
.cl-header .main-menu .navigation>li>a{font-weight:650!important;color:rgba(255,255,255,.78)!important;letter-spacing:-.01em}
.cl-header .main-menu .navigation>li>a:hover,.cl-header .main-menu .navigation>li>a.is-active{color:#fff!important}
.cl-header .contact-btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px!important;border-radius:999px!important;background:linear-gradient(120deg,var(--cl-v87-pink),var(--cl-v87-violet) 54%,var(--cl-v87-blue))!important;color:#fff!important;box-shadow:0 8px 30px rgba(141,104,255,.22)}
.cl-header .cl-logo img{width:38px!important;height:38px!important;object-fit:contain}
.cl-header .cl-logo span{font-size:17px!important;font-weight:800!important}
.mobile-nav-toggler,.close-btn{min-width:44px;min-height:44px}
.sticky-header{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:rgba(8,8,13,.86)!important;border-bottom:1px solid rgba(255,255,255,.07)}

/* Global content rhythm */
.section-padding{padding-top:var(--cl-v87-section)!important;padding-bottom:var(--cl-v87-section)!important}
.sec-title{margin-bottom:clamp(34px,4vw,56px)!important}
.sec-title .title,.cl-about14-title,.cl-auto72 h2,.cl-journal__header h2,.cl-ai-dx__copy h2{text-wrap:balance}
.cl-about14-text,.cl-services-intro,.cl29-intro,.cl57-av-head>p,.cl-auto72-lead,.cl-faq-v77 .faq-text,.cl-journal__header p,.cl-ai-dx__lead{color:var(--cl-v87-muted)!important}
.cl-about14-text,.cl-services-intro,.cl29-intro,.cl57-av-head>p,.cl-auto72-lead,.cl-faq-v77 .faq-text,.cl-journal__header p,.cl-ai-dx__lead{max-width:62ch}

/* Hero: tighter and more conversion-led */
.cl-hero{min-height:min(920px,100svh)!important}
.cl-hero-container{padding-top:clamp(116px,12vh,160px)!important;padding-bottom:74px!important}
.cl-hero-copy{margin-top:24px!important}
.cl-hero-copy p{color:#c8c5d2!important;max-width:59ch!important}
.cl-hero-actions{gap:12px!important;margin-top:25px!important}
.cl-hero-primary,.cl-hero-secondary{min-height:48px!important;padding-inline:20px!important}
.cl-hero-secondary{border-color:rgba(255,255,255,.16)!important;background:rgba(255,255,255,.045)!important}
.cl-hero-proof{margin-top:clamp(30px,4vh,48px)!important}
.cl-hero-scroll{opacity:.72}

/* About: less repetition, more compact */
.cl-about14-row{--bs-gutter-x:clamp(38px,5vw,72px)!important}
.cl-about14-content{max-width:650px}
.cl-about14-points{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;margin-top:24px!important}
.cl-about14-points>div{min-height:72px!important;padding:14px!important;border-radius:16px!important}
.cl-about14-proof{margin-top:20px!important}
.cl-about14-actions{margin-top:20px!important}
.cl-about14-cta{min-height:48px}

/* Services: stronger cards and less vertical drag */
.cl-services{padding-top:clamp(78px,7vw,104px)!important;padding-bottom:clamp(78px,7vw,104px)!important}
.cl-services .sec-title{margin-bottom:40px!important}
.cl-service-grid{row-gap:16px!important}
.cl-service-card .inner-block{height:100%;min-height:360px!important;padding:24px!important;border-color:rgba(255,255,255,.10)!important;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease!important}
.cl-service-card:hover .inner-block{transform:translateY(-6px);border-color:rgba(242,95,201,.28)!important;box-shadow:0 24px 60px rgba(0,0,0,.24)}
.cl-service-card .text{color:#b7b3c4!important}
.cl-service-card .arrow-link{min-height:40px;display:inline-flex;align-items:center}

/* Live web portfolio: preserve wow factor, load lighter, occupy less height */
.cl29-projects{padding-top:clamp(78px,7vw,104px)!important;padding-bottom:clamp(78px,7vw,104px)!important}
.cl29-head{margin-bottom:34px!important}
.cl29-workspace{min-height:0!important}
.cl29-stage{min-height:650px!important}
.cl29-browser-card{max-height:590px!important}
.cl29-desktop-screen{height:510px!important}
.cl29-phone-card{transform:scale(.9);transform-origin:right bottom}
.cl29-rail{max-height:650px;overflow:auto;scrollbar-width:thin}
.cl29-project-btn{min-height:64px!important}
.cl29-project-btn:focus-visible{outline-offset:-2px!important}

/* Audiovisual: tighter header / video / gallery rhythm */
.cl-showcase-section{padding-bottom:0!important}
.cl-showcase{margin-bottom:clamp(52px,6vw,82px)!important}
.cl57-av-head{margin-bottom:28px!important}
.cl57-av-grid{margin-top:24px!important}
.cl57-post{min-height:44px}
.cl57-post:focus-visible{outline-offset:-4px!important}

/* Automation: reduce copy density, keep visual premium */
.cl-auto72{padding-top:clamp(80px,7vw,108px)!important;padding-bottom:clamp(80px,7vw,108px)!important}
.cl-auto72-shell{gap:clamp(36px,5vw,70px)!important}
.cl-auto72-points{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin-top:24px!important}
.cl-auto72-point{padding:16px 18px!important;min-height:0!important}
.cl-auto72-point p{margin-top:4px!important;color:#b6b2c1!important}
.cl-auto72-flow{margin-top:18px!important}
.cl-auto72-actions{margin-top:20px!important}
.cl-auto72-cta{min-height:48px}

/* FAQ: button semantics + reduced height */
.cl-faq-v77{padding-top:clamp(76px,7vw,100px)!important;padding-bottom:clamp(76px,7vw,100px)!important}
.cl-faq-layout{--bs-gutter-x:clamp(32px,5vw,72px)!important}
.cl-faq-v77 .faq-text{margin-top:16px!important}
.cl-faq-visual{margin-top:28px!important}
.cl-faq-v77 .faq-block-one{border-color:rgba(255,255,255,.10)!important}
.cl-faq-v77 .faq-block-one .title-box{width:100%;min-height:68px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;padding:18px 18px!important;display:flex;align-items:center;justify-content:space-between;gap:16px}
.cl-faq-v77 .faq-block-one .title-box .content{flex:1}
.cl-faq-v77 .faq-block-one .title-box .icon{flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center}
.cl-faq-v77 .faq-block-one .content-box{padding-inline:18px!important}
.cl-faq-v77 .faq-block-one.active .content-box{padding-bottom:18px!important}

/* Journal: cleaner production state */
.cl-journal{padding-top:clamp(76px,7vw,104px)!important;padding-bottom:clamp(76px,7vw,104px)!important}
.cl-journal__header{margin-bottom:36px!important}
.cl-journal-card__cta--muted{opacity:.54!important;pointer-events:none}
.cl-journal-card__body{padding:22px!important}
.cl-journal-card__body p{color:#aaa6b7!important}

/* Diagnosis: the key conversion section gets breathing room, not bloat */
.cl-ai-dx{padding-top:clamp(84px,7vw,112px)!important;padding-bottom:clamp(84px,7vw,112px)!important}
.cl-ai-dx__layout{gap:clamp(48px,6vw,92px)!important;align-items:center!important}
.cl-ai-dx__copy{max-width:650px}
.cl-ai-dx__benefits{margin-top:26px!important;margin-bottom:22px!important;gap:10px!important}
.cl-ai-dx__benefits>div{padding:15px!important;min-height:104px!important}
.cl-ai-dx__start{min-height:50px!important;padding-inline:22px!important}
.cl-ai-dx__note{margin-top:14px!important;color:#aaa6b7!important}
.cl-ai-dx__phone{box-shadow:0 40px 100px rgba(0,0,0,.36),0 0 0 1px rgba(255,255,255,.08)!important}
.cl-ai-dx__choice{min-height:54px!important}
.cl-ai-dx__email-sheet .cl-ai-dx__privacy{font-size:11px!important;color:#8f8a9b!important;margin-top:-4px!important}

/* Footer: less visual mass, clearer end state */
.cl-footer .foorer-area{padding-top:clamp(70px,7vw,100px)!important}
.cl-footer .footer-widget-wrapper{padding-top:48px!important}
.cl-footer .footer-bottom{margin-top:48px!important}
.cl-footer .footer-content .title{max-width:11ch;text-wrap:balance}
.cl-footer .btn-style-one{min-height:50px}

/* Floating Mini Bot: obvious at first, then polite */
.cl-minibot-launcher-wrap{position:fixed;right:18px;bottom:18px;z-index:1007;display:flex;align-items:flex-start;gap:6px;pointer-events:none}
.cl-minibot-launcher-wrap .cl-minibot-launcher{position:relative!important;right:auto!important;bottom:auto!important;pointer-events:auto}
.cl-minibot-launcher__dismiss{pointer-events:auto;width:30px;height:30px;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:rgba(10,9,16,.86);color:#c9c4d2;display:grid;place-items:center;font:500 17px/1 Arial;opacity:0;transform:scale(.8);transition:.2s ease;cursor:pointer}
.cl-minibot-launcher-wrap:hover .cl-minibot-launcher__dismiss,.cl-minibot-launcher-wrap:focus-within .cl-minibot-launcher__dismiss{opacity:1;transform:scale(1)}
.cl-minibot-launcher-wrap.is-dismissed{display:none}
.cl-minibot-launcher.is-compact .cl-minibot-launcher__copy{width:0;min-width:0;padding:0;border:0;opacity:0;transform:translateX(12px);pointer-events:none}
.cl-minibot-launcher.is-compact{gap:0}
.cl-minibot-launcher.is-compact .cl-minibot-launcher__orb{box-shadow:0 18px 52px rgba(0,0,0,.46),0 0 42px rgba(128,84,255,.32)}
.cl-minibot-launcher__copy{transition:width .3s ease,padding .3s ease,opacity .2s ease,transform .3s ease,border-color .2s ease,box-shadow .2s ease!important}
.cl-minibot-launcher__copy strong{font-size:16px!important}.cl-minibot-launcher__copy small,.cl-minibot-launcher__copy em{font-size:11px!important}

/* Controls / tap targets */
.cl29-project-btn,.cl29-mobile-tab,.cl57-post,.cl-ai-dx__choice,.cl-ai-dx__start,.cl-ai-dx__result-actions a,.cl-ai-dx__result-actions button,.cl-about14-cta,.cl-auto72-cta,.cl-hero-primary,.cl-hero-secondary,.contact-btn,.btn-style-one{min-height:44px}

/* Desktop only enhancements */
@media(min-width:1200px){
  .cl-services .container,.cl29-projects .container,.cl-auto72-container,.cl-ai-dx__layout{max-width:1320px!important}
}

/* Tablet */
@media(max-width:991.98px){
  :root{--cl-v87-section:76px}
  html{scroll-padding-top:78px}
  section[id]{scroll-margin-top:78px}
  .cl-about14-points{grid-template-columns:1fr 1fr!important}
  .cl-about14-points>div:last-child{grid-column:1/-1}
  .cl29-stage{min-height:0!important}
  .cl29-phone-card{transform:none}
  .cl-ai-dx__layout{align-items:start!important}
}

/* Mobile: shorten the page through horizontal snap where it helps */
@media(max-width:767.98px){
  :root{--cl-v87-section:62px}
  body{font-size:16px!important}
  .container{padding-left:18px!important;padding-right:18px!important}
  .cl-header .header-lower{min-height:68px}
  .cl-header .cl-logo span{font-size:15px!important}
  .cl-hero{min-height:auto!important}
  .cl-hero-container{padding-top:102px!important;padding-bottom:58px!important}
  .cl-hero-title{max-width:12ch;margin-inline:auto!important}
  .cl-hero-copy{margin-top:18px!important}
  .cl-hero-copy p{max-width:33ch!important;margin-inline:auto!important}
  .cl-hero-actions{flex-direction:column!important;align-items:stretch!important;max-width:330px;margin-inline:auto!important}
  .cl-hero-primary,.cl-hero-secondary{width:100%;justify-content:center!important}
  .cl-hero-proof{margin-top:28px!important;gap:8px!important}
  .cl-hero-proof>div{padding:10px 8px!important}
  .cl-hero-scroll{display:none!important}

  .cl-about14-points{grid-template-columns:1fr!important;gap:8px!important}
  .cl-about14-points>div:last-child{grid-column:auto}
  .cl-about14-points>div{min-height:56px!important;padding:12px 14px!important}
  .cl-about14-proof{margin-top:14px!important}

  /* Services = swipeable 4-card strip instead of 4 tall rows */
  .cl-service-grid{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;scroll-snap-type:x mandatory;scroll-padding-left:18px;gap:12px!important;margin-left:-18px!important;margin-right:-18px!important;padding:4px 18px 18px!important;overscroll-behavior-inline:contain;scrollbar-width:none}
  .cl-service-grid::-webkit-scrollbar{display:none}
  .cl-service-grid>[class*="col-"]{flex:0 0 min(84vw,330px)!important;max-width:min(84vw,330px)!important;width:auto!important;padding:0!important;scroll-snap-align:start}
  .cl-service-card .inner-block{min-height:330px!important;padding:22px!important}
  .cl-services .sec-title{margin-bottom:26px!important}
  .cl-services-intro{max-width:34ch!important;margin-inline:auto!important}

  .cl29-head{margin-bottom:24px!important}
  .cl29-intro{max-width:34ch!important}
  .cl31-mobile-portfolio{margin-top:24px!important}
  .cl31-laptop{margin-top:16px!important}
  .cl31-mobile-info{margin-top:18px!important}
  .cl31-mobile-tabs{margin-top:16px!important;padding-bottom:8px!important}

  .cl-showcase{margin-bottom:48px!important}
  .cl57-av-head{margin-bottom:22px!important}
  .cl57-av-head>p{max-width:34ch!important}

  .cl-auto72-shell{gap:32px!important}
  .cl-auto72-points{gap:8px!important}
  .cl-auto72-point{padding:14px!important}
  .cl-auto72-flow{display:none!important}
  .cl-auto72-actions{margin-top:16px!important}

  .cl-faq-layout{gap:26px!important}
  .cl-faq-visual{max-width:240px!important;margin-inline:auto!important;margin-top:20px!important}
  .cl-faq-v77 .faq-block-one .title-box{min-height:64px;padding:15px!important}
  .cl-faq-v77 .faq-block-one .content-box{padding-inline:15px!important}

  /* News = swipeable strip, one card at a time */
  .cl-journal__header{margin-bottom:24px!important}
  .cl-journal__header p{max-width:34ch!important;margin-inline:auto!important}
  .cl-journal__grid{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory;gap:12px!important;margin-left:-18px!important;margin-right:-18px!important;padding:0 18px 18px!important;scrollbar-width:none;overscroll-behavior-inline:contain}
  .cl-journal__grid::-webkit-scrollbar{display:none}
  .cl-journal-card{flex:0 0 min(86vw,340px)!important;scroll-snap-align:start}
  .cl-journal-card__body{padding:18px!important}

  .cl-ai-dx__layout{gap:30px!important}
  .cl-ai-dx__benefits{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
  .cl-ai-dx__benefits>div{min-height:90px!important;padding:10px!important}
  .cl-ai-dx__benefits small{display:none!important}
  .cl-ai-dx__start{width:100%;justify-content:center!important}

  .cl-footer .footer-widget-wrapper{padding-top:34px!important}
  .cl-footer .footer-bottom{margin-top:34px!important}

  .cl-minibot-launcher-wrap{right:10px;bottom:10px}
  .cl-minibot-launcher__dismiss{width:28px;height:28px}
  .cl-minibot-launcher__copy{width:min(56vw,210px)!important}
  .cl-minibot-launcher__orb{width:64px!important;height:64px!important;flex-basis:64px!important}
  .cl-minibot-launcher__orb img{width:64px!important;height:64px!important}
  .cl-minibot-launcher.is-compact .cl-minibot-launcher__copy{width:0!important}
}

@media(max-width:420px){
  .cl-ai-dx__benefits strong{font-size:12px!important}
  .cl-minibot-launcher__copy small{display:block!important;font-size:9px!important}
  .cl-minibot-launcher__copy strong{font-size:12.5px!important}
  .cl-minibot-launcher__copy em{font-size:9.5px!important}
}

/* Motion safety and battery-friendly fallback */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
.cl-ai-dx__hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
/* Final small corrections */
@media(min-width:992px){.cl-header .mobile-nav-toggler{display:none!important}}
@media(max-width:991.98px){.cl-header .mobile-nav-toggler{display:flex!important;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:transparent;border:0;padding:10px}}
.cl-minibot-launcher-wrap{bottom:max(18px,env(safe-area-inset-bottom));right:max(18px,env(safe-area-inset-right))}
@media(max-width:767.98px){
  .cl-minibot-launcher-wrap{bottom:max(10px,env(safe-area-inset-bottom));right:max(10px,env(safe-area-inset-right))}
  .cl-minibot-launcher__copy{width:220px!important;min-height:68px!important;padding:11px 42px 11px 14px!important}
  .cl-minibot-launcher__copy small{font-size:10px!important;display:block!important;color:#cbc6d6!important}
  .cl-minibot-launcher__copy strong{font-size:14px!important;line-height:1.18!important}
  .cl-minibot-launcher__copy em{font-size:10.5px!important;margin-top:4px!important}
  .cl-minibot-launcher.is-compact .cl-minibot-launcher__copy{width:0!important;min-height:0!important;padding:0!important}
}


/* ==========================================================
   CONTRASTELAB V89 — GITHUB SKILLS AUDIT
   Hierarchy · conversion · accessibility · performance
   ========================================================== */
:root{
  --cl89-content:1180px;
  --cl89-copy:64ch;
  --cl89-touch:44px;
  --cl89-fast:160ms;
  --cl89-base:240ms;
  --cl89-slow:360ms;
}
html{scrollbar-gutter:stable}
body{font-synthesis:none}
img,video{max-width:100%;height:auto}
img{vertical-align:middle}
p{ text-wrap:pretty }
h1,h2,h3,h4{ text-wrap:balance }

/* One conversion hierarchy: diagnosis is primary, portfolio secondary. */
.cl-hero-primary{box-shadow:0 14px 38px rgba(211,76,196,.24),0 0 0 1px rgba(255,255,255,.08) inset!important}
.cl-hero-primary:hover{transform:translateY(-2px)!important;box-shadow:0 18px 46px rgba(211,76,196,.32),0 0 0 1px rgba(255,255,255,.12) inset!important}
.cl-hero-secondary{opacity:.9}
.cl-hero-secondary:hover{opacity:1}
.cl-hero-copy p{max-width:56ch!important}
.cl-hero-proof div{min-width:0}

/* Reading rhythm and consistent section anchors. */
.cl-services-intro,.cl29-intro,.cl-about14-text,.cl57-av-head>p,.cl-auto72-lead,.cl88-testimonial-intro,.cl-faq-v77 .faq-text,.cl-journal__header p,.cl-ai-dx__lead{line-height:1.65!important}
.cl-services .sec-title .title,.cl29-projects .cl34-project-title,.cl-about14-title,.cl57-av-heading h2,.cl-auto72 h2,.cl76-title,.cl-faq-v77 .sec-title .title,.cl-journal__header h2,.cl-ai-dx__copy h2{letter-spacing:-.035em!important}

/* Buttons and interactive targets: comfortably touchable. */
.cl-hero-primary,.cl-hero-secondary,.cl-about14-cta,.cl-auto72-cta,.cl-ai-dx__start,.cl76-card-nav button,.cl57-nav,.cl29-project-card-actions button,.cl29-project-btn,.cl-faq-v77 .title-box,.cl-ai-dx__choice,.cl-minibot-launcher__dismiss{min-height:var(--cl89-touch)}
.cl76-card-nav button,.cl57-nav,.cl29-project-card-actions button{min-width:var(--cl89-touch)}

/* Service section: concise scan path; cards share a consistent baseline. */
.cl-services .sec-title{max-width:820px;margin-inline:auto}
.cl-services-intro{max-width:54ch!important;margin-inline:auto!important}
.cl-service-card .content-box{display:flex;flex-direction:column;height:100%}
.cl-service-card .title{min-height:3.2em}
.cl-service-card .text{max-width:31ch}
.cl-service-card .arrow-link{margin-top:auto;padding-top:18px}

/* Portfolio: clear selected state for mouse, keyboard and screen readers. */
.cl29-project-btn[aria-pressed="true"]{border-color:rgba(241,93,197,.36)!important;background:linear-gradient(120deg,rgba(241,93,197,.11),rgba(119,97,255,.07))!important}
.cl29-project-btn[aria-pressed="true"]::after{content:"";position:absolute;left:0;top:18%;bottom:18%;width:3px;border-radius:99px;background:linear-gradient(#f25fc9,#8d68ff,#6f91ff)}

/* Keep the audiovisual carousel usable with coarse pointers. */
.cl57-stories,.cl57-rail{scrollbar-width:none;-webkit-overflow-scrolling:touch}
.cl57-stories::-webkit-scrollbar,.cl57-rail::-webkit-scrollbar{display:none}
.cl57-story,.cl57-post{touch-action:pan-x pan-y}

/* Native testimonial carousel: no 140 KB Swiper dependency. */
.cl76-carousel-wrap{overflow:hidden!important}
.cl76-testimonial-slider{overflow-x:auto!important;overflow-y:visible!important;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-inline:contain;padding:0 max(16px,calc((100vw - min(980px,67vw))/2)) 8px!important}
.cl76-testimonial-slider::-webkit-scrollbar{display:none}
.cl76-testimonial-slider .swiper-wrapper{display:flex!important;align-items:stretch!important;gap:22px!important;width:max-content!important;transform:none!important}
.cl76-slide{flex:0 0 min(980px,67vw)!important;width:min(980px,67vw)!important;scroll-snap-align:center;scroll-snap-stop:always;opacity:.46!important;transform:scale(.91)!important;filter:saturate(.76) brightness(.78)!important;transition:transform var(--cl89-slow) ease,opacity var(--cl89-base) ease,filter var(--cl89-base) ease!important}
.cl76-slide.is-active{opacity:1!important;transform:scale(1)!important;filter:none!important;z-index:3}
.cl76-slide.is-near{opacity:.7!important;transform:scale(.95)!important;filter:saturate(.9) brightness(.9)!important}
.cl76-card-nav{pointer-events:auto!important}
.cl76-pagination button{appearance:none;border:0;padding:0;width:10px;height:10px;border-radius:50%;background:#5a5367;opacity:.55;transition:width var(--cl89-base) ease,height var(--cl89-base) ease,opacity var(--cl89-base) ease,background var(--cl89-base) ease,box-shadow var(--cl89-base) ease;cursor:pointer}
.cl76-pagination button.is-active{width:13px;height:13px;opacity:1;background:linear-gradient(135deg,#f25fc9,#8d68ff);box-shadow:0 0 18px rgba(232,83,181,.45)}

/* FAQ: answers stay readable at 200% zoom and long content wraps cleanly. */
.cl-faq-v77 .faq-block-one .title{line-height:1.35!important}
.cl-faq-v77 .faq-block-one .text{max-width:68ch;line-height:1.65!important}

/* Mini Bot: readable UI rather than miniature decorative text. */
.cl-ai-dx__phone{font-size:16px}
.cl-ai-dx__msg>div{font-size:clamp(13px,1.15vw,15px)!important;line-height:1.45!important}
.cl-ai-dx__choice{font-size:clamp(13px,1.1vw,15px)!important;line-height:1.25!important}
.cl-ai-dx__fake-input{font-size:12px!important}
.cl-ai-dx__result-cards article span,.cl-ai-dx__result-cards article p{font-size:12px!important;line-height:1.45!important}
.cl-ai-dx__result-cards article strong{font-size:15px!important;line-height:1.28!important}

/* Motion discipline: only add GPU hints during interaction, never permanently. */
.cl-service-card .inner-block,.cl-hero-primary,.cl-about14-cta,.cl-auto72-cta,.cl29-project-btn,.cl57-post,.cl-journal-card{will-change:auto}
@media(hover:hover) and (pointer:fine){
  .cl-service-card:hover .inner-block,.cl-hero-primary:hover,.cl-about14-cta:hover,.cl-auto72-cta:hover,.cl29-project-btn:hover,.cl57-post:hover,.cl-journal-card:hover{will-change:transform}
}

/* Narrow screens: primary CTA visible early, no tiny diagnostic copy. */
@media(max-width:767.98px){
  .cl-hero{min-height:auto!important}
  .cl-hero-container{padding-top:104px!important;padding-bottom:56px!important}
  .cl-hero-copy{margin-top:18px!important}
  .cl-hero-actions{display:grid!important;grid-template-columns:1fr!important;width:min(100%,340px)!important;margin-inline:auto!important}
  .cl-hero-primary,.cl-hero-secondary{width:100%!important;justify-content:center!important;min-height:50px!important}
  .cl-hero-proof{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
  .cl-hero-proof div{padding:10px 6px!important}
  .cl-hero-proof b{font-size:15px!important}
  .cl-hero-proof span{font-size:9.5px!important;line-height:1.25!important}

  .cl-service-card .title{min-height:0}
  .cl-service-card .text{max-width:none}

  .cl76-testimonial-slider{padding-inline:6vw!important}
  .cl76-testimonial-slider .swiper-wrapper{gap:12px!important}
  .cl76-slide{flex-basis:88vw!important;width:88vw!important;opacity:.62!important;transform:scale(.97)!important}
  .cl76-slide.is-active{transform:scale(1)!important}
  .cl76-card-nav{right:6%!important}

  .cl-ai-dx__msg>div{font-size:14px!important}
  .cl-ai-dx__choice{font-size:13px!important;min-height:52px!important}
  .cl-ai-dx__fake-input{font-size:11px!important}
  .cl-ai-dx__result-cards article span,.cl-ai-dx__result-cards article p{font-size:11.5px!important}
  .cl-ai-dx__result-cards article strong{font-size:14px!important}
}

/* Forced colors / high contrast: preserve visible control boundaries. */
@media(forced-colors:active){
  .cl-hero-primary,.cl-header .contact-btn,.cl-ai-dx__start,.cl-auto72-cta{border:1px solid ButtonText!important}
  .cl29-project-btn[aria-pressed="true"]{outline:2px solid Highlight!important}
}

/* Final mobile legibility pass: UI metadata stays secondary, never microscopic. */
@media(max-width:767.98px){
  .cl-hero-proof span{font-size:11px!important;line-height:1.3!important}
  .cl-service-tag{font-size:12px!important;line-height:1.25!important}
  #cl29MobileCurrentType,.cl29-mobile-tab small,.cl32-more-card small{font-size:11.5px!important;line-height:1.3!important}
  #cl29SoloDomain{font-size:10px!important}
  #cl29MobileEyebrow{font-size:11px!important}
  .cl57-post-avatar{font-size:10px!important}
  .cl57-post-type{font-size:9.5px!important;letter-spacing:.06em!important}
  .cl57-post-num{font-size:11px!important}
  .cl88-review-spec span{font-size:11.5px!important}
  .cl88-review-label{font-size:10.5px!important}
  #clAiStepText{font-size:11.5px!important}
  .cl-ai-dx__fake-input{font-size:12px!important}
  .cl-minibot-launcher__copy small,.cl-minibot-launcher__copy em{font-size:11.5px!important}
}

/* V97 — privacy-first activation for external portfolio iframes */
.cl97-live-activate{position:absolute;z-index:8;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;grid-template-columns:36px minmax(0,1fr);grid-template-rows:auto auto;column-gap:11px;align-items:center;min-width:220px;padding:12px 14px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(10,10,15,.88);backdrop-filter:blur(16px);color:#fff;text-align:left;box-shadow:0 18px 50px rgba(0,0,0,.32);transition:opacity .2s ease,transform .2s ease,border-color .2s ease}.cl97-live-activate>span{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,#ec5eb8,#7659ff);font-size:18px}.cl97-live-activate b{font-size:11px;line-height:1.2}.cl97-live-activate small{margin-top:3px;color:rgba(255,255,255,.55);font-size:8px;line-height:1.25}.cl97-live-activate:hover{transform:translate(-50%,-52%);border-color:rgba(232,103,204,.42)}.cl97-live-activate.is-hidden{opacity:0;pointer-events:none}.cl97-live-activate--phone{min-width:152px;grid-template-columns:30px minmax(0,1fr);column-gap:8px;padding:9px 10px;border-radius:13px}.cl97-live-activate--phone>span{width:30px;height:30px;border-radius:10px;font-size:14px}.cl97-live-activate--phone b{font-size:9px}.cl97-live-activate--phone small{font-size:7px}
html[data-theme="light"] .cl97-live-activate{border-color:rgba(30,24,38,.14);background:rgba(255,255,255,.93);color:#201a26;box-shadow:0 18px 50px rgba(45,31,63,.15)}html[data-theme="light"] .cl97-live-activate small{color:#756c7b}
@media(max-width:991px){.cl97-live-activate--phone{display:none}}@media(max-width:575px){.cl97-live-activate{min-width:205px;padding:11px 12px}.cl97-live-activate b{font-size:10px}}


/* ==========================================================
   CONTRASTELAB V90 — DARK / LIGHT THEME
   One DOM, two visual systems. Dark remains the brand default;
   light mode is editorial, warm and intentionally not a simple invert.
   ========================================================== */
:root{
  --cl90-dark-bg:#09090d;
  --cl90-dark-surface:#111116;
  --cl90-dark-surface-2:#17151f;
  --cl90-dark-text:#ffffff;
  --cl90-dark-muted:#aaa6b7;
  --cl90-dark-border:rgba(255,255,255,.10);

  --cl90-light-bg:#f6f4f1;
  --cl90-light-surface:#ffffff;
  --cl90-light-surface-2:#f0edf3;
  --cl90-light-text:#17141c;
  --cl90-light-muted:#686270;
  --cl90-light-border:rgba(28,22,36,.11);
  --cl90-light-shadow:0 24px 70px rgba(35,25,52,.09);
  --cl90-light-shadow-soft:0 12px 38px rgba(35,25,52,.07);
}

html[data-theme="dark"]{color-scheme:dark}
html[data-theme="light"]{color-scheme:light}
html[data-theme="light"],html[data-theme="light"] body,html[data-theme="light"] .page-wrapper{background:var(--cl90-light-bg)!important;color:var(--cl90-light-text)!important}
html[data-theme-ready="1"] body,
html[data-theme-ready="1"] .page-wrapper,
html[data-theme-ready="1"] .cl-header .main-box,
html[data-theme-ready="1"] .cl-header .sticky-header .inner-container,
html[data-theme-ready="1"] section,
html[data-theme-ready="1"] footer,
html[data-theme-ready="1"] .cl-service-card .inner-block,
html[data-theme-ready="1"] .cl29-rail,
html[data-theme-ready="1"] .cl29-stage,
html[data-theme-ready="1"] .cl76-card,
html[data-theme-ready="1"] .cl-faq-v77 .faq-block-one,
html[data-theme-ready="1"] .cl-minibot-launcher__copy{
  transition:background-color .32s ease,border-color .32s ease,color .26s ease,box-shadow .32s ease,filter .32s ease!important;
}

/* -------- Theme switch -------- */
.cl-theme-toggle{
  position:relative;display:inline-grid;place-items:center;flex:0 0 46px;width:46px;height:46px;
  border:1px solid rgba(255,255,255,.11);border-radius:15px;background:rgba(255,255,255,.045);color:#fff;
  cursor:pointer;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.035);transition:.25s ease;
  -webkit-tap-highlight-color:transparent;
}
.cl-theme-toggle:hover{transform:translateY(-1px);border-color:rgba(188,130,255,.34);background:rgba(255,255,255,.075)}
.cl-theme-toggle:focus-visible{outline:3px solid rgba(130,102,255,.5);outline-offset:3px}
.cl-theme-toggle__icon{position:absolute;inset:0;display:grid;place-items:center;transition:opacity .25s ease,transform .32s cubic-bezier(.2,.8,.2,1)}
.cl-theme-toggle__icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cl-theme-toggle__icon--sun{opacity:1;transform:rotate(0) scale(1)}
.cl-theme-toggle__icon--moon{opacity:0;transform:rotate(-30deg) scale(.65)}
html[data-theme="light"] .cl-theme-toggle__icon--sun{opacity:0;transform:rotate(35deg) scale(.65)}
html[data-theme="light"] .cl-theme-toggle__icon--moon{opacity:1;transform:rotate(0) scale(1)}
.cl-theme-toggle__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.cl-theme-menu-row{display:none!important}

/* -------- Header -------- */
html[data-theme="light"] .cl-header .main-box,
html[data-theme="light"] .cl-header .sticky-header .inner-container{
  background:linear-gradient(180deg,rgba(255,255,255,.91),rgba(249,247,251,.82))!important;
  border-color:rgba(32,24,42,.09)!important;
  box-shadow:0 14px 48px rgba(42,29,61,.09),inset 0 1px 0 rgba(255,255,255,.9)!important;
}
html[data-theme="light"] .cl-header .cl-logo{color:#17141c!important}
html[data-theme="light"] .cl-header .main-menu .navigation>li>a{color:rgba(25,20,31,.76)!important}
html[data-theme="light"] .cl-header .main-menu .navigation>li>a:hover,
html[data-theme="light"] .cl-header .main-menu .navigation>li.current>a,
html[data-theme="light"] .cl-header .main-menu .navigation>li>a.is-active{color:#17141c!important;background:rgba(43,31,55,.055)!important}
html[data-theme="light"] .cl-header .mobile-nav-toggler,
html[data-theme="light"] .cl-theme-toggle{background:rgba(35,27,45,.045)!important;border-color:rgba(35,27,45,.10)!important;color:#28212f!important}
html[data-theme="light"] .cl-header .mobile-nav-toggler span{background:#241e2b!important}
html[data-theme="light"] .cl-header .contact-btn{box-shadow:0 9px 28px rgba(119,84,232,.18)!important}
html[data-theme="light"] .cl-header .mobile-menu .menu-box{background:linear-gradient(180deg,#fbfafc,#f3f0f6)!important;border-left-color:rgba(32,24,42,.09)!important;color:#18141e!important}
html[data-theme="light"] .cl-header .mobile-menu .upper-box{border-bottom-color:rgba(32,24,42,.09)!important}
html[data-theme="light"] .cl-header .mobile-menu .close-btn{background:rgba(35,27,45,.05)!important;border-color:rgba(35,27,45,.10)!important;color:#27202e!important}
html[data-theme="light"] .cl-header .mobile-menu .navigation li a{background:rgba(35,27,45,.035)!important;color:#28212f!important}
html[data-theme="light"] .cl-header .mobile-menu .navigation li.current>a,
html[data-theme="light"] .cl-header .mobile-menu .navigation li a:hover{background:rgba(129,91,232,.08)!important}
html[data-theme="light"] .cl-header .mobile-menu .contact-info-box{background:#fff!important;border-color:rgba(35,27,45,.09)!important;color:#2c2533!important}
html[data-theme="light"] .cl-header .mobile-menu .contact-info-box .title{color:#827a89!important}
html[data-theme="light"] .cl-header .mobile-menu .contact-info-box a{color:#221c28!important}

/* -------- Hero -------- */
html[data-theme="light"] .cl-hero-v4{
  background:
    radial-gradient(circle at 82% 12%,rgba(118,88,255,.13),transparent 34%),
    radial-gradient(circle at 11% 82%,rgba(255,86,166,.11),transparent 31%),
    linear-gradient(180deg,#fbfaf8 0%,#f5f2f7 100%)!important;
}
html[data-theme="light"] .cl-hero-v4:before{opacity:.28}
html[data-theme="light"] .cl-hero-v4:after{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(244,241,247,.34))!important}
html[data-theme="light"] .cl-hero-grid-layer{opacity:.36!important;filter:invert(1)}
html[data-theme="light"] .cl-hero-halo{border-color:rgba(112,73,211,.13)!important;box-shadow:0 0 100px rgba(118,88,255,.04) inset!important}
html[data-theme="light"] .cl-hero-halo:before{border-color:rgba(219,73,155,.08)!important}
html[data-theme="light"] .cl-hero-halo:after{border-color:rgba(50,149,184,.07)!important}
html[data-theme="light"] .cl-hero-kicker{color:rgba(35,29,44,.55)!important}
html[data-theme="light"] .cl-hero-kicker span{background:linear-gradient(90deg,transparent,rgba(35,29,44,.22))!important}
html[data-theme="light"] .cl-hero-title{color:#17141c!important}
html[data-theme="light"] .cl-hero-copy p{color:#625c69!important}
html[data-theme="light"] .cl-hero-secondary{color:#2b2432!important;background:rgba(255,255,255,.72)!important;border-color:rgba(35,27,45,.12)!important;box-shadow:0 10px 30px rgba(42,29,61,.06)!important}
html[data-theme="light"] .cl-hero-proof{border-top-color:rgba(32,24,42,.10)!important;color:#766f7d!important}
html[data-theme="light"] .cl-hero-proof b{color:#201a26!important}
html[data-theme="light"] .cl-hero-scroll{color:#726a79!important}
html[data-theme="light"] .cl-hero-orbit-copy{fill:rgba(36,27,47,.44)!important}
html[data-theme="light"] .cl-code-sculpture{filter:saturate(.94) brightness(1.03)}

/* -------- About -------- */
html[data-theme="light"] .cl-about-v14{
  background:radial-gradient(circle at 10% 100%,rgba(255,86,166,.075),transparent 28%),radial-gradient(circle at 96% 12%,rgba(118,88,255,.065),transparent 25%),#fff!important;
}
html[data-theme="light"] .cl-about-v14:before{background-image:linear-gradient(rgba(32,24,42,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(32,24,42,.025) 1px,transparent 1px)!important}
html[data-theme="light"] .cl-about14-title{color:#19151f!important}
html[data-theme="light"] .cl-about14-text{color:#6c6572!important}
html[data-theme="light"] .cl-about14-eyebrow{color:#6c6572!important}
html[data-theme="light"] .cl-about14-points>div{background:#faf8fb!important;border-color:rgba(36,27,47,.09)!important;color:#28212f!important;box-shadow:0 10px 28px rgba(46,31,66,.04)}
html[data-theme="light"] .cl-about14-points b{color:#292231!important}
html[data-theme="light"] .cl-about14-person-card,
html[data-theme="light"] .cl-about14-mini{background:rgba(255,255,255,.88)!important;border-color:rgba(36,27,47,.11)!important;box-shadow:0 18px 46px rgba(40,28,58,.12)!important;color:#24202a!important}
html[data-theme="light"] .cl-about14-person-card strong,
html[data-theme="light"] .cl-about14-mini-a b{color:#1d1823!important}
html[data-theme="light"] .cl-about14-person-card small{color:#77707e!important}
html[data-theme="light"] .cl-about14-photo-card{border-color:rgba(36,27,47,.10)!important;box-shadow:0 28px 75px rgba(45,31,63,.17)!important}

/* -------- Services -------- */
html[data-theme="light"] .cl-services-v84{
  background-color:#f1eef4!important;background-image:none!important;background-blend-mode:normal!important;
}
html[data-theme="light"] .cl-services:before{background:radial-gradient(circle at 76% 19%,rgba(118,88,255,.11),transparent 37%),radial-gradient(circle at 10% 72%,rgba(255,86,166,.09),transparent 30%)!important}
html[data-theme="light"] .cl-services .sec-title .title{color:#18141e!important}
html[data-theme="light"] .cl-services .sub-title{color:#675f6d!important}
html[data-theme="light"] .cl-services-intro{color:#6a6470!important}
html[data-theme="light"] .cl-service-card .inner-block{background:rgba(255,255,255,.82)!important;border-color:rgba(36,27,47,.09)!important;box-shadow:var(--cl90-light-shadow-soft)!important}
html[data-theme="light"] .cl-service-card .inner-block:hover{background:#fff!important;border-color:rgba(157,99,235,.23)!important;box-shadow:0 26px 70px rgba(45,31,63,.13)!important}
html[data-theme="light"] .cl-service-card .number{color:rgba(34,27,42,.18)!important}
html[data-theme="light"] .cl-service-tag{background:rgba(50,38,63,.04)!important;border-color:rgba(50,38,63,.09)!important;color:#766f7c!important}
html[data-theme="light"] .cl-service-card .title a{color:#1c1722!important}
html[data-theme="light"] .cl-service-card .text{color:#6b6571!important}
html[data-theme="light"] .cl-service-card .arrow-link{color:#6e6476!important;opacity:.72!important}
html[data-theme="light"] .cl-service-card .inner-block:hover .arrow-link{color:#c53f9c!important;opacity:1!important}

/* -------- Live web portfolio -------- */
html[data-theme="light"] .cl29-projects{background:#fbfafc!important;color:#1a161f!important}
html[data-theme="light"] .cl29-projects:before{background:radial-gradient(circle at 80% 10%,rgba(118,88,255,.10),transparent 28%),radial-gradient(circle at 12% 78%,rgba(255,86,166,.07),transparent 24%)!important}
html[data-theme="light"] .cl29-projects .cl34-project-title{color:#18141e!important}
html[data-theme="light"] .cl29-projects .sub-title{color:#746d79!important}
html[data-theme="light"] .cl29-intro{color:#6c6572!important}
html[data-theme="light"] .cl29-rail{background:linear-gradient(180deg,#fff,#f6f3f8)!important;border-color:rgba(36,27,47,.09)!important;box-shadow:var(--cl90-light-shadow-soft)!important}
html[data-theme="light"] .cl29-rail-top{color:#77707d!important}
html[data-theme="light"] .cl29-rail-top b{color:#a29ba8!important}
html[data-theme="light"] .cl29-project-btn{color:#201a26!important}
html[data-theme="light"] .cl29-project-btn:hover{background:rgba(104,76,137,.055)!important}
html[data-theme="light"] .cl29-project-btn.active,
html[data-theme="light"] .cl29-project-btn[aria-pressed="true"]{background:linear-gradient(120deg,rgba(255,86,166,.09),rgba(118,88,255,.085) 52%,rgba(77,215,255,.065))!important;border-color:rgba(79,55,106,.10)!important}
html[data-theme="light"] .cl29-project-btn small{color:#77707d!important}
html[data-theme="light"] .cl29-project-btn>i{color:#aaa3af!important}
html[data-theme="light"] .cl29-rail-note{color:#827b88!important}
html[data-theme="light"] .cl29-stage{background:radial-gradient(circle at 82% 20%,rgba(118,88,255,.08),transparent 32%),linear-gradient(145deg,#f5f2f8,#fff 55%,#f7f1f7)!important;border-color:rgba(36,27,47,.09)!important;box-shadow:0 30px 80px rgba(45,31,63,.11)!important}
html[data-theme="light"] .cl29-browser-card{border-color:rgba(36,27,47,.12)!important;box-shadow:0 24px 64px rgba(45,31,63,.14)!important}
html[data-theme="light"] .cl29-project-card{background:rgba(255,255,255,.92)!important;border-color:rgba(36,27,47,.10)!important;box-shadow:0 14px 34px rgba(45,31,63,.09)!important}
html[data-theme="light"] .cl29-project-card h3{color:#1b1620!important}
html[data-theme="light"] .cl29-project-card p{color:#726b78!important}
html[data-theme="light"] .cl29-project-card-actions span{color:#8f8795!important}
html[data-theme="light"] .cl29-project-card-actions button{background:#f4f1f6!important;border-color:rgba(36,27,47,.10)!important;color:#292230!important}
html[data-theme="light"] .cl29-mobile-tab{background:#fff!important;border-color:rgba(36,27,47,.10)!important;color:#201a26!important}

/* -------- Audiovisual -------- */
html[data-theme="light"] .cl57-av{background:#f5f2f7!important;color:#1a161f!important}
html[data-theme="light"] .cl57-av-heading h2{color:#19151f!important}
html[data-theme="light"] .cl57-av-head>p{color:#6c6572!important}
html[data-theme="light"] .cl57-av-eyebrow{color:#746d79!important}
/* Keep the social-media stage dark on purpose: it is a media object inside the light theme. */
html[data-theme="light"] .cl57-social-stage{box-shadow:0 26px 70px rgba(45,31,63,.16)!important}

/* -------- Automation -------- */
html[data-theme="light"] .cl-auto72{background:#fff!important;color:#1a161f!important}
html[data-theme="light"] .cl-auto72:before{opacity:.65}
html[data-theme="light"] .cl-auto72 h2{color:#18141e!important}
html[data-theme="light"] .cl-auto72-kicker{color:#746d79!important}
html[data-theme="light"] .cl-auto72-lead{color:#69626f!important}
html[data-theme="light"] .cl-auto72-point{background:#f8f6fa!important;border-color:rgba(36,27,47,.09)!important;box-shadow:0 9px 26px rgba(45,31,63,.04)!important}
html[data-theme="light"] .cl-auto72-point h3{color:#211b27!important}
html[data-theme="light"] .cl-auto72-point p{color:#716a77!important}
html[data-theme="light"] .cl-auto72-flow span{background:#f3eff7!important;border-color:rgba(36,27,47,.09)!important;color:#756e7b!important}
html[data-theme="light"] .cl-auto72-actions small{color:#7a7380!important}

/* -------- Testimonials -------- */
html[data-theme="light"] .cl76-testimonials{background:#f2eff5!important;color:#19151f!important}
html[data-theme="light"] .cl76-title{color:#18141e!important}
html[data-theme="light"] .cl76-kicker,
html[data-theme="light"] .cl88-testimonial-intro{color:#716a77!important}
html[data-theme="light"] .cl76-rating-summary span{color:#746d79!important}
html[data-theme="light"] .cl76-card{background:linear-gradient(145deg,#fff,#f8f5fa)!important;border-color:rgba(36,27,47,.10)!important;box-shadow:0 24px 70px rgba(45,31,63,.13)!important}
html[data-theme="light"] .cl76-person{border-right-color:rgba(36,27,47,.08)!important;background:linear-gradient(160deg,rgba(118,88,255,.035),transparent)!important}
html[data-theme="light"] .cl76-avatar-ring{box-shadow:0 0 0 6px rgba(255,255,255,.7),0 0 34px rgba(207,82,225,.14),0 18px 40px rgba(45,31,63,.12)!important}
html[data-theme="light"] .cl76-avatar-ring img{border-color:#fff!important}
html[data-theme="light"] .cl76-person h3{color:#1f1925!important}
html[data-theme="light"] .cl76-person>p,
html[data-theme="light"] .cl76-verified{color:#77707d!important}
html[data-theme="light"] .cl76-copy>p{color:#2c2533!important}
html[data-theme="light"] .cl76-tags span{background:rgba(126,78,177,.055)!important;color:#5f5568!important;border-color:rgba(152,99,225,.27)!important}
html[data-theme="light"] .cl76-card-nav button{background:rgba(255,255,255,.90)!important;border-color:rgba(36,27,47,.11)!important;color:#2b2432!important;box-shadow:0 10px 28px rgba(45,31,63,.08)!important}

/* -------- FAQ -------- */
html[data-theme="light"] .cl-faq-v77{background:radial-gradient(circle at 13% 70%,rgba(255,86,166,.06),transparent 28%),radial-gradient(circle at 78% 24%,rgba(118,88,255,.065),transparent 29%),#fff!important;border-color:rgba(36,27,47,.07)!important}
html[data-theme="light"] .cl-faq-v77 .sub-title{color:#726b78!important}
html[data-theme="light"] .cl-faq-v77 .sec-title .title{color:#19151f!important}
html[data-theme="light"] .cl-faq-v77 .faq-text{color:#6c6572!important}
html[data-theme="light"] .cl-faq-v77 .faq-block-one{background:linear-gradient(180deg,#fff,#faf8fb)!important;border-color:rgba(36,27,47,.10)!important;box-shadow:0 12px 32px rgba(45,31,63,.06)!important}
html[data-theme="light"] .cl-faq-v77 .faq-block-one:hover{box-shadow:0 16px 38px rgba(45,31,63,.09)!important}
html[data-theme="light"] .cl-faq-v77 .faq-block-one.active{background:radial-gradient(circle at 100% 0%,rgba(118,88,255,.07),transparent 34%),#fff!important;border-color:rgba(161,98,228,.24)!important}
html[data-theme="light"] .cl-faq-v77 .faq-block-one .title-box .content .title{color:#231d29!important}
html[data-theme="light"] .cl-faq-v77 .faq-block-one .title-box .icon{background:#f2eff5!important;border-color:rgba(36,27,47,.08)!important;color:#2a2331!important}
html[data-theme="light"] .cl-faq-v77 .faq-block-one .title-box .icon .cl-ui-icon{color:inherit!important}
html[data-theme="light"] .cl-faq-v77 .faq-block-one .inner .text{color:#716a77!important}
html[data-theme="light"] .cl-faq-v77 .cl-faq-mascot{filter:drop-shadow(0 28px 44px rgba(45,31,63,.16))!important}

/* -------- Journal -------- */
html[data-theme="light"] .cl-journal{background:#f4f1ed!important}
html[data-theme="light"] .cl-journal__header h2{color:#17141c!important}
html[data-theme="light"] .cl-journal__header p{color:#6b6470!important}
html[data-theme="light"] .cl-journal__eyebrow{color:#746d79!important}
html[data-theme="light"] .cl-journal-card{box-shadow:0 18px 46px rgba(45,31,63,.08)!important}

/* -------- Diagnosis -------- */
html[data-theme="light"] .cl-ai-dx{background:linear-gradient(180deg,#f8f6fa,#f2eff6)!important;color:#19151f!important;border-top-color:rgba(36,27,47,.07)!important}
html[data-theme="light"] .cl-ai-dx__copy h2{color:#18141e!important}
html[data-theme="light"] .cl-ai-dx__lead{color:#69626f!important}
html[data-theme="light"] .cl-ai-dx__eyebrow{color:#716a77!important}
html[data-theme="light"] .cl-ai-dx__benefits>div{background:rgba(255,255,255,.76)!important;border-color:rgba(36,27,47,.09)!important;box-shadow:0 10px 28px rgba(45,31,63,.05)!important}
html[data-theme="light"] .cl-ai-dx__benefits strong{color:#241e2a!important}
html[data-theme="light"] .cl-ai-dx__benefits small{color:#7b7480!important}
html[data-theme="light"] .cl-ai-dx__note{color:#77707d!important}
html[data-theme="light"] .cl-ai-dx__phone{box-shadow:0 38px 90px rgba(45,31,63,.16),0 0 0 1px rgba(36,27,47,.08)!important}

/* -------- Footer -------- */
html[data-theme="light"] .cl-footer{background:#ebe8ef!important;color:#25202b!important}
html[data-theme="light"] .cl-footer .footer-line img{opacity:.12!important;filter:invert(1)}
html[data-theme="light"] .cl-footer .shape-1{opacity:.16}
html[data-theme="light"] .cl-footer .cl-logo{color:#1c1722!important}
html[data-theme="light"] .cl-footer .footer-info a,
html[data-theme="light"] .cl-footer .footer-content .title,
html[data-theme="light"] .cl-footer .footer-content .title-2,
html[data-theme="light"] .cl-footer .widget-title,
html[data-theme="light"] .cl-footer .user-links a,
html[data-theme="light"] .cl-footer .footer-bottom p,
html[data-theme="light"] .cl-footer .social-icon a{color:#2a2331!important}
html[data-theme="light"] .cl-footer .footer-top-wrapper,
html[data-theme="light"] .cl-footer .footer-bottom{border-color:rgba(36,27,47,.10)!important}
html[data-theme="light"] .cl-footer .user-links a:hover,
html[data-theme="light"] .cl-footer .social-icon a:hover{color:#b73b91!important}

/* -------- Floating Mini Bot -------- */
html[data-theme="light"] .cl-minibot-launcher__copy{background:rgba(255,255,255,.94)!important;border-color:rgba(36,27,47,.11)!important;box-shadow:0 18px 48px rgba(45,31,63,.14),0 0 0 1px rgba(126,87,255,.04) inset!important}
html[data-theme="light"] .cl-minibot-launcher__copy small{color:#77707d!important}
html[data-theme="light"] .cl-minibot-launcher__copy strong{color:#211b27!important}
html[data-theme="light"] .cl-minibot-launcher__copy em{color:#b64291!important}
html[data-theme="light"] .cl-minibot-launcher__orb{background:radial-gradient(circle at 35% 30%,#fff,rgba(255,255,255,.72) 52%,rgba(124,87,255,.08))!important;border-color:rgba(36,27,47,.10)!important;box-shadow:0 16px 42px rgba(45,31,63,.16),0 0 35px rgba(128,84,255,.14)!important}
html[data-theme="light"] .cl-minibot-launcher__dot{border-color:#fff!important}
html[data-theme="light"] .cl-minibot-launcher__dismiss{background:rgba(255,255,255,.92)!important;color:#5c5563!important;border-color:rgba(36,27,47,.12)!important}
html[data-theme="light"] .back-to-top{background:#fff!important;color:#2a2331!important;border-color:rgba(36,27,47,.10)!important;box-shadow:0 12px 30px rgba(45,31,63,.10)!important}

/* Avoid color-flash on browser-native controls and preserve accessible focus. */
html[data-theme="light"] input,html[data-theme="light"] select,html[data-theme="light"] textarea{color-scheme:light}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{color-scheme:dark}

@media(max-width:1199.98px){
  .cl-theme-toggle{width:44px;height:44px;border-radius:14px;flex-basis:44px}
  .cl-theme-toggle__icon svg{width:18px;height:18px}
}
@media(max-width:991.98px){
  .cl-header .outer-box{gap:8px!important}
  .cl-header .sticky-header .nav-outer{gap:8px!important}
}
@media(max-width:767.98px){
  .cl-theme-toggle{width:44px;height:44px;flex-basis:44px;border-radius:14px}
  .cl-header .outer-box{gap:7px!important}
  .cl-theme-menu-row{display:block!important}
  .cl-theme-menu-action{width:100%;min-height:64px;padding:12px 16px;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:rgba(255,255,255,.03);color:#fff;display:flex;align-items:center;gap:13px;text-align:left}
  .cl-theme-menu-action .icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(255,86,166,.18),rgba(118,88,255,.18));color:#eaa5df}
  .cl-theme-menu-action .title{display:block;color:#8f899a;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
  .cl-theme-menu-action strong{display:block;margin-top:3px;color:#fff;font-size:14px}
  html[data-theme="light"] .cl-theme-menu-action{background:#fff;border-color:rgba(36,27,47,.09);color:#211b27}
  html[data-theme="light"] .cl-theme-menu-action .title{color:#817986}
  html[data-theme="light"] .cl-theme-menu-action strong{color:#211b27}
  /* Tone down theme transitions on small screens to keep the switch crisp. */
  html[data-theme-ready="1"] section{transition-duration:.24s!important}
}
@media(prefers-reduced-motion:reduce){
  html[data-theme-ready="1"] *,html[data-theme-ready="1"] *::before,html[data-theme-ready="1"] *::after{transition-duration:.01ms!important}
}

/* V90 final contrast polish */
html[data-theme="light"] .cl-hero-kicker b{color:#6d6673!important}
html[data-theme="light"] .cl-hero-proof span{color:#8a828f!important}
html[data-theme="light"] .cl-hero-scroll span,html[data-theme="light"] .cl-hero-scroll i{color:#756e7b!important}
/* V144: allow the complete headline to reflow throughout the mobile breakpoint. */
@media(max-width:767.98px){
  .cl-hero-title{font-size:clamp(32px,8.4vw,48px)!important;max-width:100%!important}
  .cl-hero-title .cl-title-line{white-space:normal!important;flex-wrap:wrap!important;overflow:visible!important;max-width:100%}
  .cl-hero-title .cl-title-chunk{flex:0 1 auto!important;min-width:0;max-width:100%;overflow-wrap:anywhere}
}


.cl98-404{min-height:72vh;display:grid;place-items:center;padding:160px 0 110px;text-align:center;background:var(--cl-bg,#0b0b10);color:var(--cl-text,#fff)}
.cl98-404 .container{max-width:760px}
.cl98-404__code{display:inline-block;margin-bottom:18px;font-size:clamp(4rem,12vw,8rem);font-weight:800;line-height:.85;letter-spacing:-.08em;background:linear-gradient(135deg,#ff65c2,#916bff,#65cfff);-webkit-background-clip:text;background-clip:text;color:transparent}
.cl98-404 h1{font-size:clamp(2.2rem,5vw,4.4rem);letter-spacing:-.055em;margin:0 0 18px;color:inherit}
.cl98-404 p{max-width:620px;margin:0 auto 30px;font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.65;color:var(--cl-text-soft,#b8b8c6)}
.cl98-404__actions{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}
.cl98-404__link{font-weight:700;color:inherit;text-decoration:none}
[data-theme="light"] .cl98-404{--cl-bg:#f8f7fb;--cl-text:#15131b;--cl-text-soft:#676371}
@media(max-width:767px){.cl98-404{padding:130px 20px 80px}.cl98-404__actions{flex-direction:column}}


/* ==========================================================
   CONTRASTELAB V100 — TYPOGRAPHY SYSTEM
   IA & Automatización is the visual/type reference.
   Same family, scale, weight, leading and micro-type rules sitewide.
   ========================================================== */
:root{
  --cl100-font:"Beatrice Trial",Arial,sans-serif;
  --cl100-hero:clamp(48px,5.4vw,82px);
  --cl100-section:clamp(34px,4vw,58px);
  --cl100-card:23px;
  --cl100-step:18px;
  --cl100-hero-body:18px;
  --cl100-body:16px;
  --cl100-intro:15px;
  --cl100-card-body:14px;
  --cl100-small:13px;
  --cl100-label:12px;
  --cl100-micro:10px;
  --cl100-heading-leading:1.04;
  --cl100-hero-leading:.98;
  --cl100-body-leading:1.7;
}

/* IA page is the source of truth: do not restyle it. */

/* ---------- Global / home ---------- */
body{font-family:var(--cl100-font);font-size:16px;line-height:1.6}
.cl-hero-title{
  font-family:var(--cl100-font)!important;
  font-size:var(--cl100-hero)!important;
  line-height:var(--cl100-hero-leading)!important;
  letter-spacing:-.055em!important;
  font-weight:700!important;
}
.cl-hero-copy p{font-size:var(--cl100-hero-body)!important;line-height:1.68!important}
.cl-hero-kicker,.cl-services .sub-title,.cl29-projects .sub-title,.cl57-av-eyebrow,.cl-auto72-kicker,.cl76-kicker,.cl-faq-v77 .sub-title,.cl-journal__eyebrow,.cl-ai-dx__eyebrow{font-size:var(--cl100-label)!important;font-weight:700!important;letter-spacing:.08em!important}
.cl-about14-title,.cl-services .sec_title,.cl29-projects .cl34-project-title,.cl57-av-heading h2,.cl-auto72 h2,.cl76-title,.cl-faq-v77 .sec-title .title,.cl-journal__header h2,.cl-ai-dx__copy h2{
  font-family:var(--cl100-font)!important;
  font-size:var(--cl100-section)!important;
  line-height:var(--cl100-heading-leading)!important;
  letter-spacing:-.045em!important;
  font-weight:700!important;
}
.cl-about14-text,.cl-services-intro,.cl29-intro,.cl57-av-heading p,.cl-video-intro-copy p,.cl-auto72-lead,.cl-faq-v77 .faq-text,.cl-journal__header p,.cl-ai-dx__lead{font-size:var(--cl100-body)!important;line-height:1.7!important}
.cl-service-card .title,.cl-journal-card__body h3{font-family:var(--cl100-font)!important;font-size:var(--cl100-card)!important;line-height:1.16!important;font-weight:700!important;letter-spacing:-.025em!important}
.cl-service-card .text,.cl-journal-card__body p{font-size:var(--cl100-card-body)!important;line-height:1.65!important}

/* ---------- Web ---------- */
.cl-web-page h1,.cl-web-page h2,.cl-web-page h3{font-family:var(--cl100-font)!important}
.clw-kicker{font-size:var(--cl100-label)!important;font-weight:700!important;letter-spacing:.08em!important}
.clw-breadcrumb{font-size:13px!important}
.clw-hero h1{font-size:var(--cl100-hero)!important;line-height:var(--cl100-hero-leading)!important;letter-spacing:-.055em!important;font-weight:700!important}
.clw-hero-copy>p{font-size:var(--cl100-hero-body)!important;line-height:1.68!important}
.clw-btn{font-size:14px!important;font-weight:700!important}
.clw-proof{font-size:var(--cl100-label)!important}.clw-proof b{font-size:11px!important}
.clw-section-head h2,.clw-process-intro h2,.clw-faq-layout>div:first-child h2,.clw-final h2{font-size:var(--cl100-section)!important;line-height:var(--cl100-heading-leading)!important;letter-spacing:-.045em!important;font-weight:700!important}
.clw-section-head>p,.clw-section-head>div+p{font-size:var(--cl100-intro)!important;line-height:var(--cl100-body-leading)!important}
.clw-type-card h3,.clw-bento-card h3{font-size:var(--cl100-card)!important;line-height:1.16!important;font-weight:700!important}
.clw-type-card p,.clw-bento-card p{font-size:var(--cl100-card-body)!important;line-height:1.65!important}
.clw-type-card li{font-size:var(--cl100-label)!important}
.clw-case-copy span{font-size:11px!important}.clw-case-copy h3{font-size:var(--cl100-card)!important;line-height:1.16!important}.clw-case-copy p{font-size:var(--cl100-card-body)!important;line-height:1.65!important}
.clw-inline-cta p{font-size:var(--cl100-card-body)!important}.clw-inline-cta a{font-size:13px!important}
.clw-process-intro>p{font-size:var(--cl100-body)!important;line-height:1.75!important}
.clw-steps h3{font-size:var(--cl100-step)!important;line-height:1.25!important}.clw-steps p{font-size:var(--cl100-small)!important;line-height:1.6!important}
.clw-faq-layout>div:first-child>p{font-size:var(--cl100-intro)!important;line-height:1.7!important}.clw-faq-list summary{font-size:15px!important;line-height:1.35!important}.clw-faq-list details p{font-size:13px!important;line-height:1.65!important}
.clw-final p{font-size:var(--cl100-body)!important;line-height:1.75!important}.clw-email{font-size:12px!important}

/* ---------- Audiovisual ---------- */
.cl-av-page h1,.cl-av-page h2,.cl-av-page h3{font-family:var(--cl100-font)!important}
.cla-kicker{font-size:var(--cl100-label)!important;font-weight:700!important;letter-spacing:.08em!important}
.cla-breadcrumb{font-size:13px!important}
.cla-hero h1{font-size:var(--cl100-hero)!important;line-height:var(--cl100-hero-leading)!important;letter-spacing:-.055em!important;font-weight:700!important}
.cla-hero-copy>p{font-size:var(--cl100-hero-body)!important;line-height:1.68!important}
.cla-btn{font-size:14px!important;font-weight:700!important}.cla-proof span{font-size:var(--cl100-label)!important}.cla-proof b{font-size:11px!important}
.cla-section-head h2,.cla-showreel-head h2,.cla-output-intro h2,.cla-process-copy h2,.cla-faq-intro h2,.cla-final h2{font-size:var(--cl100-section)!important;line-height:var(--cl100-heading-leading)!important;letter-spacing:-.045em!important;font-weight:700!important}
.cla-section-head>p,.cla-showreel-head>p{font-size:var(--cl100-intro)!important;line-height:1.7!important}
.cla-service-card h3{font-size:var(--cl100-card)!important;line-height:1.16!important;font-weight:700!important}.cla-service-card p{font-size:var(--cl100-card-body)!important;line-height:1.65!important}.cla-service-card li{font-size:var(--cl100-label)!important}
.cla-reel-copy strong{font-size:17px!important}.cla-reel-copy span{font-size:10px!important}
.cla-work-card figcaption span{font-size:15px!important}.cla-work-card figcaption small{font-size:10px!important}
.cla-output-intro p,.cla-process-copy p,.cla-faq-intro>p,.cla-final p{font-size:var(--cl100-body)!important;line-height:1.75!important}
.cla-format-stack h3,.cla-steps h3{font-size:var(--cl100-step)!important;line-height:1.25!important}.cla-format-stack p,.cla-steps p{font-size:var(--cl100-small)!important;line-height:1.6!important}
.cla-faq-list summary{font-size:15px!important;line-height:1.35!important}.cla-faq-list details p{font-size:13px!important;line-height:1.65!important}.cla-email{font-size:12px!important}

/* ---------- Consulting ---------- */
.cl-consult-page h1,.cl-consult-page h2,.cl-consult-page h3{font-family:var(--cl100-font)!important}
.clc-kicker{font-size:var(--cl100-label)!important;font-weight:700!important;letter-spacing:.08em!important}.clc-breadcrumb{font-size:13px!important}
.clc-hero-copy h1{font-size:var(--cl100-hero)!important;line-height:var(--cl100-hero-leading)!important;letter-spacing:-.055em!important;font-weight:700!important}
.clc-hero-copy>p{font-size:var(--cl100-hero-body)!important;line-height:1.68!important}.clc-btn{font-size:14px!important;font-weight:700!important}.clc-proof span{font-size:var(--cl100-label)!important}.clc-proof b{font-size:11px!important}
.clc-section-head h2,.clc-priority-copy h2,.clc-deliverable-copy h2,.clc-process-intro h2,.clc-faq-intro h2,.clc-fit-box h2,.clc-final-box h2{font-size:var(--cl100-section)!important;line-height:var(--cl100-heading-leading)!important;letter-spacing:-.045em!important;font-weight:700!important}
.clc-section-head>p{font-size:var(--cl100-intro)!important;line-height:1.7!important}
.clc-situation-grid h3,.clc-review-grid h3{font-size:var(--cl100-card)!important;line-height:1.16!important;font-weight:700!important}.clc-situation-grid p,.clc-review-grid p{font-size:var(--cl100-card-body)!important;line-height:1.65!important}
.clc-priority-copy>p,.clc-deliverable-copy>p,.clc-process-intro>p,.clc-faq-intro>p,.clc-fit-box p,.clc-final-box p{font-size:var(--cl100-body)!important;line-height:1.75!important}
.clc-priority-tabs button{font-size:12px!important;line-height:1.35!important}.clc-priority-label{font-size:10px!important}.clc-priority-card h3{font-size:var(--cl100-card)!important;line-height:1.16!important}.clc-priority-card>p{font-size:var(--cl100-small)!important;line-height:1.65!important}.clc-priority-list small{font-size:10px!important}.clc-priority-list strong{font-size:12px!important;line-height:1.45!important}.clc-priority-card>a{font-size:12px!important}
.clc-review-grid li{font-size:12px!important;line-height:1.45!important}.clc-deliverable-points strong{font-size:13px!important}.clc-deliverable-points small{font-size:11px!important}
.clc-roadmap-top{font-size:10px!important}.clc-roadmap-stage small{font-size:10px!important}.clc-roadmap-stage strong{font-size:15px!important}.clc-roadmap-stage p{font-size:12px!important;line-height:1.5!important}.clc-roadmap-stage em{font-size:10px!important}
.clc-honesty strong{font-size:14px!important}.clc-honesty p{font-size:13px!important;line-height:1.6!important}
.clc-steps small{font-size:10px!important}.clc-steps h3{font-size:var(--cl100-step)!important;line-height:1.25!important}.clc-steps p{font-size:var(--cl100-small)!important;line-height:1.6!important}
.clc-fit-list span{font-size:12px!important}.clc-faq-list summary{font-size:15px!important;line-height:1.35!important}.clc-faq-list details p{font-size:13px!important;line-height:1.65!important}.clc-email{font-size:12px!important}
.clc-board-kicker{font-size:11px!important}.clc-board-main small,.clc-board-row small,.clc-board-hold small{font-size:10px!important}.clc-board-main strong{font-size:23px!important}.clc-board-main p{font-size:12px!important;line-height:1.5!important}.clc-board-row strong{font-size:14px!important}.clc-board-row span,.clc-board-hold span{font-size:11px!important}.clc-float-note b{font-size:12px!important}.clc-float-note small{font-size:10px!important}

/* ---------- Legal / privacy / cookies ---------- */
.cl-legal-page h1,.cl-legal-page h2,.cl-legal-page h3{font-family:var(--cl100-font)!important}
.cl-legal-breadcrumb{font-size:13px!important}.cl-legal-kicker{font-size:var(--cl100-label)!important;font-weight:700!important;letter-spacing:.08em!important}
.cl-legal-hero h1{font-size:var(--cl100-hero)!important;line-height:var(--cl100-hero-leading)!important;letter-spacing:-.055em!important;font-weight:700!important}.cl-legal-hero p{font-size:var(--cl100-hero-body)!important;line-height:1.68!important}
.cl-legal-card h2{font-size:clamp(28px,3vw,38px)!important;line-height:1.08!important;letter-spacing:-.035em!important;font-weight:700!important}.cl-legal-card h3{font-size:20px!important;line-height:1.25!important}.cl-legal-card p,.cl-legal-card li{font-size:16px!important;line-height:1.75!important}

/* ---------- Header + footer consistency ---------- */
.cl-header .main-menu .navigation>li>a{font-family:var(--cl100-font)!important;font-size:14px!important;font-weight:650!important}
.cl-header .contact-btn{font-family:var(--cl100-font)!important;font-size:14px!important;font-weight:700!important}
.cl-footer{font-family:var(--cl100-font)!important}

@media(max-width:767px){
  :root{--cl100-hero:clamp(39px,12.6vw,58px);--cl100-section:clamp(31px,9.5vw,43px);--cl100-hero-body:16px;--cl100-body:15px;--cl100-intro:14px;--cl100-card:21px;--cl100-card-body:14px}
  .cl-hero-title,.clw-hero h1,.cla-hero h1,.clc-hero-copy h1,.cl-legal-hero h1{line-height:1.01!important}
  .clw-proof,.cla-proof,.clc-proof{font-size:10px!important}.clw-proof span,.cla-proof span,.clc-proof span{font-size:10px!important}
  .clw-section-head>p,.cla-section-head>p,.cla-showreel-head>p,.clc-section-head>p{font-size:14px!important;line-height:1.65!important}
  .clw-process-intro>p,.cla-output-intro p,.cla-process-copy p,.clc-priority-copy>p,.clc-deliverable-copy>p,.clc-process-intro>p,.clc-faq-intro>p,.clc-fit-box p,.clc-final-box p{font-size:14px!important;line-height:1.7!important}
  .clw-faq-layout>div:first-child>p,.cla-faq-intro>p{font-size:14px!important;line-height:1.65!important}
  .cl-legal-card p,.cl-legal-card li{font-size:15px!important;line-height:1.72!important}
  .cl-legal-card h2{font-size:clamp(26px,8vw,34px)!important}
}

@media(max-width:479px){
  :root{--cl100-hero:39px;--cl100-section:35px}
  .clw-kicker,.cla-kicker,.clc-kicker{font-size:11px!important}
  .clw-hero-copy>p,.cla-hero-copy>p,.clc-hero-copy>p,.cl-legal-hero p{font-size:15px!important}
}


/* ==========================================================
   CONTRASTELAB V102 — FINAL OPTIMIZATION + V101 DENSITY
   Goal: reproduce the calmer, more premium density users get
   around 80% browser zoom, without using CSS zoom/transform.
   Mobile keeps the existing V100 scale for readability.
   ========================================================== */

/* Header: same lateral measure as the site, four services centered. */
@media (min-width: 992px){
  :root{
    --cl101-container:1160px;
    --cl100-hero:clamp(44px,4.35vw,66px);
    --cl100-section:clamp(30px,3.25vw,46px);
    --cl100-card:19px;
    --cl100-step:16px;
    --cl100-hero-body:16px;
    --cl100-body:15px;
    --cl100-intro:14px;
    --cl100-card-body:13px;
    --cl100-small:12px;
    --cl100-label:11px;
    --cl100-micro:9px;
  }

  body .container,
  body .auto-container{max-width:var(--cl101-container)!important}

  .cl-header>.container{
    width:min(var(--cl101-container),calc(100% - 48px));
    max-width:none!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  .cl-header .header-lower{padding-top:12px!important}
  .cl-header .main-box{
    position:relative;
    min-height:66px!important;
    padding:0 13px!important;
    border-radius:21px!important;
    gap:14px!important;
  }
  .cl-header .logo{position:relative;z-index:3;flex:0 0 auto}
  .cl-header .cl-logo{gap:8px!important}
  .cl-header .cl-logo img{width:32px!important;height:32px!important}
  .cl-header .cl-logo span{font-size:15px!important}
  .cl-header .nav-outer{position:static!important;display:flex!important;align-items:center!important;flex:1!important;min-width:0!important}
  .cl-header .main-menu{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    margin:0!important;
    z-index:2;
  }
  .cl-header .main-menu .navigation{gap:1px!important;white-space:nowrap}
  .cl-header .main-menu .navigation>li{margin:0 3px!important}
  .cl-header .main-menu .navigation>li>a{
    padding:10px 11px!important;
    border-radius:12px!important;
    font-size:12.5px!important;
  }
  .cl-header .main-menu .navigation>li.current>a:after,
  .cl-header .main-menu .navigation>li>a:hover:after{left:11px!important;right:11px!important;bottom:4px!important}
  .cl-header .outer-box{position:relative;z-index:3;margin-left:auto!important;gap:8px!important}
  .cl-header .contact-btn{min-width:138px!important;height:44px!important;padding:0 16px!important;font-size:12.5px!important}
  .cl-theme-toggle{width:42px!important;height:42px!important;border-radius:14px!important}

  /* Home: keep personality, reduce visual dominance and vertical travel. */
  .cl-hero-v4{min-height:760px!important;padding:105px 0 44px!important}
  .cl-hero-stage{min-height:620px!important}
  .cl-hero-title{font-size:var(--cl100-hero)!important;max-width:880px!important;line-height:.94!important;letter-spacing:-.056em!important}
  .cl-hero-kicker{margin-bottom:22px!important;font-size:10px!important}
  .cl-hero-copy{margin-top:20px!important}
  .cl-hero-copy p{font-size:16px!important;max-width:620px!important}
  .cl-hero-actions{margin-top:22px!important;gap:20px!important}
  .cl-hero-primary{min-width:205px!important;height:49px!important;font-size:13px!important}
  .cl-hero-primary i{width:37px!important;height:37px!important}
  .cl-hero-secondary{font-size:13px!important}
  .cl-hero-mascot-stage{width:184px!important;height:184px!important}
  .cl-hero-mascot{width:98px!important;height:110px!important}
  .cl-hero-signals{width:166px!important;height:210px!important}
  .cl-signal{height:47px!important;min-width:126px!important;border-radius:15px!important}
  .cl-hero-proof{width:min(620px,66%)!important;margin-top:34px!important;padding-top:17px!important}
  .cl-hero-proof>div{min-height:48px!important;padding-inline:18px!important}
  .cl-hero-proof b{font-size:19px!important}.cl-hero-proof span{font-size:8px!important}

  .cl-about-v14,
  .cl-services-v84,.cl-services,
  .cl29-projects,.cl57-av,.cl-auto72,.cl76-testimonials,.cl-faq-v77,.cl-journal,.cl-ai-dx{
    padding-top:76px!important;
    padding-bottom:80px!important;
  }
  .cl-about14-row{--bs-gutter-x:44px!important}
  .cl-about14-content{max-width:560px!important}
  .cl-about14-visual{transform:scale(.90);transform-origin:center center}
  .cl-about14-points>div{min-height:62px!important;padding:12px!important}
  .cl-services .sec-title,.cl-services-v84 .sec-title{margin-bottom:30px!important}
  .cl-service-card .inner-block{padding:22px!important}
  .cl29-projects .cl29-project-grid{gap:14px!important}
  .cl57-av-head{gap:38px!important;margin-bottom:24px!important}
  .cl57-social-stage{max-width:1080px;margin-left:auto!important;margin-right:auto!important}
  .cl-auto72-shell{gap:50px!important}
  .cl-auto72-point{padding:13px 14px!important}
  .cl-auto72-video-frame{width:min(100%,360px)!important;border-radius:34px!important}
  .cl-journal__header{margin-bottom:28px!important}
  .cl-journal-card__body{padding:18px!important}
  .cl-ai-dx__layout{gap:52px!important}
  .cl-ai-dx__benefits>div{min-height:88px!important;padding:13px!important}

  /* One unified desktop type scale — including the IA reference page. */
  .cl-hero-title,
  .clw-hero h1,.cla-hero h1,.clia-hero-copy h1,.clc-hero-copy h1,.cl-legal-hero h1{
    font-size:var(--cl100-hero)!important;
    line-height:1!important;
    letter-spacing:-.05em!important;
  }
  .cl-about14-title,.cl-services .sec_title,.cl29-projects .cl34-project-title,.cl57-av-heading h2,.cl-auto72 h2,.cl76-title,.cl-faq-v77 .sec-title .title,.cl-journal__header h2,.cl-ai-dx__copy h2,
  .clw-section-head h2,.clw-process-intro h2,.clw-final h2,.clw-faq-layout>div:first-child h2,
  .cla-section-head h2,.cla-showreel-head h2,.cla-process-copy h2,.cla-faq-intro h2,.cla-final h2,
  .clia-section-head h2,.clia-demo-copy h2,.clia-assistant-copy h2,.clia-process-intro h2,.clia-faq-intro h2,.clia-final-box h2,
  .clc-section-head h2,.clc-priority-copy h2,.clc-deliverable-copy h2,.clc-process-intro h2,.clc-faq-intro h2,.clc-fit-box h2,.clc-final-box h2{
    font-size:var(--cl100-section)!important;
    line-height:1.05!important;
    letter-spacing:-.04em!important;
  }
  .clw-hero-copy>p,.cla-hero-copy>p,.clia-hero-copy>p,.clc-hero-copy>p,.cl-legal-hero p{font-size:16px!important;line-height:1.66!important}

  /* Service pages: about 80–85% of previous desktop visual scale. */
  .cl-web-page .container,.cl-av-page .container,.cl-ia-page .container,.cl-consult-page .container,.cl-legal-page .container{max-width:var(--cl101-container)!important}

  .clw-hero{min-height:640px!important;padding:104px 0 64px!important}
  .cla-hero{min-height:670px!important;padding:104px 0 70px!important}
  .clia-hero{min-height:680px!important;padding:110px 0 70px!important}
  .clc-hero{min-height:650px!important;padding:110px 0 70px!important}
  .clw-hero-grid,.cla-hero-grid,.clia-hero-grid,.clc-hero-grid{gap:48px!important}
  .clw-btn,.cla-btn,.clia-btn,.clc-btn{min-height:48px!important;padding-left:19px!important;padding-right:19px!important;font-size:12.5px!important}
  .clw-actions,.cla-actions,.clia-actions,.clc-actions{margin-top:26px!important}
  .clw-proof,.cla-proof,.clia-proof,.clc-proof{margin-top:28px!important}

  .clw-types,.clw-capabilities,.clw-cases,.clw-process,.clw-faq,
  .cla-services,.cla-showreel,.cla-work,.cla-output,.cla-process,.cla-faq,
  .clia-uses,.clia-demo,.clia-assistants,.clia-stack,.clia-scenarios,.clia-process,.clia-faq,
  .clc-when,.clc-priority,.clc-review,.clc-deliverable,.clc-process,.clc-faq{
    padding-top:84px!important;
    padding-bottom:84px!important;
  }
  .clw-final,.cla-final,.clia-final,.clc-final{padding-top:68px!important;padding-bottom:76px!important}

  .clw-section-head,.cla-section-head,.clia-section-head,.clc-section-head{margin-bottom:34px!important;gap:36px!important}
  .clw-type-grid,.cla-service-grid,.clia-use-grid,.clc-situation-grid,.clc-review-grid{gap:12px!important}
  .clw-type-card,.cla-service-card,.clia-use-card{min-height:330px!important;padding:21px!important;border-radius:21px!important}
  .clw-type-icon,.clia-use-icon{width:46px!important;height:46px!important;border-radius:14px!important;margin-bottom:32px!important}
  .clw-bento-card{min-height:220px!important;padding:21px!important;border-radius:21px!important}
  .clw-case-img{height:235px!important}.clw-case-copy{padding:19px!important}
  .clw-process-layout,.cla-process-layout,.clia-process-layout,.clc-process-layout{gap:58px!important}
  .clw-steps li,.cla-steps li,.clia-steps li{padding-top:19px!important;padding-bottom:19px!important}
  .clw-final-box,.cla-final-box,.clia-final-box,.clc-final-box{padding:38px!important;border-radius:27px!important;gap:42px!important}

  .clia-hero-visual{min-height:520px!important}
  .clia-hero-bot{width:min(350px,62%)!important}
  .clia-node{width:145px!important;padding:11px 12px!important;border-radius:15px!important}
  .clia-live-log{width:205px!important;padding:11px 13px!important}
  .clia-use-card p{min-height:72px!important}
  .clia-demo-layout{gap:52px!important}
  .clia-flow-board{padding:21px!important;border-radius:27px!important}
  .clia-flow-step{padding:14px!important}
  .clia-chat-shell{max-width:450px!important;border-radius:29px!important}
  .clia-stack-map>article{min-height:150px!important;padding:20px 16px!important}
  .clia-scenario{min-height:275px!important;padding:22px!important}
  .clia-scenario p{min-height:82px!important}
  .clia-faq-layout{gap:58px!important}
  .clia-faq-intro img{width:185px!important}

  .clw-hero-visual,.cla-hero-visual,.clc-hero-visual{transform:scale(.90);transform-origin:center center}
  .clw-browser,.cla-hero-frame,.clc-board{box-shadow:0 24px 64px rgba(0,0,0,.30)!important}
  .clc-fit{padding:58px 0!important}
  .clc-fit-box{padding:30px!important;gap:46px!important}
  .clc-priority-card{padding:23px!important;border-radius:24px!important}
  .clc-roadmap{padding:20px!important;border-radius:24px!important}

  /* Legal pages should also feel part of the same calmer system. */
  .cl-legal-hero{padding-top:120px!important;padding-bottom:58px!important}
  .cl-legal-main{padding-top:66px!important;padding-bottom:78px!important}
  .cl-legal-card{padding:30px!important}
}

/* Keep centered navigation safe before the mobile breakpoint. */
@media (min-width:992px) and (max-width:1180px){
  .cl-header>.container{width:calc(100% - 32px)}
  .cl-header .main-menu .navigation>li>a{padding-inline:8px!important;font-size:12px!important}
  .cl-header .contact-btn{min-width:126px!important;padding-inline:13px!important}
  .cl-header .cl-logo span{font-size:14px!important}
}

/* Mobile keeps the readable V100 scale; only align header side gutters. */
@media (max-width:991.98px){
  .cl-header>.container{width:calc(100% - 24px);max-width:none!important;padding:0!important}
}

/* ==========================================================
   CONTRASTELAB V103 — FOOTER REDESIGN + THEME-SAFE TOKENS
   The footer is a first-class part of the design system, not
   inherited from the original template footer.
   ========================================================== */
.cl-footer-v103{
  --ft-bg:#0a0910;
  --ft-surface:#111019;
  --ft-surface-2:#171420;
  --ft-text:#f8f6fb;
  --ft-muted:#aaa5b5;
  --ft-soft:#817a8b;
  --ft-border:rgba(255,255,255,.105);
  --ft-border-strong:rgba(255,255,255,.16);
  --ft-chip:rgba(255,255,255,.045);
  --ft-shadow:0 30px 80px rgba(0,0,0,.28);
  position:relative;
  overflow:hidden;
  isolation:isolate;
  margin:0!important;
  padding:clamp(70px,7vw,104px) 0 28px!important;
  background:
    radial-gradient(circle at 14% 8%,rgba(242,95,201,.095),transparent 27%),
    radial-gradient(circle at 88% 14%,rgba(111,145,255,.09),transparent 29%),
    var(--ft-bg)!important;
  color:var(--ft-text)!important;
  border-top:1px solid var(--ft-border)!important;
  font-family:var(--cl100-font)!important;
  transition:background-color .28s ease,color .28s ease,border-color .28s ease;
}
.cl-footer-v103:before{
  content:"";
  position:absolute;
  z-index:-1;
  left:50%;top:0;
  width:min(1160px,calc(100% - 48px));height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(242,95,201,.55),rgba(141,104,255,.55),rgba(111,145,255,.45),transparent);
  opacity:.7;
}
.cl-footer-v103>.container{position:relative;z-index:1}

.cl-footer-v103__cta{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:clamp(28px,5vw,72px);
  padding:clamp(30px,4vw,50px);
  border:1px solid var(--ft-border);
  border-radius:30px;
  background:
    radial-gradient(circle at 88% 16%,rgba(111,145,255,.10),transparent 30%),
    radial-gradient(circle at 14% 110%,rgba(242,95,201,.12),transparent 40%),
    linear-gradient(145deg,var(--ft-surface),var(--ft-surface-2));
  box-shadow:var(--ft-shadow);
}
.cl-footer-v103__cta-copy{max-width:700px}
.cl-footer-v103__eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  color:#d6a5f1;
  font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  margin-bottom:14px;
}
.cl-footer-v103__eyebrow:before{content:"✦";font-size:10px;color:#9170ff}
.cl-footer-v103__cta h2{
  margin:0!important;
  max-width:13ch;
  color:var(--ft-text)!important;
  font-family:var(--cl100-font)!important;
  font-size:clamp(34px,3.8vw,52px)!important;
  line-height:1.02!important;
  letter-spacing:-.047em!important;
  font-weight:700!important;
  text-wrap:balance;
}
.cl-footer-v103__cta h2:after{
  content:"";display:inline-block;width:.33em;height:.33em;margin-left:.13em;border-radius:50%;
  background:linear-gradient(135deg,#f25fc9,#8d68ff 55%,#6f91ff);
  vertical-align:.08em;
  box-shadow:0 0 20px rgba(141,104,255,.30);
}
.cl-footer-v103__cta p{
  margin:15px 0 0!important;
  max-width:58ch;
  color:var(--ft-muted)!important;
  font-size:15px!important;line-height:1.68!important;
}
.cl-footer-v103__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;max-width:390px}
.cl-footer-v103__button{
  min-height:48px;
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:0 18px;border-radius:999px;border:1px solid var(--ft-border);
  font:700 13px/1 var(--cl100-font)!important;text-decoration:none!important;white-space:nowrap;
  transition:transform .22s ease,border-color .22s ease,background .22s ease,color .22s ease,box-shadow .22s ease;
}
.cl-footer-v103__button:hover{transform:translateY(-2px)}
.cl-footer-v103__button--primary{
  color:#fff!important;
  border-color:transparent!important;
  background:linear-gradient(120deg,#f25fc9,#8d68ff 56%,#6f91ff)!important;
  box-shadow:0 12px 34px rgba(141,104,255,.22);
}
.cl-footer-v103__button--primary:hover{box-shadow:0 16px 40px rgba(141,104,255,.30)}
.cl-footer-v103__button--secondary{color:var(--ft-text)!important;background:var(--ft-chip)!important}
.cl-footer-v103__button--secondary:hover{border-color:var(--ft-border-strong)!important;background:rgba(255,255,255,.075)!important}

.cl-footer-v103__main{
  display:grid;
  grid-template-columns:minmax(250px,1.5fr) minmax(120px,.68fr) minmax(120px,.68fr) minmax(250px,1fr);
  gap:clamp(34px,4vw,66px);
  padding:clamp(46px,5vw,66px) 4px 44px;
  border-bottom:1px solid var(--ft-border);
}
.cl-footer-v103__brand{max-width:360px}
.cl-footer-v103__logo{display:inline-flex;align-items:center;gap:10px;color:var(--ft-text)!important;text-decoration:none!important}
.cl-footer-v103__logo img{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(141,104,255,.18))}
.cl-footer-v103__logo span{font-size:17px;font-weight:800;letter-spacing:-.025em}
.cl-footer-v103__brand p{margin:17px 0 0!important;color:var(--ft-muted)!important;font-size:13px!important;line-height:1.7!important;max-width:40ch}
.cl-footer-v103__nav,.cl-footer-v103__contact{display:flex;flex-direction:column;align-items:flex-start;gap:11px;min-width:0}
.cl-footer-v103__nav-title{display:block;margin-bottom:4px;color:var(--ft-soft);font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.cl-footer-v103__nav a,.cl-footer-v103__socials a{
  position:relative;color:var(--ft-muted)!important;text-decoration:none!important;
  font-size:13px;font-weight:600;line-height:1.4;transition:color .2s ease,transform .2s ease;
}
.cl-footer-v103__nav a:hover,.cl-footer-v103__socials a:hover{color:var(--ft-text)!important;transform:translateX(2px)}
.cl-footer-v103__contact-link{
  width:100%;display:flex;flex-direction:column;gap:3px;padding:10px 0;
  color:var(--ft-text)!important;text-decoration:none!important;border-bottom:1px solid var(--ft-border);
}
.cl-footer-v103__contact-link small{color:var(--ft-soft);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.cl-footer-v103__contact-link strong{font-size:12px;font-weight:700;line-height:1.45;overflow-wrap:anywhere}
.cl-footer-v103__contact-link:hover strong{color:#d69af0}
.cl-footer-v103__socials{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.cl-footer-v103__socials a{display:inline-flex;align-items:center;min-height:34px;padding:0 11px;border:1px solid var(--ft-border);border-radius:999px;background:var(--ft-chip)}
.cl-footer-v103__socials a:hover{transform:translateY(-1px);border-color:var(--ft-border-strong)}

.cl-footer-v103__bottom{
  min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 4px 0;
}
.cl-footer-v103__bottom p{margin:0!important;color:var(--ft-soft)!important;font-size:11px!important;line-height:1.5!important}
.cl-footer-v103__legal{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:flex-end}
.cl-footer-v103__legal a{color:var(--ft-soft)!important;text-decoration:none!important;font-size:11px;font-weight:600;transition:color .2s ease}
.cl-footer-v103__legal a:hover{color:var(--ft-text)!important}

html[data-theme="light"] .cl-footer-v103{
  --ft-bg:#f4f1f6;
  --ft-surface:#ffffff;
  --ft-surface-2:#f7f4f8;
  --ft-text:#1d1822;
  --ft-muted:#696270;
  --ft-soft:#807887;
  --ft-border:rgba(35,27,44,.105);
  --ft-border-strong:rgba(35,27,44,.18);
  --ft-chip:rgba(41,31,52,.042);
  --ft-shadow:0 24px 62px rgba(61,42,79,.09);
  background:
    radial-gradient(circle at 14% 8%,rgba(242,95,201,.08),transparent 27%),
    radial-gradient(circle at 88% 14%,rgba(111,145,255,.08),transparent 29%),
    var(--ft-bg)!important;
  color:var(--ft-text)!important;
  border-top-color:var(--ft-border)!important;
}
html[data-theme="light"] .cl-footer-v103__eyebrow{color:#9d5791}
html[data-theme="light"] .cl-footer-v103__cta{
  background:
    radial-gradient(circle at 88% 16%,rgba(111,145,255,.095),transparent 30%),
    radial-gradient(circle at 14% 110%,rgba(242,95,201,.09),transparent 40%),
    linear-gradient(145deg,#fff,#f7f4f8);
}
html[data-theme="light"] .cl-footer-v103__button--secondary:hover{background:rgba(36,27,47,.065)!important}
html[data-theme="light"] .cl-footer-v103__contact-link:hover strong{color:#a7408c}

@media(max-width:991.98px){
  .cl-footer-v103{padding-top:64px!important}
  .cl-footer-v103__cta{grid-template-columns:1fr;align-items:start}
  .cl-footer-v103__actions{justify-content:flex-start;max-width:none}
  .cl-footer-v103__main{grid-template-columns:1.35fr 1fr 1fr;gap:38px}
  .cl-footer-v103__contact{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr 1fr auto;align-items:start;column-gap:24px}
  .cl-footer-v103__contact .cl-footer-v103__nav-title{grid-column:1/-1}
  .cl-footer-v103__socials{margin-top:8px;align-self:center;justify-self:end}
}
@media(max-width:767.98px){
  .cl-footer-v103{padding:54px 0 22px!important}
  .cl-footer-v103:before{width:calc(100% - 32px)}
  .cl-footer-v103>.container{padding-left:20px!important;padding-right:20px!important}
  .cl-footer-v103__cta{padding:26px 22px;border-radius:24px;gap:24px}
  .cl-footer-v103__cta h2{font-size:clamp(32px,9.4vw,42px)!important;max-width:12ch}
  .cl-footer-v103__cta p{font-size:14px!important;line-height:1.65!important}
  .cl-footer-v103__actions{display:grid;grid-template-columns:1fr;width:100%}
  .cl-footer-v103__button{width:100%;min-height:48px}
  .cl-footer-v103__main{grid-template-columns:1fr 1fr;gap:34px 24px;padding:40px 2px 34px}
  .cl-footer-v103__brand{grid-column:1/-1;max-width:100%}
  .cl-footer-v103__brand p{font-size:13px!important;max-width:48ch}
  .cl-footer-v103__contact{grid-column:1/-1;display:flex;flex-direction:column;gap:8px}
  .cl-footer-v103__contact-link{padding:9px 0}
  .cl-footer-v103__socials{justify-self:auto;margin-top:8px}
  .cl-footer-v103__bottom{min-height:0;flex-direction:column;align-items:flex-start;gap:12px;padding:22px 2px 0}
  .cl-footer-v103__legal{justify-content:flex-start;gap:14px}
}
@media(max-width:439.98px){
  .cl-footer-v103__main{grid-template-columns:1fr 1fr}
  .cl-footer-v103__nav a{font-size:12.5px}
  .cl-footer-v103__contact-link strong{font-size:11.5px}
}

@media(prefers-reduced-motion:reduce){
  .cl-footer-v103,.cl-footer-v103__button,.cl-footer-v103__nav a,.cl-footer-v103__socials a{transition:none!important}
}

/* ==========================================================
   CONTRASTELAB V104 — MINI BOT AS A REAL INTERACTIVE PRODUCT
   Clear floating CTA + full-screen guided conversation.
   ========================================================== */
body.cl-minibot-open{overflow:hidden!important}
body.cl-minibot-open .cl-minibot-launcher-wrap{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(10px)!important}

.cl-ai-dx__fullscreen-close{
  display:none;
  position:fixed;
  top:max(18px,env(safe-area-inset-top));
  right:max(22px,env(safe-area-inset-right));
  z-index:12030;
  min-height:46px;
  padding:0 15px 0 10px;
  align-items:center;
  gap:8px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(18,16,25,.82);
  color:#f7f5fb;
  box-shadow:0 12px 34px rgba(0,0,0,.24);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  font:700 12px/1 var(--cl100-font,Arial,sans-serif);
  cursor:pointer;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.cl-ai-dx__fullscreen-close span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.08);font-size:19px;font-weight:400;line-height:1}
.cl-ai-dx__fullscreen-close b{font:inherit}
.cl-ai-dx__fullscreen-close:hover{transform:translateY(-1px);border-color:rgba(243,103,205,.38);background:rgba(25,22,34,.94)}
.cl-ai-dx__fullscreen-close:focus-visible{outline:3px solid rgba(128,101,255,.5);outline-offset:3px}

.cl-ai-dx.is-fullscreen{
  position:fixed!important;
  inset:0!important;
  z-index:12000!important;
  min-height:100dvh!important;
  height:100dvh!important;
  overflow:auto!important;
  overscroll-behavior:contain;
  padding:0!important;
  border:0!important;
  background:
    radial-gradient(circle at 72% 24%,rgba(116,83,255,.18),transparent 28%),
    radial-gradient(circle at 18% 80%,rgba(246,84,187,.11),transparent 30%),
    #09090f!important;
  animation:clAiFullscreenIn .28s cubic-bezier(.2,.75,.25,1) both;
  transform:none!important;
}
.cl-ai-dx.is-fullscreen .cl-ai-dx__fullscreen-close{display:flex}
.cl-ai-dx.is-fullscreen .cl-ai-dx__layout{
  min-height:100dvh!important;
  max-width:1420px!important;
  width:calc(100% - 80px)!important;
  padding:42px 0!important;
  grid-template-columns:minmax(360px,.78fr) minmax(540px,1.22fr)!important;
  gap:clamp(48px,6vw,96px)!important;
  align-items:center!important;
}
.cl-ai-dx.is-fullscreen .cl-ai-dx__copy{max-width:500px!important}
.cl-ai-dx.is-fullscreen .cl-ai-dx__copy h2{font-size:clamp(42px,4.1vw,66px)!important;line-height:1!important}
.cl-ai-dx.is-fullscreen .cl-ai-dx__lead{font-size:16px!important;line-height:1.65!important}
.cl-ai-dx.is-fullscreen .cl-ai-dx__benefits{margin:28px 0 24px!important}
.cl-ai-dx.is-fullscreen .cl-ai-dx__benefits>div{min-height:112px!important}
.cl-ai-dx.is-fullscreen .cl-ai-dx__start{display:none!important}
.cl-ai-dx.is-fullscreen .cl-ai-dx__note{font-size:11px!important}
.cl-ai-dx.is-fullscreen .cl-ai-dx__demo{min-height:calc(100dvh - 64px)!important;margin:0!important}
.cl-ai-dx.is-fullscreen .cl-ai-dx__orbit--a{width:670px;height:670px;right:-85px;top:50%;transform:translateY(-50%) rotate(-13deg)}
.cl-ai-dx.is-fullscreen .cl-ai-dx__orbit--b{width:540px;height:760px;right:0;top:50%;transform:translateY(-50%) rotate(38deg)}
.cl-ai-dx.is-fullscreen .cl-ai-dx__phone{
  width:min(100%,620px)!important;
  height:min(850px,calc(100dvh - 56px))!important;
  min-height:650px!important;
  transform:none!important;
  display:grid!important;
  grid-template-rows:155px minmax(0,1fr) 225px!important;
  border-radius:42px!important;
  box-shadow:0 50px 110px rgba(0,0,0,.56),0 0 0 1px rgba(177,122,255,.38),0 0 90px rgba(107,74,255,.18)!important;
}
.cl-ai-dx.is-fullscreen .cl-ai-dx__phone-top{height:auto!important}
.cl-ai-dx.is-fullscreen .cl-ai-dx__chat{height:auto!important;min-height:0!important}
.cl-ai-dx.is-fullscreen .cl-ai-dx__composer{height:auto!important;min-height:0!important}
.cl-ai-dx.is-fullscreen .cl-ai-dx__result{inset:155px 0 0!important}
.cl-ai-dx.is-fullscreen .cl-ai-dx__msg>div{font-size:15px!important;line-height:1.5!important}
.cl-ai-dx.is-fullscreen .cl-ai-dx__choice span{font-size:14px!important}
.cl-ai-dx.is-fullscreen .cl-ai-dx__fake-input{font-size:13px!important}
.cl-ai-dx.is-fullscreen .cl-ai-dx__bot-meta strong{font-size:17px!important}
.cl-ai-dx.is-fullscreen .cl-ai-dx__bot-meta span{font-size:12px!important}
.cl-ai-dx.is-fullscreen .cl-ai-dx__progress span{font-size:11px!important}

@keyframes clAiFullscreenIn{from{opacity:0}to{opacity:1}}

/* Floating launcher: it must read as an action, never as decoration. */
.cl-minibot-launcher-wrap{
  z-index:1100!important;
  transition:opacity .24s ease,visibility .24s ease,transform .24s ease!important;
}
.cl-minibot-launcher{
  gap:14px!important;
  filter:drop-shadow(0 18px 30px rgba(0,0,0,.18));
}
.cl-minibot-launcher__copy{
  width:292px!important;
  min-height:112px!important;
  padding:15px 18px 15px 18px!important;
  border-radius:27px!important;
  border-color:rgba(255,255,255,.18)!important;
  background:linear-gradient(145deg,rgba(19,16,29,.97),rgba(12,11,20,.95))!important;
  box-shadow:0 22px 60px rgba(0,0,0,.44),0 0 0 1px rgba(131,89,255,.10) inset,0 0 34px rgba(115,78,255,.11)!important;
  overflow:visible!important;
}
.cl-minibot-launcher__copy:after{
  content:"";
  position:absolute;
  inset:-1px;
  z-index:-1;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(110deg,rgba(247,89,201,.48),rgba(130,98,255,.20),rgba(92,147,255,.42));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:.72;
  pointer-events:none;
}
.cl-minibot-launcher__copy small{display:flex!important;align-items:center!important;gap:7px!important;color:#c5c0ce!important;font-size:11px!important;margin-bottom:4px!important}
.cl-minibot-launcher__copy small i{display:block;width:7px;height:7px;border-radius:50%;background:#61e5a8;box-shadow:0 0 0 5px rgba(97,229,168,.09),0 0 16px rgba(97,229,168,.38);animation:clBotOnline 1.8s ease-in-out infinite}
.cl-minibot-launcher__copy strong{font-size:18px!important;letter-spacing:-.025em!important;line-height:1.15!important}
.cl-minibot-launcher__copy em{font-size:11px!important;margin-top:5px!important;color:#d6a1ea!important}
.cl-minibot-launcher__cta{display:inline-flex;align-items:center;gap:9px;margin-top:10px;padding:7px 10px 7px 12px;border-radius:999px;background:linear-gradient(100deg,#ea5fc2,#8a63ff 58%,#5f8fff);color:#fff;font:800 10px/1 var(--cl100-font,Arial,sans-serif);letter-spacing:.015em;box-shadow:0 8px 22px rgba(115,78,255,.22)}
.cl-minibot-launcher__cta b{font:inherit;font-size:13px}
.cl-minibot-launcher__arrow{display:none!important}
.cl-minibot-launcher__orb{
  flex-basis:98px!important;
  width:98px!important;
  height:98px!important;
  border-color:rgba(255,255,255,.28)!important;
  box-shadow:0 20px 56px rgba(0,0,0,.46),0 0 48px rgba(128,84,255,.30)!important;
}
.cl-minibot-launcher__orb img{width:96px!important;height:96px!important}
.cl-minibot-launcher__orb:before{inset:-8px!important;border-color:rgba(242,98,209,.52)!important}
.cl-minibot-launcher__orb:after{inset:-17px!important;border-color:rgba(102,126,255,.34)!important}
.cl-minibot-launcher__bubble{
  position:absolute;
  right:62px;
  top:-23px;
  z-index:5;
  width:max-content;
  padding:7px 10px;
  border-radius:12px 12px 3px 12px;
  background:#fff;
  color:#211a29;
  box-shadow:0 10px 28px rgba(0,0,0,.20);
  font:800 10px/1.1 var(--cl100-font,Arial,sans-serif);
  animation:clBotBubble 2.8s ease-in-out infinite;
}
.cl-minibot-launcher:hover{transform:translate3d(0,-2px,0) scale(1.015)!important}
.cl-minibot-launcher:hover .cl-minibot-launcher__copy{border-color:rgba(246,112,214,.46)!important;box-shadow:0 26px 66px rgba(0,0,0,.48),0 0 40px rgba(121,86,255,.20)!important}
.cl-minibot-launcher:hover .cl-minibot-launcher__orb img{transform:translateY(-5px) rotate(-5deg) scale(1.08)!important}
/* V87 compact mode is intentionally disabled: the CTA must remain understandable. */
.cl-minibot-launcher.is-compact{gap:14px!important}
.cl-minibot-launcher.is-compact .cl-minibot-launcher__copy{width:292px!important;min-width:292px!important;min-height:112px!important;padding:15px 18px!important;border:1px solid rgba(255,255,255,.18)!important;opacity:1!important;transform:none!important;pointer-events:auto!important}

@keyframes clBotOnline{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.72);opacity:.65}}
@keyframes clBotBubble{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-4px) rotate(1deg)}}

html[data-theme="light"] .cl-ai-dx.is-fullscreen{
  background:
    radial-gradient(circle at 72% 24%,rgba(116,83,255,.12),transparent 28%),
    radial-gradient(circle at 18% 80%,rgba(246,84,187,.08),transparent 30%),
    #f6f3f8!important;
}
html[data-theme="light"] .cl-ai-dx__fullscreen-close{background:rgba(255,255,255,.88);color:#2a2230;border-color:rgba(36,27,47,.11);box-shadow:0 12px 34px rgba(45,31,63,.12)}
html[data-theme="light"] .cl-ai-dx__fullscreen-close span{background:rgba(45,31,63,.06)}
html[data-theme="light"] .cl-minibot-launcher__copy{background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(249,246,251,.97))!important;border-color:rgba(36,27,47,.11)!important;box-shadow:0 20px 56px rgba(45,31,63,.15),0 0 0 1px rgba(126,87,255,.04) inset,0 0 34px rgba(115,78,255,.08)!important}
html[data-theme="light"] .cl-minibot-launcher__copy small{color:#77707d!important}
html[data-theme="light"] .cl-minibot-launcher__copy strong{color:#211b27!important}
html[data-theme="light"] .cl-minibot-launcher__copy em{color:#a64a91!important}
html[data-theme="light"] .cl-minibot-launcher__bubble{background:#211b27;color:#fff}

@media(max-width:991.98px){
  .cl-ai-dx.is-fullscreen .cl-ai-dx__layout{width:calc(100% - 36px)!important;grid-template-columns:minmax(280px,.72fr) minmax(440px,1.28fr)!important;gap:32px!important}
  .cl-ai-dx.is-fullscreen .cl-ai-dx__copy h2{font-size:clamp(36px,5.6vw,52px)!important}
  .cl-ai-dx.is-fullscreen .cl-ai-dx__benefits{grid-template-columns:1fr!important;gap:7px!important}
  .cl-ai-dx.is-fullscreen .cl-ai-dx__benefits>div{min-height:auto!important;padding:11px 12px!important;display:grid!important;grid-template-columns:auto 1fr!important;grid-template-areas:'n s' 'n x'!important;column-gap:10px!important}
  .cl-ai-dx.is-fullscreen .cl-ai-dx__benefits span{grid-area:n;margin:0!important}.cl-ai-dx.is-fullscreen .cl-ai-dx__benefits strong{grid-area:s}.cl-ai-dx.is-fullscreen .cl-ai-dx__benefits small{grid-area:x}
}

@media(max-width:767.98px){
  .cl-ai-dx__fullscreen-close{top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));min-height:42px;padding-right:11px}
  .cl-ai-dx__fullscreen-close b{display:none}
  .cl-ai-dx.is-fullscreen .cl-ai-dx__layout{display:block!important;width:100%!important;min-height:100dvh!important;padding:56px 8px 8px!important}
  .cl-ai-dx.is-fullscreen .cl-ai-dx__copy{display:none!important}
  .cl-ai-dx.is-fullscreen .cl-ai-dx__demo{width:100%!important;min-height:calc(100dvh - 64px)!important;height:calc(100dvh - 64px)!important;margin:0!important}
  .cl-ai-dx.is-fullscreen .cl-ai-dx__orbit,.cl-ai-dx.is-fullscreen .cl-ai-dx__spark{display:none!important}
  .cl-ai-dx.is-fullscreen .cl-ai-dx__phone{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    border-width:4px!important;
    border-radius:28px!important;
    grid-template-rows:135px minmax(0,1fr) 232px!important;
  }
  .cl-ai-dx.is-fullscreen .cl-ai-dx__phone-top{padding:26px 15px 12px!important}
  .cl-ai-dx.is-fullscreen .cl-ai-dx__mascot-shell{width:68px!important;height:68px!important;flex-basis:68px!important}
  .cl-ai-dx.is-fullscreen .cl-ai-dx__mascot-shell img{width:86px!important;height:86px!important}
  .cl-ai-dx.is-fullscreen .cl-ai-dx__chat{padding:16px 13px 12px!important}
  .cl-ai-dx.is-fullscreen .cl-ai-dx__msg>div{font-size:14px!important;max-width:84%!important}
  .cl-ai-dx.is-fullscreen .cl-ai-dx__composer{padding:12px 11px 13px!important}
  .cl-ai-dx.is-fullscreen .cl-ai-dx__choice{min-height:50px!important;padding:10px!important}
  .cl-ai-dx.is-fullscreen .cl-ai-dx__choice span{font-size:13px!important}
  .cl-ai-dx.is-fullscreen .cl-ai-dx__fake-input{font-size:12px!important}
  .cl-ai-dx.is-fullscreen .cl-ai-dx__result{inset:135px 0 0!important;padding:20px 15px!important}

  .cl-minibot-launcher-wrap{right:10px!important;bottom:max(10px,env(safe-area-inset-bottom))!important}
  .cl-minibot-launcher{gap:8px!important}
  .cl-minibot-launcher__copy,.cl-minibot-launcher.is-compact .cl-minibot-launcher__copy{
    width:220px!important;min-width:220px!important;min-height:88px!important;padding:12px 13px!important;border-radius:22px!important;
  }
  .cl-minibot-launcher__copy small{font-size:9.5px!important}
  .cl-minibot-launcher__copy strong{font-size:15px!important}
  .cl-minibot-launcher__copy em{font-size:9.5px!important;margin-top:3px!important}
  .cl-minibot-launcher__cta{margin-top:7px;padding:6px 9px 6px 10px;font-size:9px}
  .cl-minibot-launcher__orb{flex-basis:74px!important;width:74px!important;height:74px!important}
  .cl-minibot-launcher__orb img{width:73px!important;height:73px!important}
  .cl-minibot-launcher__bubble{right:46px;top:-21px;font-size:9px;padding:6px 8px}
  .cl-minibot-launcher__dismiss{width:28px!important;height:28px!important}
}

@media(max-width:430px){
  .cl-minibot-launcher__copy,.cl-minibot-launcher.is-compact .cl-minibot-launcher__copy{width:202px!important;min-width:202px!important}
  .cl-minibot-launcher__copy small{display:flex!important}
  .cl-minibot-launcher__copy strong{font-size:14px!important}
  .cl-minibot-launcher__copy em{display:none!important}
  .cl-minibot-launcher__cta{font-size:8.5px}
}

@media(max-width:370px){
  .cl-minibot-launcher__copy,.cl-minibot-launcher.is-compact .cl-minibot-launcher__copy{width:178px!important;min-width:178px!important}
  .cl-minibot-launcher__copy small{font-size:8.5px!important}
  .cl-minibot-launcher__copy strong{font-size:13px!important}
  .cl-minibot-launcher__orb{flex-basis:68px!important;width:68px!important;height:68px!important}
  .cl-minibot-launcher__orb img{width:67px!important;height:67px!important}
}

@media(prefers-reduced-motion:reduce){
  .cl-ai-dx.is-fullscreen{animation:none!important}
  .cl-minibot-launcher__copy small i,.cl-minibot-launcher__bubble{animation:none!important}
}

/* Full-screen Mini Bot must never depend on scroll-reveal state. */
.cl-ai-dx.is-fullscreen{overflow-x:hidden!important;overflow-y:auto!important}
.cl-ai-dx.is-fullscreen .wow,
.cl-ai-dx.is-fullscreen [class*="fadeIn"]{visibility:visible!important;opacity:1!important;transform:none!important;animation:none!important}


/* V130 audit: keyboard-only skip link; mobile unobtrusive chatbot; visible close. */
.cl-skip-link:not(:focus-visible){transform:translateY(calc(-100% - 28px))!important}
.cl-skip-link:focus-visible{transform:translateY(0)!important;outline:3px solid #975de5;outline-offset:2px}
@media (max-width: 767px){
 body.cl130-scrolled .cl-minibot-launcher__copy{width:0!important;min-width:0!important;min-height:0!important;max-width:0!important;padding:0!important;border:0!important;opacity:0!important;overflow:hidden!important;transform:translateX(8px)!important;pointer-events:none!important}
 body.cl130-scrolled .cl-minibot-launcher{gap:0!important}
 body.cl130-scrolled .cl-minibot-launcher-wrap{right:max(12px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom))}
 .cl-minibot-launcher-wrap .cl-minibot-launcher__dismiss{opacity:1!important;transform:none!important;background:#20172d!important;color:#fff!important;border-color:rgba(255,255,255,.24)!important}
}
@media (prefers-reduced-motion:reduce){.cl-skip-link{transition:none!important}}

/* V130: once browsing deeper, the launcher shrinks to its accessible avatar
   on both desktop and mobile so it does not cover FAQs and project cards. */
body.cl130-scrolled .cl-minibot-launcher__copy{width:0!important;min-width:0!important;min-height:0!important;max-width:0!important;padding:0!important;border:0!important;opacity:0!important;overflow:hidden!important;transform:translateX(8px)!important;pointer-events:none!important}
body.cl130-scrolled .cl-minibot-launcher{gap:0!important}

/* Override older, more specific V102 compact-launcher rules: 202/292px widths
   were winning the cascade even when .is-compact was active. */
html body.cl130-scrolled .cl-minibot-launcher-wrap .cl-minibot-launcher .cl-minibot-launcher__copy{
  width:0!important;min-width:0!important;max-width:0!important;height:0!important;
  min-height:0!important;padding:0!important;margin:0!important;border:0!important;
  opacity:0!important;overflow:hidden!important;pointer-events:none!important;
}
/* V130 audit final: the old launcher itself retained a 300px grey button even
   after its text vanished. Collapse the actual button surface, not just its copy. */
html body.cl130-scrolled .cl-minibot-launcher-wrap .cl-minibot-launcher{
  display:flex!important;box-sizing:border-box!important;width:98px!important;min-width:0!important;
  max-width:98px!important;height:98px!important;min-height:0!important;
  padding:0!important;margin:0!important;gap:0!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
  filter:none!important;align-items:center!important;justify-content:center!important;
}
html body.cl130-scrolled .cl-minibot-launcher-wrap .cl-minibot-launcher__copy{display:none!important}
@media(max-width:767px){
  html body.cl130-scrolled .cl-minibot-launcher-wrap .cl-minibot-launcher{width:74px!important;max-width:74px!important;height:74px!important}
}
@media(max-width:370px){html body.cl130-scrolled .cl-minibot-launcher-wrap .cl-minibot-launcher{width:68px!important;max-width:68px!important;height:68px!important}}

/* V144: decorative glows must not extend the fullscreen scroll area. */
.cl-ai-dx.is-fullscreen .cl-ai-dx__glow{display:none!important}
/* V144: reserve a separate column for mobile-menu icons. */
.cl-header .mobile-menu .contact-info-box{
 display:grid!important;grid-template-columns:30px minmax(0,1fr);column-gap:12px;row-gap:6px;
 align-items:center;padding:16px!important;
}
.cl-header .mobile-menu .contact-info-box .icon{
 position:static!important;grid-column:1;grid-row:1 / 3;width:30px;height:30px;
 display:grid;place-items:center;transform:none!important;margin:0!important;font-size:22px!important;
}
.cl-header .mobile-menu .contact-info-box .title,
.cl-header .mobile-menu .contact-info-box a{grid-column:2;min-width:0;margin:0!important;padding:0!important;overflow-wrap:anywhere}
