:root { --cs-blob-mask: url("data:image/png;base64,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"); }

/* ==========================================================================
   Coding Smart — overrides on top of the Advitex theme.
   Loaded AFTER css/styles.css. Keep this file small; never edit styles.css.
   ========================================================================== */

/* --------------------------------------------------------------- the hero
   The theme's own hero background is a flat PALE BLUE panel (#c3d2e6) — it
   was never a dark photo. A dark hero read as a different site from the white
   pages below it, so this is light: a pale photo under a white wash that is
   heaviest on the left, where the headline sits.

   Because the ground is now light, the hero text has to stop being white —
   see the block below. */
.page-title.style-1 {
    /* Marie's own hero image: already dark (mean luminance 44/255), so the wash
       DARKENS rather than whitens -- just enough on the left that the numbers
       and wave lines in the artwork stop competing with the headline, and
       almost nothing on the right so the picture stays the picture. */
    background-image:
        /* a scrim across the foot, where the paragraph and the facts column sit
           over the brightest part of the artwork (the dotted floor) */
        linear-gradient(to top,
            rgba(6, 14, 38, .62) 0%,
            rgba(6, 14, 38, .30) 22%,
            rgba(6, 14, 38, 0) 44%),
        linear-gradient(100deg,
            rgba(6, 14, 38, .74) 0%,
            rgba(6, 14, 38, .62) 34%,
            rgba(6, 14, 38, .30) 62%,
            rgba(6, 14, 38, .12) 100%),
        url("../images/cs/cs-hero-dark.jpg");
    background-size: cover, cover, cover;
    background-position: center, center, center center;
    background-repeat: no-repeat, no-repeat, no-repeat;
}

/* The hero's white copy, its offsets and its outline button are NOT here.
   They are in CRITICAL_CSS in build.py, stamped into every page's <head>, so
   that an old or missing copy of this file cannot bring those bugs back. Do
   not re-add them here. */

/* Chips and badge back on a dark ground */
.page-title.style-1 .hero__badge,
.page-title.style-1 .chip {
    border-color: rgba(255, 255, 255, .28);
    background: rgba(255, 255, 255, .10);
    color: rgba(255, 255, 255, .9);
}
.page-title.style-1 .chip { color: #FFFFFF; }

/* The theme pulls the section after the hero UP into it with
   `margin-bottom: -119px`, for a decorative overlap its demo has and we do
   not. That is why the photo section read as crowding the hero. Zeroing it
   hands the 119px back, and the section's own 112px top padding then does
   the separating. */

/* The theme gives .wrap-facts a -39px right margin so a row of overlapping
   avatars can bleed past the container. We don't use the avatars, so that
   negative margin just pushes our text off the right edge. */

/* The theme bottom-aligns the description and the facts column, and because
   the facts column is taller its top sits ~59px above the paragraph's. Drop it
   by exactly one line of body text (28px) so it reads as part of the same row
   and clears the figure in the hero photograph. `top` rather than `transform`,
   because .scrolling-effect animates transform on this element. */

/* ------------------------------------------------- the shape-masked images
   Two theme bugs fixed here.

   1. The theme masks these images with images/item/shape-6.1.png. CSS masks
      are subject to CORS, and a file:// page can never satisfy it — so when
      you open index.html by double-clicking, every masked photo vanishes
      completely. The same mask is inlined below as a data: URI, which is
      same-origin by definition, so the photos show whether the site is
      opened from disk or served over HTTP.

   2. The theme sizes this box landscape but sets no object-fit, so any image
      whose proportions differ from the box gets stretched. cover crops
      instead of distorting. */
.shape-img-bg img {
    object-fit: cover;
    object-position: center 35%;
    -webkit-mask-image: var(--cs-blob-mask);
    mask-image: var(--cs-blob-mask);
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

/* ----------------------------------------------- the rotating blue badge
   The theme has this as `.text-with-img-1 .item`; these are our own class
   names so a theme update can't move it. It reuses the theme's global
   `rotate` keyframes, which is the one thing we borrow. */
.cs-figure { position: relative; }

.cs-badge {
    position: absolute;
    z-index: 3;
    right: 4%;
    bottom: -14px;
    width: 172px;
    height: 172px;
    border-radius: 999px;
    background: var(--Primary, #0075ff);
    display: grid;
    place-items: center;
}
.cs-badge__text {
    position: absolute;
    width: 210px;
    height: 210px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}
.cs-badge__text svg {
    display: block;
    width: 100%;
    height: 100%;
    animation: rotate 16s linear infinite;
}
.cs-badge__text textPath,
.cs-badge__text text {
    fill: #fff;
    font-family: var(--cs-word-font, 'Inter Tight', system-ui, sans-serif);
    font-size: 40px;
    font-weight: 600;
    letter-spacing: .02em;
}
.cs-badge__logo {
    position: relative;
    z-index: 1;
    color: #FFFFFF;          /* white, not cream — reads cleaner on the blue */
    height: 62px;
}
@media (prefers-reduced-motion: reduce) {
    .cs-badge__text svg { animation: none; }
}
@media (max-width: 991px) {
    .cs-badge { width: 132px; height: 132px; right: 3%; bottom: -10px; }
    .cs-badge__text { width: 162px; height: 162px; }
    .cs-badge__logo { height: 46px; }
}

/* Long service names need to wrap rather than overflow their card */
.tf-box-icon.style-1 h5,
.tf-box-icon.style-2 h5 { overflow-wrap: break-word; }

/* The theme reserves a fixed gap under the box title for a 2-line heading.
   Our titles vary, so let the icon sit right under whatever height it is. */
.tf-box-icon.style-1 h5.mb_53 { margin-bottom: 32px; }

/* Second box style: used for engagement options, principles, sectors, patterns.
   In the theme this class is a 581px-tall process card with a giant background
   number: `height:581px; display:flex; align-items:end; overflow:hidden` plus an
   ::after that paints images/item/shape-1.png over the whole box. Restyling it
   without RESETTING those left every card a flex row -- title, value and note
   side by side instead of stacked, overflowing on the narrower ones. That was
   22 cards across about, services, portfolio and contact. */
.tf-box-icon.style-2 {
    display: block;
    height: auto;
    overflow: visible;
    align-items: initial;
    background: #fff;
    border: 1px solid var(--mono-gray-3, #e6e8ec);
    border-radius: 16px;
    padding: 32px;
    transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.tf-box-icon.style-2::after { content: none; }
.tf-box-icon.style-2 > *:last-child { margin-bottom: 0; }
.tf-box-icon.style-2:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px -24px rgba(10, 16, 39, .28);
}

/* The hero's second button, the CEO letter's signature and the contact page's
   blue hero panel are all in CRITICAL_CSS now, inline in every page. They are
   the rules that broke the two times an old copy of this file was uploaded, so
   they no longer depend on this file arriving at all. */



/* The theme gives .form-contact.style-2 a 61px top padding, because in its
   demo the form sits directly under a heading. Ours follows an intro
   paragraph that already has its own margin, so the two stacked into a 93px
   void before the first field. */
.form-contact.style-2 { padding-top: 0; }

/* ---------------------------------------- the CEO's letter
   A signed note reads faster than a bulleted list and it gives the portrait
   beside it a reason to be there. Paragraph rhythm is looser than body copy
   on purpose, so it reads as a letter rather than as marketing. */

/* ---------------------------------------- the "built for you" block
   One on every service page, each making the argument differently. Left rule
   rather than a box, so it reads as an aside in the flow and not as a banner
   the eye learns to skip. */
.tf-fit {
    border-left: 3px solid var(--Primary);
    padding: 4px 0 4px 24px;
}
.tf-fit h4 { font-size: 22px; line-height: 30px; font-weight: 500; }
@media (max-width: 575px) {
    .tf-fit { padding-left: 16px; }
}

/* ---------------------------------------- the records solution block
   Own class names, own rules: this block is destined to become its own page,
   so it must not depend on anything in the service-page layout around it. */
.tf-solution {
    border: 1px solid var(--Mono-gray-2);
    border-radius: 20px;
    padding: 40px;
    background: linear-gradient(160deg, #F4F7FF 0%, #FFFFFF 62%);
}
.tf-solution .tf-tag { display: inline-block; }
.tf-phase { position: relative; padding-left: 54px; }
.tf-phase__num {
    position: absolute;
    left: 0;
    top: -2px;
    font-family: "DM Sans", sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 1;
    color: var(--Primary);
    opacity: .45;
}
@media (max-width: 575px) {
    .tf-solution { padding: 28px 20px; }
    .tf-phase { padding-left: 44px; }
}

/* The theme ships xl-col-4 and xl-col-5 but NOT xl-col-3, so the six service
   cards were silently falling back to sm-col-2 and rendering two-across and
   enormous. Three across is the right shape for six. */
@media (min-width: 1200px) {
    .tf-grid-layout-sm.xl-col-3,
    .tf-grid-layout.xl-col-3,
    .tf-grid-layout-md.xl-col-3,
    .tf-grid-layout-lg.xl-col-3 { grid-template-columns: repeat(3, 1fr); }
}

/* The service cards now carry the theme's own isometric icons (plus three drawn
   to match, since the theme only ships four and we have six services). They are
   160px artwork, so they must NOT get the 40px line-icon treatment. */
.tf-box-icon.style-1 .icon img { width: 160px; height: 160px; }
.tf-box-icon.style-1 .icon { padding: 34px 40px; max-width: 100%; }
.tf-box-icon.style-2 .icon img[src$=".svg"] { width: 40px; height: 40px; }

/* ------------------------------------------------------------- tick lists */
.tick-list { list-style: none; margin: 24px 0 0; padding: 0; }
.tick-list li {
    position: relative;
    padding-left: 32px;
    margin-bottom: 12px;
    line-height: 1.65;
    color: var(--mono-gray-7, #4a4f5c);
}
.tick-list li:last-child { margin-bottom: 0; }
.tick-list li .t { font-weight: 600; color: var(--mono-gray-10, #0d0d0d); }
.tick-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .35em;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: rgba(0, 117, 255, .1)
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230075FF' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")
        center / 11px no-repeat;
}
.tick-list-muted li::before {
    background-color: rgba(120, 128, 145, .12);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23788091' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E");
}

/* --------------------------------------------------- service / case cards */
.tf-service-item.style-1,
.tf-case-studies.style-1 {
    background: #fff;
    border: 1px solid var(--mono-gray-3, #e6e8ec);
    border-radius: 16px;
    overflow: hidden;
    height: 100%;
    transition: transform .25s ease, box-shadow .25s ease;
}
.tf-service-item.style-1:hover,
.tf-case-studies.style-1:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px -24px rgba(10, 16, 39, .28);
}
.tf-service-item.style-1 .image,
.tf-case-studies.style-1 .image {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}
.tf-service-item.style-1 .image img,
.tf-case-studies.style-1 .image img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .5s ease;
}
.tf-service-item.style-1:hover .image img,
.tf-case-studies.style-1:hover .image img { transform: scale(1.04); }
.tf-service-item.style-1 .content,
.tf-case-studies.style-1 .content { padding: 28px; }

/* -------------------------------------------------- case study long rows */
.tf-case-row { margin-bottom: 96px; }
.tf-case-row:last-child { margin-bottom: 0; }
.tf-case-row .content .t { font-weight: 600; color: var(--mono-gray-10, #0d0d0d); }

/* -------------------------------------------------------------- tags, cta */
.tf-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.tf-tag {
    font-size: 13px;
    line-height: 1;
    padding: 8px 12px;
    border-radius: 8px;
    background: var(--sub-color, #f4f6fa);
    color: var(--mono-gray-7, #4a4f5c);
    white-space: nowrap;
}

.tf-cta-inline {
    background: var(--sub-color, #f4f6fa);
    border-radius: 16px;
    padding: 32px;
}

/* ------------------------------------------------------- detail-page bits */
.tf-pair { border-left: 2px solid var(--mono-gray-3, #e6e8ec); padding-left: 16px; }

.sidebar-menu { list-style: none; margin: 0; padding: 0; }
.sidebar-menu li {
    padding: 12px 0;
    border-bottom: 1px solid var(--mono-gray-3, #e6e8ec);
}
.sidebar-menu li:last-child { border-bottom: 0; }
.sidebar-menu li.active > a { color: var(--primary, #0075ff); font-weight: 600; }

.tf-box-contact {
    background: var(--sub-color, #f4f6fa);
    border-radius: 16px;
    padding: 28px;
}

/* Native select styled to match the theme's inputs */
.tf-select {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid var(--mono-gray-3, #e6e8ec);
    border-radius: 8px;
    background: #fff;
    font: inherit;
    color: inherit;
}
.tf-select:focus { outline: none; border-color: var(--primary, #0075ff); }

/* Breadcrumb current page shouldn't look clickable */
.breadcrumb li:last-child { color: var(--mono-gray-6, #6b7280); }

/* Utility the theme lacks */
.mt_48 { margin-top: 48px; }
.mb_48 { margin-bottom: 48px; }
.h-100 { height: 100%; }
