/* Original Photonix Media custom CSS extracted verbatim from supplied HTML. */

/* SOURCE: landing-page-checklist.html */

    /* Halftone dot pattern overlay matching slide 1 */
    .halftone-overlay {
      background-image: radial-gradient(rgba(0, 0, 0, 0.42) 1.5px, transparent 1.5px);
      background-size: 7px 7px;
    }

    /* Custom scrollbar */
    ::-webkit-scrollbar {
      width: 7px;
    }

    ::-webkit-scrollbar-track {
      background: #f1f1f1;
    }

    ::-webkit-scrollbar-thumb {
      background: #e2a800;
      border-radius: 9999px;
    }

    /* Floating micro animations */
    @keyframes floatGentle {

      0%,
      100% {
        transform: translateY(0px) rotate(0deg);
      }

      50% {
        transform: translateY(-8px) rotate(1.5deg);
      }
    }

    .animate-float {
      animation: floatGentle 5s ease-in-out infinite;
    }

    @keyframes pulseSoft {

      0%,
      100% {
        opacity: 1;
        transform: scale(1);
      }

      50% {
        opacity: 0.6;
        transform: scale(0.95);
      }
    }

    .animate-live-pulse {
      animation: pulseSoft 2s infinite ease-in-out;
    }

    /* Smooth stepper slide fade */
    .step-slide {
      transition: opacity 0.45s cubic-bezier(0.16, 1, 0.3, 1), transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    }

    #heroStepperSection {
      min-height: 0 !important;
    }

    #heroStepperSection .step-content-wrap {
      min-height: 0 !important;
    }

    /* All desktop hero steps use one fixed visual frame.
       This prevents the Overview slide from becoming taller than the other steps. */
    #heroStepperSection .step-content-wrap {
      position: relative;
      height: 460px;
    }

    #heroStepperSection .step-slide {
      height: 460px;
      min-height: 460px;
      max-height: 460px;
      display: flex;
      align-items: center;
      overflow: hidden;
    }

    #heroStepperSection .step-slide>.grid {
      height: 460px;
      min-height: 460px;
      max-height: 460px;
      align-items: center;
    }

    #heroStepperSection #slide-0>div {
      height: 460px;
      min-height: 460px;
      max-height: 460px;
    }

    #heroStepperSection #slide-0 h1 {
      font-size: clamp(3rem, 5.2vw, 5.2rem);
      line-height: .92;
    }

    #heroStepperSection #slide-0 .mt-8 {
      margin-top: 1.25rem;
    }

    #heroStepperSection #slide-0 .mt-3 {
      margin-top: .55rem;
    }

    .step-slide.hidden-slide {
      opacity: 0;
      pointer-events: none;
      transform: translateY(12px) scale(0.99);
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
    }

    .step-slide.active-slide {
      opacity: 1;
      pointer-events: auto;
      transform: translateY(0) scale(1);
      position: relative;
    }

    @media (max-width: 767px) {

      .mega-menu-content,
      .dropdown-content {
        display: none !important;
      }

      #heroStepperSection .step-nav-btn {
        display: none;
      }

      #heroStepperSection .step-slide>div {
        width: 100%;
      }

      #heroStepperSection .grid {
        gap: 2rem;
      }

      #heroStepperSection h1 {
        font-size: clamp(2.35rem, 11vw, 4rem);
      }

      #heroStepperSection .step-content-wrap {
        height: auto;
      }

      #heroStepperSection .step-slide {
        overflow: visible;
        height: auto;
        min-height: 0;
        max-height: none;
      }

      #heroStepperSection .step-slide>.grid {
        height: auto;
        min-height: 0;
        max-height: none;
      }

      #heroStepperSection #slide-0>div {
        height: auto;
        min-height: 430px;
        max-height: none;
      }

      #heroStepperSection #slide-0 h1 {
        font-size: clamp(2.2rem, 10vw, 3.6rem);
      }

      /* Keep all content steps comfortably inside the viewport.
         The video stays edge-to-edge; the following three steps get breathing room. */
      #heroStepperSection #slide-1,
      #heroStepperSection #slide-2,
      #heroStepperSection #slide-3 {
        padding-left: 18px;
        padding-right: 18px;
        box-sizing: border-box;
      }

      #heroStepperSection #slide-1 > .grid,
      #heroStepperSection #slide-2 > .grid,
      #heroStepperSection #slide-3 > .grid {
        width: 100%;
      }
    }

    /* Mega menu transitions */
    .mega-menu-content {
      opacity: 0;
      visibility: hidden;
      transform: translateY(10px);
      transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .mega-menu-trigger:hover .mega-menu-content {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }

    /* Dropdown transitions */
    .dropdown-content {
      opacity: 0;
      visibility: hidden;
      transform: translateY(8px);
      transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .dropdown-trigger:hover .dropdown-content {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }

    /* Case study: reveal the real background color only around the pointer. */
    #results .case-study-color-reveal {
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      opacity: 0;
      transition: opacity .2s ease;
      -webkit-mask-image: radial-gradient(circle 135px at var(--mx, 50%) var(--my, 50%), #000 0%, #000 58%, transparent 100%);
      mask-image: radial-gradient(circle 135px at var(--mx, 50%) var(--my, 50%), #000 0%, #000 58%, transparent 100%);
    }

    #results.case-study-hover .case-study-color-reveal {
      opacity: .95;
    }

    @media (max-width: 767px) {
      /* Keep the video hero edge-to-edge on mobile. */
      #heroStepperSection > .max-w-7xl {
        padding-left: 0 !important;
        padding-right: 0 !important;
      }

      #heroStepperSection #slide-0 {
        width: 100vw;
        margin-left: calc(50% - 50vw);
      }

      #heroStepperSection #slide-0 > div {
        width: 100%;
        border-radius: 0 !important;
        box-shadow: none;
        padding-left: 14px;
        padding-right: 14px;
      }

      #heroStepperSection #slide-0 .relative.z-10 {
        width: 100%;
        max-width: none;
      }

      #heroStepperSection #slide-0 h1 {
        width: 100%;
        max-width: calc(100vw - 28px);
        font-size: clamp(2rem, 9vw, 3rem);
        line-height: .92;
        letter-spacing: -.045em;
        white-space: normal;
      }

      #heroStepperSection #slide-0 h1 + p {
        margin-top: 1.1rem;
      }

      .industry-grid,
      .testimonial-track {
        display: flex !important;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        gap: 1rem;
        padding-bottom: 4px;
      }

      .industry-grid::-webkit-scrollbar,
      .testimonial-track::-webkit-scrollbar {
        display: none;
      }

      .industry-card,
      .testimonial-card {
        flex: 0 0 86%;
        scroll-snap-align: center;
      }

      .industry-card img {
        height: 190px;
      }

      .industry-dots,
      #testimonialDots {
        min-height: 8px;
      }

      .mobile-carousel-dot {
        width: 7px;
        height: 7px;
        border-radius: 9999px;
        background: rgba(17, 18, 21, .25);
        transition: all .2s;
      }

      .mobile-carousel-dot.active {
        width: 22px;
        background: #1665FF;
      }
    }
  
/* V5 blog + contact refinements */
.blog-grid .post-image{height:240px;background:#eef0f3;position:relative}
.blog-grid .featured .post-image{height:390px}
.blog-grid .post-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.blog-grid .post-card:hover .post-image img{transform:scale(1.025)}
.blog-grid .post-card{box-shadow:0 10px 30px rgba(17,18,21,.045)}
.blog-detail-layout{max-width:1180px;margin:0 auto;padding:82px 24px 100px;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:72px;align-items:start}
.blog-detail-layout .article{max-width:none;margin:0;padding:0}
.blog-related-sidebar{position:sticky;top:105px}
.blog-related-sidebar .side-label{font:700 10px 'Courier New',monospace;letter-spacing:.14em;color:#1665FF;margin-bottom:12px}
.blog-related-sidebar h3{font-size:24px;line-height:1.1;margin:0 0 20px}
.blog-related-list{display:grid;gap:12px}
.blog-related-list a{display:block;padding:17px 16px;border:1px solid #ddd;border-radius:16px;background:#fff;transition:.2s}
.blog-related-list a:hover{border-color:#1665FF;transform:translateY(-2px)}
.blog-related-list span{display:block;font:700 9px 'Courier New',monospace;color:#1665FF;letter-spacing:.1em;margin-bottom:7px}
.blog-related-list strong{display:block;font-size:13px;line-height:1.35}
.blog-sidebar-box{margin-top:24px;padding:22px;border-radius:20px;background:#FFCA28}
.blog-sidebar-box p{font-size:13px;line-height:1.6;color:#303238}
.blog-sidebar-box a{display:inline-block;margin-top:8px;font-weight:800;color:#1665FF}
@media(max-width:900px){.blog-detail-layout{grid-template-columns:1fr;gap:45px}.blog-related-sidebar{position:static}.blog-related-list{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.blog-grid .post-image,.blog-grid .featured .post-image{height:230px}.blog-detail-layout{padding:60px 16px 75px}.blog-related-list{grid-template-columns:1fr}}
.contact-detail-cards{display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1.25fr)!important;gap:18px!important}
.contact-detail-card{min-width:0!important}
.contact-detail-card h3{white-space:nowrap!important;font-size:clamp(19px,1.7vw,25px)!important;letter-spacing:-.025em!important}
.contact-detail-card.phone-card h3{font-size:clamp(18px,1.55vw,24px)!important;white-space:nowrap!important;line-height:1.65!important}
.contact-detail-card.email-card h3{font-size:clamp(18px,1.65vw,25px)!important;white-space:nowrap!important}
@media(max-width:1100px){.contact-detail-cards{grid-template-columns:1fr 1fr!important}.contact-detail-card.address-card{grid-column:span 2}.contact-detail-card h3,.contact-detail-card.phone-card h3,.contact-detail-card.email-card h3{white-space:normal!important}}
@media(max-width:600px){.contact-detail-cards{grid-template-columns:1fr!important}.contact-detail-card.address-card{grid-column:auto}.contact-detail-card.phone-card h3,.contact-detail-card.email-card h3{white-space:nowrap!important;font-size:20px!important}}


/* SOURCE: landing-page-checklist.html */

/* PHOTONIX INNER-PAGE SYSTEM */
.inner-page{background:#fff;color:#111215}.inner-yellow{background:#FFCA28}.inner-blue{color:#1665FF}.inner-shell{max-width:1280px;margin:auto;padding-left:24px;padding-right:24px}.inner-hero-space{height:390px;background:#FFCA28;position:relative}.inner-hero-title{position:absolute;left:50%;bottom:42px;transform:translateX(-50%);width:min(1180px,calc(100% - 48px));font-size:clamp(54px,8vw,118px);line-height:.88;letter-spacing:-.07em;font-weight:900;text-transform:uppercase;color:#111215}.hero-visual-wrap{max-width:1216px;margin:-100px auto 0;padding:0 24px;position:relative;z-index:2}.hero-visual{border-radius:0;overflow:hidden;background:#f3f3f3;border:1px solid rgba(0,0,0,.08);box-shadow:0 30px 70px rgba(17,18,21,.12)}.hero-visual img{display:block;width:100%;height:auto;max-height:600px;object-fit:cover}.intro-copy{max-width:850px;margin:0 auto;text-align:center;padding:82px 24px 55px}.intro-copy h2{font-size:clamp(36px,5vw,66px);letter-spacing:-.055em;line-height:1.02;font-weight:800}.intro-copy p{font-size:17px;line-height:1.85;color:#555d68}.eyebrow2{font:700 11px/1.2 'Courier New',monospace;letter-spacing:.16em;text-transform:uppercase;color:#1665FF}.detail-section{padding:95px 24px}.detail-inner{max-width:1180px;margin:auto}.detail-dark{background:#111215;color:#fff}.detail-light{background:#f6f6f7}.detail-yellow{background:#FFCA28}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.detail-grid.reverse .detail-copy{order:2}.detail-grid.reverse .detail-media{order:1}.detail-copy h2{font-size:clamp(34px,4.4vw,60px);letter-spacing:-.055em;line-height:.98}.detail-copy p{font-size:16px;line-height:1.8;color:#656b75}.detail-dark .detail-copy p{color:#b9bdc5}.detail-media{border-radius:28px;overflow:hidden;background:#fff;border:1px solid rgba(0,0,0,.1);min-height:330px;display:flex;align-items:center;justify-content:center}.detail-media img{width:100%;height:auto;display:block}.solution-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.solution-card{border:1px solid rgba(0,0,0,.1);border-radius:24px;padding:28px;background:#fff;transition:.25s}.solution-card:hover{transform:translateY(-4px);box-shadow:0 20px 45px rgba(0,0,0,.08)}.solution-card .num{font:700 12px 'Courier New',monospace;color:#1665FF}.solution-card h3{margin-top:18px;font-size:22px}.solution-card p{font-size:14px;color:#717782;line-height:1.7}.check-list{display:grid;gap:12px;margin:25px 0 0;padding:0;list-style:none}.check-list li{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.55}.check-list li:before{content:'✓';width:22px;height:22px;border-radius:50%;background:#1665FF;color:#fff;display:grid;place-items:center;flex:0 0 22px;font-size:11px;font-weight:800}.process-line{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(0,0,0,.15)}.process-step{padding:28px 24px 10px;border-right:1px solid rgba(0,0,0,.12)}.process-step:last-child{border-right:0}.process-step .step-no{font:700 11px 'Courier New',monospace;color:#1665FF}.process-step h3{margin-top:16px}.process-step p{font-size:13px;color:#707782;line-height:1.65}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ddd}.metric{background:#fff;padding:30px}.metric strong{display:block;font-size:42px;letter-spacing:-.06em}.metric span{font-size:12px;color:#747a84}.faq-page{max-width:920px;margin:auto}.faq-page details{padding:26px 0;border-bottom:1px solid rgba(0,0,0,.12)}.faq-page summary{font-weight:800;font-size:18px;cursor:pointer}.faq-page p{color:#69717c;line-height:1.75;margin:15px 0 0}.same-form{background:#FFCA28;padding:90px 24px}.same-form-grid{max-width:1280px;margin:auto;display:grid;grid-template-columns:2fr 1fr;gap:32px;align-items:center}.same-form h2{font-size:clamp(44px,6vw,78px);font-weight:900;line-height:.95;text-transform:uppercase;letter-spacing:-.055em}.audit-card{background:#fff;padding:28px;border-radius:28px;box-shadow:0 25px 70px rgba(0,0,0,.12)}.audit-card input,.audit-card select{width:100%;padding:12px 14px;border:1px solid #ddd;border-radius:12px;font-size:14px}.audit-card label{display:block;font-size:11px;font-weight:700;color:#555;margin:0 0 7px}.audit-field{margin-bottom:15px}.audit-btn{width:100%;padding:13px;border:0;border-radius:12px;background:#1665FF;color:#fff;font-weight:800}.service-hero{background:#111215;color:#fff;padding:95px 24px 85px}.service-hero-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.service-hero h1{font-size:clamp(52px,7vw,96px);line-height:.9;letter-spacing:-.065em}.service-hero p{font-size:18px;color:#b9bec7;max-width:640px;line-height:1.75}.service-art{background:#FFCA28;border-radius:30px;padding:18px;min-height:430px;display:flex;align-items:center;justify-content:center}.service-art img{width:100%;max-height:470px;object-fit:contain}.service-subnav{background:#fff;border-bottom:1px solid #ddd;position:sticky;top:80px;z-index:30}.service-subnav .inner-shell{display:flex;gap:24px;overflow:auto;white-space:nowrap;padding-top:14px;padding-bottom:14px}.service-subnav a{font-size:12px;font-weight:800;color:#626974}.service-subnav a:hover{color:#1665FF}.service-feature{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-feature .box{padding:30px;border-radius:24px;background:#f5f5f7;border:1px solid #e4e4e6}.service-feature .box h3{font-size:22px}.service-feature .box p{font-size:14px;color:#6e7480;line-height:1.7}.service-feature .box span{font:700 11px 'Courier New',monospace;color:#1665FF}.blog-hero{padding:90px 24px 65px;background:#111215;color:#fff}.blog-hero-inner{max-width:1180px;margin:auto}.blog-hero h1{font-size:clamp(55px,8vw,115px);line-height:.88;letter-spacing:-.07em}.blog-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:20px}.post-card{border:1px solid #ddd;border-radius:24px;overflow:hidden;background:#fff}.post-card.featured{grid-row:span 2}.post-image{height:210px;background:#eee;overflow:hidden}.featured .post-image{height:340px}.post-image img{width:100%;height:100%;object-fit:cover}.post-body{padding:25px}.post-meta{font:700 10px 'Courier New',monospace;color:#1665FF;letter-spacing:.12em}.post-body h3{font-size:24px;margin:12px 0}.post-body p{font-size:13px;color:#707782;line-height:1.7}.blog-detail-hero{background:#111215;color:#fff;padding:100px 24px 70px}.blog-detail-inner{max-width:980px;margin:auto}.blog-detail-inner h1{font-size:clamp(48px,7vw,92px);line-height:.92;letter-spacing:-.065em}.article{max-width:820px;margin:auto;padding:80px 24px}.article p{font-size:17px;line-height:1.9;color:#515963}.article h2{font-size:38px;margin-top:60px}.article ul{line-height:1.9;color:#515963}.article-callout{background:#FFCA28;border-radius:24px;padding:28px;margin:40px 0}.about-hero{background:#FFCA28;padding:110px 24px}.about-hero-inner{max-width:1180px;margin:auto}.about-hero h1{font-size:clamp(60px,9vw,125px);line-height:.86}.testimonial-wall{max-width:1180px;margin:auto;columns:3 280px;column-gap:20px}.testimonial-card{break-inside:avoid;margin-bottom:20px;padding:28px;border-radius:24px;background:#f5f5f7}.testimonial-card:nth-child(2n){background:#FFCA28}.testimonial-card p{font-size:17px;line-height:1.55}.testimonial-card small{font-weight:800}.faq-hero{padding:95px 24px;background:#f5f5f7}.faq-hero-inner{max-width:900px;margin:auto;text-align:center}.faq-hero h1{font-size:clamp(55px,8vw,105px);line-height:.9}.case-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.case-card{border-radius:28px;padding:34px;background:#111215;color:#fff;min-height:360px;display:flex;flex-direction:column;justify-content:space-between}.case-card.yellow{background:#FFCA28;color:#111215}.case-card p{color:#bbb;line-height:1.75}.case-card.yellow p{color:#34363a}.case-card a{font-weight:800;color:#1665FF}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.related-grid a{padding:24px;border:1px solid #ddd;border-radius:22px;font-weight:800}.related-grid a:hover{border-color:#1665FF}.mini-image{border-radius:24px;overflow:hidden;background:#eee}.mini-image img{display:block;width:100%;height:330px;object-fit:cover}
@media(max-width:900px){.inner-hero-space{height:310px}.inner-hero-title{font-size:54px;bottom:34px}.detail-grid,.service-hero-grid,.same-form-grid{grid-template-columns:1fr}.detail-grid.reverse .detail-copy,.detail-grid.reverse .detail-media{order:initial}.solution-cards,.service-feature,.related-grid,.case-grid{grid-template-columns:1fr 1fr}.process-line{grid-template-columns:1fr 1fr}.process-step:nth-child(2){border-right:0}.service-subnav{top:72px}.blog-grid{grid-template-columns:1fr 1fr}.featured{grid-column:span 2}}
@media(max-width:600px){.inner-shell{padding-left:16px;padding-right:16px}.inner-hero-space{height:250px}.inner-hero-title{font-size:44px;width:calc(100% - 32px);bottom:25px}.hero-visual-wrap{margin-top:-55px;padding:0 16px}.intro-copy{padding:60px 16px 40px}.detail-section{padding:65px 16px}.solution-cards,.service-feature,.related-grid,.case-grid,.blog-grid{grid-template-columns:1fr}.featured{grid-column:auto}.process-line{grid-template-columns:1fr}.process-step{border-right:0;border-bottom:1px solid #ddd}.process-step:last-child{border-bottom:0}.metric-grid{grid-template-columns:1fr 1fr}.metric strong{font-size:32px}.service-hero{padding:65px 16px}.service-hero h1{font-size:56px}.service-subnav .inner-shell{padding-left:16px}.blog-hero,.blog-detail-hero,.faq-hero,.about-hero{padding-left:16px;padding-right:16px}.blog-hero h1,.blog-detail-inner h1,.faq-hero h1,.about-hero h1{font-size:52px}.article{padding:60px 16px}.same-form{padding:65px 16px}.same-form h2{font-size:48px}.audit-card{padding:22px}.post-image,.featured .post-image{height:230px}}


/* SOURCE: landing-page-checklist.html */

.service-page-v3 .service-hero{background:#fff!important;color:#111215!important;border-bottom:1px solid rgba(0,0,0,.06);padding:110px 24px 95px!important}
.service-page-v3 .service-hero p{color:#646b75!important}.service-page-v3 .service-hero .btn:not(.btn-yellow){border-color:rgba(0,0,0,.14)!important;color:#111215!important}.service-page-v3 .service-hero .eyebrow2{color:#1665FF!important}.service-page-v3 .service-reading{max-width:1220px!important}.service-page-v3 .service-reading h2{font-weight:500!important;letter-spacing:-.045em}.service-page-v3 .service-content-block{padding-top:135px!important;padding-bottom:135px!important}.service-page-v3 .service-work-list{margin-top:65px}.service-page-v3 .service-why{background:#f6f6f7}.service-reading-wide{max-width:1220px!important}.service-why-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:center}.service-why-grid h2{font-size:clamp(38px,4.5vw,64px)}.service-image-panel{background:#FFCA28;border-radius:30px;padding:30px;min-height:360px;display:flex;align-items:center;justify-content:center}.service-image-panel img{width:100%;max-height:360px;object-fit:contain}.service-visual-break{background:#111215;color:#fff;padding:110px 24px}.service-visual-break-inner{max-width:1220px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.service-visual-copy h2{font-size:clamp(38px,4.5vw,64px);font-weight:500;letter-spacing:-.045em}.service-visual-copy p{color:#b8bec7;font-size:17px;line-height:1.85;max-width:650px}.service-visual-art{background:#FFCA28;border-radius:30px;padding:35px;min-height:380px;display:flex;align-items:center;justify-content:center}.service-visual-art img{width:100%;max-height:370px;object-fit:contain}
@media(max-width:800px){.service-why-grid,.service-visual-break-inner{grid-template-columns:1fr;gap:45px}.service-page-v3 .service-content-block{padding-top:90px!important;padding-bottom:90px!important}.service-page-v3 .service-hero{padding:75px 16px 65px!important}.service-image-panel,.service-visual-art{min-height:260px}.service-visual-break{padding:80px 16px}}


/* SOURCE: landing-page-checklist.html */
.article-layout-v7{width:min(1240px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:70px;align-items:start}.article-layout-v7 .article{max-width:none!important;margin:0;padding:85px 0 110px!important}.article-sidebar-v7{position:sticky;top:105px;padding-top:85px}.sidebar-kicker{font:700 10px 'Courier New',monospace;color:#1665FF;letter-spacing:.16em;margin-bottom:18px}.related-post-v7{display:grid;grid-template-columns:76px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid #ddd}.related-post-v7 img{width:76px;height:58px;object-fit:cover;border-radius:10px;background:#f2f2f2;grid-row:span 2}.related-post-v7 span{font:700 9px 'Courier New',monospace;color:#1665FF}.related-post-v7 b{font-size:13px;line-height:1.35;font-weight:600}.related-post-v7:hover b{color:#1665FF}.sidebar-cta{margin-top:28px;padding:22px;border-radius:20px;background:#FFCA28}.sidebar-cta span{font:700 9px 'Courier New',monospace}.sidebar-cta b{display:block;font-size:19px;line-height:1.1;font-weight:500;margin:12px 0 18px}.sidebar-cta a{font-size:12px;font-weight:800;color:#1665FF}@media(max-width:900px){.article-layout-v7{grid-template-columns:1fr;gap:0}.article-sidebar-v7{position:static;padding:0 0 70px}.article-layout-v7 .article{padding-top:65px!important}}


/* SOURCE: landing-page-checklist.html */

@media(max-width:600px){
  body{overflow-x:hidden!important}.inner-shell,.v5-inner{width:calc(100% - 32px)!important;max-width:none!important}.detail-section,.v5-section{padding-left:16px!important;padding-right:16px!important}.detail-grid,.service-why-grid,.service-visual-break-inner,.same-form-grid{grid-template-columns:1fr!important;gap:38px!important}.solution-cards,.service-feature{grid-template-columns:1fr!important}.same-form-grid h2{font-size:44px!important}.audit-card{width:100%!important}.v5-taxonomy{grid-template-columns:1fr!important}.v5-tax-item{min-height:0!important;padding:24px!important}.v5-tax-item .quote-trigger{margin-top:24px!important}.v5-section h2{font-size:34px!important}.v5-section p{font-size:15px!important;line-height:1.8!important}.service-subnav{top:72px!important}.service-subnav .v5-inner{width:100%!important;padding-left:16px!important;padding-right:16px!important}.service-subnav a{font-size:11px!important}.inner-hero-title{white-space:normal!important}.blog-detail-layout{grid-template-columns:1fr!important}.article-sidebar-v7{padding:0 16px 60px!important}.article{padding-left:16px!important;padding-right:16px!important}.related-post-v7{display:grid!important;grid-template-columns:80px 1fr!important;gap:12px!important}.related-post-v7 img{width:80px!important;height:62px!important}.industry-page .detail-inner{width:calc(100% - 32px)!important}.industry-page .solution-card{margin:0!important}.work-gallery-v8{width:100%!important}.work-gallery-v8 a{min-height:250px!important}.privacy-v8{width:calc(100% - 32px)!important}
}


/* SOURCE: landing-page-checklist.html */

.solution-v5 .v5-deliverable:after{display:none!important;content:none!important}
.service-v5 .v5-tax-item:after,.service-page-v3 .v5-tax-item:after{display:none!important;content:none!important}
.service-v5 .v5-tax-item .quote-trigger{margin-top:30px!important}
@media(max-width:600px){.solution-v5 .v5-deliverable:after,.service-v5 .v5-tax-item:after{display:none!important}.v5-tax-item .quote-trigger{margin-top:26px!important}}


/* SOURCE: landing-page-checklist.html */

/* PHOTONIX V3 SPACING + SERVICE SYSTEM */
.service-content-block{padding:125px 24px;background:#fff}
.service-reading{max-width:1040px;margin:0 auto}
.service-reading h2{font-size:clamp(34px,4.2vw,58px);line-height:1.08;letter-spacing:-.045em;font-weight:500;margin-top:16px;max-width:900px}
.service-reading>p{font-size:17px;line-height:1.95;color:#5f6670;max-width:850px;margin-top:30px}
.service-soft{background:#f6f6f7}.service-dark-block{background:#111215;color:#fff}.service-dark-block .service-reading>p{color:#b9bec7}
.service-bullets{margin:38px 0 0;padding:0;list-style:none;display:grid;gap:18px;max-width:850px}
.service-bullets li{font-size:16px;line-height:1.7;padding-left:30px;position:relative;color:#454b54}
.service-dark-block .service-bullets li{color:#d0d3d8}
.service-bullets li:before{content:'→';position:absolute;left:0;top:0;color:#1665FF;font-weight:800}
.service-work-list{margin-top:65px;border-top:1px solid rgba(0,0,0,.12)}
.service-work-item{display:grid;grid-template-columns:90px 1fr;gap:35px;padding:34px 0;border-bottom:1px solid rgba(0,0,0,.12)}
.service-work-index{font:700 12px 'Courier New',monospace;color:#1665FF;padding-top:6px}
.service-work-item h3{font-size:25px;font-weight:600;letter-spacing:-.02em}.service-work-item p{margin-top:10px;font-size:15px;line-height:1.85;color:#68707b;max-width:760px}
.service-process-list{margin-top:60px;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(255,255,255,.2)}
.service-process-item{padding:30px 22px;border-right:1px solid rgba(255,255,255,.14)}.service-process-item:last-child{border-right:0}
.service-process-item span{font:700 11px 'Courier New',monospace;color:#FFCA28}.service-process-item h3{margin-top:24px;font-size:18px;font-weight:600}.service-process-item p{margin-top:9px;font-size:13px;line-height:1.7;color:#b8bec7}
.split-reading{display:grid;grid-template-columns:1.1fr .9fr;gap:100px;align-items:start}.deliver-list{margin-top:45px}
.service-related-list{margin-top:60px;border-top:1px solid rgba(0,0,0,.12)}.service-related-list a{display:flex;justify-content:space-between;gap:20px;padding:24px 0;border-bottom:1px solid rgba(0,0,0,.12);text-decoration:none;color:#111215}.service-related-list a span{font-size:18px;font-weight:600}.service-related-list a b{font-size:12px;color:#1665FF}
.service-page-v3 .service-hero{padding:110px 24px 95px}.service-page-v3 .service-hero h1{font-weight:550}.service-page-v3 .service-hero p{margin-top:25px}.service-page-v3 .service-art{min-height:390px}
@media(max-width:900px){.service-process-list{grid-template-columns:1fr 1fr}.service-process-item:nth-child(2){border-right:0}.split-reading{grid-template-columns:1fr;gap:50px}}
@media(max-width:600px){.service-content-block{padding:85px 16px}.service-reading h2{font-size:35px}.service-work-list{margin-top:40px}.service-work-item{grid-template-columns:42px 1fr;gap:15px;padding:28px 0}.service-work-item h3{font-size:21px}.service-process-list{grid-template-columns:1fr}.service-process-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.service-process-item:last-child{border-bottom:0}.service-page-v3 .service-hero{padding:70px 16px 65px}}


/* SOURCE: our-work.html */

    /* Halftone dot pattern overlay matching slide 1 */
    .halftone-overlay {
      background-image: radial-gradient(rgba(0, 0, 0, 0.42) 1.5px, transparent 1.5px);
      background-size: 7px 7px;
    }

    /* Custom scrollbar */
    ::-webkit-scrollbar {
      width: 7px;
    }

    ::-webkit-scrollbar-track {
      background: #f1f1f1;
    }

    ::-webkit-scrollbar-thumb {
      background: #e2a800;
      border-radius: 9999px;
    }

    /* Floating micro animations */
    @keyframes floatGentle {

      0%,
      100% {
        transform: translateY(0px) rotate(0deg);
      }

      50% {
        transform: translateY(-8px) rotate(1.5deg);
      }
    }

    .animate-float {
      animation: floatGentle 5s ease-in-out infinite;
    }

    @keyframes pulseSoft {

      0%,
      100% {
        opacity: 1;
        transform: scale(1);
      }

      50% {
        opacity: 0.6;
        transform: scale(0.95);
      }
    }

    .animate-live-pulse {
      animation: pulseSoft 2s infinite ease-in-out;
    }

    /* Smooth stepper slide fade */
    .step-slide {
      transition: opacity 0.45s cubic-bezier(0.16, 1, 0.3, 1), transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    }

    #heroStepperSection {
      min-height: 0 !important;
    }

    #heroStepperSection .step-content-wrap {
      min-height: 0 !important;
    }

    /* All desktop hero steps use one fixed visual frame.
       This prevents the Overview slide from becoming taller than the other steps. */
    #heroStepperSection .step-content-wrap {
      position: relative;
      height: 460px;
    }

    #heroStepperSection .step-slide {
      height: 460px;
      min-height: 460px;
      max-height: 460px;
      display: flex;
      align-items: center;
      overflow: hidden;
    }

    #heroStepperSection .step-slide>.grid {
      height: 460px;
      min-height: 460px;
      max-height: 460px;
      align-items: center;
    }

    #heroStepperSection #slide-0>div {
      height: 460px;
      min-height: 460px;
      max-height: 460px;
    }

    #heroStepperSection #slide-0 h1 {
      font-size: clamp(3rem, 5.2vw, 5.2rem);
      line-height: .92;
    }

    #heroStepperSection #slide-0 .mt-8 {
      margin-top: 1.25rem;
    }

    #heroStepperSection #slide-0 .mt-3 {
      margin-top: .55rem;
    }

    .step-slide.hidden-slide {
      opacity: 0;
      pointer-events: none;
      transform: translateY(12px) scale(0.99);
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
    }

    .step-slide.active-slide {
      opacity: 1;
      pointer-events: auto;
      transform: translateY(0) scale(1);
      position: relative;
    }

    @media (max-width: 767px) {

      .mega-menu-content,
      .dropdown-content {
        display: none !important;
      }

      #heroStepperSection .step-nav-btn {
        display: none;
      }

      #heroStepperSection .step-slide>div {
        width: 100%;
      }

      #heroStepperSection .grid {
        gap: 2rem;
      }

      #heroStepperSection h1 {
        font-size: clamp(2.35rem, 11vw, 4rem);
      }

      #heroStepperSection .step-content-wrap {
        height: auto;
      }

      #heroStepperSection .step-slide {
        overflow: visible;
        height: auto;
        min-height: 0;
        max-height: none;
      }

      #heroStepperSection .step-slide>.grid {
        height: auto;
        min-height: 0;
        max-height: none;
      }

      #heroStepperSection #slide-0>div {
        height: auto;
        min-height: 430px;
        max-height: none;
      }

      #heroStepperSection #slide-0 h1 {
        font-size: clamp(2.2rem, 10vw, 3.6rem);
      }

      /* Keep all content steps comfortably inside the viewport.
         The video stays edge-to-edge; the following three steps get breathing room. */
      #heroStepperSection #slide-1,
      #heroStepperSection #slide-2,
      #heroStepperSection #slide-3 {
        padding-left: 18px;
        padding-right: 18px;
        box-sizing: border-box;
      }

      #heroStepperSection #slide-1 > .grid,
      #heroStepperSection #slide-2 > .grid,
      #heroStepperSection #slide-3 > .grid {
        width: 100%;
      }
    }

    /* Mega menu transitions */
    .mega-menu-content {
      opacity: 0;
      visibility: hidden;
      transform: translateY(10px);
      transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .mega-menu-trigger:hover .mega-menu-content {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }

    /* Dropdown transitions */
    .dropdown-content {
      opacity: 0;
      visibility: hidden;
      transform: translateY(8px);
      transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .dropdown-trigger:hover .dropdown-content {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }

    /* Case study: reveal the real background color only around the pointer. */
    #results .case-study-color-reveal {
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      opacity: 0;
      transition: opacity .2s ease;
      -webkit-mask-image: radial-gradient(circle 135px at var(--mx, 50%) var(--my, 50%), #000 0%, #000 58%, transparent 100%);
      mask-image: radial-gradient(circle 135px at var(--mx, 50%) var(--my, 50%), #000 0%, #000 58%, transparent 100%);
    }

    #results.case-study-hover .case-study-color-reveal {
      opacity: .95;
    }

    @media (max-width: 767px) {
      /* Keep the video hero edge-to-edge on mobile. */
      #heroStepperSection > .max-w-7xl {
        padding-left: 0 !important;
        padding-right: 0 !important;
      }

      #heroStepperSection #slide-0 {
        width: 100vw;
        margin-left: calc(50% - 50vw);
      }

      #heroStepperSection #slide-0 > div {
        width: 100%;
        border-radius: 0 !important;
        box-shadow: none;
        padding-left: 14px;
        padding-right: 14px;
      }

      #heroStepperSection #slide-0 .relative.z-10 {
        width: 100%;
        max-width: none;
      }

      #heroStepperSection #slide-0 h1 {
        width: 100%;
        max-width: calc(100vw - 28px);
        font-size: clamp(2rem, 9vw, 3rem);
        line-height: .92;
        letter-spacing: -.045em;
        white-space: normal;
      }

      #heroStepperSection #slide-0 h1 + p {
        margin-top: 1.1rem;
      }

      .industry-grid,
      .testimonial-track {
        display: flex !important;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        gap: 1rem;
        padding-bottom: 4px;
      }

      .industry-grid::-webkit-scrollbar,
      .testimonial-track::-webkit-scrollbar {
        display: none;
      }

      .industry-card,
      .testimonial-card {
        flex: 0 0 86%;
        scroll-snap-align: center;
      }

      .industry-card img {
        height: 190px;
      }

      .industry-dots,
      #testimonialDots {
        min-height: 8px;
      }

      .mobile-carousel-dot {
        width: 7px;
        height: 7px;
        border-radius: 9999px;
        background: rgba(17, 18, 21, .25);
        transition: all .2s;
      }

      .mobile-carousel-dot.active {
        width: 22px;
        background: #1665FF;
      }
    }
  

/* SOURCE: our-work.html */
.work-gallery-v8{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}.work-gallery-v8 a{position:relative;display:block;border-radius:24px;overflow:hidden;min-height:320px;background:#111215}.work-gallery-v8 a:nth-child(1){grid-column:span 2}.work-gallery-v8 a:nth-child(4){grid-column:span 2}.work-gallery-v8 img{width:100%;height:100%;min-height:320px;object-fit:cover;display:block;transition:transform .55s ease,filter .55s ease}.work-gallery-v8 a:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.78));}.work-gallery-v8 a div{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;color:#fff}.work-gallery-v8 span{display:block;font:700 10px 'Courier New',monospace;letter-spacing:.14em;color:#FFCA28}.work-gallery-v8 b{display:block;font-size:22px;margin-top:6px;font-weight:600}.work-gallery-v8 a:hover img{transform:scale(1.05);filter:saturate(1.08)}@media(max-width:800px){.work-gallery-v8{grid-template-columns:1fr 1fr}.work-gallery-v8 a:nth-child(1),.work-gallery-v8 a:nth-child(4){grid-column:span 2}}@media(max-width:600px){.work-gallery-v8{grid-template-columns:1fr}.work-gallery-v8 a:nth-child(1),.work-gallery-v8 a:nth-child(4){grid-column:auto}.work-gallery-v8 a,.work-gallery-v8 img{min-height:260px}}

/* SOURCE: privacy.html */
.privacy-v7 article,.privacy-v7 .article{width:100%!important;max-width:none!important;padding:95px 5vw 120px!important}.privacy-v7 article h2{font-size:clamp(28px,3vw,42px)!important;font-weight:500!important;letter-spacing:-.035em!important;margin:55px 0 14px!important}.privacy-v7 article p,.privacy-v7 article li{font-size:15px!important;line-height:1.95!important;color:#5b636d!important;max-width:none!important}.privacy-v7 article ul{max-width:none!important;padding-left:20px!important}.privacy-v7 .detail-inner{width:min(1320px,calc(100% - 48px))!important;max-width:none!important}

/* SOURCE: privacy.html */
.privacy-v8{max-width:none!important;width:min(1320px,calc(100% - 48px))!important}.privacy-v8 h2{font-size:clamp(26px,3vw,38px);font-weight:500;letter-spacing:-.035em}.privacy-v8 p,.privacy-v8 li{font-size:14px;line-height:1.8;color:#5e6570}

/* SOURCE: service-analytics.html */

/* V5 inner-page system: white hero + early enquiry + service taxonomy */
.v5-page{background:#fff;color:#111215}
.v5-hero{background:#fff;padding:86px 24px 70px;border-bottom:1px solid rgba(0,0,0,.06)}
.v5-hero-inner{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.v5-kicker{font:700 11px/1.2 'Courier New',monospace;letter-spacing:.17em;text-transform:uppercase;color:#1665FF;margin-bottom:18px}
.v5-hero h1{font-size:clamp(58px,8vw,112px);line-height:.86;letter-spacing:-.065em;font-weight:500;margin:0 0 24px;text-transform:uppercase}
.v5-hero p{font-size:18px;line-height:1.8;color:#5d6570;max-width:690px;margin:0}
.v5-hero-art{background:#FFCA28;border-radius:30px;min-height:410px;padding:28px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.v5-hero-art img{width:100%;height:100%;max-height:420px;object-fit:contain}
.v5-early-form{background:#FFCA28;padding:54px 24px 62px}
.v5-early-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:1fr 420px;gap:55px;align-items:center}
.v5-early-copy .v5-kicker{color:#111215}.v5-early-copy h2{font-size:clamp(38px,5vw,66px);font-weight:500;line-height:.98;letter-spacing:-.055em;margin:0 0 18px}.v5-early-copy p{max-width:650px;font-size:16px;line-height:1.8;color:rgba(17,18,21,.72)}
.v5-early-form .audit-card{box-shadow:0 18px 45px rgba(17,18,21,.12)}
.v5-section{padding:100px 24px}.v5-section.soft{background:#f7f7f8}.v5-section.dark{background:#111215;color:#fff}.v5-inner{max-width:1180px;margin:auto}
.v5-heading{max-width:820px;margin-bottom:55px}.v5-heading .v5-kicker{margin-bottom:16px}.v5-heading h2{font-size:clamp(38px,5vw,68px);font-weight:500;line-height:1;letter-spacing:-.055em;margin:0 0 20px}.v5-heading p{font-size:17px;line-height:1.85;color:#626a75;max-width:780px}.dark .v5-heading p{color:#b7bcc5}
.v5-taxonomy{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid rgba(0,0,0,.14)}
.v5-tax-item{padding:34px 30px 38px 0;border-bottom:1px solid rgba(0,0,0,.14);min-height:205px;display:grid;grid-template-columns:60px 1fr;gap:18px}.v5-tax-item:nth-child(even){padding-left:34px;border-left:1px solid rgba(0,0,0,.14)}
.v5-tax-no{font:700 12px 'Courier New',monospace;color:#1665FF;padding-top:5px}.v5-tax-item h3{font-size:28px;font-weight:600;letter-spacing:-.035em;margin:0 0 9px}.v5-tax-item p{font-size:14px;line-height:1.75;color:#68707b;margin:0}.v5-tax-tags{margin-top:16px;display:flex;gap:8px;flex-wrap:wrap}.v5-tax-tags span{font-size:10px;font-weight:800;padding:6px 9px;border-radius:99px;background:#eef2ff;color:#1665FF}
.v5-reading{max-width:100%}.v5-reading h2{font-size:clamp(35px,4.5vw,58px);font-weight:500;line-height:1.02;letter-spacing:-.05em;margin:0 0 24px}.v5-reading p{font-size:17px;line-height:1.9;color:#59616c;margin:0 0 20px}.v5-reading ul{margin:26px 0 0;padding:0;list-style:none;display:grid;gap:14px}.v5-reading li{font-size:15px;line-height:1.7;padding-left:32px;position:relative}.v5-reading li:before{content:'✓';position:absolute;left:0;top:2px;width:21px;height:21px;border-radius:50%;background:#1665FF;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800}
.v5-two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.v5-image{border-radius:28px;overflow:hidden;background:#f2f2f2;border:1px solid rgba(0,0,0,.08)}.v5-image img{display:block;width:100%;height:430px;object-fit:cover}
.v5-service-nav{background:#fff;border-bottom:1px solid #ddd;position:sticky;top:80px;z-index:30}.v5-service-nav .v5-inner{display:flex;gap:28px;overflow:auto;white-space:nowrap;padding:14px 24px}.v5-service-nav a{font-size:12px;font-weight:800;color:#626974}.v5-service-nav a:hover{color:#1665FF}
.v5-deliverables{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid rgba(0,0,0,.14)}.v5-deliverable{padding:28px 28px 30px 0;border-bottom:1px solid rgba(0,0,0,.14);display:grid;grid-template-columns:50px 1fr;gap:16px}.v5-deliverable:nth-child(even){padding-left:30px;border-left:1px solid rgba(0,0,0,.14)}.v5-deliverable .num{font:700 11px 'Courier New',monospace;color:#1665FF}.v5-deliverable h3{font-size:23px;font-weight:600;margin:0 0 8px}.v5-deliverable p{font-size:14px;line-height:1.75;color:#68707b;margin:0}
.v5-points{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.v5-point{padding:28px 0;border-top:2px solid #111}.v5-point .num{font:700 11px 'Courier New',monospace;color:#1665FF}.v5-point h3{font-size:24px;font-weight:600;margin:16px 0 9px}.v5-point p{font-size:14px;line-height:1.75;color:#69717c}
.v5-final{padding:100px 24px;background:#FFCA28}.v5-final-inner{max-width:1180px;margin:auto;display:flex;align-items:end;justify-content:space-between;gap:40px}.v5-final h2{font-size:clamp(42px,6vw,78px);font-weight:500;line-height:.95;letter-spacing:-.055em;margin:0}.v5-final p{max-width:570px;font-size:16px;line-height:1.8;color:rgba(17,18,21,.72)}.v5-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:12px;background:#1665FF;color:#fff;font-weight:800;white-space:nowrap}
@media(max-width:900px){.v5-hero-inner,.v5-early-grid,.v5-two-col{grid-template-columns:1fr}.v5-taxonomy,.v5-deliverables{grid-template-columns:1fr}.v5-tax-item:nth-child(even),.v5-deliverable:nth-child(even){padding-left:0;border-left:0}.v5-points{grid-template-columns:1fr 1fr}.v5-final-inner{align-items:start;flex-direction:column}.v5-service-nav{top:72px}}
@media(max-width:600px){.v5-hero{padding:58px 16px 48px}.v5-hero h1{font-size:52px}.v5-hero p{font-size:16px}.v5-hero-art{min-height:280px}.v5-early-form,.v5-section,.v5-final{padding-left:16px;padding-right:16px}.v5-early-grid{gap:30px}.v5-section{padding-top:70px;padding-bottom:70px}.v5-tax-item,.v5-deliverable{grid-template-columns:42px 1fr;padding:24px 0!important}.v5-points{grid-template-columns:1fr}.v5-image img{height:300px}.v5-final{padding-top:70px;padding-bottom:70px}}


/* SOURCE: service-analytics.html */
.v7-service-story{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;border-top:1px solid #d8d8db;padding-top:30px}.v7-service-story p{font-size:17px;line-height:1.9;color:#5f6670;max-width:850px;margin:0}.quote-trigger{display:inline-flex;align-items:center;gap:10px;border:1px solid #111215;background:#111215;color:#fff;border-radius:999px;padding:11px 16px;font-size:12px;font-weight:800;white-space:nowrap;transition:.25s}.quote-trigger:hover{background:#1665FF;border-color:#1665FF;transform:translateY(-2px)}.quote-modal{position:fixed;inset:0;background:rgba(17,18,21,.62);backdrop-filter:blur(8px);z-index:100;display:none;align-items:center;justify-content:center;padding:20px}.quote-modal.open{display:flex}.quote-modal-card{width:min(560px,100%);background:#fff;border-radius:28px;padding:30px;box-shadow:0 30px 80px rgba(0,0,0,.25);position:relative}.quote-modal-card h3{font-size:28px;font-weight:500;letter-spacing:-.035em;margin:0 0 8px}.quote-modal-card p{font-size:13px;color:#68707b;margin:0 0 20px}.quote-close{position:absolute;right:18px;top:18px;border:0;background:#f3f3f5;width:36px;height:36px;border-radius:50%;font-size:20px}.quote-modal-grid{display:grid;gap:13px}.quote-modal-grid label{font-size:11px;font-weight:800;color:#333}.quote-modal-grid input,.quote-modal-grid select,.quote-modal-grid textarea{width:100%;margin-top:6px;border:1px solid #ddd;border-radius:12px;padding:12px;font:inherit;font-size:13px}.quote-modal-grid textarea{min-height:100px;resize:vertical}.quote-submit{border:0;background:#1665FF;color:#fff;border-radius:12px;padding:13px;font-weight:800}.v5-tax-item{transition:transform .25s,box-shadow .25s,background .25s}.v5-tax-item:hover{background:#fff;transform:translateY(-4px);box-shadow:0 16px 40px rgba(17,18,21,.08)}@media(max-width:700px){.v7-service-story{display:block}.quote-trigger{margin-top:22px}} 

/* SOURCE: service-analytics.html */

html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,sans-serif!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.v6-service-hero{background:#FFCA28!important;color:#111215!important;padding:0!important;min-height:505px;display:flex;align-items:center}
.v6-service-hero .v5-hero-inner{width:min(1320px,calc(100% - 64px));margin:auto;display:block!important;padding:92px 0 88px}
.v6-service-hero .v5-hero-inner>div:first-child{max-width:1080px}.v6-service-hero .v5-kicker{color:#1665FF}
.v6-service-hero .v5-hero h1{font-size:clamp(58px,8.3vw,118px)!important;font-weight:500!important;line-height:.9!important;letter-spacing:-.075em!important;text-transform:none!important;margin:0 0 25px!important}
.v6-service-hero .v5-hero p{font-size:19px!important;line-height:1.65!important;color:rgba(17,18,21,.68)!important;max-width:760px!important}
.v6-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.v6-hero-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:12px;background:#1665FF;color:#fff!important;font-size:14px;font-weight:700;transition:transform .25s ease,box-shadow .25s ease}.v6-hero-btn:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(22,101,255,.22)}.v6-hero-note{font-size:11px!important;color:rgba(17,18,21,.5)!important;margin-top:13px!important}
.v5-page>.v5-early-form,.v5-page>section.v5-early-form,.v5-page>section.same-form{display:none!important}
.v5-section{padding:125px 32px!important}.v5-inner{width:min(1320px,100%);max-width:none!important;margin:0 auto}.v5-reading{max-width:1120px!important}.v5-reading h2,.v5-heading h2{font-weight:450!important;letter-spacing:-.052em!important;line-height:1.08!important}.v5-reading>p,.v5-heading>p{max-width:980px!important;font-size:18px!important;line-height:1.85!important;color:#5f6670!important}.v5-section.dark .v5-reading>p,.v5-section.dark .v5-heading>p{color:#b9bec7!important}
.v5-taxonomy{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;border:0!important;margin-top:58px!important}.v5-tax-item{position:relative!important;display:block!important;min-height:250px;padding:32px!important;border:1px solid #dedfe2!important;border-radius:24px!important;background:#fff!important;overflow:hidden!important;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,border-color .3s ease!important}.v5-tax-item:after{content:'↗';position:absolute;right:25px;top:23px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f1f3f6;color:#1665FF;font-size:15px;transition:.3s ease}.v5-tax-item:hover{transform:translateY(-7px);border-color:rgba(22,101,255,.35)!important;box-shadow:0 22px 55px rgba(17,18,21,.1)!important}.v5-tax-item:hover:after{background:#1665FF;color:#fff;transform:rotate(8deg)}.v5-tax-no{font:700 11px/1 'Courier New',monospace!important;color:#1665FF!important;margin-bottom:52px!important}.v5-tax-item h3{font-size:25px!important;font-weight:550!important;letter-spacing:-.03em!important;margin:0 45px 12px 0!important}.v5-tax-item p{font-size:14px!important;line-height:1.75!important;color:#69717c!important;margin:0!important}.v5-tax-tags{display:flex!important;gap:7px!important;flex-wrap:wrap!important;margin-top:18px!important}.v5-tax-tags span{font-size:10px!important;font-weight:700!important;padding:6px 8px!important;border-radius:7px!important;background:#f5f6f8!important;color:#646b75!important}
.v5-two-col{width:100%!important;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;gap:110px!important}.v5-image{border-radius:28px!important;background:#f4f5f7!important;min-height:420px!important;padding:35px!important;overflow:hidden!important}.v5-image img{width:100%!important;height:390px!important;object-fit:contain!important}.v5-points{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;margin-top:50px!important}.v5-point{border-top:1px solid #d7d9dd!important;padding:27px 0 0!important}.v5-point .num{font:700 11px 'Courier New',monospace!important;color:#1665FF!important}.v5-point h3{font-weight:550!important;letter-spacing:-.02em!important}.v5-point p{font-size:14px!important;line-height:1.75!important;color:#68707a!important}.v5-section.dark .v5-point{border-color:rgba(255,255,255,.2)!important}.v5-section.dark .v5-point p{color:#b8bec7!important}
.v6-form{background:#FFCA28;padding:125px 32px!important}.v6-form .same-form-grid{width:min(1320px,100%);max-width:none!important;margin:0 auto;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr)!important;gap:80px!important}.v6-form .same-form-grid h2{font-weight:500!important;letter-spacing:-.065em!important;text-transform:none!important;line-height:.95!important}.v6-form .audit-card{border-radius:26px!important}.v6-final{background:#fff!important;padding:105px 32px!important;border-top:1px solid #e7e7e9}.v6-final .v5-final-inner{width:min(1320px,100%);max-width:none!important}.v6-final .v5-final-inner h2{font-weight:450!important;text-transform:none!important}
.solution-v5 .v5-hero{background:#FFCA28!important;color:#111215!important;padding:0!important;min-height:505px;display:flex;align-items:center}.solution-v5 .v5-hero-inner{width:min(1320px,calc(100% - 64px));margin:auto;display:block!important;padding:92px 0 88px}.solution-v5 .v5-hero-inner>div:first-child{max-width:1080px}.solution-v5 .v5-hero h1{font-size:clamp(58px,8.3vw,118px)!important;font-weight:500!important;line-height:.9!important;letter-spacing:-.075em!important;text-transform:none!important;margin:0 0 25px!important}.solution-v5 .v5-hero p{font-size:19px!important;line-height:1.65!important;color:rgba(17,18,21,.68)!important;max-width:760px!important}.solution-v5 .v5-hero-art{display:none!important}.solution-v5 .v5-hero-inner>div:first-child:after{content:'Start a Conversation →';display:inline-flex;align-items:center;justify-content:center;margin-top:32px;padding:14px 20px;border-radius:12px;background:#1665FF;color:#fff;font-size:14px;font-weight:700;cursor:pointer;transition:.25s ease}.solution-v5 .v5-hero-inner>div:first-child:hover:after{transform:translateY(-2px);box-shadow:0 12px 25px rgba(22,101,255,.22)}.solution-v5 .v5-deliverables{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;margin-top:55px!important}.solution-v5 .v5-deliverable{position:relative!important;display:block!important;min-height:220px!important;padding:32px!important;border:1px solid #dedfe2!important;border-radius:24px!important;background:#fff!important;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease!important}.solution-v5 .v5-deliverable:hover{transform:translateY(-7px)!important;border-color:rgba(22,101,255,.35)!important;box-shadow:0 22px 55px rgba(17,18,21,.1)!important}.solution-v5 .v5-deliverable .num{font:700 11px 'Courier New',monospace!important;color:#1665FF!important;margin-bottom:45px}.solution-v5 .v5-deliverable h3{font-size:24px!important;font-weight:550!important;letter-spacing:-.03em!important;margin:0 0 10px!important}.solution-v5 .v5-deliverable p{font-size:14px!important;line-height:1.75!important;color:#69717c!important}.solution-v5 .v5-deliverable:after{content:'↗';position:absolute;right:23px;top:20px;width:34px;height:34px;border-radius:50%;background:#f1f3f6;color:#1665FF;display:grid;place-items:center;transition:.25s ease}.solution-v5 .v5-deliverable:hover:after{background:#1665FF;color:#fff}
@media(max-width:900px){.v5-taxonomy{grid-template-columns:1fr 1fr!important}.v5-points{grid-template-columns:1fr 1fr!important}.v6-form .same-form-grid{grid-template-columns:1fr!important}.v6-service-hero .v5-hero-inner,.solution-v5 .v5-hero-inner{width:calc(100% - 40px)}.v5-section{padding:95px 20px!important}.solution-v5 .v5-deliverables{grid-template-columns:1fr 1fr!important}}
@media(max-width:600px){.v6-service-hero,.solution-v5 .v5-hero{min-height:440px}.v6-service-hero .v5-hero-inner,.solution-v5 .v5-hero-inner{padding:70px 0 62px}.v6-service-hero .v5-hero h1,.solution-v5 .v5-hero h1{font-size:54px!important}.v6-service-hero .v5-hero p,.solution-v5 .v5-hero p{font-size:16px!important}.v5-taxonomy,.solution-v5 .v5-deliverables{grid-template-columns:1fr!important}.v5-tax-item{min-height:220px}.v5-tax-no{margin-bottom:40px!important}.v5-points{grid-template-columns:1fr!important}.v5-section{padding:78px 16px!important}.v6-form{padding:80px 16px!important}.v6-final{padding:80px 16px!important}.solution-v5 .v5-deliverable{min-height:205px!important}}


/* SOURCE: solution-build-digital-foundation.html */

/* V5 inner-page system: white hero + early enquiry + service taxonomy */
.v5-page{background:#fff;color:#111215}
.v5-hero{background:#fff;padding:86px 24px 70px;border-bottom:1px solid rgba(0,0,0,.06)}
.v5-hero-inner{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.v5-kicker{font:700 11px/1.2 'Courier New',monospace;letter-spacing:.17em;text-transform:uppercase;color:#1665FF;margin-bottom:18px}
.v5-hero h1{font-size:clamp(58px,8vw,112px);line-height:.86;letter-spacing:-.065em;font-weight:500;margin:0 0 24px;text-transform:uppercase}
.v5-hero p{font-size:18px;line-height:1.8;color:#5d6570;max-width:690px;margin:0}
.v5-hero-art{background:#FFCA28;border-radius:30px;min-height:410px;padding:28px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.v5-hero-art img{width:100%;height:100%;max-height:420px;object-fit:contain}
.v5-early-form{background:#FFCA28;padding:54px 24px 62px}
.v5-early-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:1fr 420px;gap:55px;align-items:center}
.v5-early-copy .v5-kicker{color:#111215}.v5-early-copy h2{font-size:clamp(38px,5vw,66px);font-weight:500;line-height:.98;letter-spacing:-.055em;margin:0 0 18px}.v5-early-copy p{max-width:650px;font-size:16px;line-height:1.8;color:rgba(17,18,21,.72)}
.v5-early-form .audit-card{box-shadow:0 18px 45px rgba(17,18,21,.12)}
.v5-section{padding:100px 24px}.v5-section.soft{background:#f7f7f8}.v5-section.dark{background:#111215;color:#fff}.v5-inner{max-width:1180px;margin:auto}
.v5-heading{max-width:820px;margin-bottom:55px}.v5-heading .v5-kicker{margin-bottom:16px}.v5-heading h2{font-size:clamp(38px,5vw,68px);font-weight:500;line-height:1;letter-spacing:-.055em;margin:0 0 20px}.v5-heading p{font-size:17px;line-height:1.85;color:#626a75;max-width:780px}.dark .v5-heading p{color:#b7bcc5}
.v5-taxonomy{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid rgba(0,0,0,.14)}
.v5-tax-item{padding:34px 30px 38px 0;border-bottom:1px solid rgba(0,0,0,.14);min-height:205px;display:grid;grid-template-columns:60px 1fr;gap:18px}.v5-tax-item:nth-child(even){padding-left:34px;border-left:1px solid rgba(0,0,0,.14)}
.v5-tax-no{font:700 12px 'Courier New',monospace;color:#1665FF;padding-top:5px}.v5-tax-item h3{font-size:28px;font-weight:600;letter-spacing:-.035em;margin:0 0 9px}.v5-tax-item p{font-size:14px;line-height:1.75;color:#68707b;margin:0}.v5-tax-tags{margin-top:16px;display:flex;gap:8px;flex-wrap:wrap}.v5-tax-tags span{font-size:10px;font-weight:800;padding:6px 9px;border-radius:99px;background:#eef2ff;color:#1665FF}
.v5-reading{max-width:900px}.v5-reading h2{font-size:clamp(35px,4.5vw,58px);font-weight:500;line-height:1.02;letter-spacing:-.05em;margin:0 0 24px}.v5-reading p{font-size:17px;line-height:1.9;color:#59616c;margin:0 0 20px}.v5-reading ul{margin:26px 0 0;padding:0;list-style:none;display:grid;gap:14px}.v5-reading li{font-size:15px;line-height:1.7;padding-left:32px;position:relative}.v5-reading li:before{content:'✓';position:absolute;left:0;top:2px;width:21px;height:21px;border-radius:50%;background:#1665FF;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800}
.v5-two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.v5-image{border-radius:28px;overflow:hidden;background:#f2f2f2;border:1px solid rgba(0,0,0,.08)}.v5-image img{display:block;width:100%;height:430px;object-fit:cover}
.v5-service-nav{background:#fff;border-bottom:1px solid #ddd;position:sticky;top:80px;z-index:30}.v5-service-nav .v5-inner{display:flex;gap:28px;overflow:auto;white-space:nowrap;padding:14px 24px}.v5-service-nav a{font-size:12px;font-weight:800;color:#626974}.v5-service-nav a:hover{color:#1665FF}
.v5-deliverables{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid rgba(0,0,0,.14)}.v5-deliverable{padding:28px 28px 30px 0;border-bottom:1px solid rgba(0,0,0,.14);display:grid;grid-template-columns:50px 1fr;gap:16px}.v5-deliverable:nth-child(even){padding-left:30px;border-left:1px solid rgba(0,0,0,.14)}.v5-deliverable .num{font:700 11px 'Courier New',monospace;color:#1665FF}.v5-deliverable h3{font-size:23px;font-weight:600;margin:0 0 8px}.v5-deliverable p{font-size:14px;line-height:1.75;color:#68707b;margin:0}
.v5-points{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.v5-point{padding:28px 0;border-top:2px solid #111}.v5-point .num{font:700 11px 'Courier New',monospace;color:#1665FF}.v5-point h3{font-size:24px;font-weight:600;margin:16px 0 9px}.v5-point p{font-size:14px;line-height:1.75;color:#69717c}
.v5-final{padding:100px 24px;background:#FFCA28}.v5-final-inner{max-width:1180px;margin:auto;display:flex;align-items:end;justify-content:space-between;gap:40px}.v5-final h2{font-size:clamp(42px,6vw,78px);font-weight:500;line-height:.95;letter-spacing:-.055em;margin:0}.v5-final p{max-width:570px;font-size:16px;line-height:1.8;color:rgba(17,18,21,.72)}.v5-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:12px;background:#1665FF;color:#fff;font-weight:800;white-space:nowrap}
@media(max-width:900px){.v5-hero-inner,.v5-early-grid,.v5-two-col{grid-template-columns:1fr}.v5-taxonomy,.v5-deliverables{grid-template-columns:1fr}.v5-tax-item:nth-child(even),.v5-deliverable:nth-child(even){padding-left:0;border-left:0}.v5-points{grid-template-columns:1fr 1fr}.v5-final-inner{align-items:start;flex-direction:column}.v5-service-nav{top:72px}}
@media(max-width:600px){.v5-hero{padding:58px 16px 48px}.v5-hero h1{font-size:52px}.v5-hero p{font-size:16px}.v5-hero-art{min-height:280px}.v5-early-form,.v5-section,.v5-final{padding-left:16px;padding-right:16px}.v5-early-grid{gap:30px}.v5-section{padding-top:70px;padding-bottom:70px}.v5-tax-item,.v5-deliverable{grid-template-columns:42px 1fr;padding:24px 0!important}.v5-points{grid-template-columns:1fr}.v5-image img{height:300px}.v5-final{padding-top:70px;padding-bottom:70px}}


/* SOURCE: solution-build-digital-foundation.html */
.v7-solution-section{padding:125px 24px;background:#fff}.v7-solution-section.soft{background:#f6f6f7}.v7-solution-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #d9d9dc}.v7-solution-grid>div{padding:34px 34px 38px 0;border-bottom:1px solid #d9d9dc}.v7-solution-grid>div:nth-child(even){padding-left:34px;border-left:1px solid #d9d9dc}.v7-solution-grid b{display:block;font-size:27px;font-weight:500;letter-spacing:-.035em;margin-bottom:10px}.v7-solution-grid p{font-size:15px;line-height:1.85;color:#656d77;margin:0}.v7-callout{background:#111215;color:#fff;border-radius:28px;padding:42px}.v7-callout span{font:700 10px 'Courier New',monospace;color:#FFCA28;letter-spacing:.16em}.v7-callout strong{display:block;font-size:clamp(30px,4vw,48px);line-height:1;letter-spacing:-.045em;font-weight:500;margin:22px 0}.v7-callout p{color:#b8bdc5;line-height:1.8}.v7-solution-section .v5-reading{max-width:none}.v7-solution-section .v5-reading h2{max-width:1120px}.v7-solution-section .v5-reading p{max-width:1050px}.v7-solution-section .v5-reading ul{max-width:900px}.v7-solution-section .v5-two-col{align-items:center}@media(max-width:700px){.v7-solution-section{padding:82px 16px}.v7-solution-grid{grid-template-columns:1fr}.v7-solution-grid>div,.v7-solution-grid>div:nth-child(even){padding:26px 0;border-left:0}.v7-callout{padding:30px}.v7-solution-section .v5-two-col{grid-template-columns:1fr}} 

/* SOURCE: solution-build-digital-foundation.html */

/* PHOTONIX SOLUTION V3 */
.inner-hero-space{height:390px}
.inner-hero-title{top:50%;bottom:auto;transform:translate(-50%,-50%);text-align:center;font-weight:600;letter-spacing:-.065em}
.hero-visual-wrap{margin:-70px auto 0}
.intro-copy{padding:110px 24px 85px}
.intro-copy h2{font-size:clamp(34px,4.5vw,58px);font-weight:500;line-height:1.08;letter-spacing:-.045em}
.intro-copy p{margin-top:28px;line-height:1.95}
.detail-section{padding:125px 24px}
.detail-grid{gap:90px}
.detail-copy h2{font-size:clamp(32px,4vw,54px);font-weight:500;line-height:1.06;letter-spacing:-.045em}
.detail-copy p{margin-top:25px;line-height:1.9}
.solution-cards{gap:24px;margin-top:55px}.solution-card{padding:32px}
.process-line{margin-top:55px}.process-step{padding:34px 28px 22px}
.metric-grid{margin-top:45px}.related-grid{margin-top:45px;gap:22px}
@media(max-width:600px){.inner-hero-space{height:270px}.inner-hero-title{font-size:44px}.hero-visual-wrap{margin-top:-45px}.intro-copy{padding:80px 16px 65px}.detail-section{padding:85px 16px}.detail-grid{gap:50px}.solution-cards{margin-top:40px}.process-line{margin-top:40px}}


/* SOURCE: solutions.html */

      /* Halftone dot pattern overlay matching slide 1 */
      .halftone-overlay {
        background-image: radial-gradient(rgba(0, 0, 0, 0.42) 1.5px, transparent 1.5px);
        background-size: 7px 7px;
      }

      /* Custom scrollbar */
      ::-webkit-scrollbar {
        width: 7px;
      }

      ::-webkit-scrollbar-track {
        background: #f1f1f1;
      }

      ::-webkit-scrollbar-thumb {
        background: #e2a800;
        border-radius: 9999px;
      }

      /* Floating micro animations */
      @keyframes floatGentle {

        0%,
        100% {
          transform: translateY(0px) rotate(0deg);
        }

        50% {
          transform: translateY(-8px) rotate(1.5deg);
        }
      }

      .animate-float {
        animation: floatGentle 5s ease-in-out infinite;
      }

      @keyframes pulseSoft {

        0%,
        100% {
          opacity: 1;
          transform: scale(1);
        }

        50% {
          opacity: 0.6;
          transform: scale(0.95);
        }
      }

      .animate-live-pulse {
        animation: pulseSoft 2s infinite ease-in-out;
      }

      /* Smooth stepper slide fade */
      .step-slide {
        transition: opacity 0.45s cubic-bezier(0.16, 1, 0.3, 1), transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
      }

      #heroStepperSection {
        min-height: 0 !important;
      }

      #heroStepperSection .step-content-wrap {
        min-height: 0 !important;
      }

      /* All desktop hero steps use one fixed visual frame.
       This prevents the Overview slide from becoming taller than the other steps. */
      #heroStepperSection .step-content-wrap {
        position: relative;
        height: 460px;
      }

      #heroStepperSection .step-slide {
        height: 460px;
        min-height: 460px;
        max-height: 460px;
        display: flex;
        align-items: center;
        overflow: hidden;
      }

      #heroStepperSection .step-slide>.grid {
        height: 460px;
        min-height: 460px;
        max-height: 460px;
        align-items: center;
      }

      #heroStepperSection #slide-0>div {
        height: 460px;
        min-height: 460px;
        max-height: 460px;
      }

      #heroStepperSection #slide-0 h1 {
        font-size: clamp(3rem, 5.2vw, 5.2rem);
        line-height: .92;
      }

      #heroStepperSection #slide-0 .mt-8 {
        margin-top: 1.25rem;
      }

      #heroStepperSection #slide-0 .mt-3 {
        margin-top: .55rem;
      }

      .step-slide.hidden-slide {
        opacity: 0;
        pointer-events: none;
        transform: translateY(12px) scale(0.99);
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
      }

      .step-slide.active-slide {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0) scale(1);
        position: relative;
      }

      @media (max-width: 767px) {

        .mega-menu-content,
        .dropdown-content {
          display: none !important;
        }

        #heroStepperSection .step-nav-btn {
          display: none;
        }

        #heroStepperSection .step-slide>div {
          width: 100%;
        }

        #heroStepperSection .grid {
          gap: 2rem;
        }

        #heroStepperSection h1 {
          font-size: clamp(2.35rem, 11vw, 4rem);
        }

        #heroStepperSection .step-content-wrap {
          height: auto;
        }

        #heroStepperSection .step-slide {
          overflow: visible;
          height: auto;
          min-height: 0;
          max-height: none;
        }

        #heroStepperSection .step-slide>.grid {
          height: auto;
          min-height: 0;
          max-height: none;
        }

        #heroStepperSection #slide-0>div {
          height: auto;
          min-height: 430px;
          max-height: none;
        }

        #heroStepperSection #slide-0 h1 {
          font-size: clamp(2.2rem, 10vw, 3.6rem);
        }

        /* Keep all content steps comfortably inside the viewport.
         The video stays edge-to-edge; the following three steps get breathing room. */
        #heroStepperSection #slide-1,
        #heroStepperSection #slide-2,
        #heroStepperSection #slide-3 {
          padding-left: 18px;
          padding-right: 18px;
          box-sizing: border-box;
        }

        #heroStepperSection #slide-1>.grid,
        #heroStepperSection #slide-2>.grid,
        #heroStepperSection #slide-3>.grid {
          width: 100%;
        }
      }

      /* Mega menu transitions */
      .mega-menu-content {
        opacity: 0;
        visibility: hidden;
        transform: translateY(10px);
        transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
      }

      .mega-menu-trigger:hover .mega-menu-content {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
      }

      /* Dropdown transitions */
      .dropdown-content {
        opacity: 0;
        visibility: hidden;
        transform: translateY(8px);
        transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
      }

      .dropdown-trigger:hover .dropdown-content {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
      }

      /* Case study: reveal the real background color only around the pointer. */
      #results .case-study-color-reveal {
        position: absolute;
        inset: 0;
        z-index: 1;
        pointer-events: none;
        opacity: 0;
        transition: opacity .2s ease;
        -webkit-mask-image: radial-gradient(circle 135px at var(--mx, 50%) var(--my, 50%), #000 0%, #000 58%, transparent 100%);
        mask-image: radial-gradient(circle 135px at var(--mx, 50%) var(--my, 50%), #000 0%, #000 58%, transparent 100%);
      }

      #results.case-study-hover .case-study-color-reveal {
        opacity: .95;
      }

      @media (max-width: 767px) {

        /* Keep the video hero edge-to-edge on mobile. */
        #heroStepperSection>.max-w-7xl {
          padding-left: 0 !important;
          padding-right: 0 !important;
        }

        #heroStepperSection #slide-0 {
          width: 100vw;
          margin-left: calc(50% - 50vw);
        }

        #heroStepperSection #slide-0>div {
          width: 100%;
          border-radius: 0 !important;
          box-shadow: none;
          padding-left: 14px;
          padding-right: 14px;
        }

        #heroStepperSection #slide-0 .relative.z-10 {
          width: 100%;
          max-width: none;
        }

        #heroStepperSection #slide-0 h1 {
          width: 100%;
          max-width: calc(100vw - 28px);
          font-size: clamp(2rem, 9vw, 3rem);
          line-height: .92;
          letter-spacing: -.045em;
          white-space: normal;
        }

        #heroStepperSection #slide-0 h1+p {
          margin-top: 1.1rem;
        }

        .industry-grid,
        .testimonial-track {
          display: flex !important;
          overflow-x: auto;
          scroll-snap-type: x mandatory;
          scrollbar-width: none;
          gap: 1rem;
          padding-bottom: 4px;
        }

        .industry-grid::-webkit-scrollbar,
        .testimonial-track::-webkit-scrollbar {
          display: none;
        }

        .industry-card,
        .testimonial-card {
          flex: 0 0 86%;
          scroll-snap-align: center;
        }

        .industry-card img {
          height: 190px;
        }

        .industry-dots,
        #testimonialDots {
          min-height: 8px;
        }

        .mobile-carousel-dot {
          width: 7px;
          height: 7px;
          border-radius: 9999px;
          background: rgba(17, 18, 21, .25);
          transition: all .2s;
        }

        .mobile-carousel-dot.active {
          width: 22px;
          background: #1665FF;
        }
      }
    

/* SOURCE: solutions.html */

      /* PHOTONIX INNER-PAGE SYSTEM */
      .inner-page {
        background: #fff;
        color: #111215
      }

      .inner-yellow {
        background: #FFCA28
      }

      .inner-blue {
        color: #1665FF
      }

      .inner-shell {
        max-width: 1280px;
        margin: auto;
        padding-left: 24px;
        padding-right: 24px
      }

      .inner-hero-space {
        height: 290px;
        background: #FFCA28;
        position: relative
      }

      .inner-hero-title {
        position: absolute;
        left: 50%;
        top: 40px;
        transform: translateX(-50%);
        width: min(1180px, calc(100% - 48px));
        font-size: clamp(54px, 8vw, 118px);
        line-height: .88;
        letter-spacing: -.07em;
        font-weight: 900;
        text-transform: uppercase;
        color: #111215
      }

      .hero-visual-wrap {
        max-width: 1216px;
        margin: -100px auto 0;
        padding: 0 24px;
        position: relative;
        z-index: 2
      }

      .hero-visual {
        border-radius: 0;
        overflow: hidden;
        /* background: #f3f3f3;
        border: 1px solid rgba(0, 0, 0, .08);
        box-shadow: 0 30px 70px rgba(17, 18, 21, .12) */
      }

      .hero-visual img {
        display: block;
        margin:0 auto;
        width: 100%;
        height: 400px;
        /* max-height: 600px; */
        object-fit: contain
      }

      .intro-copy {
        max-width: 850px;
        margin: 0 auto;
        text-align: center;
        padding: 82px 24px 55px
      }

      .intro-copy h2 {
        font-size: clamp(36px, 5vw, 66px);
        letter-spacing: -.055em;
        line-height: 1.02;
        font-weight: 800
      }

      .intro-copy p {
        font-size: 17px;
        line-height: 1.85;
        color: #555d68
      }

      .eyebrow2 {
        font: 700 11px/1.2 'Courier New', monospace;
        letter-spacing: .16em;
        text-transform: uppercase;
        color: #1665FF
      }

      .detail-section {
        padding: 95px 24px
      }

      .detail-inner {
        max-width: 1180px;
        margin: auto
      }

      .detail-dark {
        background: #111215;
        color: #fff
      }

      .detail-light {
        background: #f6f6f7
      }

      .detail-yellow {
        background: #FFCA28
      }

      .detail-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 70px;
        align-items: start
      }

      .detail-grid.reverse .detail-copy {
        order: 2
      }

      .detail-grid.reverse .detail-media {
        order: 1
      }

      .detail-copy h2 {
        font-size: clamp(34px, 4.4vw, 60px);
        letter-spacing: -.055em;
        line-height: .98
      }

      .detail-copy p {
        font-size: 16px;
        line-height: 1.8;
        color: #656b75
      }

      .detail-dark .detail-copy p {
        color: #b9bdc5
      }

      .detail-media {
        border-radius: 28px;
        overflow: hidden;
        background: #fff;
        border: 1px solid rgba(0, 0, 0, .1);
        min-height: 330px;
        display: flex;
        align-items: center;
        justify-content: center
      }

      .detail-media img {
        width: 100%;
        height: auto;
        display: block
      }

      .solution-cards {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 18px
      }

      .solution-card {
        border: 1px solid rgba(0, 0, 0, .1);
        border-radius: 24px;
        padding: 28px;
        background: #fff;
        transition: .25s
      }

      .solution-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 20px 45px rgba(0, 0, 0, .08)
      }

      .solution-card .num {
        font: 700 12px 'Courier New', monospace;
        color: #1665FF
      }

      .solution-card h3 {
        margin-top: 18px;
        font-size: 22px
      }

      .solution-card p {
        font-size: 14px;
        color: #717782;
        line-height: 1.7
      }

      .check-list {
        display: grid;
        gap: 12px;
        margin: 25px 0 0;
        padding: 0;
        list-style: none
      }

      .check-list li {
        display: flex;
        gap: 12px;
        align-items: flex-start;
        font-size: 14px;
        line-height: 1.55
      }

      .check-list li:before {
        content: '✓';
        width: 22px;
        height: 22px;
        border-radius: 50%;
        background: #1665FF;
        color: #fff;
        display: grid;
        place-items: center;
        flex: 0 0 22px;
        font-size: 11px;
        font-weight: 800
      }

      .process-line {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 0;
        border-top: 1px solid rgba(0, 0, 0, .15)
      }

      .process-step {
        padding: 28px 24px 10px;
        border-right: 1px solid rgba(0, 0, 0, .12)
      }

      .process-step:last-child {
        border-right: 0
      }

      .process-step .step-no {
        font: 700 11px 'Courier New', monospace;
        color: #1665FF
      }

      .process-step h3 {
        margin-top: 16px
      }

      .process-step p {
        font-size: 13px;
        color: #707782;
        line-height: 1.65
      }

      .metric-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 1px;
        background: #ddd
      }

      .metric {
        background: #fff;
        padding: 30px
      }

      .metric strong {
        display: block;
        font-size: 42px;
        letter-spacing: -.06em
      }

      .metric span {
        font-size: 12px;
        color: #747a84
      }

      .faq-page {
        max-width: 920px;
        margin: auto
      }

      .faq-page details {
        padding: 26px 0;
        border-bottom: 1px solid rgba(0, 0, 0, .12)
      }

      .faq-page summary {
        font-weight: 800;
        font-size: 18px;
        cursor: pointer
      }

      .faq-page p {
        color: #69717c;
        line-height: 1.75;
        margin: 15px 0 0
      }

      .same-form {
        background: #FFCA28;
        padding: 90px 24px
      }

      .same-form-grid {
        max-width: 1280px;
        margin: auto;
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 32px;
        align-items: center
      }

      .same-form h2 {
        font-size: clamp(44px, 6vw, 78px);
        font-weight: 900;
        line-height: .95;
        text-transform: uppercase;
        letter-spacing: -.055em
      }

      .audit-card {
        background: #fff;
        padding: 28px;
        border-radius: 28px;
        box-shadow: 0 25px 70px rgba(0, 0, 0, .12)
      }

      .audit-card input,
      .audit-card select {
        width: 100%;
        padding: 12px 14px;
        border: 1px solid #ddd;
        border-radius: 12px;
        font-size: 14px
      }

      .audit-card label {
        display: block;
        font-size: 11px;
        font-weight: 700;
        color: #555;
        margin: 0 0 7px
      }

      .audit-field {
        margin-bottom: 15px
      }

      .audit-btn {
        width: 100%;
        padding: 13px;
        border: 0;
        border-radius: 12px;
        background: #1665FF;
        color: #fff;
        font-weight: 800
      }

      .service-hero {
        background: #111215;
        color: #fff;
        padding: 95px 24px 85px
      }

      .service-hero-grid {
        max-width: 1180px;
        margin: auto;
        display: grid;
        grid-template-columns: 1.05fr .95fr;
        gap: 70px;
        align-items: center
      }

      .service-hero h1 {
        font-size: clamp(52px, 7vw, 96px);
        line-height: .9;
        letter-spacing: -.065em
      }

      .service-hero p {
        font-size: 18px;
        color: #b9bec7;
        max-width: 640px;
        line-height: 1.75
      }

      .service-art {
        background: #FFCA28;
        border-radius: 30px;
        padding: 18px;
        min-height: 430px;
        display: flex;
        align-items: center;
        justify-content: center
      }

      .service-art img {
        width: 100%;
        max-height: 470px;
        object-fit: contain
      }

      .service-subnav {
        background: #fff;
        border-bottom: 1px solid #ddd;
        position: sticky;
        top: 80px;
        z-index: 30
      }

      .service-subnav .inner-shell {
        display: flex;
        gap: 24px;
        overflow: auto;
        white-space: nowrap;
        padding-top: 14px;
        padding-bottom: 14px
      }

      .service-subnav a {
        font-size: 12px;
        font-weight: 800;
        color: #626974
      }

      .service-subnav a:hover {
        color: #1665FF
      }

      .service-feature {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px
      }

      .service-feature .box {
        padding: 30px;
        border-radius: 24px;
        background: #f5f5f7;
        border: 1px solid #e4e4e6
      }

      .service-feature .box h3 {
        font-size: 22px
      }

      .service-feature .box p {
        font-size: 14px;
        color: #6e7480;
        line-height: 1.7
      }

      .service-feature .box span {
        font: 700 11px 'Courier New', monospace;
        color: #1665FF
      }

      .blog-hero {
        padding: 90px 24px 65px;
        background: #111215;
        color: #fff
      }

      .blog-hero-inner {
        max-width: 1180px;
        margin: auto
      }

      .blog-hero h1 {
        font-size: clamp(55px, 8vw, 115px);
        line-height: .88;
        letter-spacing: -.07em
      }

      .blog-grid {
        max-width: 1180px;
        margin: auto;
        display: grid;
        grid-template-columns: 1.4fr 1fr 1fr;
        gap: 20px
      }

      .post-card {
        border: 1px solid #ddd;
        border-radius: 24px;
        overflow: hidden;
        background: #fff
      }

      .post-card.featured {
        grid-row: span 2
      }

      .post-image {
        height: 210px;
        background: #eee;
        overflow: hidden
      }

      .featured .post-image {
        height: 340px
      }

      .post-image img {
        width: 100%;
        height: 100%;
        object-fit: cover
      }

      .post-body {
        padding: 25px
      }

      .post-meta {
        font: 700 10px 'Courier New', monospace;
        color: #1665FF;
        letter-spacing: .12em
      }

      .post-body h3 {
        font-size: 24px;
        margin: 12px 0
      }

      .post-body p {
        font-size: 13px;
        color: #707782;
        line-height: 1.7
      }

      .blog-detail-hero {
        background: #111215;
        color: #fff;
        padding: 100px 24px 70px
      }

      .blog-detail-inner {
        max-width: 980px;
        margin: auto
      }

      .blog-detail-inner h1 {
        font-size: clamp(48px, 7vw, 92px);
        line-height: .92;
        letter-spacing: -.065em
      }

      .article {
        max-width: 820px;
        margin: auto;
        padding: 80px 24px
      }

      .article p {
        font-size: 17px;
        line-height: 1.9;
        color: #515963
      }

      .article h2 {
        font-size: 38px;
        margin-top: 60px
      }

      .article ul {
        line-height: 1.9;
        color: #515963
      }

      .article-callout {
        background: #FFCA28;
        border-radius: 24px;
        padding: 28px;
        margin: 40px 0
      }

      .about-hero {
        background: #FFCA28;
        padding: 110px 24px
      }

      .about-hero-inner {
        max-width: 1180px;
        margin: auto
      }

      .about-hero h1 {
        font-size: clamp(60px, 9vw, 125px);
        line-height: .86
      }

      .testimonial-wall {
        max-width: 1180px;
        margin: auto;
        columns: 3 280px;
        column-gap: 20px
      }

      .testimonial-card {
        break-inside: avoid;
        margin-bottom: 20px;
        padding: 28px;
        border-radius: 24px;
        background: #f5f5f7
      }

      .testimonial-card:nth-child(2n) {
        background: #FFCA28
      }

      .testimonial-card p {
        font-size: 17px;
        line-height: 1.55
      }

      .testimonial-card small {
        font-weight: 800
      }

      .faq-hero {
        padding: 95px 24px;
        background: #f5f5f7
      }

      .faq-hero-inner {
        max-width: 900px;
        margin: auto;
        text-align: center
      }

      .faq-hero h1 {
        font-size: clamp(55px, 8vw, 105px);
        line-height: .9
      }

      .case-grid {
        max-width: 1180px;
        margin: auto;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 24px
      }

      .case-card {
        border-radius: 28px;
        padding: 34px;
        background: #111215;
        color: #fff;
        min-height: 360px;
        display: flex;
        flex-direction: column;
        justify-content: space-between
      }

      .case-card.yellow {
        background: #FFCA28;
        color: #111215
      }

      .case-card p {
        color: #bbb;
        line-height: 1.75
      }

      .case-card.yellow p {
        color: #34363a
      }

      .case-card a {
        font-weight: 800;
        color: #1665FF
      }

      .related-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 18px
      }

      .related-grid a {
        padding: 24px;
        border: 1px solid #ddd;
        border-radius: 22px;
        font-weight: 800
      }

      .related-grid a:hover {
        border-color: #1665FF
      }

      .mini-image {
        border-radius: 24px;
        overflow: hidden;
        background: #eee
      }

      .mini-image img {
        display: block;
        width: 100%;
        height: 330px;
        object-fit: cover
      }

      @media(max-width:900px) {
        .inner-hero-space {
          height: 310px
        }

        .inner-hero-title {
          font-size: 54px;
          bottom: 34px
        }

        .detail-grid,
        .service-hero-grid,
        .same-form-grid {
          grid-template-columns: 1fr
        }

        .detail-grid.reverse .detail-copy,
        .detail-grid.reverse .detail-media {
          order: initial
        }

        .solution-cards,
        .service-feature,
        .related-grid,
        .case-grid {
          grid-template-columns: 1fr 1fr
        }

        .process-line {
          grid-template-columns: 1fr 1fr
        }

        .process-step:nth-child(2) {
          border-right: 0
        }

        .service-subnav {
          top: 72px
        }

        .blog-grid {
          grid-template-columns: 1fr 1fr
        }

        .featured {
          grid-column: span 2
        }
      }

      @media(max-width:600px) {
        .inner-shell {
          padding-left: 16px;
          padding-right: 16px
        }

        .inner-hero-space {
          height: 250px
        }

        .inner-hero-title {
          font-size: 44px;
          width: calc(100% - 32px);
          bottom: 25px
        }

        .hero-visual-wrap {
          margin-top: -55px;
          padding: 0 16px
        }

        .intro-copy {
          padding: 60px 16px 40px
        }

        .detail-section {
          padding: 65px 16px
        }

        .solution-cards,
        .service-feature,
        .related-grid,
        .case-grid,
        .blog-grid {
          grid-template-columns: 1fr
        }

        .featured {
          grid-column: auto
        }

        .process-line {
          grid-template-columns: 1fr
        }

        .process-step {
          border-right: 0;
          border-bottom: 1px solid #ddd
        }

        .process-step:last-child {
          border-bottom: 0
        }

        .metric-grid {
          grid-template-columns: 1fr 1fr
        }

        .metric strong {
          font-size: 32px
        }

        .service-hero {
          padding: 65px 16px
        }

        .service-hero h1 {
          font-size: 56px
        }

        .service-subnav .inner-shell {
          padding-left: 16px
        }

        .blog-hero,
        .blog-detail-hero,
        .faq-hero,
        .about-hero {
          padding-left: 16px;
          padding-right: 16px
        }

        .blog-hero h1,
        .blog-detail-inner h1,
        .faq-hero h1,
        .about-hero h1 {
          font-size: 52px
        }

        .article {
          padding: 60px 16px
        }

        .same-form {
          padding: 65px 16px
        }

        .same-form h2 {
          font-size: 48px
        }

        .audit-card {
          padding: 22px
        }

        .post-image,
        .featured .post-image {
          height: 230px
        }
      }
    

/* SOURCE: solutions.html */

      .service-page-v3 .service-hero {
        background: #fff !important;
        color: #111215 !important;
        border-bottom: 1px solid rgba(0, 0, 0, .06);
        padding: 110px 24px 95px !important
      }

      .service-page-v3 .service-hero p {
        color: #646b75 !important
      }

      .service-page-v3 .service-hero .btn:not(.btn-yellow) {
        border-color: rgba(0, 0, 0, .14) !important;
        color: #111215 !important
      }

      .service-page-v3 .service-hero .eyebrow2 {
        color: #1665FF !important
      }

      .service-page-v3 .service-reading {
        max-width: 1220px !important
      }

      .service-page-v3 .service-reading h2 {
        font-weight: 500 !important;
        letter-spacing: -.045em
      }

      .service-page-v3 .service-content-block {
        padding-top: 135px !important;
        padding-bottom: 135px !important
      }

      .service-page-v3 .service-work-list {
        margin-top: 65px
      }

      .service-page-v3 .service-why {
        background: #f6f6f7
      }

      .service-reading-wide {
        max-width: 1220px !important
      }

      .service-why-grid {
        display: grid;
        grid-template-columns: 1.15fr .85fr;
        gap: 80px;
        align-items: center
      }

      .service-why-grid h2 {
        font-size: clamp(38px, 4.5vw, 64px)
      }

      .service-image-panel {
        background: #FFCA28;
        border-radius: 30px;
        padding: 30px;
        min-height: 360px;
        display: flex;
        align-items: center;
        justify-content: center
      }

      .service-image-panel img {
        width: 100%;
        max-height: 360px;
        object-fit: contain
      }

      .service-visual-break {
        background: #111215;
        color: #fff;
        padding: 110px 24px
      }

      .service-visual-break-inner {
        max-width: 1220px;
        margin: auto;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 80px;
        align-items: center
      }

      .service-visual-copy h2 {
        font-size: clamp(38px, 4.5vw, 64px);
        font-weight: 500;
        letter-spacing: -.045em
      }

      .service-visual-copy p {
        color: #b8bec7;
        font-size: 17px;
        line-height: 1.85;
        max-width: 650px
      }

      .service-visual-art {
        background: #FFCA28;
        border-radius: 30px;
        padding: 35px;
        min-height: 380px;
        display: flex;
        align-items: center;
        justify-content: center
      }

      .service-visual-art img {
        width: 100%;
        max-height: 370px;
        object-fit: contain
      }

      @media(max-width:800px) {

        .service-why-grid,
        .service-visual-break-inner {
          grid-template-columns: 1fr;
          gap: 45px
        }

        .service-page-v3 .service-content-block {
          padding-top: 90px !important;
          padding-bottom: 90px !important
        }

        .service-page-v3 .service-hero {
          padding: 75px 16px 65px !important
        }

        .service-image-panel,
        .service-visual-art {
          min-height: 260px
        }

        .service-visual-break {
          padding: 80px 16px
        }
      }
    

/* SOURCE: solutions.html */

      @media(max-width:600px) {
        body {
          overflow-x: hidden !important
        }

        .inner-shell,
        .v5-inner {
          width: calc(100% - 32px) !important;
          max-width: none !important
        }

        .detail-section,
        .v5-section {
          padding-left: 16px !important;
          padding-right: 16px !important
        }

        .detail-grid,
        .service-why-grid,
        .service-visual-break-inner,
        .same-form-grid {
          grid-template-columns: 1fr !important;
          gap: 38px !important
        }

        .solution-cards,
        .service-feature {
          grid-template-columns: 1fr !important
        }

        .same-form-grid h2 {
          font-size: 44px !important
        }

        .audit-card {
          width: 100% !important
        }

        .v5-taxonomy {
          grid-template-columns: 1fr !important
        }

        .v5-tax-item {
          min-height: 0 !important;
          padding: 24px !important
        }

        .v5-tax-item .quote-trigger {
          margin-top: 24px !important
        }

        .v5-section h2 {
          font-size: 34px !important
        }

        .v5-section p {
          font-size: 15px !important;
          line-height: 1.8 !important
        }

        .service-subnav {
          top: 72px !important
        }

        .service-subnav .v5-inner {
          width: 100% !important;
          padding-left: 16px !important;
          padding-right: 16px !important
        }

        .service-subnav a {
          font-size: 11px !important
        }

        .inner-hero-title {
          white-space: normal !important
        }

        .blog-detail-layout {
          grid-template-columns: 1fr !important
        }

        .article-sidebar-v7 {
          padding: 0 16px 60px !important
        }

        .article {
          padding-left: 16px !important;
          padding-right: 16px !important
        }

        .related-post-v7 {
          display: grid !important;
          grid-template-columns: 80px 1fr !important;
          gap: 12px !important
        }

        .related-post-v7 img {
          width: 80px !important;
          height: 62px !important
        }

        .industry-page .detail-inner {
          width: calc(100% - 32px) !important
        }

        .industry-page .solution-card {
          margin: 0 !important
        }

        .work-gallery-v8 {
          width: 100% !important
        }

        .work-gallery-v8 a {
          min-height: 250px !important
        }

        .privacy-v8 {
          width: calc(100% - 32px) !important
        }
      }
    

/* SOURCE: solutions.html */

      .solution-v5 .v5-deliverable:after {
        display: none !important;
        content: none !important
      }

      .service-v5 .v5-tax-item:after,
      .service-page-v3 .v5-tax-item:after {
        display: none !important;
        content: none !important
      }

      .service-v5 .v5-tax-item .quote-trigger {
        margin-top: 30px !important
      }

      @media(max-width:600px) {

        .solution-v5 .v5-deliverable:after,
        .service-v5 .v5-tax-item:after {
          display: none !important
        }

        .v5-tax-item .quote-trigger {
          margin-top: 26px !important
        }
      }
    

/* SOURCE: solutions.html */

    /* PHOTONIX V3 SPACING + SERVICE SYSTEM */
    .service-content-block {
      padding: 125px 24px;
      background: #fff
    }

    .service-reading {
      max-width: 1040px;
      margin: 0 auto
    }

    .service-reading h2 {
      font-size: clamp(34px, 4.2vw, 58px);
      line-height: 1.08;
      letter-spacing: -.045em;
      font-weight: 500;
      margin-top: 16px;
      max-width: 900px
    }

    .service-reading>p {
      font-size: 17px;
      line-height: 1.95;
      color: #5f6670;
      max-width: 850px;
      margin-top: 30px
    }

    .service-soft {
      background: #f6f6f7
    }

    .service-dark-block {
      background: #111215;
      color: #fff
    }

    .service-dark-block .service-reading>p {
      color: #b9bec7
    }

    .service-bullets {
      margin: 38px 0 0;
      padding: 0;
      list-style: none;
      display: grid;
      gap: 18px;
      max-width: 850px
    }

    .service-bullets li {
      font-size: 16px;
      line-height: 1.7;
      padding-left: 30px;
      position: relative;
      color: #454b54
    }

    .service-dark-block .service-bullets li {
      color: #d0d3d8
    }

    .service-bullets li:before {
      content: '→';
      position: absolute;
      left: 0;
      top: 0;
      color: #1665FF;
      font-weight: 800
    }

    .service-work-list {
      margin-top: 65px;
      border-top: 1px solid rgba(0, 0, 0, .12)
    }

    .service-work-item {
      display: grid;
      grid-template-columns: 90px 1fr;
      gap: 35px;
      padding: 34px 0;
      border-bottom: 1px solid rgba(0, 0, 0, .12)
    }

    .service-work-index {
      font: 700 12px 'Courier New', monospace;
      color: #1665FF;
      padding-top: 6px
    }

    .service-work-item h3 {
      font-size: 25px;
      font-weight: 600;
      letter-spacing: -.02em
    }

    .service-work-item p {
      margin-top: 10px;
      font-size: 15px;
      line-height: 1.85;
      color: #68707b;
      max-width: 760px
    }

    .service-process-list {
      margin-top: 60px;
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      border-top: 1px solid rgba(255, 255, 255, .2)
    }

    .service-process-item {
      padding: 30px 22px;
      border-right: 1px solid rgba(255, 255, 255, .14)
    }

    .service-process-item:last-child {
      border-right: 0
    }

    .service-process-item span {
      font: 700 11px 'Courier New', monospace;
      color: #FFCA28
    }

    .service-process-item h3 {
      margin-top: 24px;
      font-size: 18px;
      font-weight: 600
    }

    .service-process-item p {
      margin-top: 9px;
      font-size: 13px;
      line-height: 1.7;
      color: #b8bec7
    }

    .split-reading {
      display: grid;
      grid-template-columns: 1.1fr .9fr;
      gap: 100px;
      align-items: start
    }

    .deliver-list {
      margin-top: 45px
    }

    .service-related-list {
      margin-top: 60px;
      border-top: 1px solid rgba(0, 0, 0, .12)
    }

    .service-related-list a {
      display: flex;
      justify-content: space-between;
      gap: 20px;
      padding: 24px 0;
      border-bottom: 1px solid rgba(0, 0, 0, .12);
      text-decoration: none;
      color: #111215
    }

    .service-related-list a span {
      font-size: 18px;
      font-weight: 600
    }

    .service-related-list a b {
      font-size: 12px;
      color: #1665FF
    }

    .service-page-v3 .service-hero {
      padding: 110px 24px 95px
    }

    .service-page-v3 .service-hero h1 {
      font-weight: 550
    }

    .service-page-v3 .service-hero p {
      margin-top: 25px
    }

    .service-page-v3 .service-art {
      min-height: 390px
    }

    @media(max-width:900px) {
      .service-process-list {
        grid-template-columns: 1fr 1fr
      }

      .service-process-item:nth-child(2) {
        border-right: 0
      }

      .split-reading {
        grid-template-columns: 1fr;
        gap: 50px
      }
    }

    @media(max-width:600px) {
      .service-content-block {
        padding: 85px 16px
      }

      .service-reading h2 {
        font-size: 35px
      }

      .service-work-list {
        margin-top: 40px
      }

      .service-work-item {
        grid-template-columns: 42px 1fr;
        gap: 15px;
        padding: 28px 0
      }

      .service-work-item h3 {
        font-size: 21px
      }

      .service-process-list {
        grid-template-columns: 1fr
      }

      .service-process-item {
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .14)
      }

      .service-process-item:last-child {
        border-bottom: 0
      }

      .service-page-v3 .service-hero {
        padding: 70px 16px 65px
      }
    }
  

/* SOURCE: testimonials.html */
.test-v7{background:#fff;color:#111215}.test-v7-inner{width:min(1180px,calc(100% - 48px));margin:auto}.test-v7-hero{background:#FFCA28;padding:115px 0 90px}.test-v7-hero h1{font-size:clamp(58px,8vw,116px);font-weight:500;line-height:.88;letter-spacing:-.065em;max-width:1150px;margin:18px 0 28px}.test-v7-hero p{font-size:18px;line-height:1.85;max-width:720px}.test-v7-text{padding:110px 0}.test-v7-wall{columns:2 360px;column-gap:22px}.test-v7-wall blockquote{break-inside:avoid;margin:0 0 22px;padding:34px;border-radius:26px;background:#f5f5f7}.test-v7-wall blockquote:nth-child(2n){background:#111215;color:#fff}.test-v7-wall p{font-size:21px;line-height:1.45;letter-spacing:-.02em;margin:0 0 25px}.test-v7-wall footer{font-size:11px;font-weight:800;opacity:.65}.test-v7-video{background:#f6f6f7;padding:110px 0 130px}.test-v7-video h2{font-size:clamp(42px,5vw,72px);font-weight:500;line-height:1;letter-spacing:-.055em;margin:18px 0 50px}.test-v7-videos{display:grid;grid-template-columns:1fr 1fr;gap:24px}.test-v7-videos>div{background:#fff;border-radius:26px;overflow:hidden;border:1px solid #ddd}.test-v7-videos video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#111}.test-v7-videos p{padding:20px 22px;font-size:14px;color:#59616c}@media(max-width:700px){.test-v7-inner{width:calc(100% - 32px)}.test-v7-hero{padding:80px 0 65px}.test-v7-hero h1{font-size:52px}.test-v7-text,.test-v7-video{padding:80px 0}.test-v7-videos{grid-template-columns:1fr}}

/* SOURCE: testimonials.html */
.testimonial-page-grid-v8{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.testimonial-page-card-v8{height:100%;min-height:500px;border:1px solid rgba(0,0,0,.09);border-radius:26px;background:#fff;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 18px 45px rgba(17,18,21,.06);transition:transform .3s ease,box-shadow .3s ease}.testimonial-page-card-v8:hover{transform:translateY(-6px);box-shadow:0 28px 65px rgba(17,18,21,.1)}.tp-media{height:245px;position:relative;background:#111215;overflow:hidden}.tp-media img{width:100%;height:100%;object-fit:cover;display:block}.tp-badge{position:absolute;left:18px;top:18px;padding:7px 9px;border-radius:999px;background:#fff;color:#111215;font:700 9px 'Courier New',monospace;letter-spacing:.1em}.tp-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;background:#FFCA28;color:#111215;display:grid;place-items:center;font-weight:900}.tp-copy{padding:28px;display:flex;flex-direction:column;flex:1}.tp-copy p{font-size:20px;line-height:1.45;letter-spacing:-.025em;margin:18px 0 25px;color:#22262d}.tp-copy small{margin-top:auto;font-size:11px;color:#737985;font-weight:700}@media(max-width:900px){.testimonial-page-grid-v8{grid-template-columns:1fr 1fr}}@media(max-width:600px){.testimonial-page-grid-v8{grid-template-columns:1fr}.testimonial-page-card-v8{min-height:0}.tp-media{height:230px}}

/* SOURCE: about.html */
.about-v7{background:#fff;color:#111215}.about-v7-inner{width:min(1320px,calc(100% - 48px));margin:auto}.about-v7-hero{background:#FFCA28;padding:115px 0 95px}.about-v7-hero h1{font-size:clamp(58px,8vw,120px);font-weight:500;line-height:.9;letter-spacing:-.065em;max-width:1180px;margin:18px 0 25px}.about-v7-hero p{max-width:900px;font-size:18px;line-height:1.85}.about-v7-video{width:100%;background:#111;padding:0}.about-v7-video video{display:block;width:100%;height:min(72vh,760px);object-fit:cover}.about-v7-story{padding:125px 0 145px}.about-v7-story h2{font-size:clamp(42px,5vw,76px);font-weight:500;line-height:.98;letter-spacing:-.055em;max-width:1150px;margin:18px 0 55px}.about-v7-copy{max-width:1050px}.about-v7-copy p{font-size:18px;line-height:1.95;color:#555e68;margin:0 0 28px}.about-v7-principles{margin-top:80px;border-top:1px solid #ddd;display:grid;grid-template-columns:repeat(3,1fr)}.about-v7-principles>div{padding:28px 28px 0 0;border-right:1px solid #ddd}.about-v7-principles>div+div{padding-left:28px}.about-v7-principles>div:last-child{border-right:0}.about-v7-principles span{font:700 11px 'Courier New',monospace;color:#1665FF}.about-v7-principles b{display:block;font-size:24px;font-weight:500;margin:18px 0 8px}.about-v7-principles p{font-size:14px;line-height:1.8;color:#68707b}@media(max-width:700px){.about-v7-inner{width:calc(100% - 32px)}.about-v7-hero{padding:80px 0 65px}.about-v7-hero h1{font-size:52px}.about-v7-story{padding:80px 0 90px}.about-v7-principles{grid-template-columns:1fr}.about-v7-principles>div,.about-v7-principles>div+div{padding:24px 0;border-right:0;border-bottom:1px solid #ddd}.about-v7-principles>div:last-child{border-bottom:0}.about-v7-video video{height:55vh}}

/* SOURCE: contact.html */
.contact-details-v7,.contact-info-row{display:grid!important;grid-template-columns:1.25fr 1fr 1.6fr!important;gap:18px!important}.contact-details-v7>*,.contact-info-row>*{min-width:0}.contact-details-v7 a,.contact-info-row a{white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;font-size:clamp(16px,1.8vw,22px)!important}.contact-details-v7 p,.contact-info-row p{font-size:14px!important;line-height:1.7!important}@media(max-width:850px){.contact-details-v7,.contact-info-row{grid-template-columns:1fr!important}.contact-details-v7 a,.contact-info-row a{white-space:normal!important}}

/* SOURCE: contact.html */
.contact-detail-cards{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1.5fr)!important;gap:18px!important}.contact-detail-card{min-width:0!important}.contact-detail-card h3{font-size:clamp(18px,1.7vw,24px)!important;font-weight:500!important;letter-spacing:-.025em!important;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important}.phone-card h3{white-space:normal!important}.phone-card h3 br{display:block}.email-card h3{white-space:nowrap!important}.address-card h3{white-space:normal!important}@media(max-width:850px){.contact-detail-cards{grid-template-columns:1fr!important}.email-card h3{white-space:nowrap!important;font-size:18px!important}.phone-card h3{white-space:normal!important}}

/* SOURCE: contact.html */

/* V10 — contact details use the full row; no legacy 1fr 1fr grid */
.contact-page-v9 .detail-grid{display:block!important;grid-template-columns:none!important}
.contact-page-v9 .contact-detail-cards{display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.45fr)!important;width:100%!important}
.contact-page-v9 .contact-detail-card{min-width:0!important}
.contact-page-v9 .contact-detail-card h3{word-break:normal!important;overflow-wrap:normal!important}
.contact-page-v9 .email-card h3{white-space:nowrap!important}
.contact-page-v9 .phone-card h3{white-space:normal!important}
.contact-page-v9 .phone-card h3 span{white-space:nowrap!important;display:inline-block!important}
@media(max-width:850px){
  .contact-page-v9 .contact-detail-cards{grid-template-columns:1fr!important}
  .contact-page-v9 .email-card h3{white-space:nowrap!important;font-size:19px!important}
}


/* SOURCE: index.html */

    /* Halftone dot pattern overlay matching slide 1 */
    .halftone-overlay {
      background-image: radial-gradient(rgba(0, 0, 0, 0.42) 1.5px, transparent 1.5px);
      background-size: 7px 7px;
    }

    /* Custom scrollbar */
    ::-webkit-scrollbar {
      width: 7px;
    }

    ::-webkit-scrollbar-track {
      background: #f1f1f1;
    }

    ::-webkit-scrollbar-thumb {
      background: #e2a800;
      border-radius: 9999px;
    }

    /* Floating micro animations */
    @keyframes floatGentle {

      0%,
      100% {
        transform: translateY(0px) rotate(0deg);
      }

      50% {
        transform: translateY(-8px) rotate(1.5deg);
      }
    }

    .animate-float {
      animation: floatGentle 5s ease-in-out infinite;
    }

    @keyframes pulseSoft {

      0%,
      100% {
        opacity: 1;
        transform: scale(1);
      }

      50% {
        opacity: 0.6;
        transform: scale(0.95);
      }
    }

    .animate-live-pulse {
      animation: pulseSoft 2s infinite ease-in-out;
    }

    /* Smooth stepper slide fade */
    .step-slide {
      transition: opacity 0.45s cubic-bezier(0.16, 1, 0.3, 1), transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    }

    #heroStepperSection {
      min-height: 0 !important;
    }

    #heroStepperSection .step-content-wrap {
      min-height: 0 !important;
    }

    /* All desktop hero steps use one fixed visual frame.
       This prevents the Overview slide from becoming taller than the other steps. */
    #heroStepperSection .step-content-wrap {
      position: relative;
      height: 460px;
    }

    #heroStepperSection .step-slide {
      height: 460px;
      min-height: 460px;
      max-height: 460px;
      display: flex;
      align-items: center;
      overflow: hidden;
    }

    #heroStepperSection .step-slide>.grid {
      height: 460px;
      min-height: 460px;
      max-height: 460px;
      align-items: center;
    }

    #heroStepperSection #slide-0>div {
      height: 460px;
      min-height: 460px;
      max-height: 460px;
    }

    #heroStepperSection #slide-0 h1 {
      font-size: clamp(3rem, 5.2vw, 5.2rem);
      line-height: .92;
    }

    #heroStepperSection #slide-0 .mt-8 {
      margin-top: 1.25rem;
    }

    #heroStepperSection #slide-0 .mt-3 {
      margin-top: .55rem;
    }

    .step-slide.hidden-slide {
      opacity: 0;
      pointer-events: none;
      transform: translateY(12px) scale(0.99);
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
    }

    .step-slide.active-slide {
      opacity: 1;
      pointer-events: auto;
      transform: translateY(0) scale(1);
      position: relative;
    }

    @media (max-width: 767px) {

      .mega-menu-content,
      .dropdown-content {
        display: none !important;
      }

      #heroStepperSection .step-nav-btn {
        display: none;
      }

      #heroStepperSection .step-content-wrap {
        position: relative;
        height: 500px !important;
        min-height: 500px !important;
      }

      #heroStepperSection .step-slide {
        height: 500px !important;
        min-height: 500px !important;
        max-height: 500px !important;
        overflow: hidden !important;
        display: flex;
        align-items: center;
      }

      #heroStepperSection .step-slide>.grid {
        height: 500px !important;
        min-height: 500px !important;
        max-height: 500px !important;
        align-items: center;
      }

      #heroStepperSection .step-slide>div {
        width: 100%;
        height: 500px !important;
        min-height: 500px !important;
        max-height: 500px !important;
      }

      #heroStepperSection #slide-0>div {
        height: 500px !important;
        min-height: 500px !important;
        max-height: 500px !important;
      }

      #heroStepperSection #slide-1,
      #heroStepperSection #slide-2,
      #heroStepperSection #slide-3 {
        padding-left: 18px;
        padding-right: 18px;
        box-sizing: border-box;
      }

      #heroStepperSection #slide-1>.grid,
      #heroStepperSection #slide-2>.grid,
      #heroStepperSection #slide-3>.grid {
        width: 100%;
      }

      #heroStepperSection .mobile-dot {
        margin-top: 0;
      }
    }

    /* Mega menu transitions */
    .mega-menu-content {
      opacity: 0;
      visibility: hidden;
      transform: translateY(10px);
      transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .mega-menu-trigger:hover .mega-menu-content {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }

    /* Dropdown transitions */
    .dropdown-content {
      opacity: 0;
      visibility: hidden;
      transform: translateY(8px);
      transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .dropdown-trigger:hover .dropdown-content {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }

    /* Case study: reveal the real background color only around the pointer. */
    #results .case-study-color-reveal {
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      opacity: 0;
      transition: opacity .2s ease;
      -webkit-mask-image: radial-gradient(circle 135px at var(--mx, 50%) var(--my, 50%), #000 0%, #000 58%, transparent 100%);
      mask-image: radial-gradient(circle 135px at var(--mx, 50%) var(--my, 50%), #000 0%, #000 58%, transparent 100%);
    }

    #results.case-study-hover .case-study-color-reveal {
      opacity: .95;
    }

    @media (max-width: 767px) {

      /* Keep the video hero edge-to-edge on mobile. */
      #heroStepperSection>.max-w-7xl {
        padding-left: 0 !important;
        padding-right: 0 !important;
      }

      #heroStepperSection #slide-0 {
        width: 100vw;
        margin-left: calc(50% - 50vw);
      }

      #heroStepperSection #slide-0>div {
        width: 100%;
        border-radius: 0 !important;
        box-shadow: none;
        padding-left: 14px;
        padding-right: 14px;
      }

      #heroStepperSection #slide-0 .relative.z-10 {
        width: 100%;
        max-width: none;
      }

      #heroStepperSection #slide-0 h1 {
        width: 100%;
        max-width: calc(100vw - 28px);
        font-size: clamp(2rem, 9vw, 3rem);
        line-height: .92;
        letter-spacing: -.045em;
        white-space: normal;
      }

      #heroStepperSection #slide-0 h1+p {
        margin-top: 1.1rem;
      }

      .industry-grid,
      .testimonial-track {
        display: flex !important;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        gap: 1rem;
        padding-bottom: 4px;
      }

      .industry-grid::-webkit-scrollbar,
      .testimonial-track::-webkit-scrollbar {
        display: none;
      }

      .industry-card,
      .testimonial-card {
        flex: 0 0 86%;
        scroll-snap-align: center;
      }

      .industry-card img {
        height: 190px;
      }

      .industry-dots,
      #testimonialDots {
        min-height: 8px;
      }

      .mobile-carousel-dot {
        width: 7px;
        height: 7px;
        border-radius: 9999px;
        background: rgba(17, 18, 21, .25);
        transition: all .2s;
      }

      .mobile-carousel-dot.active {
        width: 22px;
        background: #1665FF;
      }
    }
  

/* SOURCE: index.html */

    .service-page-v3 .service-hero {
      background: #fff !important;
      color: #111215 !important;
      border-bottom: 1px solid rgba(0, 0, 0, .06);
      padding: 110px 24px 95px !important
    }

    .service-page-v3 .service-hero p {
      color: #646b75 !important
    }

    .service-page-v3 .service-hero .btn:not(.btn-yellow) {
      border-color: rgba(0, 0, 0, .14) !important;
      color: #111215 !important
    }

    .service-page-v3 .service-hero .eyebrow2 {
      color: #1665FF !important
    }

    .service-page-v3 .service-reading {
      max-width: 1220px !important
    }

    .service-page-v3 .service-reading h2 {
      font-weight: 500 !important;
      letter-spacing: -.045em
    }

    .service-page-v3 .service-content-block {
      padding-top: 135px !important;
      padding-bottom: 135px !important
    }

    .service-page-v3 .service-work-list {
      margin-top: 65px
    }

    .service-page-v3 .service-why {
      background: #f6f6f7
    }

    .service-reading-wide {
      max-width: 1220px !important
    }

    .service-why-grid {
      display: grid;
      grid-template-columns: 1.15fr .85fr;
      gap: 80px;
      align-items: center
    }

    .service-why-grid h2 {
      font-size: clamp(38px, 4.5vw, 64px)
    }

    .service-image-panel {
      background: #FFCA28;
      border-radius: 30px;
      padding: 30px;
      min-height: 360px;
      display: flex;
      align-items: center;
      justify-content: center
    }

    .service-image-panel img {
      width: 100%;
      max-height: 360px;
      object-fit: contain
    }

    .service-visual-break {
      background: #111215;
      color: #fff;
      padding: 110px 24px
    }

    .service-visual-break-inner {
      max-width: 1220px;
      margin: auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 80px;
      align-items: center
    }

    .service-visual-copy h2 {
      font-size: clamp(38px, 4.5vw, 64px);
      font-weight: 500;
      letter-spacing: -.045em
    }

    .service-visual-copy p {
      color: #b8bec7;
      font-size: 17px;
      line-height: 1.85;
      max-width: 650px
    }

    .service-visual-art {
      background: #FFCA28;
      border-radius: 30px;
      padding: 35px;
      min-height: 380px;
      display: flex;
      align-items: center;
      justify-content: center
    }

    .service-visual-art img {
      width: 100%;
      max-height: 370px;
      object-fit: contain
    }

    @media(max-width:800px) {

      .service-why-grid,
      .service-visual-break-inner {
        grid-template-columns: 1fr;
        gap: 45px
      }

      .service-page-v3 .service-content-block {
        padding-top: 90px !important;
        padding-bottom: 90px !important
      }

      .service-page-v3 .service-hero {
        padding: 75px 16px 65px !important
      }

      .service-image-panel,
      .service-visual-art {
        min-height: 260px
      }

      .service-visual-break {
        padding: 80px 16px
      }
    }
  

/* SOURCE: index.html */

    @media(max-width:767px) {
      #heroStepperSection {
        height: calc(100vh - 80px) !important;
        min-height: calc(100vh - 80px) !important;
        overflow: hidden !important;
      }

      #heroStepperSection>.max-w-7xl {
        height: 100% !important;
        display: flex !important;
        flex-direction: column !important;
      }

      #heroStepperSection .step-content-wrap {
        height: calc(100% - 42px) !important;
        min-height: 0 !important;
        flex: 1 !important;
      }

      #heroStepperSection .step-slide {
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: hidden !important;
      }

      #heroStepperSection .step-slide>.grid {
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        display: grid !important;
        grid-template-rows: minmax(0, 1fr) minmax(0, .72fr) !important;
        gap: 10px !important;
        align-items: center !important;
      }

      #heroStepperSection .step-slide>div {
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
      }

      #heroStepperSection #slide-0>div {
        height: 100% !important;
        min-height: 0 !important;
      }

      #heroStepperSection #slide-0 h1 {
        font-size: clamp(2rem, 9vw, 3rem) !important;
        line-height: .94 !important;
      }

      #heroStepperSection #slide-0 .mt-8 {
        margin-top: .9rem !important
      }

      #heroStepperSection #slide-0 .mt-3 {
        margin-top: .35rem !important
      }

      #heroStepperSection #slide-1 .space-y-6,
      #heroStepperSection #slide-2 .space-y-6,
      #heroStepperSection #slide-3 .space-y-6 {
        gap: .65rem !important
      }

      #heroStepperSection #slide-1 h2,
      #heroStepperSection #slide-2 h2,
      #heroStepperSection #slide-3 h2 {
        font-size: clamp(1.75rem, 8vw, 2.45rem) !important;
        line-height: .98 !important
      }

      #heroStepperSection #slide-1 p,
      #heroStepperSection #slide-2 p,
      #heroStepperSection #slide-3 p {
        font-size: 12px !important;
        line-height: 1.45 !important
      }

      #heroStepperSection #slide-1 .md\:col-span-6:last-child,
      #heroStepperSection #slide-2 .md\:col-span-6:last-child,
      #heroStepperSection #slide-3 .md\:col-span-6:last-child {
        height: 100% !important;
        min-height: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important
      }

      #heroStepperSection #slide-1 .md\:col-span-6:last-child>div,
      #heroStepperSection #slide-2 .md\:col-span-6:last-child>div,
      #heroStepperSection #slide-3 .md\:col-span-6:last-child>div {
        width: 100% !important;
        height: 100% !important;
        max-height: 32vh !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
      }

      #heroStepperSection #slide-1 img,
      #heroStepperSection #slide-2 img,
      #heroStepperSection #slide-3 img {
        width: 100% !important;
        height: 100% !important;
        max-height: 32vh !important;
        object-fit: contain !important;
      }

      #heroStepperSection .mobile-dot {
        margin-top: 0 !important
      }
    }

    /* Approach illustration */
    .approach-illustration {
      margin-top: 22px;
      border-radius: 24px;
      overflow: hidden;
      background: rgba(255, 255, 255, .35);
      border: 1px solid rgba(0, 0, 0, .08);
      padding: 10px
    }

    .approach-illustration img {
      display: block;
      width: 100%;
      height: 150px;
      object-fit: cover;
      border-radius: 18px
    }

    /* Glassmorphism service cards */
    #channels .grid>div:not(:last-child) {
      background: rgba(255, 255, 255, .13) !important;
      border: 1px solid rgba(255, 255, 255, .22) !important;
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 18px 50px rgba(17, 18, 21, .10) !important;
      transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease !important
    }

    #channels .grid>div:not(:last-child):hover {
      transform: translateY(-8px) !important;
      border-color: rgba(255, 255, 255, .42) !important;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 28px 65px rgba(17, 18, 21, .18) !important
    }

    /* One review card */
    .testimonial-single {
      position: relative;
      display: grid;
      grid-template-columns: 44% 56%;
      min-height: 390px;
      border-radius: 28px;
      overflow: hidden;
      background: #fff;
      border: 1px solid rgba(0, 0, 0, .08);
      box-shadow: 0 25px 60px rgba(17, 18, 21, .08)
    }

    .testimonial-media {
      min-height: 390px;
      background: #111215;
      position: relative;
      overflow: hidden
    }

    .testimonial-media img,
    .testimonial-media video {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block
    }

    .testimonial-media .play {
      position: absolute;
      inset: 50% auto auto 50%;
      transform: translate(-50%, -50%);
      width: 62px;
      height: 62px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      background: #FFCA28;
      color: #111215;
      font-weight: 900;
      box-shadow: 0 15px 35px rgba(0, 0, 0, .2)
    }

    .testimonial-copy {
      padding: 52px 58px;
      display: flex;
      flex-direction: column;
      justify-content: center
    }

    .testimonial-copy blockquote {
      font-size: clamp(24px, 3vw, 40px);
      line-height: 1.16;
      letter-spacing: -.04em;
      font-weight: 500;
      margin: 18px 0 25px
    }

    .testimonial-controls {
      display: flex;
      gap: 10px;
      position: absolute;
      right: 26px;
      bottom: 24px;
      z-index: 3
    }

    .testimonial-controls button {
      width: 42px;
      height: 42px;
      border-radius: 50%;
      border: 1px solid rgba(0, 0, 0, .12);
      background: #fff;
      display: grid;
      place-items: center;
      font-size: 18px;
      transition: .2s
    }

    .testimonial-controls button:hover {
      background: #1665FF;
      color: #fff;
      border-color: #1665FF
    }

    @media(max-width:700px) {
      .testimonial-single {
        grid-template-columns: 1fr;
        min-height: 0
      }

      .testimonial-media {
        height: 250px;
        min-height: 250px
      }

      .testimonial-copy {
        padding: 32px 24px 70px
      }

      .testimonial-copy blockquote {
        font-size: 25px
      }

      .testimonial-controls {
        right: 18px;
        bottom: 18px
      }

      .approach-illustration img {
        height: 120px
      }
    }

    /* Remove arrow decorations from solution cards */
    .solution-v5 .v5-deliverable:after {
      display: none !important
    }

    /* Service taxonomy cards: cleaner CTA spacing, no top arrow */
    .v5-tax-item:after {
      display: none !important
    }

    .v5-tax-item .quote-trigger {
      margin-top: 28px !important
    }

    /* Full-width inner content */
    .v5-inner,
    .v5-section>.v5-inner {
      width: min(1320px, calc(100% - 48px)) !important;
      max-width: none !important
    }
  

/* SOURCE: index.html */

    @media(max-width:600px) {
      body {
        overflow-x: hidden !important
      }

      .inner-shell,
      .v5-inner {
        width: calc(100% - 32px) !important;
        max-width: none !important
      }

      .detail-section,
      .v5-section {
        padding-left: 16px !important;
        padding-right: 16px !important
      }

      .detail-grid,
      .service-why-grid,
      .service-visual-break-inner,
      .same-form-grid {
        grid-template-columns: 1fr !important;
        gap: 38px !important
      }

      .solution-cards,
      .service-feature {
        grid-template-columns: 1fr !important
      }

      .same-form-grid h2 {
        font-size: 44px !important
      }

      .audit-card {
        width: 100% !important
      }

      .v5-taxonomy {
        grid-template-columns: 1fr !important
      }

      .v5-tax-item {
        min-height: 0 !important;
        padding: 24px !important
      }

      .v5-tax-item .quote-trigger {
        margin-top: 24px !important
      }

      .v5-section h2 {
        font-size: 34px !important
      }

      .v5-section p {
        font-size: 15px !important;
        line-height: 1.8 !important
      }

      .service-subnav {
        top: 72px !important
      }

      .service-subnav .v5-inner {
        width: 100% !important;
        padding-left: 16px !important;
        padding-right: 16px !important
      }

      .service-subnav a {
        font-size: 11px !important
      }

      .inner-hero-title {
        white-space: normal !important
      }

      .blog-detail-layout {
        grid-template-columns: 1fr !important
      }

      .article-sidebar-v7 {
        padding: 0 16px 60px !important
      }

      .article {
        padding-left: 16px !important;
        padding-right: 16px !important
      }

      .related-post-v7 {
        display: grid !important;
        grid-template-columns: 80px 1fr !important;
        gap: 12px !important
      }

      .related-post-v7 img {
        width: 80px !important;
        height: 62px !important
      }

      .industry-page .detail-inner {
        width: calc(100% - 32px) !important
      }

      .industry-page .solution-card {
        margin: 0 !important
      }

      .work-gallery-v8 {
        width: 100% !important
      }

      .work-gallery-v8 a {
        min-height: 250px !important
      }

      .privacy-v8 {
        width: calc(100% - 32px) !important
      }
    }
  

/* SOURCE: index.html */

    .solution-v5 .v5-deliverable:after {
      display: none !important;
      content: none !important
    }

    .service-v5 .v5-tax-item:after,
    .service-page-v3 .v5-tax-item:after {
      display: none !important;
      content: none !important
    }

    .service-v5 .v5-tax-item .quote-trigger {
      margin-top: 30px !important
    }

    @media(max-width:600px) {

      .solution-v5 .v5-deliverable:after,
      .service-v5 .v5-tax-item:after {
        display: none !important
      }

      .v5-tax-item .quote-trigger {
        margin-top: 26px !important
      }
    }
  

/* SOURCE: index.html */

    /* FINAL HOMEPAGE HERO FIX */
    @media (max-width: 767px) {
      #heroStepperSection {
        height: calc(100svh - 72px) !important;
        min-height: 0 !important;
        overflow: hidden !important;
      }

      #heroStepperSection>.max-w-7xl {
        height: 100% !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
      }

      #heroStepperSection .step-content-wrap {
        height: calc(100% - 34px) !important;
        min-height: 0 !important;
        flex: 0 0 calc(100% - 34px) !important;
      }

      #heroStepperSection .step-slide {
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: hidden !important;
      }

      #heroStepperSection .step-slide>.grid {
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        grid-template-rows: minmax(0, 44%) minmax(0, 56%) !important;
        gap: 2px !important;
        align-items: center !important;
      }

      #heroStepperSection .step-slide>div {
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
      }

      #heroStepperSection .step-slide>.grid>div:first-child {
        min-height: 0 !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
      }

      #heroStepperSection .step-slide>.grid>div:last-child {
        min-height: 0 !important;
        height: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
      }

      #heroStepperSection .step-slide>.grid>div:last-child>div {
        width: 100% !important;
        height: 100% !important;
        max-height: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
      }

      #heroStepperSection .step-slide>.grid>div:last-child img {
        width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        object-fit: contain !important;
        object-position: center !important;
      }

      #heroStepperSection #slide-1 h2,
      #heroStepperSection #slide-2 h2 {
        font-size: clamp(1.45rem, 7vw, 2rem) !important;
        line-height: .98 !important;
      }

      #heroStepperSection #slide-3 h2 {
        font-size: clamp(1.35rem, 6.5vw, 1.9rem) !important;
        line-height: .92 !important;
      }

      #heroStepperSection .step-slide p {
        font-size: 10.5px !important;
        line-height: 1.35 !important;
        margin-top: .45rem !important;
      }

      #heroStepperSection .step-slide .space-y-6 {
        gap: .35rem !important;
      }

      #heroStepperSection .step-slide .pt-2 {
        padding-top: .25rem !important;
      }

      #heroStepperSection .step-slide .w-9 {
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
        font-size: 13px !important;
      }

      #heroStepperSection #slide-0 {
        height: 100% !important;
      }

      #heroStepperSection #slide-0>div {
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        padding: 18px 16px !important;
      }

      #heroStepperSection #slide-0 h1 {
        font-size: clamp(1.85rem, 8.5vw, 2.7rem) !important;
        line-height: .94 !important;
      }

      #heroStepperSection #slide-0 .mt-8 {
        margin-top: .65rem !important;
      }

      #heroStepperSection #slide-0 .mt-3 {
        margin-top: .3rem !important;
      }

      #heroStepperSection #slide-0 .mt-2 {
        margin-top: .2rem !important;
      }

      #heroStepperSection #slide-0 .mt-8 button {
        padding: .6rem .8rem !important;
        font-size: 11px !important;
      }

      #heroStepperSection .mobile-dot {
        margin-top: 0 !important;
      }
    }

    /* 3D SERVICE CARDS — no glassmorphism */
    #channels .grid>div {
      position: relative !important;
      isolation: isolate !important;
      border: 1px solid rgba(255, 255, 255, .12) !important;
      box-shadow: 0 10px 0 rgba(0, 0, 0, .10), 0 24px 45px rgba(0, 0, 0, .16) !important;
      transform: perspective(1000px) rotateX(0deg) translateY(0) !important;
      transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s ease !important;
    }

    #channels .grid>div:before {
      content: "";
      position: absolute;
      inset: 10px;
      border: 1px solid rgba(255, 255, 255, .07);
      border-radius: 22px;
      pointer-events: none;
      z-index: 0
    }

    #channels .grid>div:after {
      content: "";
      position: absolute;
      width: 110px;
      height: 110px;
      border-radius: 50%;
      right: -42px;
      top: -42px;
      background: radial-gradient(circle at 35% 35%, rgba(255, 202, 40, .35), rgba(255, 202, 40, 0) 70%);
      pointer-events: none;
      z-index: 0
    }

    #channels .grid>div:hover {
      transform: perspective(1000px) rotateX(3deg) rotateY(-2deg) translateY(-9px) !important;
      box-shadow: 0 14px 0 rgba(0, 0, 0, .12), 0 32px 55px rgba(0, 0, 0, .22) !important
    }

    #channels .grid>div>* {
      position: relative;
      z-index: 1
    }

    @media(max-width:700px) {
      #channels .grid>div {
        box-shadow: 0 7px 0 rgba(0, 0, 0, .1), 0 18px 32px rgba(0, 0, 0, .12) !important
      }

      #channels .grid>div:hover {
        transform: translateY(-5px) !important
      }
    }

    /* CONTACT PAGE — remove decorative image and use full-width contact details */
    .contact-page-v9 .detail-media {
      display: none !important
    }

    .contact-page-v9 .detail-grid {
      display: block !important
    }

    .contact-page-v9 .detail-copy {
      width: 100% !important;
      max-width: none !important
    }

    .contact-page-v9 .contact-detail-cards {
      width: 100% !important;
      grid-template-columns: 1.15fr 1fr 1.35fr !important
    }

    .contact-page-v9 .contact-detail-card {
      min-width: 0 !important
    }

    .contact-page-v9 .email-card h3 {
      font-size: clamp(18px, 2vw, 28px) !important;
      white-space: nowrap !important;
      word-break: normal !important;
      overflow-wrap: normal !important
    }

    .contact-page-v9 .phone-card h3 {
      font-size: clamp(19px, 2vw, 28px) !important;
      white-space: normal !important;
      word-break: normal !important;
      overflow-wrap: normal !important;
      line-height: 1.45 !important
    }

    .contact-page-v9 .address-card h3 {
      font-size: clamp(18px, 2vw, 27px) !important;
      line-height: 1.25 !important
    }

    @media(max-width:850px) {
      .contact-page-v9 .contact-detail-cards {
        grid-template-columns: 1fr !important
      }

      .contact-page-v9 .email-card h3 {
        font-size: 20px !important
      }

      .contact-page-v9 .phone-card h3 {
        font-size: 20px !important
      }
    }
  

/* SOURCE: index.html */

  /* V10 — stable mobile hero: fit the complete hero in the first viewport without clipping */
  @media (max-width: 767px) {
    #heroStepperSection {
      height: calc(100svh - 80px) !important;
      min-height: calc(100svh - 80px) !important;
      max-height: calc(100svh - 80px) !important;
      overflow: hidden !important;
    }

    #heroStepperSection>.max-w-7xl {
      height: 100% !important;
      min-height: 0 !important;
      padding: 0 12px !important;
    }

    #heroStepperSection .step-content-wrap {
      height: calc(100% - 42px) !important;
      min-height: 0 !important;
      max-height: none !important;
      flex: 1 1 auto !important;
    }

    #heroStepperSection .step-slide {
      height: 100% !important;
      min-height: 0 !important;
      max-height: none !important;
      overflow: hidden !important;
      display: flex !important;
      align-items: center !important;
    }

    #heroStepperSection .step-slide>.grid {
      height: 100% !important;
      min-height: 0 !important;
      max-height: none !important;
      grid-template-rows: minmax(0, 55%) minmax(0, 45%) !important;
      gap: 0 !important;
      align-items: center !important;
    }

    #heroStepperSection .step-slide>.grid>div:first-child {
      min-height: 0 !important;
      max-height: 100% !important;
      overflow: hidden !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: center !important;
    }

    #heroStepperSection .step-slide>.grid>div:last-child {
      min-height: 0 !important;
      height: 100% !important;
      max-height: 100% !important;
      overflow: hidden !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
    }

    #heroStepperSection .step-slide>.grid>div:last-child>div {
      width: 100% !important;
      height: 100% !important;
      max-height: 100% !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
    }

    #heroStepperSection .step-slide>.grid>div:last-child img {
      width: 100% !important;
      height: auto !important;
      max-width: 100% !important;
      max-height: 100% !important;
      object-fit: contain !important;
      object-position: center !important;
    }

    #heroStepperSection #slide-1 h2,
    #heroStepperSection #slide-2 h2,
    #heroStepperSection #slide-3 h2 {
      font-size: clamp(1.35rem, 6.8vw, 1.9rem) !important;
      line-height: .98 !important;
      margin: 0 !important;
    }

    #heroStepperSection .step-slide p {
      font-size: 10.5px !important;
      line-height: 1.32 !important;
      margin-top: .35rem !important;
    }

    #heroStepperSection .step-slide .space-y-6 {
      gap: .28rem !important
    }

    #heroStepperSection .step-slide .pt-2 {
      padding-top: .15rem !important
    }

    #heroStepperSection .step-slide .w-9 {
      width: 26px !important;
      height: 26px !important;
      min-width: 26px !important;
      font-size: 12px !important
    }

    #heroStepperSection #slide-0>div {
      height: 100% !important;
      min-height: 0 !important;
      max-height: none !important;
      padding: 16px 14px !important;
    }

    #heroStepperSection #slide-0 h1 {
      font-size: clamp(1.75rem, 8vw, 2.55rem) !important;
      line-height: .93 !important;
      margin: 0 !important;
    }

    #heroStepperSection #slide-0 .mt-8 {
      margin-top: .55rem !important
    }

    #heroStepperSection #slide-0 .mt-3 {
      margin-top: .22rem !important
    }

    #heroStepperSection #slide-0 .mt-2 {
      margin-top: .16rem !important
    }

    #heroStepperSection #slide-0 .mt-8 button {
      padding: .55rem .75rem !important;
      font-size: 10px !important
    }

    #heroStepperSection .mobile-dot {
      margin-top: 0 !important
    }
  }

  /* V10 — true skeuomorphic service cards: solid surface, bevel, inset highlight, visible copy */
  #channels .grid>div {
    background: linear-gradient(145deg, #24272e 0%, #17191e 58%, #101114 100%) !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-top-color: rgba(255, 255, 255, .30) !important;
    border-left-color: rgba(255, 255, 255, .22) !important;
    box-shadow:
      inset 2px 2px 0 rgba(255, 255, 255, .07),
      inset -3px -4px 0 rgba(0, 0, 0, .30),
      0 6px 0 #0b0c0f,
      0 18px 28px rgba(0, 0, 0, .18) !important;
    transform: translateY(0) !important;
    transition: transform .22s ease, box-shadow .22s ease, filter .22s ease !important;
  }

  #channels .grid>div:before {
    content: "" !important;
    position: absolute !important;
    inset: 8px !important;
    border-radius: 22px !important;
    border: 1px solid rgba(255, 255, 255, .045) !important;
    background: linear-gradient(135deg, rgba(255, 255, 255, .035), transparent 45%) !important;
    pointer-events: none !important;
    z-index: 0 !important
  }

  #channels .grid>div:after {
    display: none !important
  }

  #channels .grid>div:hover {
    transform: translateY(-7px) !important;
    filter: brightness(1.04) !important;
    box-shadow:
      inset 2px 2px 0 rgba(255, 255, 255, .09),
      inset -3px -4px 0 rgba(0, 0, 0, .30),
      0 8px 0 #0b0c0f,
      0 28px 42px rgba(0, 0, 0, .24) !important;
  }

  #channels .grid>div:active {
    transform: translateY(-2px) !important;
    box-shadow: inset 2px 2px 0 rgba(255, 255, 255, .06), inset -2px -2px 0 rgba(0, 0, 0, .30), 0 3px 0 #0b0c0f, 0 12px 20px rgba(0, 0, 0, .18) !important
  }

  #channels .grid>div>* {
    position: relative !important;
    z-index: 1 !important
  }

  #channels .grid>div h3 {
    color: #fff !important
  }

  #channels .grid>div p {
    color: rgba(255, 255, 255, .72) !important
  }

  @media(max-width:700px) {
    #channels .grid>div {
      box-shadow: inset 2px 2px 0 rgba(255, 255, 255, .07), inset -3px -4px 0 rgba(0, 0, 0, .30), 0 5px 0 #0b0c0f, 0 14px 24px rgba(0, 0, 0, .16) !important
    }

    #channels .grid>div:hover {
      transform: translateY(-4px) !important
    }
  }


/* SOURCE: index.html */

  /* V11 — mobile hero fills the complete phone viewport. Dots sit inside the hero. */
  @media (max-width: 767px) {
    #heroStepperSection {
      height: 100svh !important;
      min-height: 100svh !important;
      max-height: 100svh !important;
      overflow: hidden !important;
      display: flex !important;
      align-items: stretch !important;
    }

    #heroStepperSection>.max-w-7xl {
      height: 100% !important;
      min-height: 0 !important;
      max-height: none !important;
      padding: 0 10px !important;
      display: flex !important;
      flex-direction: column !important;
    }

    #heroStepperSection>.max-w-7xl>.grid {
      height: 100% !important;
      min-height: 0 !important;
      display: block !important;
    }

    #heroStepperSection .step-content-wrap {
      height: 100% !important;
      min-height: 0 !important;
      max-height: none !important;
      display: block !important;
      position: relative !important;
    }

    #heroStepperSection .step-slide {
      height: 100% !important;
      min-height: 100% !important;
      max-height: none !important;
      overflow: hidden !important;
      display: flex !important;
      align-items: center !important;
    }

    #heroStepperSection .step-slide>.grid {
      height: 100% !important;
      min-height: 0 !important;
      max-height: none !important;
      grid-template-rows: minmax(0, 52%) minmax(0, 48%) !important;
      gap: 0 !important;
      align-items: center !important;
    }

    #heroStepperSection .step-slide>.grid>div:first-child {
      min-height: 0 !important;
      height: 100% !important;
      max-height: none !important;
      overflow: hidden !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: center !important;
    }

    #heroStepperSection .step-slide>.grid>div:last-child {
      min-height: 0 !important;
      height: 100% !important;
      max-height: none !important;
      overflow: hidden !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
    }

    #heroStepperSection .step-slide>.grid>div:last-child>div {
      width: 100% !important;
      height: 100% !important;
      max-height: 100% !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
    }

    #heroStepperSection .step-slide>.grid>div:last-child img {
      width: 100% !important;
      height: 100% !important;
      max-width: 100% !important;
      max-height: 100% !important;
      object-fit: contain !important;
      object-position: center !important;
    }

    #heroStepperSection .step-slide .space-y-6 {
      gap: .45rem !important
    }

    #heroStepperSection .step-slide p {
      font-size: 10.5px !important;
      line-height: 1.3 !important;
      margin-top: .25rem !important
    }

    #heroStepperSection #slide-1 h2,
    #heroStepperSection #slide-2 h2,
    #heroStepperSection #slide-3 h2 {
      font-size: clamp(1.35rem, 6.5vw, 1.8rem) !important;
      line-height: .98 !important;
      margin: 0 !important;
    }

    #heroStepperSection .step-slide .w-9 {
      width: 24px !important;
      height: 24px !important;
      min-width: 24px !important;
      font-size: 11px !important
    }

    #heroStepperSection #slide-0>div {
      height: 100% !important;
      min-height: 0 !important;
      max-height: none !important;
      padding: 18px 12px !important;
    }

    #heroStepperSection #slide-0 h1 {
      font-size: clamp(1.8rem, 8vw, 2.5rem) !important;
      line-height: .92 !important;
      margin: 0 !important;
    }

    #heroStepperSection #slide-0 .mt-8 {
      margin-top: .55rem !important
    }

    #heroStepperSection #slide-0 .mt-3 {
      margin-top: .2rem !important
    }

    #heroStepperSection #slide-0 .mt-2 {
      margin-top: .15rem !important
    }

    #heroStepperSection #slide-0 .mt-8 button {
      padding: .55rem .72rem !important;
      font-size: 10px !important
    }

    #heroStepperSection .mobile-dot {
      position: absolute !important;
      left: 50% !important;
      bottom: 14px !important;
      transform: translateX(-50%) !important;
      margin: 0 !important;
      z-index: 40 !important;
    }

    #heroStepperSection>.max-w-7xl>.flex.lg\:hidden {
      position: absolute !important;
      left: 0 !important;
      right: 0 !important;
      bottom: 0 !important;
      height: 44px !important;
      margin: 0 !important;
      padding: 0 !important;
      border-top: 1px solid rgba(0, 0, 0, .10) !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 8px !important;
    }
  }

  /* V11 — true light skeuomorphic service cards: bevel + inset highlights + dark readable copy. */
  #channels .grid>div {
    background: linear-gradient(145deg, #ffffff 0%, #f4f4f1 52%, #e9e9e5 100%) !important;
    color: #111215 !important;
    border: 1px solid #d5d5d0 !important;
    border-top-color: #ffffff !important;
    border-left-color: #ffffff !important;
    border-radius: 28px !important;
    box-shadow:
      inset 2px 2px 0 rgba(255, 255, 255, .95),
      inset -3px -4px 0 rgba(0, 0, 0, .09),
      0 5px 0 #c9c9c3,
      0 14px 24px rgba(20, 20, 20, .12) !important;
    transform: translateY(0) !important;
    transition: transform .22s ease, box-shadow .22s ease, background .22s ease !important;
  }

  #channels .grid>div:before {
    content: "" !important;
    position: absolute !important;
    inset: 7px !important;
    border-radius: 22px !important;
    border: 1px solid rgba(255, 255, 255, .85) !important;
    background: linear-gradient(135deg, rgba(255, 255, 255, .55), transparent 48%) !important;
    pointer-events: none !important;
    z-index: 0 !important;
  }

  #channels .grid>div>* {
    position: relative !important;
    z-index: 1 !important
  }

  #channels .grid>div h3 {
    color: #111215 !important
  }

  #channels .grid>div p {
    color: #535963 !important
  }

  #channels .grid>div span {
    color: #5d6470 !important
  }

  #channels .grid>div .text-brand-yellow {
    color: #1665FF !important
  }

  #channels .grid>div .w-8 {
    background: #f0f0ec !important;
    color: #111215 !important;
    border: 1px solid #d1d1cb !important;
    box-shadow: inset 1px 1px 0 #fff, inset -2px -2px 0 rgba(0, 0, 0, .08), 0 2px 0 #c7c7c1 !important;
  }

  #channels .grid>div:hover {
    transform: translateY(-7px) !important;
    background: linear-gradient(145deg, #ffffff 0%, #f7f7f4 50%, #ecece8 100%) !important;
    box-shadow:
      inset 2px 2px 0 rgba(255, 255, 255, .98),
      inset -3px -4px 0 rgba(0, 0, 0, .10),
      0 7px 0 #c5c5bf,
      0 24px 36px rgba(20, 20, 20, .17) !important;
  }

  #channels .grid>div:active {
    transform: translateY(-2px) !important
  }

  @media(max-width:700px) {
    #channels .grid>div {
      box-shadow: inset 2px 2px 0 rgba(255, 255, 255, .95), inset -3px -4px 0 rgba(0, 0, 0, .08), 0 4px 0 #c9c9c3, 0 12px 22px rgba(20, 20, 20, .11) !important
    }
  }


/* SOURCE: industries.html */

/* PHOTONIX INNER-PAGE SYSTEM */
.inner-page{background:#fff;color:#111215}.inner-yellow{background:#FFCA28}.inner-blue{color:#1665FF}.inner-shell{max-width:1280px;margin:auto;padding-left:24px;padding-right:24px}.inner-hero-space{height:390px;background:#FFCA28;position:relative}.inner-hero-title{position:absolute;left:50%;bottom:42px;transform:translateX(-50%);width:min(1180px,calc(100% - 48px));font-size:clamp(54px,8vw,118px);line-height:.88;letter-spacing:-.07em;font-weight:900;text-transform:uppercase;color:#111215}.hero-visual-wrap{max-width:1216px;margin:-100px auto 0;padding:0 24px;position:relative;z-index:2}.hero-visual{border-radius:0;overflow:hidden;background:#f3f3f3;border:1px solid rgba(0,0,0,.08);box-shadow:0 30px 70px rgba(17,18,21,.12)}.hero-visual img{display:block;width:100%;height:auto;max-height:600px;object-fit:cover}.intro-copy{max-width:850px;margin:0 auto;text-align:center;padding:82px 24px 55px}.intro-copy h2{font-size:clamp(36px,5vw,66px);letter-spacing:-.055em;line-height:1.02;font-weight:800}.intro-copy p{font-size:17px;line-height:1.85;color:#555d68}.eyebrow2{font:700 11px/1.2 'Courier New',monospace;letter-spacing:.16em;text-transform:uppercase;color:#1665FF}.detail-section{padding:95px 24px}.detail-inner{max-width:1180px;margin:auto}.detail-dark{background:#111215;color:#fff}.detail-light{background:#f6f6f7}.detail-yellow{background:#FFCA28}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.detail-grid.reverse .detail-copy{order:2}.detail-grid.reverse .detail-media{order:1}.detail-copy h2{font-size:clamp(34px,4.4vw,60px);letter-spacing:-.055em;line-height:.98}.detail-copy p{font-size:16px;line-height:1.8;color:#656b75}.detail-dark .detail-copy p{color:#b9bdc5}.detail-media{border-radius:28px;overflow:hidden;background:#fff;border:1px solid rgba(0,0,0,.1);min-height:330px;display:flex;align-items:center;justify-content:center}.detail-media img{width:100%;height:auto;display:block}.solution-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.industry-page .solution-card{border:1px solid rgba(0,0,0,.1);border-radius:24px;padding:28px;background:#fff;transition:.25s}.solution-card:hover{transform:translateY(-4px);box-shadow:0 20px 45px rgba(0,0,0,.08)}.solution-card .num{font:700 12px 'Courier New',monospace;color:#1665FF}.solution-card h3{margin-top:18px;font-size:22px}.solution-card p{font-size:14px;color:#717782;line-height:1.7}.check-list{display:grid;gap:12px;margin:25px 0 0;padding:0;list-style:none}.check-list li{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.55}.check-list li:before{content:'✓';width:22px;height:22px;border-radius:50%;background:#1665FF;color:#fff;display:grid;place-items:center;flex:0 0 22px;font-size:11px;font-weight:800}.process-line{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(0,0,0,.15)}.process-step{padding:28px 24px 10px;border-right:1px solid rgba(0,0,0,.12)}.process-step:last-child{border-right:0}.process-step .step-no{font:700 11px 'Courier New',monospace;color:#1665FF}.process-step h3{margin-top:16px}.process-step p{font-size:13px;color:#707782;line-height:1.65}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ddd}.metric{background:#fff;padding:30px}.metric strong{display:block;font-size:42px;letter-spacing:-.06em}.metric span{font-size:12px;color:#747a84}.faq-page{max-width:920px;margin:auto}.faq-page details{padding:26px 0;border-bottom:1px solid rgba(0,0,0,.12)}.faq-page summary{font-weight:800;font-size:18px;cursor:pointer}.faq-page p{color:#69717c;line-height:1.75;margin:15px 0 0}.same-form{background:#FFCA28;padding:90px 24px}.same-form-grid{max-width:1280px;margin:auto;display:grid;grid-template-columns:2fr 1fr;gap:32px;align-items:center}.same-form h2{font-size:clamp(44px,6vw,78px);font-weight:900;line-height:.95;text-transform:uppercase;letter-spacing:-.055em}.audit-card{background:#fff;padding:28px;border-radius:28px;box-shadow:0 25px 70px rgba(0,0,0,.12)}.audit-card input,.audit-card select{width:100%;padding:12px 14px;border:1px solid #ddd;border-radius:12px;font-size:14px}.audit-card label{display:block;font-size:11px;font-weight:700;color:#555;margin:0 0 7px}.audit-field{margin-bottom:15px}.audit-btn{width:100%;padding:13px;border:0;border-radius:12px;background:#1665FF;color:#fff;font-weight:800}.service-hero{background:#111215;color:#fff;padding:95px 24px 85px}.service-hero-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.service-hero h1{font-size:clamp(52px,7vw,96px);line-height:.9;letter-spacing:-.065em}.service-hero p{font-size:18px;color:#b9bec7;max-width:640px;line-height:1.75}.service-art{background:#FFCA28;border-radius:30px;padding:18px;min-height:430px;display:flex;align-items:center;justify-content:center}.service-art img{width:100%;max-height:470px;object-fit:contain}.service-subnav{background:#fff;border-bottom:1px solid #ddd;position:sticky;top:80px;z-index:30}.service-subnav .inner-shell{display:flex;gap:24px;overflow:auto;white-space:nowrap;padding-top:14px;padding-bottom:14px}.service-subnav a{font-size:12px;font-weight:800;color:#626974}.service-subnav a:hover{color:#1665FF}.service-feature{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-feature .box{padding:30px;border-radius:24px;background:#f5f5f7;border:1px solid #e4e4e6}.service-feature .box h3{font-size:22px}.service-feature .box p{font-size:14px;color:#6e7480;line-height:1.7}.service-feature .box span{font:700 11px 'Courier New',monospace;color:#1665FF}.blog-hero{padding:90px 24px 65px;background:#111215;color:#fff}.blog-hero-inner{max-width:1180px;margin:auto}.blog-hero h1{font-size:clamp(55px,8vw,115px);line-height:.88;letter-spacing:-.07em}.blog-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:20px}.post-card{border:1px solid #ddd;border-radius:24px;overflow:hidden;background:#fff}.post-card.featured{grid-row:span 2}.post-image{height:210px;background:#eee;overflow:hidden}.featured .post-image{height:340px}.post-image img{width:100%;height:100%;object-fit:cover}.post-body{padding:25px}.post-meta{font:700 10px 'Courier New',monospace;color:#1665FF;letter-spacing:.12em}.post-body h3{font-size:24px;margin:12px 0}.post-body p{font-size:13px;color:#707782;line-height:1.7}.blog-detail-hero{background:#111215;color:#fff;padding:100px 24px 70px}.blog-detail-inner{max-width:980px;margin:auto}.blog-detail-inner h1{font-size:clamp(48px,7vw,92px);line-height:.92;letter-spacing:-.065em}.article{max-width:820px;margin:auto;padding:80px 24px}.article p{font-size:17px;line-height:1.9;color:#515963}.article h2{font-size:38px;margin-top:60px}.article ul{line-height:1.9;color:#515963}.article-callout{background:#FFCA28;border-radius:24px;padding:28px;margin:40px 0}.about-hero{background:#FFCA28;padding:110px 24px}.about-hero-inner{max-width:1180px;margin:auto}.about-hero h1{font-size:clamp(60px,9vw,125px);line-height:.86}.testimonial-wall{max-width:1180px;margin:auto;columns:3 280px;column-gap:20px}.testimonial-card{break-inside:avoid;margin-bottom:20px;padding:28px;border-radius:24px;background:#f5f5f7}.testimonial-card:nth-child(2n){background:#FFCA28}.testimonial-card p{font-size:17px;line-height:1.55}.testimonial-card small{font-weight:800}.faq-hero{padding:95px 24px;background:#f5f5f7}.faq-hero-inner{max-width:900px;margin:auto;text-align:center}.faq-hero h1{font-size:clamp(55px,8vw,105px);line-height:.9}.case-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.case-card{border-radius:28px;padding:34px;background:#111215;color:#fff;min-height:360px;display:flex;flex-direction:column;justify-content:space-between}.case-card.yellow{background:#FFCA28;color:#111215}.case-card p{color:#bbb;line-height:1.75}.case-card.yellow p{color:#34363a}.case-card a{font-weight:800;color:#1665FF}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.related-grid a{padding:24px;border:1px solid #ddd;border-radius:22px;font-weight:800}.related-grid a:hover{border-color:#1665FF}.mini-image{border-radius:24px;overflow:hidden;background:#eee}.mini-image img{display:block;width:100%;height:330px;object-fit:cover}
@media(max-width:900px){.inner-hero-space{height:310px}.inner-hero-title{font-size:54px;bottom:34px}.detail-grid,.service-hero-grid,.same-form-grid{grid-template-columns:1fr}.detail-grid.reverse .detail-copy,.detail-grid.reverse .detail-media{order:initial}.solution-cards,.service-feature,.related-grid,.case-grid{grid-template-columns:1fr 1fr}.process-line{grid-template-columns:1fr 1fr}.process-step:nth-child(2){border-right:0}.service-subnav{top:72px}.blog-grid{grid-template-columns:1fr 1fr}.featured{grid-column:span 2}}
@media(max-width:600px){.inner-shell{padding-left:16px;padding-right:16px}.inner-hero-space{height:250px}.inner-hero-title{font-size:44px;width:calc(100% - 32px);bottom:25px}.hero-visual-wrap{margin-top:-55px;padding:0 16px}.intro-copy{padding:60px 16px 40px}.detail-section{padding:65px 16px}.solution-cards,.service-feature,.related-grid,.case-grid,.blog-grid{grid-template-columns:1fr}.featured{grid-column:auto}.process-line{grid-template-columns:1fr}.process-step{border-right:0;border-bottom:1px solid #ddd}.process-step:last-child{border-bottom:0}.metric-grid{grid-template-columns:1fr 1fr}.metric strong{font-size:32px}.service-hero{padding:65px 16px}.service-hero h1{font-size:56px}.service-subnav .inner-shell{padding-left:16px}.blog-hero,.blog-detail-hero,.faq-hero,.about-hero{padding-left:16px;padding-right:16px}.blog-hero h1,.blog-detail-inner h1,.faq-hero h1,.about-hero h1{font-size:52px}.article{padding:60px 16px}.same-form{padding:65px 16px}.same-form h2{font-size:48px}.audit-card{padding:22px}.post-image,.featured .post-image{height:230px}}


/* SOURCE: industries.html */
.detail-inner{max-width:1320px!important}.industry-card-image{height:190px;border-radius:18px;background:#f5f5f7;overflow:hidden;margin-bottom:20px}.industry-card-image img{display:block;width:100%;height:100%;object-fit:cover}.industry-page .solution-card{overflow:hidden}.detail-yellow .detail-inner p{max-width:1100px!important}

/* SOURCE: industries.html */
.industry-page .solution-card{overflow:hidden}.industry-page .industry-card-image{height:180px;margin:-28px -28px 24px;background:#f1f1f2;overflow:hidden}.industry-page .industry-card-image img{width:100%;height:100%;object-fit:cover;display:block}@media(max-width:600px){.industry-page .industry-card-image{height:210px}.industry-page h1{white-space:normal!important}}
