:root{color-scheme:dark;--cyan:#00b0f0;--bg:#1f1f1f;--muted:#d4d4d4;--block-text:rgb(167, 232, 253);--line:rgb(52, 122, 150)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font:17px/1.42 Aptos,Arial,sans-serif;color:var(--muted)}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:var(--cyan)}img{display:block;max-width:100%;height:auto}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #fff;outline-offset:4px}h1,h2,h3,p{margin-top:0}h2{font-size:30px;line-height:1.05;font-weight:400;color:var(--cyan);text-align:center}h3{font-weight:400}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--cyan);color:#fff;text-decoration:none;border:0;border-radius:8px;min-height:38px;padding:10px 26px;font-size:13px;font-weight:700;text-align:center;line-height:18px;box-shadow:0 2px 5px #3336}.button:hover{background:#049bd3}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:8px;left:12px;z-index:999;background:#000;padding:12px;transform:translateY(-200%)}.skip-link:focus{transform:none}.site-header{position:absolute;top:0;left:0;width:100%;z-index:12;display:flex;align-items:center;justify-content:space-between;padding:20px;gap:36px}.brand{flex:0 1 403.125px;min-width:0}.brand img{width:403.125px}.site-header nav{display:flex;align-items:center;justify-content:center;flex:1;gap:0}.site-header nav a,.site-header nav>button{font-size:14.2px;font-weight:700;line-height:18px;background:none;color:#eee;border:0;border-right:1px solid #ddd;text-decoration:none;padding:0 14px;white-space:nowrap}.site-header nav>button{border-right:0}.site-header nav a:hover,.site-header nav>button:hover{color:var(--cyan)}.menu-toggle{display:none}.hero{height:940px;position:relative;background:#111;overflow:hidden}.hero-slide{position:absolute;inset:0;background-size:cover;background-position:left top;opacity:0;visibility:hidden;transition:opacity .55s ease;pointer-events:none}.hero-slide.active{opacity:1;visibility:visible;pointer-events:auto}.hero-copy{max-width:1700px;padding:250px 20px 100px;margin:0 auto}.hero-kicker{font-size:17px;line-height:24px;font-weight:700;color:#fff;margin:0}.hero-kicker a{color:inherit;text-decoration:none}.hero h1{font-size:40px;line-height:48px;font-weight:400;letter-spacing:2px;color:#fff;margin:20px 0 10px;padding:40px 0;max-width:100%}.hero-actions{display:grid;gap:16px;justify-items:start}.hero-actions .button{width:min(280px,100%);min-height:48px;white-space:normal;overflow-wrap:break-word;padding-left:20px;padding-right:20px}.hero-dots{position:absolute;bottom:20px;left:0;width:100%;display:flex;justify-content:center;align-items:center;gap:8px}.hero-dots>button{width:12px;height:12px;background:#ccc8;border:0;border-radius:50%;padding:0}.hero-dots>button[aria-pressed=true]{background:white}.stats{border-top:4px solid var(--cyan);background:#000;padding:40px 20px;display:grid;grid-template-columns:repeat(6,1fr);gap:26px;text-align:center}.stats strong{display:block;font-size:30px;line-height:36px;font-weight:400;color:#fff}.stats p{font-size:17px;line-height:24px;margin:0;color:#fff}.logo-rail{background:#dadada;overflow:hidden;padding:20px 0}.logo-track{display:flex;gap:45px;align-items:center;width:max-content;animation:logo-slide 75s linear infinite}.logo-track img{width:140px;height:53px;object-fit:contain}@keyframes logo-slide{to{transform:translateX(-50%)}}.home-stories{padding:50px;max-width:1800px;margin:auto}.story-card{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#000;min-height:550px}.story-card.reverse{flex-direction:row-reverse}.story-copy,.story-image{width:50%}.story-copy{display:flex;flex-direction:column;justify-content:center;padding:40px 60px}.story-copy h2{padding-bottom:20px;margin:20px 0 10px}.story-text{font-size:17px;line-height:24px;padding:0 12% 20px;color:var(--muted)}.story-image img{width:100%;height:100%;object-fit:cover}.business-voices{display:flex;margin:0 50px 50px;max-width:1700px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#000}.voices-art,.voices-content{width:50%}.voices-art img{height:100%;width:100%;object-fit:cover}.voices-content{padding:35px 40px}.voices-content h2{margin:0 0 30px}.video-card{display:flex;gap:20px;margin-bottom:25px;align-items:center}.video-thumbnail{display:block;position:relative;width:48%;padding:0;flex-shrink:0;border:1px solid #444;border-radius:8px;overflow:hidden;background:#111;aspect-ratio:16/10}.video-thumbnail img{width:100%;height:100%;object-fit:cover}.play-icon{display:grid;place-items:center;width:46px;height:34px;background:#00b0f0dc;border-radius:7px;color:white;font-size:19px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.video-description{flex:1;font-size:12px;line-height:17px}.video-description img{max-width:110px;height:40px;object-fit:contain;margin:0 0 10px}.video-description h3{color:var(--cyan);font-size:16px;line-height:18px;margin:0 0 4px}.video-description p{margin:4px 0}.site-footer{background:#000;padding:50px}.footer-top{display:flex;align-items:center;gap:40px;max-width:1700px;margin:auto}.footer-brand{flex:0 1 478.125px}.footer-contact{font-size:16px;line-height:21px;flex:1}.footer-contact p{margin:0 0 12px}.linkedin-icon{width:25px;height:25px;object-fit:contain}.footer-awards{width:350px;max-width:35%}.footer-bottom{display:flex;align-items:flex-end;gap:30px;justify-content:space-between;max-width:1700px;margin:35px auto 0}.footer-bottom p{font-size:12px;line-height:18px;margin:0}.footer-bottom nav{display:flex;gap:15px;flex-wrap:wrap;max-width:65%;justify-content:flex-end}.footer-bottom nav a{font-size:13px;color:#ddd;text-decoration:none}.footer-bottom nav a:hover{color:var(--cyan)}.review-chip{position:fixed;right:15px;bottom:14px;z-index:30;border:1px solid #53636a;background:#141c20e8;border-radius:20px;color:#d8ebf3;padding:6px 12px;font-size:11px;line-height:16px;box-shadow:0 2px 12px #0008}dialog{background:#101010;color:var(--muted);border:1px solid #555;border-radius:16px;max-width:calc(100% - 32px);padding:35px;box-shadow:0 20px 90px #000b}dialog::backdrop{background:#000b}.review-info-dialog{width:550px}.dialog-close{position:absolute;top:8px;right:12px;border:0;background:transparent;color:#fff;font-size:30px;line-height:32px;padding:0 5px}.review-info-dialog h2{margin-top:15px}.video-dialog{width:960px;padding:40px 20px 20px}.video-frame{aspect-ratio:16/9;background:#000}.video-frame iframe{width:100%;height:100%;border:0}.not-found{text-align:center;padding:100px 20px}.not-found h1{color:var(--cyan)}
@media(min-width:1800px){
.business-voices{margin-left:auto;margin-right:auto}}
@media(max-width:1100px){.site-header{gap:20px}.site-header nav a,.site-header nav>button{padding:0 10px;font-size:13px}.brand{flex-basis:375px}.brand img{width:375px}.story-copy{padding-left:40px;padding-right:40px}.story-text{padding-left:5%;padding-right:5%}.voices-content{padding:30px 25px}.video-card{gap:13px}.video-description{font-size:11px;line-height:15px}.video-description h3{font-size:14px}.footer-awards{width:270px}.footer-top{gap:25px}}
@media(max-width:1400px){.site-header{padding:20px;align-items:flex-start}.menu-toggle{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;background:#0007;border:1px solid #7775;border-radius:5px;width:44px;height:44px}.menu-toggle span{display:block;width:22px;height:2px;background:#fff}.site-header nav{display:none;position:absolute;top:90px;left:20px;right:20px;background:#080808f5;box-shadow:0 10px 35px #0009;border:1px solid #444;border-radius:8px;padding:12px;flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.site-header nav a,.site-header nav>button{padding:13px 14px;border:0;font-size:16px;text-align:left}.hero-copy{padding-top:140px}.hero h1{font-size:34px;line-height:42px}.stats{grid-template-columns:repeat(3,1fr);gap:25px}.home-stories{padding:35px 25px}.story-card{min-height:0}.story-copy{padding:40px 30px}.story-copy h2{font-size:27px}.story-text{padding:0 0 20px}.business-voices{margin:0 25px 40px}.voices-content{padding:25px 20px}.video-card{display:block}.video-thumbnail{width:100%;aspect-ratio:16/9}.video-description{font-size:13px;line-height:18px;padding-top:12px}.video-description img{display:none}.video-description h3{font-size:17px}.site-footer{padding:35px 25px}.footer-bottom{flex-direction:column;align-items:flex-start}.footer-bottom nav{max-width:100%;justify-content:flex-start}}
@media(max-width:767px){.hero{height:850px}.hero-copy{padding:160px 20px 70px}.hero h1{font-size:28px;line-height:34px;letter-spacing:1px;padding:26px 0;margin-top:22px}.hero h1 br{display:none}.hero-kicker{font-size:14px;line-height:22px;max-width:340px}.hero-slide{background-position:35% top}.hero-slide:before{content:'';position:absolute;inset:0;background:#0003}.hero-copy{position:relative}.hero-actions{gap:16px}.stats{padding:30px 16px;gap:24px 12px;grid-template-columns:repeat(2,1fr)}.stats strong{font-size:28px}.stats p{font-size:15px;line-height:21px}.logo-rail{padding:15px 0}.logo-track{gap:30px}.logo-track img{width:110px;height:44px}.home-stories{padding:25px 20px}.story-card,.story-card.reverse{flex-direction:column}.story-copy,.story-image{width:100%}.story-copy{padding:30px 25px}.story-image{min-height:280px;max-height:450px}.story-copy h2{font-size:28px;line-height:30px;margin-top:0}.story-text{padding:0;font-size:17px;line-height:24px}.story-image img{height:100%;max-height:450px;object-fit:cover}.business-voices{margin:0 20px 30px;display:block}.voices-art,.voices-content{width:100%}.voices-art{height:340px}.voices-content{padding:30px 20px}.video-card{display:flex;gap:15px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid #333}.video-card:last-child{margin:0;padding-bottom:0;border:0}.video-thumbnail{width:48%;aspect-ratio:16/11}.video-description{padding:0}.video-description img{display:block;height:30px;max-width:90px}.site-footer{padding:35px 20px 65px}.footer-top{flex-wrap:wrap;gap:25px}.footer-brand{flex-basis:100%}.footer-brand img{width:403.125px}.footer-contact{min-width:55%}.footer-awards{max-width:38%;min-width:100px;width:160px}.footer-bottom{margin-top:25px;gap:20px}.footer-bottom nav{gap:12px 18px}.footer-bottom p{font-size:11px}.review-chip{right:10px;bottom:10px}dialog{padding:30px 22px}.video-dialog{padding:36px 10px 10px}.brand img{width:375px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.logo-track{animation:none}.hero-slide{transition:none}}
.logo-rail{position:relative}



/* Keep the enlarged header logo beside the menu on narrow screens. */
@media(max-width:1400px){.site-header{gap:20px}.menu-toggle{flex-shrink:0}.site-header nav{top:110px}}

/* Enlarge the shared Data Titan marks and move them 40px right. */
.brand,.footer-brand{margin-left:40px}
.footer-brand{min-width:0;max-width:calc(100% - 40px)}
.footer-brand img{width:478.125px}
@media(max-width:767px){.footer-brand img{width:403.125px}}

/* Align every hero slide with the header logo: 20px header inset + 40px logo offset. */
.hero-copy{max-width:none;margin-left:0;margin-right:0;padding-left:60px}

/* Header labels: word-width blue underline and a soft black-to-blue reveal. */
.site-header nav a,.site-header nav>button{transition:color .25s ease}
.site-header .nav-label{position:relative;display:inline-block}
.site-header .nav-label::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:var(--cyan);transform:scaleX(0);transform-origin:left center;transition:transform .35s cubic-bezier(.22,.61,.36,1);pointer-events:none}
.site-header nav a:is(:hover,:focus-visible),.site-header nav>button:is(:hover,:focus-visible){color:var(--cyan)}
.site-header nav a:is(:hover,:focus-visible) .nav-label,.site-header nav>button:is(:hover,:focus-visible) .nav-label{animation:nav-label-reveal .45s ease-out both}
.site-header nav a:is(:hover,:focus-visible) .nav-label::after,.site-header nav>button:is(:hover,:focus-visible) .nav-label::after{transform:scaleX(1)}
@keyframes nav-label-reveal{from{color:#000}to{color:var(--cyan)}}
@media(prefers-reduced-motion:reduce){.site-header nav a,.site-header nav>button,.site-header .nav-label::after{transition:none}.site-header nav a:is(:hover,:focus-visible) .nav-label,.site-header nav>button:is(:hover,:focus-visible) .nav-label{animation:none}}

/* Keep track-record metrics grouped at the center with 60px between items. */
.stats{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:32px 60px}
.stats>div{flex:0 0 auto}
.stats p{color:var(--cyan)}
@media(max-width:767px){.stats>div{flex:0 1 calc((100% - 60px)/2);min-width:0}.stats p{overflow-wrap:break-word}}

/* First-load entrance for the opening hero headline; equal X/Y travel gives 45 degrees. */
.hero-slide[data-slide="0"] h1{animation:hero-headline-entrance 1.6s cubic-bezier(.22,.61,.36,1) .15s both}
@keyframes hero-headline-entrance{from{opacity:0;transform:translate(-60px,60px)}to{opacity:1;transform:translate(0,0)}}
@media(prefers-reduced-motion:reduce){.hero-slide[data-slide="0"] h1{animation:none}}

/* Reserve each final number’s width so counting does not shift the metrics. */
.stats strong{display:grid;font-variant-numeric:tabular-nums}
.stats strong>span{grid-area:1/1}
.metric-size{visibility:hidden}

/* Smooth staggered button entrances, starting alongside the opening headline. */
.hero-slide.active .hero-actions>.button{animation:hero-button-entrance 1.6s cubic-bezier(.22,.61,.36,1) .15s both}
.hero-slide.active .hero-actions>.button:nth-child(2){animation-delay:.65s}
.hero-slide.active .hero-actions>.button:nth-child(3){animation-delay:1.15s}
@keyframes hero-button-entrance{from{opacity:0;transform:translateX(calc(-100% - 60px))}to{opacity:1;transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.hero-slide.active .hero-actions>.button{animation:none}}

/* Two equal logo groups meet at the loop boundary, including the normal logo gap. */
.logo-track{gap:0;animation-duration:100s}
.logo-group{display:flex;align-items:center;flex-shrink:0;gap:45px;padding-right:45px}
.logo-track img{flex-shrink:0}
@media(max-width:767px){.logo-track{gap:0}.logo-group{gap:30px;padding-right:30px}}

/* Soft lighter-blue hover for the three hero calls to action. */
.hero-actions .button{color:#fff;transition:background-color .35s ease}
.hero-actions .button:is(:hover,:focus-visible){background-color:#40c4f5;color:#fff}
@media(prefers-reduced-motion:reduce){.hero-actions .button{transition:none}}

/* Preserve the original logo artwork while revealing the second a and i as AI. */
.brand-logo{position:relative;display:block}
.brand-logo .brand-flywheel{clip-path:inset(0 70% 0 0)}
.brand-logo .brand-word{position:absolute;inset:0;width:100%;height:100%;mask-image:linear-gradient(to right,transparent 0 30.52%,#000 30.52% 54.016%,transparent 54.016% 62.249%,#000 62.249% 68.956%,transparent 68.956% 71.285%,#000 71.285%);animation:brand-word-reveal .9s ease-out .15s both}
.brand-ai{position:absolute;inset:0;display:block;background:#fff;mask:url('/assets/data-titan-registered-logo.png') center/100% 100% no-repeat;animation:brand-word-reveal .9s ease-out .15s both}
.brand-ai-a{clip-path:inset(0 37.751% 0 54.016%)}
.brand-ai-i{clip-path:inset(0 28.715% 0 68.956%)}
@keyframes brand-word-reveal{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.brand-logo .brand-word,.brand-ai{animation:none}.brand-ai{background:#fff}}

/* Rotate the clipped flywheel around its own hub, zooming to full size in two seconds. */
.brand-logo .brand-flywheel{clip-path:polygon(0 0,25.7% 0,25.7% 25.33%,30% 25.33%,30% 100%,0 100%);transform-origin:14.78% 49.73%;animation:brand-wheel-entrance 2s cubic-bezier(.22,.61,.36,1) both,brand-wheel-spin 4.55s linear both}
.brand-logo .brand-tm{position:absolute;inset:0;width:100%;height:100%;clip-path:inset(0 70% 74.67% 25.7%);animation:brand-tm-reveal 4.55s steps(1,end) both}
@keyframes brand-wheel-entrance{from{opacity:0;transform:scale(.05)}to{opacity:1;transform:scale(1)}}
/* Cruise at the original speed for 3.05s, then decelerate for 1.5s.
   The quadratic ease-out matches the cruise velocity and reaches zero velocity. */
@keyframes brand-wheel-spin{0%{rotate:-360deg;animation-timing-function:linear}67.032967%{rotate:-71.052632deg;animation-timing-function:cubic-bezier(.333333,.666667,.666667,1)}100%{rotate:0deg}}
@keyframes brand-tm-reveal{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.brand-logo .brand-flywheel,.brand-logo .brand-tm{animation:none}}

/* Only the first Home visit in this tab session plays the logo journey. */
.brand-static[hidden]{display:none}

/* Bold AI underlines arrive after the flywheel, using the hero-button easing. */
.brand-display{position:relative;display:block}
.brand-line{position:absolute;top:62%;height:3%;min-height:2px;background:var(--cyan);border-radius:1px;pointer-events:none}
.brand-line-a{left:54.26%;width:7.7%}
.brand-line-i{left:69.35%;width:1.65%}
.brand-logo>.brand-line{animation:brand-underline-entrance 1.6s cubic-bezier(.22,.61,.36,1) 4.55s both}
.brand-static-lines{position:absolute;inset:0;pointer-events:none}
.brand-display:has(.brand-logo)>.brand-static-lines{visibility:hidden}
@keyframes brand-underline-entrance{from{opacity:0;transform:translateX(-60px)}to{opacity:1;transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.brand-logo>.brand-line{animation:none}}

/* Home video controls: circular play button with a gentle two-second breathing pulse. */
body[data-page-route="/"] .video-thumbnail .play-icon{width:56px;height:56px;border-radius:50%;background:var(--cyan);font-size:22px;line-height:1;isolation:isolate;animation:home-video-breathe 2s ease-in-out 1.25s infinite;pointer-events:none}
body[data-page-route="/"] .video-thumbnail .play-icon::before{content:"";position:absolute;inset:-9px;border-radius:50%;background:rgb(0 176 240 / 30%);z-index:-1}
@keyframes home-video-breathe{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.14)}}
@media(prefers-reduced-motion:reduce){body[data-page-route="/"] .video-thumbnail .play-icon{animation:none}}

/* Keep the current page visible in desktop and mobile navigation. */
.site-header nav a[aria-current="page"]{color:var(--cyan)}
.site-header nav a[aria-current="page"] .nav-label{color:var(--cyan);animation:none}
.site-header nav a[aria-current="page"] .nav-label::after{transform:scaleX(1)}

/* First-visit cookie acknowledgement: native modal blocks background interaction. */
.dt-cookie-policy{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:none;max-height:100dvh;box-sizing:border-box;border:0;border-radius:0;padding:30px 40px;background:#000;color:#fff;font:inherit;z-index:10000;overflow:auto}
.dt-cookie-policy::backdrop{background:rgb(0 0 0 / 50%)}
.dt-cookie-inner{max-width:1600px;margin:auto}
.dt-cookie-policy h2{margin:0 0 12px;font-size:22px;text-align:left}
.dt-cookie-policy p{margin:0 0 20px;font-size:14px;line-height:1.55;text-align:left}
.dt-cookie-policy a{color:#00aeef;text-decoration:underline}
.dt-cookie-actions{display:flex;flex-wrap:wrap;gap:25px}
.dt-cookie-policy .button{min-width:125px;border-radius:12px;cursor:pointer}
.dt-cookie-policy.is-closing{animation:dt-cookie-dismiss .65s cubic-bezier(.22,.61,.36,1) forwards}
@keyframes dt-cookie-dismiss{to{transform:translateY(110%)}}
@media(max-width:600px){.dt-cookie-policy{padding:24px 20px}.dt-cookie-policy p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.dt-cookie-policy.is-closing{animation-duration:.001s}}

/* Reserve logo geometry before decoding and avoid late navigation font swaps. */
.brand-display{aspect-ratio:2490 / 750}
.site-header nav a,.site-header nav>button{font-family:"Aptos Navigation",Arial,sans-serif;font-synthesis:none}
html{scrollbar-gutter:stable}

/* Mirror the hero-button entrance for each testimonial's company details. */
.business-voices.voices-reveal-ready:not(.voices-revealed) .video-description{opacity:0;transform:translateX(calc(100% + 60px))}
.business-voices.voices-revealed .video-description{animation:voice-details-entrance 1.6s cubic-bezier(.22,.61,.36,1) var(--voice-delay,.15s) both}
@keyframes voice-details-entrance{from{opacity:0;transform:translateX(calc(100% + 60px))}to{opacity:1;transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.business-voices.voices-reveal-ready .video-description{opacity:1;transform:none;animation:none}}

/* Testimonial identity details sized and colored to the supplied reference. */
.business-voices .video-card{align-items:flex-start}
.business-voices .video-description{min-width:0;color:var(--block-text);font-size:15px;line-height:19px;font-weight:400}
.business-voices .video-description>img{display:block;width:100%;max-width:100%;height:64px;object-fit:contain;object-position:left center;margin:0 0 16px;filter:grayscale(1) brightness(.35)}
.business-voices .video-card:nth-of-type(1) .video-description>img{width:48px;max-width:100%;height:64px}
.business-voices .video-card:nth-of-type(2) .video-description>img{width:330px;height:64px}
.business-voices .video-card:nth-of-type(3) .video-description>img{width:100%;max-width:720px;height:90px}
.business-voices .video-description h3{font-size:15px;line-height:19px;color:var(--block-text);margin:0 0 2px;font-weight:400}
.business-voices .video-description p{margin:0;font-size:15px;line-height:19px}
.business-voices .video-description p:nth-of-type(2){color:var(--cyan);font-size:13px;line-height:17px}
.business-voices .video-description p:nth-of-type(3){color:#858585;font-size:13px;line-height:17px}
@media(max-width:767px){.business-voices .video-description h3,.business-voices .video-description p{font-size:13px;line-height:17px}.business-voices .video-description p:nth-of-type(2),.business-voices .video-description p:nth-of-type(3){font-size:12px;line-height:16px}.business-voices .video-description>img{margin-bottom:10px}}

/* Tighten the gap beneath the Truppraisal mark by 30px. */
.business-voices .video-card:nth-of-type(3) .video-description h3{margin-top:-30px}

/* The page-specific heroes keep one grayscale photograph outside the slideshow. */
.hero-static .hero-static-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(1);animation:about-image-fade .55s ease both}
.hero-static::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom right,#000 0%,rgba(0,0,0,.88) 20%,rgba(0,0,0,.48) 48%,rgba(0,0,0,.12) 72%,transparent 100%);pointer-events:none}
.hero-static .hero-slide{z-index:1;background:none}
@keyframes about-image-fade{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.hero-static .hero-static-image{animation:none}}

.hero-flywheel h1{max-width:1250px}

.hero-portfolio h1{max-width:1450px}
@media(max-width:767px){.hero-portfolio{height:auto;min-height:850px}.hero-portfolio .hero-slide{position:relative}.hero-portfolio .hero-copy{padding-bottom:70px}}

.hero-testimonials .hero-static-image{object-position:50% 50%;filter:grayscale(1)}

/* Keep the production camera visible in the narrower Videos hero crop. */
.hero-videos .hero-static-image{object-position:70% 50%}
@media(max-width:767px){.hero-videos .hero-static-image{object-position:80% 50%}}

/* All heroes: explicit Aptos typography and a phone twice the original kicker size. */
.hero,
.hero :is(h1,.hero-kicker,.hero-actions .button){font-family:Aptos,"Segoe UI",Calibri,Arial,sans-serif}
.hero .hero-kicker a[href="tel:6238452747"]{display:inline-block;font-size:2em;line-height:1.25;white-space:nowrap}

/* Keep the Contact portrait centered across responsive hero crops. */
.hero-contact .hero-static-image{object-position:50% 50%}

/* Company-size links match the requested 280px width for single-line labels. */
.hero-actions{width:100%;max-width:280px}
@media(max-width:767px){.hero-actions .button{padding:12px 20px}.hero{min-height:980px}.hero-static{height:auto}.hero-static .hero-slide{position:relative}}

/* SME industrial photo: preserve the engineers in narrower hero crops. */
.hero-sme .hero-static-image{object-position:60% 50%}
.hero-sme{height:auto;min-height:940px}
.hero-sme .hero-slide{position:relative}
@media(max-width:767px){.hero-sme .hero-static-image{object-position:60% 50%}}

/* Enterprise presentation photo: keep the presenter visible in narrower hero crops. */
.hero-enterprise .hero-static-image{object-position:65% 50%;transform:scaleX(-1)}
.hero-enterprise{height:auto;min-height:940px}
.hero-enterprise .hero-slide{position:relative}

/* Startup team photo: keep the collaborators centered in responsive crops. */
.hero-startup .hero-static-image{object-position:50% 50%}
.hero-startup{height:auto;min-height:940px}
.hero-startup .hero-slide{position:relative}

/* Shared full-width footer matched to the supplied footer wireframe. */
html{min-height:100%}
body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
body>header,body>section,body>main,body>footer{flex-shrink:0}
.site-footer{width:100%;max-width:none;margin:0;margin-top:auto;background:#000;padding:40px 3.25% 24px}
.footer-top{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,1fr);gap:34px 40px;align-items:start}
.footer-brand{display:block;margin:0;max-width:100%;width:325px}
.footer-brand img{width:100%;height:auto}
.footer-contact{justify-self:end;text-align:right;font-size:16px;line-height:20px;color:#fff}
.footer-contact p{margin:8px 0 12px}
.footer-contact sup{font-size:10px}
.footer-phone{color:#fff;text-decoration:none;font-size:30px;line-height:36px;font-weight:700}
.footer-contact .linkedin-icon{width:24px;height:24px;margin-left:auto}
.footer-awards{grid-column:1/-1;justify-self:end;width:min(1110px,72%);max-width:none}
.footer-awards img{width:100%;height:auto}
.footer-bottom{display:block;max-width:none;margin:22px 0 0}
.footer-bottom p{color:var(--cyan);font-size:13px;line-height:18px}
@media(max-width:767px){
 .site-footer{padding:30px 20px 22px}
 .footer-top{grid-template-columns:1fr;gap:25px}
 .footer-brand{width:min(325px,100%);margin:0;max-width:100%}
 .footer-contact{justify-self:end;max-width:100%}
 .footer-awards{grid-column:1;width:100%;max-width:none}
 .footer-bottom{margin-top:22px}
 .footer-bottom p{font-size:12px}
}

/* Opening hero replacement: center the abstract digital matrix without distortion.
   Grayscale and the established diagonal fade preserve the site's hero treatment. */
.hero-opening-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:grayscale(1);pointer-events:none}
.hero-slide:has(>.hero-opening-image)::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom right,#000 0%,rgba(0,0,0,.88) 20%,rgba(0,0,0,.48) 48%,rgba(0,0,0,.12) 72%,transparent 100%);pointer-events:none}
.hero-opening-image+.hero-copy{position:relative;z-index:2}

/* Shared bordered footer block, matching the approved October 24 reference. */
.site-footer{padding:0 clamp(20px,3vw,50px) 50px;margin-top:0;background:transparent}
.footer-panel{width:100%;max-width:1600px;margin:0 auto;padding:50px clamp(24px,3.2vw,65px) 30px;border:1px solid var(--line);border-radius:15px;background:#000;overflow:hidden}
.footer-panel .footer-top{grid-template-columns:minmax(0,1fr) minmax(250px,1fr);gap:54px 40px}
.footer-panel .footer-brand{width:400px;max-width:100%;margin:0}
.footer-panel .footer-brand img{width:100%;height:auto}
.footer-panel .footer-contact{font-size:18px;line-height:23px}
.footer-panel .footer-contact p{margin:0 0 14px}
.footer-panel .footer-phone{font-size:36px;line-height:44px;white-space:nowrap}
.footer-panel .linkedin-icon{width:28px;height:28px}
.footer-panel .footer-awards{width:72%;max-width:none;min-width:0}
.footer-panel .footer-bottom{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 32px;margin:26px 0 0;max-width:none}
.footer-panel .footer-bottom p{flex:0 1 auto;font-size:15px;line-height:21px;color:var(--cyan)}
.footer-panel .footer-bottom nav{display:flex;flex:0 1 auto;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 0;max-width:100%;margin-left:auto}
.footer-panel .footer-bottom nav a{padding:0 12px;color:var(--cyan);font-size:15px;line-height:20px;text-decoration:none;white-space:nowrap;border-left:1px solid var(--cyan)}
.footer-panel .footer-bottom nav a:first-child{padding-left:0;border-left:0}
.footer-panel .footer-bottom nav a:last-child{padding-right:0}
.footer-panel .footer-bottom nav a:hover{text-decoration:underline;color:#fff}
@media(max-width:1100px){
 .footer-panel{padding:35px 30px 26px}
 .footer-panel .footer-top{gap:35px 28px}
 .footer-panel .footer-brand{width:340px}
 .footer-panel .footer-awards{width:100%}
 .footer-panel .footer-bottom{align-items:flex-start}
 .footer-panel .footer-bottom nav{width:100%;justify-content:flex-start;margin-left:0}
}
@media(max-width:767px){
 .site-footer{padding:0 20px 30px}
 .footer-panel{padding:28px 22px 24px;border-radius:12px}
 .footer-panel .footer-top{grid-template-columns:1fr;gap:28px}
 .footer-panel .footer-brand{width:min(340px,100%)}
 .footer-panel .footer-contact{justify-self:start;text-align:left;font-size:16px;line-height:21px}
 .footer-panel .footer-phone{font-size:30px;line-height:38px}
 .footer-panel .footer-contact .linkedin-icon{margin-left:0}
 .footer-panel .footer-awards{grid-column:1;width:100%}
 .footer-panel .footer-bottom{gap:20px;margin-top:24px}
 .footer-panel .footer-bottom p{font-size:13px;line-height:19px}
 .footer-panel .footer-bottom nav{gap:8px 0}
 .footer-panel .footer-bottom nav a{font-size:14px;padding:2px 9px}
}

/* Reduce only the hero/header and footer Data Titan artwork by 20%.
   Preserve layout footprints, links, responsive sizing and nested logo animations. */
.site-header .brand-display,
.footer-panel .footer-brand > img{transform:scale(.8);transform-origin:top left}

/* Accessible announcement after rejecting; no new visible site element. */
.dt-cookie-status{position:fixed;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
