:root {
    --ct-navy: #071b34;
    --ct-blue: #1456d9;
    --ct-blue-hover: #12396e;
    --ct-cyan: #27d3c2;
    --ct-ink: #10243e;
    --ct-muted: #65758b;
    --ct-soft: #f3f7fb;
    --ct-white: #fff;
    --ct-border: #dce5ef;
}

html { scroll-behavior: smooth; }
body.cardtech-site { color: var(--ct-ink); background: #fff; font-family: "DM Sans", sans-serif; }
body.cardtech-site h1, body.cardtech-site h2, body.cardtech-site h3, body.cardtech-site h4 { font-family: "Ubuntu", sans-serif; color: var(--ct-navy); }
body.cardtech-site p { color: var(--ct-muted); line-height: 1.75; }
.ct-container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.ct-section { padding: 100px 0; }
.ct-section--soft { background: var(--ct-soft); }
.ct-section--dark { background: var(--ct-navy); color: #fff; }
body.cardtech-site .ct-section--dark h2,
body.cardtech-site .ct-section--dark h3,
body.cardtech-site .ct-section--dark p { color: #fff; }
.ct-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 16px; color: var(--ct-blue); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; font-size: 13px; }
.ct-eyebrow::before { content: ""; width: 28px; height: 3px; border-radius: 3px; background: var(--ct-cyan); }
.ct-title { max-width: 760px; margin: 0 0 22px; font-size: clamp(34px, 4vw, 58px); line-height: 1.08; }
.ct-title--center { margin-inline: auto; text-align: center; }
.ct-lead { max-width: 760px; font-size: 19px; }
.ct-center { text-align: center; }

.ct-header { position: sticky; top: 0; z-index: 1000; background: rgba(7,27,52,.96); box-shadow: 0 10px 35px rgba(0,0,0,.12); }
.ct-nav { width: min(1440px, calc(100% - 56px)); min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.ct-logo { color: #fff; font: 700 27px/1 "Ubuntu", sans-serif; letter-spacing: -.04em; }
.ct-logo:hover { color: #fff; }
.ct-logo span { color: var(--ct-cyan); }
.ct-logo img { display: block; width: 330px; height: auto; object-fit: contain; object-position: left center; image-rendering: auto; }
.ct-header .ct-logo img { margin-top: 12px; }
.ct-menu { display: flex; flex-wrap: nowrap; align-items: center; gap: 24px; margin: 0; padding: 7px 34px; border: 1px solid rgba(255,255,255,.11); border-radius: 999px; background: rgba(5,18,38,.24); box-shadow: 0 8px 24px rgba(3,13,28,.10); backdrop-filter: blur(12px); }
.ct-menu li { position: relative; }
.ct-menu a { display: block; color: #fff; font-size: 17px; font-weight: 650; white-space: nowrap; }
.ct-menu > li > a { position: relative; padding: 12px 0 13px; text-shadow: 0 1px 12px rgba(2,13,28,.18); transition: color .22s ease, transform .22s ease; }
.ct-menu > li > a::before { content: ""; position: absolute; right: 0; bottom: 6px; left: 0; height: 2px; border-radius: 99px; background: #78a8ff; transform: scaleX(0); transform-origin: right center; transition: transform .25s cubic-bezier(.22,1,.36,1); }
.ct-menu > li > a:hover { transform: translateY(-1px); }
.ct-menu > li > a:hover::before, .ct-menu > li > a.active::before, .ct-menu > li:focus-within > a::before { transform: scaleX(1); transform-origin: left center; }
.ct-menu a:hover, .ct-menu a.active { color: #fff; }
.ct-dropdown > a::after { content: " +"; color: #91b8ff; font-size: 15px; }
.ct-submenu { visibility: hidden; opacity: 0; transform: translateY(-4px); position: absolute; left: -14px; top: 100%; width: 268px; padding: 10px; border: 1px solid rgba(255,255,255,.76); border-radius: 14px; background: rgba(255,255,255,.97); box-shadow: 0 18px 45px rgba(5,18,38,.20); backdrop-filter: blur(12px); transition: opacity .2s ease, transform .2s cubic-bezier(.22,1,.36,1), visibility .2s; }
.ct-submenu a { padding: 11px 12px; border-radius: 9px; color: var(--ct-ink); font-size: 15px; font-weight: 650; transition: color .18s ease, background .18s ease, transform .18s ease; }
.ct-submenu a:hover { background: #edf4ff; color: var(--ct-blue); transform: translateX(4px); }
.ct-dropdown:hover .ct-submenu, .ct-dropdown:focus-within .ct-submenu { visibility: visible; opacity: 1; transform: translateY(0); }
.ct-nav-cta, .ct-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; border: 0; border-radius: 999px; padding: 14px 24px; color: #fff; background: var(--ct-blue); font-weight: 700; white-space: nowrap; transition: .2s; }
.ct-nav-cta:hover, .ct-btn:hover {
    color: #fff;
    border-color: var(--ct-blue-hover);
    background: var(--ct-blue-hover);
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(10, 37, 74, .28);
}
.ct-btn--light { background: #fff; color: var(--ct-navy); }
.ct-btn--outline { border: 1px solid rgba(255,255,255,.5); background: transparent; }
.ct-toggle { display: none; border: 0; background: transparent; color: #fff; font-size: 25px; }
.ct-menu-backdrop, .ct-menu-mobile-action { display: none; }

.ct-hero { position: relative; overflow: hidden; min-height: 720px; display: grid; align-items: center; background: linear-gradient(90deg, rgba(5,19,39,.97), rgba(5,19,39,.78) 55%, rgba(5,19,39,.28)), url('../images/home-three/hero/hero-bg.jpg') center/cover; }
.ct-hero::after { content: ""; position: absolute; width: 520px; height: 520px; right: -180px; top: -160px; border: 80px solid rgba(39,211,194,.12); border-radius: 50%; }
.ct-hero__content { position: relative; z-index: 2; max-width: 830px; padding: 110px 0; }
.ct-hero .ct-eyebrow { color: var(--ct-cyan); }
.ct-hero h1 { margin: 0 0 26px; color: #fff; font-size: clamp(48px, 7vw, 84px); line-height: .98; letter-spacing: -.04em; }
.ct-hero h1 span { color: var(--ct-cyan); }
.ct-hero p { max-width: 670px; color: rgba(255,255,255,.8); font-size: 20px; }
.ct-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 35px; }
.ct-stats { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, 1fr); margin-top: -72px; background: #fff; border-radius: 20px; box-shadow: 0 20px 60px rgba(19,45,77,.14); }
.ct-stat { padding: 34px; border-right: 1px solid var(--ct-border); }
.ct-stat:last-child { border: 0; }
.ct-stat strong { display: block; color: var(--ct-blue); font: 700 42px/1 "Ubuntu", sans-serif; }
.ct-stat span { display: block; margin-top: 8px; color: var(--ct-muted); }

.ct-grid { display: grid; gap: 28px; }
.ct-grid--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.ct-grid--3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.ct-grid--4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.ct-card { height: 100%; padding: 34px; border: 1px solid var(--ct-border); border-radius: 18px; background: #fff; transition: .25s; }
.ct-card:hover { transform: translateY(-7px); border-color: transparent; box-shadow: 0 22px 60px rgba(15,45,80,.12); }
.ct-card__icon { display: grid; place-items: center; width: 62px; height: 62px; margin-bottom: 25px; border-radius: 16px; color: #fff; background: linear-gradient(135deg, var(--ct-blue), #4b79ed); font-size: 25px; }
.ct-card h3 { margin: 0 0 14px; font-size: 23px; }
.ct-card p { margin-bottom: 18px; }
.ct-link { color: var(--ct-blue); font-weight: 700; }
.ct-link i { margin-left: 7px; }
.ct-split { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 72px; }
.ct-image { overflow: hidden; border-radius: 24px; box-shadow: 0 25px 70px rgba(13,35,61,.18); }
.ct-image img { width: 100%; min-height: 470px; object-fit: cover; }
.ct-checks { display: grid; gap: 13px; margin-top: 25px; }
.ct-checks li { display: flex; align-items: flex-start; gap: 12px; color: var(--ct-ink); }
.ct-checks i { margin-top: 5px; color: var(--ct-cyan); }

.ct-page-hero {
    display: flex;
    align-items: center;
    min-height: 260px;
    padding: 42px 0 38px;
    background-color: #051327;
    background-image: linear-gradient(90deg, rgba(4,18,38,.96) 0%, rgba(4,18,38,.84) 48%, rgba(4,18,38,.42) 100%), url('../images/cardtech/secure-processing.png');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.ct-page-hero .ct-container { position: relative; z-index: 1; }
body.cardtech-site .ct-page-hero h1 { max-width: 980px; margin: 0 0 14px; color: #fff; font-size: clamp(38px, 4.7vw, 60px); line-height: 1.06; }
body.cardtech-site .ct-page-hero p { max-width: 720px; margin-bottom: 0; color: rgba(255,255,255,.84); font-size: 18px; line-height: 1.65; }
.ct-breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; color: var(--ct-cyan); font-weight: 700; }
.ct-breadcrumb a { color: #fff; }
.ct-page-hero + .ct-section { padding-top: 78px; }

body[data-page="nosotros"] .ct-page-hero {
    background-image: linear-gradient(90deg, rgba(4,18,38,.96) 0%, rgba(4,18,38,.84) 50%, rgba(4,18,38,.38) 100%), url('../images/cardtech/capabilities-secure-continuity.png');
    background-position: center 45%;
}
body[data-page="tarjetas"] .ct-page-hero {
    background-image: linear-gradient(90deg, rgba(4,18,38,.96) 0%, rgba(4,18,38,.84) 48%, rgba(4,18,38,.32) 100%), url('../images/cardtech/payments-assurance-cardtech-v7.png');
    background-position: center;
}
body[data-page="atms"] .ct-page-hero {
    background-image: linear-gradient(90deg, rgba(4,18,38,.96) 0%, rgba(4,18,38,.84) 48%, rgba(4,18,38,.30) 100%), url('../images/cardtech/atm-solutions-cardtech.png');
    background-position: center 51%;
}
body[data-page="certificaciones"] .ct-page-hero {
    background-image: linear-gradient(90deg, rgba(4,18,38,.96) 0%, rgba(4,18,38,.85) 50%, rgba(4,18,38,.34) 100%), url('../images/cardtech/capabilities-integrated-security.png');
    background-position: center 56%;
}
body[data-page="blog"] .ct-page-hero {
    background-image: linear-gradient(90deg, rgba(4,18,38,.96) 0%, rgba(4,18,38,.84) 50%, rgba(4,18,38,.32) 100%), url('../images/cardtech/payments-ecosystem.png');
    background-position: center 54%;
}
body[data-page="contacto"] .ct-page-hero {
    background-image: linear-gradient(90deg, rgba(4,18,38,.96) 0%, rgba(4,18,38,.84) 50%, rgba(4,18,38,.38) 100%), url('../images/cardtech/about-team.jpg');
    background-position: center 43%;
}
body[data-hero="processing"] .ct-page-hero {
    background-image: linear-gradient(90deg, rgba(4,18,38,.96) 0%, rgba(4,18,38,.84) 50%, rgba(4,18,38,.34) 100%), url('../images/cardtech/transaction-processing-card-issuance.png');
    background-position: center 52%;
}
body[data-hero="blog-security"] .ct-page-hero {
    background-image: linear-gradient(90deg, rgba(4,18,38,.97) 0%, rgba(4,18,38,.85) 52%, rgba(4,18,38,.32) 100%), url('../images/cardtech/blog-online-security.jpg');
    background-position: center 50%;
}
body[data-hero="blog-credit"] .ct-page-hero {
    background-image: linear-gradient(90deg, rgba(4,18,38,.97) 0%, rgba(4,18,38,.85) 52%, rgba(4,18,38,.32) 100%), url('../images/cardtech/blog-responsible-credit.jpg');
    background-position: center 48%;
}
body[data-hero="blog-future"] .ct-page-hero {
    background-image: linear-gradient(90deg, rgba(4,18,38,.96) 0%, rgba(4,18,38,.84) 50%, rgba(4,18,38,.32) 100%), url('../images/cardtech/payments-ecosystem.png');
    background-position: center 54%;
}
.ct-band { padding: 68px 0; background: linear-gradient(120deg, var(--ct-blue), #0b377e); }
.ct-band__inner { display: flex; align-items: center; justify-content: space-between; gap: 35px; }
body.cardtech-site .ct-band h2 { max-width: 720px; margin: 0; color: #fff; font-size: clamp(30px, 4vw, 48px); }

.ct-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin: 30px 0; }
.ct-tab { padding: 10px 18px; border: 1px solid var(--ct-border); border-radius: 999px; background: #fff; color: var(--ct-ink); font-weight: 700; }
.ct-tab:hover, .ct-tab.active { color: #fff; border-color: var(--ct-blue); background: var(--ct-blue); }
.ct-product-card { overflow: hidden; padding: 0; }
.ct-product-card img { width: 100%; height: 230px; object-fit: cover; }
.ct-product-card__body { padding: 28px; }
.ct-product-card small { color: var(--ct-blue); font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.ct-cert { position: relative; overflow: hidden; }
.ct-cert::after { content: attr(data-mark); position: absolute; right: 18px; bottom: -12px; color: rgba(20,86,217,.07); font: 700 58px "Ubuntu", sans-serif; }
.ct-cert p { position: relative; z-index: 1; }
.ct-value { padding: 28px 0; border-bottom: 1px solid var(--ct-border); }
.ct-value:last-child { border-bottom: 0; }
.ct-value h3 { margin-bottom: 9px; }

body[data-page="nosotros"] main { overflow: hidden; }
.ct-about-intro { padding: 108px 0 118px; background: #fff; }
.ct-about-intro .orbia-image-box { min-height: 590px; }
.ct-about-intro .orbia-image-box .image_one { width: calc(100% - 72px); }
.ct-about-intro .orbia-image-box .image_one img { width: 100%; height: 535px; object-fit: cover; object-position: center; }
.ct-about-intro .orbia-image-box .image_two { right: 0; bottom: -8px; width: 275px; }
.ct-about-intro .orbia-image-box .image_two img { width: 100%; height: 220px; border: 9px solid #fff; border-radius: 28px; object-fit: cover; box-shadow: 0 22px 48px rgba(13, 35, 61, .20); }
.ct-about-intro__experience { position: absolute; z-index: 2; left: -22px; bottom: 72px; display: flex; align-items: center; gap: 13px; padding: 17px 22px; border-radius: 0 22px 22px 0; color: #fff; background: linear-gradient(115deg, #126f83, #23a398); box-shadow: 0 18px 38px rgba(17, 107, 122, .25); }
.ct-about-intro__experience strong { font: 700 36px/1 "Ubuntu", sans-serif; }
.ct-about-intro__experience span { font-size: 13px; font-weight: 700; line-height: 1.25; }
.ct-about-intro .orbia-content-box { padding-left: 42px; }
.ct-about-intro .section-title { margin-bottom: 22px; }
.ct-about-intro .section-title .sub-title,
.ct-about-culture .section-title .sub-title { color: #176f85; }
.ct-about-intro .check-list li { color: #334b62; }
.ct-about-intro .check-list li:not(:last-child) { margin-bottom: 17px; }
.ct-about-intro .check-list.gradient-check i { color: #7157cf; background: none; -webkit-text-fill-color: currentColor; }
.ct-about-intro__proof { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding-top: 28px; border-top: 1px solid var(--ct-border); }
.ct-about-intro__proof > div { display: flex; align-items: center; gap: 13px; }
.ct-about-intro__proof strong { color: var(--ct-navy); font: 700 35px/1 "Ubuntu", sans-serif; }
.ct-about-intro__proof span { max-width: 100px; color: var(--ct-muted); font-size: 13px; font-weight: 700; line-height: 1.25; }

.ct-about-principles { margin: 0 28px; padding: 102px 0 84px; background: linear-gradient(105deg, rgba(3, 18, 38, .97) 0%, rgba(6, 34, 65, .90) 54%, rgba(10, 37, 67, .72) 100%), url('../images/cardtech/payments-ecosystem.jpg') center/cover; }
.ct-about-principles .section-title .sub-title { color: #74decf; }
.ct-about-principles .section-title h2 { color: #fff; }
.ct-about-principles .container-fluid { max-width: 1400px; }
.ct-about-principles .item-column:last-child { border-right: 0; }
.ct-about-principles .orbia-service-card { min-height: 370px; padding: 34px 38px; border: 1px solid rgba(255, 255, 255, .16); }
.ct-about-principles .orbia-service-card.item-active { background: linear-gradient(145deg, rgba(108, 77, 199, .40), rgba(255, 255, 255, .09)); }
.ct-about-principles .orbia-service-card:hover { background: rgba(255, 255, 255, .12); }
.ct-about-principles__top { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 52px; }
.ct-about-principles__top > span { color: rgba(255, 255, 255, .55); font: 700 14px/1 "Ubuntu", sans-serif; letter-spacing: .16em; }
.ct-about-principles .orbia-service-card .content .icon { display: grid; width: 66px; height: 66px; margin: 0; place-items: center; border-radius: 50%; color: #fff; background: #168b82; font-size: 24px; }
.ct-about-principles .item-column:nth-child(2) .icon { background: #7157cf; }
.ct-about-principles .item-column:nth-child(3) .icon { background: #e06c49; }
body.cardtech-site .ct-about-principles .orbia-service-card .content p { height: auto; min-height: 132px; margin: 0; padding: 0 0 28px; color: rgba(255, 255, 255, .76); font-size: 16px; line-height: 1.7; }
body.cardtech-site .ct-about-principles .orbia-service-card .content .title { color: #fff; font-size: 31px; }

.ct-about-culture { padding: 118px 0 108px; background: #fff; }
.ct-about-culture__visual { position: relative; overflow: visible; }
.ct-about-culture__visual > img { width: 100%; height: 610px; border-radius: 34px; object-fit: cover; object-position: 64% center; box-shadow: 0 24px 58px rgba(17, 43, 72, .15); }
.ct-about-culture__badge { position: absolute; right: -28px; bottom: 30px; display: flex; align-items: center; gap: 13px; padding: 18px 22px; border: 7px solid #fff; border-radius: 24px; color: #fff; background: #0b315a; box-shadow: 0 18px 42px rgba(10, 42, 78, .22); }
.ct-about-culture__badge i { color: #65d7c8; font-size: 25px; }
.ct-about-culture__badge span { font-size: 13px; font-weight: 700; line-height: 1.3; }
.ct-about-culture__content { padding-left: 58px; }
.ct-about-culture .section-title p { max-width: 650px; margin-top: 18px; }
.ct-about-culture__content > .row { --bs-gutter-y: 20px; }
.ct-about-value { min-height: 174px; margin-bottom: 0 !important; padding: 25px 23px !important; border: 0 !important; background: #edf8f6 !important; }
.ct-about-culture__content > .row > div:nth-child(2) .ct-about-value { background: #f0edfb !important; }
.ct-about-culture__content > .row > div:nth-child(3) .ct-about-value { background: #fff0e8 !important; }
.ct-about-culture__content > .row > div:nth-child(4) .ct-about-value { background: #eef4fb !important; }
.ct-about-value .sn-number { color: #177d76 !important; font-size: 17px !important; }
.ct-about-culture__content > .row > div:nth-child(2) .sn-number { color: #7157cf !important; }
.ct-about-culture__content > .row > div:nth-child(3) .sn-number { color: #d76543 !important; }
.ct-about-culture__content > .row > div:nth-child(4) .sn-number { color: #2767a6 !important; }
body.cardtech-site .ct-about-value .content .title { margin-bottom: 9px; color: var(--ct-navy); font-size: 20px; line-height: 1.2; }
body.cardtech-site .ct-about-value .content p { margin: 0; color: #5c6977; font-size: 14px; line-height: 1.55; }

.ct-about-certifications { padding: 88px 0; background: #edf2f7; }
.ct-about-certifications__panel { position: relative; isolation: isolate; overflow: hidden; min-height: 390px; padding: 68px 72px; border-radius: 38px; background: linear-gradient(90deg, rgba(4, 22, 46, .97) 0%, rgba(6, 33, 65, .91) 51%, rgba(6, 33, 65, .35) 100%), url('../images/cardtech/specialized-services-secure-operations.png') center/cover; box-shadow: 0 26px 65px rgba(9, 40, 75, .19); }
.ct-about-certifications__panel::before { position: absolute; z-index: -1; top: -170px; right: -120px; width: 410px; height: 410px; content: ""; border: 62px solid rgba(91, 219, 202, .15); border-radius: 50%; }
.ct-about-certifications__content { position: relative; z-index: 2; max-width: 650px; }
.ct-about-certifications__content .sub-title { margin-bottom: 15px; color: #74decf; }
body.cardtech-site .ct-about-certifications__content h2 { margin-bottom: 17px; color: #fff; font-size: clamp(36px, 4vw, 56px); line-height: 1.08; }
body.cardtech-site .ct-about-certifications__content p { max-width: 585px; margin-bottom: 30px; color: rgba(255, 255, 255, .78); font-size: 17px; }
.ct-about-certifications .theme-btn.style-one { color: var(--ct-navy); background: #fff; }
.ct-about-certifications .theme-btn.style-one:hover { color: #fff; background: var(--ct-blue); }
.ct-about-certifications__marks { position: absolute; z-index: 2; right: 74px; bottom: 52px; display: flex; align-items: center; }
.ct-about-certifications__marks span { display: grid; width: 112px; height: 112px; margin-left: -18px; place-items: center; border: 1px solid rgba(255, 255, 255, .42); border-radius: 50%; color: #fff; background: rgba(5, 27, 54, .56); font: 700 21px/1 "Ubuntu", sans-serif; letter-spacing: .08em; backdrop-filter: blur(10px); }
.ct-about-certifications__marks span:nth-child(2) { transform: translateY(-28px); background: rgba(91, 71, 178, .70); }
.ct-about-certifications__marks span:nth-child(3) { background: rgba(22, 139, 130, .70); }

/* Shared visual system for Cardtech inner pages. */
.ct-inner-story { padding: 108px 0 118px; }
.ct-inner-story .ct-split { gap: 90px; }
.ct-inner-story .ct-title { max-width: 650px; }
.ct-inner-story .ct-image { position: relative; overflow: visible; border-radius: 34px; }
.ct-inner-story .ct-image > img { height: 560px; border-radius: 34px; object-position: center; }
.ct-inner-story--cards .ct-image > img { object-position: 56% center; }
.ct-inner-story--processing .ct-image > img { object-position: 60% center; }
.ct-image-caption { position: absolute; right: -28px; bottom: 30px; display: flex; align-items: center; gap: 12px; padding: 17px 21px; border: 7px solid #fff; border-radius: 22px; color: #fff; background: #0a315a; box-shadow: 0 18px 42px rgba(8, 37, 70, .22); }
.ct-image-caption i { color: #6be0d1; font-size: 25px; }
.ct-image-caption span { font-size: 13px; font-weight: 700; line-height: 1.25; }
.ct-story-metrics { display: flex; flex-wrap: wrap; gap: 30px; margin-top: 32px; padding-top: 25px; border-top: 1px solid var(--ct-border); }
.ct-story-metrics span { display: flex; align-items: center; gap: 10px; color: var(--ct-muted); font-size: 13px; font-weight: 700; }
.ct-story-metrics strong { color: var(--ct-navy); font: 700 29px/1 "Ubuntu", sans-serif; }
.ct-story-metrics + .ct-btn { margin-top: 28px; }

.ct-inner-feature { position: relative; overflow: hidden; background: #eef3f8; }
.ct-inner-feature::after { position: absolute; right: -150px; bottom: -210px; width: 440px; height: 440px; content: ""; border: 60px solid rgba(113, 87, 207, .08); border-radius: 50%; }
.ct-inner-feature .ct-container { position: relative; z-index: 1; }
.ct-inner-feature .ct-image { position: relative; overflow: visible; box-shadow: none; }
.ct-inner-feature .ct-image > img { height: 520px; border-radius: 32px; box-shadow: 0 24px 58px rgba(15, 46, 78, .16); }
.ct-image-number { position: absolute; right: -22px; top: -24px; display: grid; width: 94px; height: 94px; place-items: center; border: 7px solid #eef3f8; border-radius: 50%; color: #fff; background: #7157cf; font: 700 19px/1 "Ubuntu", sans-serif; box-shadow: 0 15px 32px rgba(72, 55, 143, .22); }
.ct-mini-feature { position: relative; overflow: hidden; min-height: 215px; padding: 27px; border: 0; border-radius: 25px; background: #e0f5f0; box-shadow: none; }
.ct-mini-feature:nth-child(2) { background: #fff0e7; }
.ct-mini-feature > span { position: absolute; top: 18px; right: 20px; color: rgba(7, 27, 52, .34); font-size: 12px; font-weight: 700; letter-spacing: .14em; }
.ct-mini-feature > i { display: grid; width: 50px; height: 50px; margin-bottom: 22px; place-items: center; border-radius: 50%; color: #fff; background: #168b82; font-size: 19px; }
.ct-mini-feature:nth-child(2) > i { background: #e06c49; }
.ct-mini-feature h3 { font-size: 21px; }
.ct-mini-feature p { margin: 0; font-size: 14px; line-height: 1.55; }

.ct-inner-services { background: #f7f3ed; }
.ct-inner-services .ct-card,
.ct-transaction-flow .ct-card,
.ct-atm-services .ct-card { position: relative; isolation: isolate; overflow: hidden; border: 0; border-radius: 28px; }
.ct-inner-services .ct-card { min-height: 325px; padding: 37px; background: #e5f6f2; box-shadow: 0 18px 40px rgba(26, 61, 79, .08); }
.ct-inner-services .ct-card:nth-child(2) { background: #efecfb; }
.ct-inner-services .ct-card:nth-child(3) { background: #fff0e7; }
.ct-inner-services .ct-card::after,
.ct-transaction-flow .ct-card::after,
.ct-atm-services .ct-card::after { position: absolute; z-index: -1; right: 22px; bottom: -18px; content: attr(data-step); color: rgba(7, 27, 52, .07); font: 700 90px/1 "Ubuntu", sans-serif; }
.ct-inner-services .ct-card__icon { border-radius: 50%; background: #168b82; }
.ct-inner-services .ct-card:nth-child(2) .ct-card__icon { background: #7157cf; }
.ct-inner-services .ct-card:nth-child(3) .ct-card__icon { background: #e06c49; }
.ct-inner-services .ct-card p { margin-bottom: 0; }

.ct-transaction-flow { position: relative; overflow: hidden; background: #eef3f8; }
.ct-transaction-flow .ct-grid { gap: 18px; }
.ct-transaction-flow .ct-card { min-height: 300px; padding: 32px 28px; background: #fff; box-shadow: 0 16px 36px rgba(20, 52, 84, .07); }
.ct-transaction-flow .ct-card::before { position: absolute; top: 60px; right: -18px; width: 36px; height: 1px; content: ""; background: #7b65d5; }
.ct-transaction-flow .ct-card:last-child::before { display: none; }
.ct-transaction-flow .ct-card__icon { border-radius: 50%; }
.ct-transaction-flow .ct-card:nth-child(2) .ct-card__icon { background: linear-gradient(135deg, #7157cf, #9e7ae8); }
.ct-transaction-flow .ct-card:nth-child(3) .ct-card__icon { background: linear-gradient(135deg, #168b82, #35b8a9); }
.ct-transaction-flow .ct-card:nth-child(4) .ct-card__icon { background: linear-gradient(135deg, #e06c49, #f09469); }
.ct-inner-related .ct-image { position: relative; overflow: visible; box-shadow: none; }
.ct-inner-related .ct-image > img { height: 500px; border-radius: 32px; box-shadow: 0 24px 55px rgba(13, 42, 74, .15); }
.ct-inner-related .ct-image-number { color: var(--ct-navy); background: #fff; border-color: #fff; }
.ct-inner-related .ct-split > div:not(.ct-image) > .theme-btn { margin-top: 24px; }

.ct-band--visual { position: relative; isolation: isolate; overflow: hidden; min-height: 330px; display: flex; align-items: center; padding: 78px 0; background-position: center; background-size: cover; }
.ct-band--visual::before { position: absolute; inset: 0; z-index: -1; content: ""; background: linear-gradient(90deg, rgba(3, 20, 43, .97), rgba(5, 35, 69, .86) 60%, rgba(5, 35, 69, .35)); }
.ct-band--visual::after { position: absolute; z-index: -1; right: -80px; top: -165px; width: 360px; height: 360px; content: ""; border: 52px solid rgba(98, 224, 207, .16); border-radius: 50%; }
.ct-band--cards { background-image: url('../images/cardtech/card-personalization.png'); background-position: center 54%; }
.ct-band--processing { background-image: url('../images/cardtech/transaction-processing-card-issuance.png'); }
.ct-band--atms { background-image: url('../images/cardtech/atm-solutions-cardtech.png'); background-position: center 48%; }
.ct-band--certifications { background-image: url('../images/cardtech/capabilities-integrated-security.png'); }
.ct-band--blog { background-image: url('../images/cardtech/payments-ecosystem.png'); }
.ct-band--visual .ct-band__inner { position: relative; z-index: 1; }
.ct-band--visual .ct-band__inner > div { max-width: 760px; }
.ct-band--visual .ct-band__inner > div > span { margin-bottom: 13px; color: #78ded0; font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
body.cardtech-site .ct-band--visual h2 { font-size: clamp(34px, 4vw, 54px); line-height: 1.08; }

.ct-atm-catalog { background: #f7f3ed; }
.ct-atm-catalog .ct-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 26px; }
.ct-atm-catalog .ct-product-card { grid-column: span 4; border: 0; border-radius: 28px; box-shadow: 0 18px 42px rgba(24, 50, 74, .09); }
.ct-atm-catalog .ct-product-card:nth-child(-n+2) { grid-column: span 6; }
.ct-atm-catalog .ct-product-card img { height: 235px; transition: transform .5s cubic-bezier(.22, 1, .36, 1); }
.ct-atm-catalog .ct-product-card:nth-child(-n+2) img { height: 315px; }
.ct-atm-catalog .ct-product-card:hover img { transform: scale(1.035); }
.ct-atm-catalog .ct-product-card__body { padding: 30px 30px 34px; }
.ct-atm-catalog .ct-product-card small { display: inline-flex; margin-bottom: 14px; padding: 6px 10px; border-radius: 999px; color: #176f85; background: #e1f5f1; }
.ct-atm-catalog .ct-product-card:nth-child(3n+2) small { color: #654db9; background: #efecfb; }
.ct-atm-catalog .ct-product-card:nth-child(3n+3) small { color: #c45b3c; background: #fff0e7; }
.ct-atm-services { background: linear-gradient(130deg, #061a33 0%, #0b315a 100%); }
.ct-atm-services .ct-eyebrow { color: #72ddcf; }
body.cardtech-site .ct-atm-services .ct-title { color: #fff; }
.ct-atm-services .ct-card { min-height: 300px; padding: 35px; border: 1px solid rgba(255, 255, 255, .14); background: rgba(255, 255, 255, .07); box-shadow: none; }
.ct-atm-services .ct-card:nth-child(2) { background: rgba(113, 87, 207, .20); }
.ct-atm-services .ct-card:nth-child(3) { background: rgba(224, 108, 73, .16); }
.ct-atm-services .ct-card__icon { border-radius: 50%; background: #168b82; }
.ct-atm-services .ct-card:nth-child(2) .ct-card__icon { background: #7157cf; }
.ct-atm-services .ct-card:nth-child(3) .ct-card__icon { background: #e06c49; }
body.cardtech-site .ct-atm-services .ct-card h3 { color: #fff; }
body.cardtech-site .ct-atm-services .ct-card p { color: rgba(255, 255, 255, .72); }
.ct-atm-services .ct-card::after { color: rgba(255, 255, 255, .06); }

.ct-payment-standards { background: #fff; }
.ct-payment-standards .ct-card { min-height: 340px; padding: 40px; border: 0; border-radius: 30px; background: #e1f5f1; box-shadow: 0 18px 42px rgba(22, 66, 80, .09); }
.ct-payment-standards .ct-card:nth-child(2) { background: #efecfb; }
.ct-payment-standards .ct-card:nth-child(3) { background: #fff0e7; }
.ct-payment-standards .ct-card__icon { border-radius: 50%; background: #168b82; }
.ct-payment-standards .ct-card:nth-child(2) .ct-card__icon { background: #7157cf; }
.ct-payment-standards .ct-card:nth-child(3) .ct-card__icon { background: #e06c49; }
.ct-payment-standards .ct-cert::after { right: 25px; bottom: 8px; color: rgba(7, 27, 52, .065); font-size: 80px; }
.ct-iso-systems { background: #f7f3ed; }
.ct-iso-systems .ct-grid { gap: 20px; }
.ct-iso-systems .ct-card { min-height: 235px; padding: 32px; border: 0; border-radius: 24px; background: #fff; box-shadow: 0 14px 34px rgba(34, 52, 68, .07); }
.ct-iso-systems .ct-card::before { position: absolute; top: 0; right: 0; left: 0; height: 5px; content: ""; background: #168b82; }
.ct-iso-systems .ct-card:nth-child(3n+2)::before { background: #7157cf; }
.ct-iso-systems .ct-card:nth-child(3n+3)::before { background: #e06c49; }
.ct-iso-systems .ct-cert::after { right: 18px; bottom: 6px; font-size: 54px; }

.ct-blog-index { background: #f7f3ed; }
.ct-blog-index__intro { display: grid; grid-template-columns: .9fr 1.1fr; align-items: end; gap: 70px; margin-bottom: 55px; }
.ct-blog-index__intro .ct-title { margin-bottom: 0; }
.ct-blog-index__intro > p { max-width: 520px; margin: 0 0 8px auto; font-size: 17px; }
.ct-blog-index .ct-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 26px; }
.ct-blog-index .ct-blog-card { border: 0; border-radius: 30px; box-shadow: 0 18px 44px rgba(25, 50, 72, .09); }
.ct-blog-index .ct-blog-card:first-child { grid-column: span 7; grid-row: span 2; }
.ct-blog-index .ct-blog-card:nth-child(n+2) { grid-column: span 5; display: grid; grid-template-columns: .86fr 1.14fr; }
.ct-blog-index .ct-blog-card:first-child img { height: 520px; }
.ct-blog-index .ct-blog-card:nth-child(n+2) img { height: 100%; min-height: 275px; }
.ct-blog-index .ct-blog-card__body { display: flex; flex-direction: column; padding: 31px; }
.ct-blog-index .ct-blog-card .ct-meta span { padding: 6px 10px; border-radius: 999px; color: #176f85; background: #e1f5f1; font-size: 12px; font-weight: 800; }
.ct-blog-index .ct-blog-card:nth-child(2) .ct-meta span { color: #654db9; background: #efecfb; }
.ct-blog-index .ct-blog-card:nth-child(3) .ct-meta span { color: #c45b3c; background: #fff0e7; }
.ct-blog-index .ct-blog-card h3 { font-size: 26px; }
.ct-blog-index .ct-blog-card .ct-link { margin-top: auto; }

.ct-article-page { background: #eef3f8; }
.ct-article-layout { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr); align-items: start; gap: 42px; }
.ct-article-aside { position: sticky; top: 110px; overflow: hidden; border-radius: 30px; color: #fff; background: #071b34; box-shadow: 0 22px 52px rgba(11, 37, 67, .16); }
.ct-article-aside img { width: 100%; height: 330px; object-fit: cover; }
.ct-article-aside > span { margin: 30px 32px 12px; padding: 7px 11px; border-radius: 999px; color: #8be6d9; background: rgba(39, 211, 194, .12); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
body.cardtech-site .ct-article-aside p { margin: 0 32px 24px; color: rgba(255, 255, 255, .76); font-size: 15px; }
.ct-article-aside a { margin: 0 32px 32px; color: #fff; font-weight: 700; }
.ct-article-aside a i { margin-right: 8px; }
.ct-article-content { padding: 52px 58px 60px; border-radius: 30px; background: #fff; box-shadow: 0 18px 45px rgba(20, 48, 78, .08); }
.ct-article-content .ct-article-lead { margin-bottom: 44px; padding: 0 0 32px 25px; border-bottom: 1px solid var(--ct-border); border-left: 4px solid #168b82; color: #31485f; font-size: 20px; line-height: 1.7; }
.ct-article-content h2 { position: relative; margin: 42px 0 14px; padding-left: 24px; font-size: 29px; }
.ct-article-content h2::before { position: absolute; top: 12px; left: 0; width: 9px; height: 9px; content: ""; border-radius: 50%; background: #7157cf; box-shadow: 0 0 0 7px rgba(113, 87, 207, .10); }
.ct-article-content p { font-size: 17px; line-height: 1.82; }

.ct-contact-main { background: linear-gradient(180deg, #fff 0%, #f3f7fb 100%); }
.ct-contact-main .ct-contact-layout { grid-template-columns: .78fr 1.22fr; gap: 34px; }
.ct-contact-main .ct-contact-panel { position: relative; isolation: isolate; overflow: hidden; min-height: 690px; padding: 48px 42px; border-radius: 30px; background: linear-gradient(180deg, rgba(5, 25, 49, .88), rgba(5, 25, 49, .97)), url('../images/cardtech/about-team.jpg') center/cover; box-shadow: 0 22px 52px rgba(10, 39, 72, .16); }
.ct-contact-main .ct-contact-panel::after { position: absolute; z-index: -1; right: -90px; bottom: -90px; width: 260px; height: 260px; content: ""; border: 40px solid rgba(39, 211, 194, .12); border-radius: 50%; }
.ct-contact-main .ct-contact-panel .ct-eyebrow { color: #82dfd2; }
.ct-contact-main .ct-contact-item { padding: 20px 0; border-bottom: 1px solid rgba(255, 255, 255, .11); }
.ct-contact-main .ct-contact-item:last-child { border-bottom: 0; }
.ct-contact-main .ct-contact-item i { display: grid; flex: 0 0 auto; width: 46px; height: 46px; margin: 0; place-items: center; border-radius: 50%; background: rgba(39, 211, 194, .12); }
.ct-contact-main .ct-contact-item h3 { font-size: 18px; }
.ct-contact-main .ct-form { padding: 48px; border: 0; border-radius: 30px; box-shadow: 0 22px 54px rgba(15, 45, 80, .10); }
.ct-contact-main .ct-form h2 { margin-bottom: 9px; font-size: 40px; }
.ct-contact-main .ct-fields { margin-top: 30px; }
.ct-contact-main .ct-field input,
.ct-contact-main .ct-field select,
.ct-contact-main .ct-field textarea { border-color: transparent; border-radius: 14px; background: #f0f4f8; }
.ct-contact-main .ct-field input:focus,
.ct-contact-main .ct-field select:focus,
.ct-contact-main .ct-field textarea:focus { border-color: #6c88aa; background: #fff; box-shadow: 0 0 0 4px rgba(20, 86, 217, .08); }
.ct-data-rights { background: #f7f3ed; }
.ct-data-rights .ct-card { position: relative; overflow: hidden; padding: 42px; border: 0; border-radius: 30px; background: linear-gradient(145deg, #e3f5f1, #fff); box-shadow: 0 18px 44px rgba(24, 56, 74, .09); }
.ct-data-rights .ct-card::after { position: absolute; right: -65px; bottom: -75px; width: 210px; height: 210px; content: ""; border: 34px solid rgba(22, 139, 130, .09); border-radius: 50%; }
.ct-data-rights__icon { display: grid; width: 66px; height: 66px; margin-bottom: 25px; place-items: center; border-radius: 50%; color: #fff; background: #168b82; font-size: 24px; }
.ct-data-rights .ct-card > * { position: relative; z-index: 1; }

@media (max-width: 1199.98px) {
    .ct-inner-story .ct-split { gap: 55px; }
    .ct-atm-catalog .ct-product-card,
    .ct-atm-catalog .ct-product-card:nth-child(-n+2) { grid-column: span 6; }
    .ct-blog-index .ct-blog-card:first-child { grid-column: span 12; grid-row: auto; }
    .ct-blog-index .ct-blog-card:nth-child(n+2) { grid-column: span 6; display: block; }
    .ct-blog-index .ct-blog-card:nth-child(n+2) img { height: 300px; }
    .ct-article-layout { grid-template-columns: 1fr; }
    .ct-article-aside { position: relative; top: auto; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; }
    .ct-article-aside img { grid-row: span 3; height: 100%; min-height: 300px; }
    .ct-contact-main .ct-contact-layout { grid-template-columns: 1fr; }
    .ct-contact-main .ct-contact-panel { min-height: 0; }
}

@media (max-width: 900px) {
    .ct-inner-story .ct-image-caption { right: 12px; }
    .ct-transaction-flow .ct-card::before { display: none; }
    .ct-atm-catalog .ct-product-card,
    .ct-atm-catalog .ct-product-card:nth-child(-n+2) { grid-column: span 12; }
    .ct-blog-index__intro { grid-template-columns: 1fr; gap: 10px; }
    .ct-blog-index__intro > p { margin-left: 0; }
    .ct-blog-index .ct-blog-card:nth-child(n+2) { grid-column: span 12; display: grid; }
    .ct-contact-main .ct-form { padding: 38px; }
}

@media (max-width: 640px) {
    .ct-inner-story { padding: 70px 0 76px; }
    .ct-inner-story .ct-image > img { height: 410px; border-radius: 26px; }
    .ct-image-caption { right: 8px !important; bottom: 12px; padding: 13px 16px; border-width: 5px; }
    .ct-story-metrics { gap: 16px; }
    .ct-inner-feature .ct-image > img,
    .ct-inner-related .ct-image > img { height: 390px; border-radius: 25px; }
    .ct-image-number { right: 8px; top: -18px; width: 74px; height: 74px; border-width: 5px; }
    .ct-inner-services .ct-card,
    .ct-transaction-flow .ct-card,
    .ct-atm-services .ct-card { min-height: 0; padding: 28px; }
    .ct-band--visual { min-height: 0; padding: 62px 0; }
    .ct-band--visual .ct-band__inner { flex-direction: column; }
    .ct-atm-catalog .ct-grid { grid-template-columns: 1fr; }
    .ct-atm-catalog .ct-product-card,
    .ct-atm-catalog .ct-product-card:nth-child(-n+2) { grid-column: auto; }
    .ct-atm-catalog .ct-product-card img,
    .ct-atm-catalog .ct-product-card:nth-child(-n+2) img { height: 250px; }
    .ct-payment-standards .ct-card { min-height: 0; padding: 30px; }
    .ct-iso-systems .ct-card { min-height: 0; }
    .ct-blog-index .ct-grid { grid-template-columns: 1fr; }
    .ct-blog-index .ct-blog-card:first-child,
    .ct-blog-index .ct-blog-card:nth-child(n+2) { grid-column: auto; display: block; }
    .ct-blog-index .ct-blog-card:first-child img,
    .ct-blog-index .ct-blog-card:nth-child(n+2) img { height: 270px; min-height: 0; }
    .ct-article-aside { display: block; }
    .ct-article-aside img { height: 260px; min-height: 0; }
    .ct-article-content { padding: 34px 25px 40px; border-radius: 24px; }
    .ct-article-content .ct-article-lead { padding-left: 18px; font-size: 18px; }
    .ct-article-content h2 { font-size: 24px; }
    .ct-contact-main .ct-contact-panel,
    .ct-contact-main .ct-form { padding: 30px 25px; border-radius: 25px; }
    .ct-contact-main .ct-form h2 { font-size: 33px; }
    .ct-data-rights .ct-card { padding: 30px 25px; }
}

.ct-management {
    overflow: hidden;
    padding: 96px 0 108px;
    background: #f6f3ee;
}
.ct-management .section-title .sub-title { color: #1b6d83; }
.ct-management .section-title h2 { max-width: 760px; margin-inline: auto; color: var(--ct-navy); }
.ct-management .section-title p { max-width: 720px; margin: 18px auto 0; color: #5d6873; }
.ct-management__flow { justify-content: center; gap: 22px !important; }
.ct-management .ct-management__box {
    display: flex;
    flex: 0 1 250px;
    min-height: 305px;
    align-items: center;
    padding: 32px 28px;
    text-align: left;
    border: 1px solid rgba(11, 45, 82, .07);
    box-shadow: 0 20px 42px rgba(31, 48, 67, .08);
}
.ct-management .ct-management__box--responsible { background: linear-gradient(145deg, #dff5ef 0%, #f8fbf8 80%); }
.ct-management .ct-management__box--continuity { background: linear-gradient(145deg, #fff0e7 0%, #fffaf4 80%); }
.ct-management__number { display: block; margin-bottom: 17px; color: rgba(8, 42, 76, .42); font: 700 13px/1 "Ubuntu", sans-serif; letter-spacing: .16em; }
.ct-management__icon { display: grid; width: 66px; height: 66px; margin-bottom: 30px; place-items: center; border-radius: 50%; color: #fff; background: #18867d; font-size: 25px; }
.ct-management__box--continuity .ct-management__icon { background: #e06c49; }
body.cardtech-site .ct-management .ct-management__box h3 { margin-bottom: 13px; color: var(--ct-navy); font-size: 24px; }
body.cardtech-site .ct-management .ct-management__box p { margin: 0; color: #586572; font-size: 15px; line-height: 1.65; }
.ct-management__arrow { flex: 0 1 135px; }
.ct-management__arrow .content img { width: 100%; max-width: 128px; }
body.cardtech-site .ct-management__arrow p { max-width: 130px; margin: 0 auto; color: #596470; font-size: 13px; line-height: 1.35; }
.ct-management .ct-management__center { flex: 0 0 288px; border-color: #6e64c8; }
.ct-management .ct-management__center .orbia-process-circle-box { width: 246px; height: 246px; }
.ct-management .ct-management__center .bg_one { background: linear-gradient(145deg, #e2e8ff 0%, #f8f6ff 86%); }
.ct-management .ct-management__center .bg_two { background: linear-gradient(145deg, #1c78b6 0%, #6556bd 100%); }
.ct-management__center .ct-management__number { margin-bottom: 12px; }
.ct-management__center .ct-management__icon { width: 54px; height: 54px; margin: 0 auto 17px; background: #3157a6; font-size: 21px; }
body.cardtech-site .ct-management__center h3 { margin: 0; color: var(--ct-navy); font-size: 23px; }
body.cardtech-site .ct-management__center .bg_two p { max-width: 190px; margin: 0 auto; color: #fff; font-size: 14px; line-height: 1.55; }
.ct-management .ct-management__box,
.ct-management .ct-management__center { transition: transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s ease; }
.ct-management .ct-management__box:hover,
.ct-management .ct-management__center:hover { transform: translateY(-7px); box-shadow: 0 26px 52px rgba(31, 48, 67, .13); }

.ct-blog-card { overflow: hidden; padding: 0; }
.ct-blog-card img { width: 100%; height: 250px; object-fit: cover; }
.ct-blog-card__body { padding: 28px; }
.ct-meta { display: flex; gap: 18px; margin-bottom: 12px; color: var(--ct-muted); font-size: 14px; }
.ct-article { max-width: 820px; margin-inline: auto; }
.ct-article__image { width: 100%; max-height: 480px; margin-bottom: 40px; border-radius: 22px; object-fit: cover; }
.ct-article h2 { margin: 40px 0 15px; font-size: 31px; }
.ct-article h3 { margin: 27px 0 10px; font-size: 23px; }
.ct-article p, .ct-article li { font-size: 17px; line-height: 1.8; }

.ct-contact-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: 55px; align-items: start; }
.ct-contact-panel { padding: 42px; border-radius: 22px; background: var(--ct-navy); }
body.cardtech-site .ct-contact-panel h2,
body.cardtech-site .ct-contact-panel h3,
body.cardtech-site .ct-contact-panel p,
body.cardtech-site .ct-contact-panel a { color: #fff; }
.ct-contact-panel p { opacity: .76; }
.ct-contact-item { display: flex; gap: 16px; margin-top: 26px; }
.ct-contact-item i { color: var(--ct-cyan); font-size: 22px; }
.ct-form { padding: 42px; border: 1px solid var(--ct-border); border-radius: 22px; background: #fff; box-shadow: 0 15px 55px rgba(15,45,80,.08); }
.ct-fields { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.ct-field--full { grid-column: 1/-1; }
.ct-field label { display: block; margin-bottom: 8px; color: var(--ct-ink); font-weight: 700; }
.ct-field input, .ct-field select, .ct-field textarea { width: 100%; padding: 14px 16px; border: 1px solid var(--ct-border); border-radius: 10px; background: var(--ct-soft); color: var(--ct-ink); }
.ct-field textarea { min-height: 150px; resize: vertical; }
.ct-consent { display: flex; align-items: flex-start; gap: 10px; margin: 20px 0; color: var(--ct-muted); font-size: 14px; }
.ct-form-note { margin-top: 15px; font-size: 13px; }
.ct-notice { display: none; margin-top: 18px; padding: 14px 18px; border-radius: 9px; background: #e6fbf7; color: #087e70; }
.ct-notice.show { display: block; }

.ct-footer { position: relative; overflow: hidden; padding: 75px 0 25px; background: radial-gradient(circle at 82% 12%, rgba(44,105,190,.20), transparent 32%), radial-gradient(circle at 12% 88%, rgba(31,79,145,.18), transparent 34%), #041327; }
.ct-footer::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .22; background: repeating-linear-gradient(125deg, transparent 0 72px, rgba(255,255,255,.025) 73px 74px); }
.ct-footer .ct-container { position: relative; z-index: 1; }
.ct-footer__cta { display: flex; align-items: center; justify-content: space-between; gap: 50px; margin-bottom: 58px; padding-bottom: 52px; border-bottom: 1px solid rgba(255,255,255,.12); }
.ct-footer__eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 12px; color: #9fc5ff !important; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; }
.ct-footer__eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #78a8ff; box-shadow: 0 0 0 7px rgba(120,168,255,.12); }
.ct-footer__cta h2 { max-width: 780px; margin: 0; color: #fff !important; font-size: clamp(34px, 4vw, 58px); line-height: 1.08; }
.ct-footer__cta-link { flex: 0 0 auto; display: grid; place-items: center; width: 142px; height: 142px; padding: 22px; border: 1px solid rgba(255,255,255,.34); border-radius: 50%; color: #fff !important; text-align: center; background: rgba(255,255,255,.04); backdrop-filter: blur(8px); transition: background .3s ease, border-color .3s ease, transform .3s cubic-bezier(.22,1,.36,1); }
.ct-footer__cta-link i { font-size: 23px; transform: rotate(-45deg); transition: transform .3s ease; }
.ct-footer__cta-link span { font-size: 13px; line-height: 1.2; font-weight: 700; }
.ct-footer__cta-link:hover { border-color: #78a8ff; background: #1d4f91; transform: translateY(-6px); }
.ct-footer__cta-link:hover i { transform: rotate(0deg); }
.ct-footer__grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.2fr; gap: 45px; }
.ct-footer h3 { position: relative; margin-bottom: 25px; padding-bottom: 13px; color: #fff !important; font-size: 19px; }
.ct-footer h3::after { content: ""; position: absolute; bottom: 0; left: 0; width: 38px; height: 2px; border-radius: 99px; background: #78a8ff; box-shadow: 13px 0 0 rgba(120,168,255,.38); }
.ct-footer p, .ct-footer li, .ct-footer a,
.ct-footer .ct-footer__contact-line span { color: rgba(255,255,255,.84) !important; }
.ct-footer a:hover { color: var(--ct-cyan) !important; }
.ct-footer a.ct-footer__cta-link:hover,
.ct-footer .ct-footer__icon-links a:hover { color: #fff; }
.ct-footer li { margin: 10px 0; }
.ct-footer__icon-links { display: flex; gap: 10px; margin-top: 25px; }
.ct-footer__icon-links a { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; color: #fff; transition: color .25s ease, background .25s ease, border-color .25s ease, transform .25s ease; }
.ct-footer__icon-links a:hover { color: #fff; border-color: #78a8ff; background: #1d4f91; transform: translateY(-4px); }
.ct-footer__contact-line { display: flex; align-items: flex-start; gap: 11px; }
.ct-footer__contact-line i { width: 18px; margin-top: 5px; color: #78a8ff; text-align: center; }
.ct-footer__contact-line span, .ct-footer__contact-line a { flex: 1; }
.ct-footer__bottom { margin-top: 55px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.72) !important; font-size: 14px; }

/* Preserve the layered motion language of the original Orbia home-three template. */
.ct-home { overflow-x: hidden; background: #f5f6fa; }
.ct-home .ct-header { position: absolute; top: 34px; left: 0; right: 0; background: transparent; box-shadow: none; }
.ct-home .ct-header.ct-scrolled { position: fixed; top: 0; background: rgba(7,27,52,.94); box-shadow: 0 12px 35px rgba(0,0,0,.16); backdrop-filter: blur(12px); }
.ct-home .ct-header.ct-scrolled .ct-nav { min-height: 72px; }
.ct-home .ct-nav { width: min(1640px, calc(100vw - 100px)); max-width: none; }
.ct-home .ct-orbia-hero { margin: 12px 30px 30px; padding: 0 0 0; }
.ct-home .ct-orbia-hero .hero-wrapper { min-height: 880px; border-radius: 62px; overflow: hidden; }
.ct-home .ct-orbia-hero .hero-wrapper::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, rgba(3,17,34,.94) 0%, rgba(3,17,34,.72) 43%, rgba(3,17,34,.08) 72%); }
.ct-home .ct-orbia-hero .hero-wrapper.ct-hero-light::before { background: linear-gradient(90deg, rgba(3,17,34,.93) 0%, rgba(3,17,34,.78) 38%, rgba(3,17,34,.20) 58%, rgba(3,17,34,0) 76%); }
.ct-home .ct-orbia-hero .hero-wrapper .container-fluid { position: relative; z-index: 2; }
.ct-home .ct-orbia-hero .hero-content { position: relative; z-index: 4; }
.ct-home .ct-orbia-hero .hero-content h1 { max-width: 930px; color: #fff; }
.ct-home .ct-orbia-hero .hero-content p { max-width: 700px; color: rgba(255,255,255,.82); }
.ct-home .ct-orbia-hero .tag-line { background: rgba(255,255,255,.18); color: #fff; }
.ct-home .ct-orbia-hero .hero-image-slider-wrap {
  /* The rotated rails otherwise sit too low and expose the hero background at the top-right. */
  bottom: -20%;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform;
}
.ct-home .ct-orbia-hero .hero-image-slider-wrap .slick-track { will-change: transform; }
.ct-home .ct-orbia-hero .hero-image-slider-wrap .hero-image {
  overflow: hidden;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  clip-path: inset(0 round 26px);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.ct-home .ct-orbia-hero .hero-image-slider-wrap .hero-image img {
  display: block;
  width: 270px;
  height: 300px;
  padding: 0;
  object-fit: cover;
  object-position: center;
  image-rendering: auto;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.ct-home .orbia-fact-item.bg_cover,
.ct-home .orbia-counter_one.bg_cover,
.ct-home .orbia-cta_two.bg_cover { background-position: center; background-size: cover; }
.ct-home .orbia-counter_one { position: relative; isolation: isolate; }
.ct-home .orbia-counter_one::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  content: "";
  background: linear-gradient(90deg, rgba(30, 30, 30, .92) 0%, rgba(30, 30, 30, .78) 40%, rgba(30, 30, 30, .36) 64%, rgba(30, 30, 30, .06) 100%);
  pointer-events: none;
}
.ct-home .orbia-counter_one .container { position: relative; z-index: 2; }
.ct-home .orbia-counter_one .section-title h2,
.ct-home .orbia-counter_one .section-title .sub-title { color: #fff; }
.ct-home .orbia-contact_two .contact-wrapper .author-thumb-item .ct-advisor-icon {
  display: grid;
  place-items: center;
  width: 94px;
  height: 48px;
  margin-right: 14px;
  border-radius: 0;
  background: var(--ct-navy);
}
.ct-home .orbia-contact_two .contact-wrapper .author-thumb-item .ct-advisor-icon img {
  display: block;
  width: 82px;
  height: 30px;
  border: 0;
  border-radius: 0;
  object-fit: contain;
}
.ct-home .orbia-fact-item { position: relative; isolation: isolate; }
.ct-home .orbia-fact-item::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(circle at 88% 12%, rgba(83, 143, 219, .22), transparent 42%);
}
.ct-home .ct-assurance-cta {
  position: relative;
  overflow: hidden;
  padding: 128px 0 118px;
  background:
    linear-gradient(90deg, transparent 0, transparent calc(25% - 1px), rgba(20, 38, 58, .07) 25%, transparent calc(25% + 1px), transparent calc(50% - 1px), rgba(20, 38, 58, .06) 50%, transparent calc(50% + 1px), transparent calc(75% - 1px), rgba(20, 38, 58, .07) 75%, transparent calc(75% + 1px)),
    radial-gradient(circle at 12% 18%, rgba(210, 49, 65, .11), transparent 22rem),
    radial-gradient(circle at 88% 82%, rgba(12, 30, 52, .10), transparent 26rem),
    linear-gradient(135deg, #f4f0eb 0%, #eae3da 48%, #f7f3ee 100%);
}
.ct-home .ct-assurance-cta::before,
.ct-home .ct-assurance-cta::after {
  position: absolute;
  z-index: 0;
  content: "";
  border: 1px solid rgba(20, 38, 58, .11);
  border-radius: 50%;
  pointer-events: none;
}
.ct-home .ct-assurance-cta::before {
  width: 430px;
  height: 430px;
  top: -285px;
  right: -100px;
  box-shadow: 0 0 0 34px rgba(20, 38, 58, .045), 0 0 0 68px rgba(214, 49, 65, .035);
}
.ct-home .ct-assurance-cta::after {
  width: 300px;
  height: 300px;
  bottom: -225px;
  left: -70px;
  border-color: rgba(214, 49, 65, .15);
  box-shadow: 0 0 0 28px rgba(214, 49, 65, .035), 0 0 0 56px rgba(20, 38, 58, .035);
}
.ct-home .ct-assurance-cta .cta-wrapper {
  position: relative;
  z-index: 1;
  max-width: 1120px;
  margin: 0 auto;
  padding: 54px 64px 58px;
  border: 1px solid rgba(20, 38, 58, .10);
  border-radius: 34px;
  background: rgba(255, 255, 255, .90);
  box-shadow: 0 24px 55px rgba(37, 31, 25, .13);
}
.ct-home .ct-assurance-cta .cta-wrapper .text-box h3 { color: var(--ct-navy); }
.ct-home .ct-assurance-cta .cta-wrapper .text-box h3 span { color: #d63141; }
.ct-home .ct-assurance-cta .content-box p { color: #5e6974; }
@media screen and (max-width: 1199.98px) {
  .ct-home .ct-assurance-cta { padding: 92px 0; }
}
@media (max-width: 767.98px) {
  .ct-home .ct-assurance-cta { padding: 64px 0; }
  .ct-home .ct-assurance-cta .cta-wrapper { padding: 38px 28px 34px; border-radius: 26px; }
}
.ct-home .ct-orbia-hero .theme-btn.style-one,
.ct-home .ct-who .theme-btn.style-one { background: var(--ct-blue); color: #fff; }
.ct-home .ct-orbia-hero .hero-wrapper .hero-content .orbia-button-wrap .theme-btn.style-one {
  background: #1d4f91;
  color: #fff;
  box-shadow: 0 10px 24px rgba(17, 57, 108, .32);
}
.ct-home .ct-orbia-hero .hero-wrapper .hero-content .orbia-button-wrap .theme-btn.style-one:hover {
  background: var(--ct-blue-hover);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(10, 37, 74, .38);
}
.ct-home .ct-orbia-hero .orbia-avatar-box .avatar-list ul li span {
  background-color: #245ca5;
  border-color: #d9e7ff;
}
.ct-home .ct-orbia-hero .orbia-avatar-box .ratings i { color: #78a7e8; }
.ct-home .ct-who .theme-btn.style-one:hover { background: var(--ct-blue-hover); color: #fff; }

body.cardtech-site .theme-btn.style-one:hover,
body.cardtech-site .theme-btn.style-two:hover,
body.cardtech-site .theme-btn.gradient-btn:hover {
  color: #fff;
  border-color: var(--ct-blue-hover);
  background-color: var(--ct-blue-hover);
  background-image: none;
  box-shadow: 0 12px 26px rgba(10, 37, 74, .28);
}
.ct-hero-proof { display: flex; align-items: center; gap: 13px; color: #fff; }
.ct-hero-proof strong { color: var(--ct-cyan); font: 700 36px/1 "Ubuntu",sans-serif; }
.ct-hero-proof span { font-size: 14px; line-height: 1.2; }
.ct-hero-enter { animation: ct-hero-in .85s cubic-bezier(.22,1,.36,1) both; }
.ct-hero-enter--one { animation-delay: .15s; }
.ct-hero-enter--two { animation-delay: .35s; }
.ct-hero-enter--three { animation-delay: .58s; }
.ct-hero-enter--four { animation-delay: .78s; }
.ct-home .ct-facts { background: #f5f7fb; }
.ct-home .ct-facts .container-fluid { padding-inline: clamp(18px, 2.4vw, 46px); }
.ct-home .ct-facts .row { --bs-gutter-x: 34px; }
.ct-home .ct-facts .orbia-fact-item,
.ct-home .ct-facts .orbia-fact-item-two {
  min-height: 430px;
  border-radius: 28px;
  overflow: hidden;
}
.ct-home .ct-facts .orbia-fact-item {
  background-position: center;
  background-size: cover;
  border: 0;
  box-shadow: 0 18px 48px rgba(22, 47, 82, .09);
  transition: box-shadow .3s ease;
}
.ct-home .ct-facts .orbia-fact-item::after {
  background: linear-gradient(118deg, rgba(250, 252, 255, .97) 0%, rgba(244, 248, 254, .91) 52%, rgba(224, 236, 251, .70) 100%);
}
.ct-home .ct-facts .orbia-fact-item .content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  min-height: 325px;
  transition: transform .35s cubic-bezier(.22, 1, .36, 1);
}
.ct-home .ct-facts .orbia-fact-item:hover {
  box-shadow: 0 24px 60px rgba(22, 57, 105, .15);
}
.ct-home .ct-facts .orbia-fact-item:hover .content { transform: translateY(-5px); }
.ct-home .ct-facts .orbia-fact-item .content h3 {
  max-width: 460px;
  color: #102b4e;
}
.ct-home .ct-facts .orbia-fact-item .content p { color: #53657c; }
.ct-home .ct-facts .orbia-fact-item .content .read-more {
  align-self: flex-start;
  padding: 10px 15px;
  border: 1px solid rgba(31, 89, 164, .16);
  border-radius: 999px;
  background: rgba(255, 255, 255, .70);
  color: #195493;
  box-shadow: 0 8px 20px rgba(23, 68, 126, .08);
  transition: color .25s ease, background .25s ease, transform .25s ease;
}
.ct-home .ct-facts .orbia-fact-item .content .read-more:hover {
  color: #fff;
  background: #1d4f91;
  transform: translateX(4px);
}
.ct-home .ct-facts .orbia-fact-item .content .orbia-avatar-box { margin-top: auto; }
.ct-home .ct-facts .orbia-fact-item .content .orbia-avatar-box .number {
  color: #174e8d;
  text-shadow: 0 8px 24px rgba(23, 78, 141, .12);
}
.ct-home .ct-facts .orbia-fact-item .avatar-list ul li span {
  background: #245ca5;
  border-color: #fff;
}
.ct-home .ct-facts .orbia-fact-item-two .shape img { animation: ct-spin 18s linear infinite; }
.ct-home .ct-orbia-statement { padding-bottom: 75px; background: #f5f6fa; }
.ct-home .ct-orbia-statement .ct-statement-kicker {
  margin: 0 0 16px;
  color: #245ca5;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.3;
  text-transform: uppercase;
}
.ct-home .ct-orbia-statement .orbia-text-box h2 {
  max-width: 1200px;
  margin-inline: auto;
  color: var(--ct-navy);
  font-size: clamp(38px, 3.35vw, 52px);
  line-height: 1.12;
  letter-spacing: -.035em;
}
.ct-home .ct-orbia-statement .orbia-text-box h2 span { color: #245ca5; }
.ct-home .ct-who { position: relative; overflow: hidden; background: #fff; padding-bottom: 64px !important; }
.ct-home .ct-who > .container { position: relative; z-index: 1; }
.ct-home .ct-who .orbia-image,
.ct-home .ct-who .orbia-image > img {
  height: 600px;
}
.ct-home .ct-who .orbia-image > img {
  width: 100%;
  object-fit: cover;
  object-position: center;
}
.ct-home .ct-who .ct-who-mascot {
  right: clamp(24px, 4vw, 80px);
  bottom: 34px;
  z-index: 0;
  width: clamp(250px, 20vw, 360px);
  aspect-ratio: 1;
  max-width: none;
  pointer-events: none;
  animation: ct-payment-float 4.2s ease-in-out infinite;
}
.ct-home .ct-who .ct-who-mascot::before {
  display: none;
}
.ct-home .ct-who .ct-who-mascot .ct-who-payment-product {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: none;
  animation: none;
}
.ct-home .ct-who .section-title .sub-title { color: var(--ct-blue); }
.ct-home .ct-who .check-list li i { color: var(--ct-blue); }
.ct-home .ct-who .orbia-client-box h3 { color: var(--ct-blue); }
.ct-home .ct-who .orbia-iconic-left-box.style-two {
  padding: 13px 15px;
  border: 1px solid rgba(25, 84, 147, .10);
  border-radius: 18px;
  background: linear-gradient(135deg, #fff, #f4f8ff);
  box-shadow: 0 12px 28px rgba(23, 58, 105, .07);
  transition: transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s ease;
}
.ct-home .ct-who .orbia-iconic-left-box.style-two .icon {
  background: #eaf2ff;
  box-shadow: inset 0 0 0 1px rgba(38, 94, 166, .08);
  transition: transform .35s cubic-bezier(.22,1,.36,1), background .3s ease;
}
.ct-home .ct-who .orbia-iconic-left-box.style-two:hover { transform: translateY(-5px); box-shadow: 0 18px 38px rgba(23, 58, 105, .12); }
.ct-home .ct-who .orbia-iconic-left-box.style-two:hover .icon { background: #dceaff; transform: rotate(-5deg) scale(1.06); }
.ct-home .ct-who .iconic-box-wrapper .item-column:not(:last-child)::after {
  top: 0;
  right: -40px;
  transform: none;
}
.ct-home .orbia-service_three .orbia-service-list .nav-tabs .nav-link {
  position: relative;
  justify-content: flex-start;
  gap: 13px;
  overflow: hidden;
  padding: 14px 16px;
  border-color: rgba(27, 73, 131, .12);
  background: rgba(255,255,255,.58);
  box-shadow: 0 10px 28px rgba(20, 52, 94, .05);
  transition: color .28s ease, background .28s ease, border-color .28s ease, box-shadow .28s ease, transform .28s cubic-bezier(.22,1,.36,1);
}
.ct-home .orbia-service_three .orbia-service-list .nav-tabs .nav-link::before {
  content: "";
  position: absolute;
  top: 17px;
  bottom: 17px;
  left: 0;
  width: 3px;
  border-radius: 0 99px 99px 0;
  background: #4d84d1;
  transform: scaleY(0);
  transition: transform .28s ease;
}
.ct-service-nav-icon { flex: 0 0 auto; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 15px; background: #e9f2ff; color: #1d5ba6; font-size: 19px; transition: color .28s ease, background .28s ease, transform .32s cubic-bezier(.22,1,.36,1); }
.ct-service-nav-label { margin-right: auto; text-align: left; }
.ct-home .orbia-service_three .orbia-service-list .nav-tabs .nav-link .icon-btn { width: 48px; height: 48px; border-color: rgba(27,73,131,.14); }
.ct-home .orbia-service_three .orbia-service-list .nav-tabs .nav-link:hover,
.ct-home .orbia-service_three .orbia-service-list .nav-tabs .nav-link.active { border-color: rgba(29,79,145,.28); background: #fff; box-shadow: 0 16px 36px rgba(20,52,94,.10); transform: translateX(5px); }
.ct-home .orbia-service_three .orbia-service-list .nav-tabs .nav-link:hover::before,
.ct-home .orbia-service_three .orbia-service-list .nav-tabs .nav-link.active::before { transform: scaleY(1); }
.ct-home .orbia-service_three .orbia-service-list .nav-tabs .nav-link:hover .ct-service-nav-icon,
.ct-home .orbia-service_three .orbia-service-list .nav-tabs .nav-link.active .ct-service-nav-icon { color: #fff; background: #1d4f91; transform: rotate(-5deg) scale(1.05); }
@media (min-width: 1200px) {
  .ct-home .orbia-service_three .tab-pane > .row {
    min-height: 410px;
    align-items: center !important;
  }
  .ct-home .orbia-service_three .orbia-image {
    height: 410px;
  }
  .ct-home .orbia-service_three .orbia-image img {
    height: 100%;
    object-fit: cover;
  }
}
.ct-home .ct-capability-item {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 22px;
  border: 1px solid rgba(25, 79, 145, .10);
  border-radius: 22px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 12px 30px rgba(20,55,100,.06);
  transition: transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s ease, border-color .3s ease;
}
.ct-home .ct-capability-item:hover { border-color: rgba(29,79,145,.22); box-shadow: 0 18px 42px rgba(20,55,100,.12); transform: translateY(-5px); }
.ct-capability-icon { flex: 0 0 auto; display: grid; place-items: center; width: 58px; height: 58px; border-radius: 17px; color: #1d5ba6; background: linear-gradient(145deg, #edf5ff, #dbeaff); font-size: 22px; box-shadow: inset 0 0 0 1px rgba(29,79,145,.08); transition: color .3s ease, background .3s ease, transform .35s cubic-bezier(.22,1,.36,1); }
.ct-home .ct-capability-item:hover .ct-capability-icon { color: #fff; background: #1d4f91; transform: rotate(-6deg) scale(1.06); }
.ct-home .ct-capability-visual {
  position: relative;
  min-height: 550px;
  margin: 0;
  overflow: hidden;
  border-radius: 30px;
  background: #0b2444;
  box-shadow: 0 18px 40px rgba(8, 35, 68, .16);
}
.ct-home .ct-capability-visual::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 48%;
  content: "";
  background: linear-gradient(transparent, rgba(5, 23, 47, .92));
  pointer-events: none;
}
.ct-home .ct-capability-visual > img {
  width: 100%;
  height: 550px;
  object-fit: cover;
  object-position: 48% center;
}
.ct-home .ct-capability-visual__brand {
  position: absolute;
  top: 19px;
  left: 18px;
  z-index: 3;
  width: 105px;
  padding: 7px 9px;
  border-radius: 10px;
  background: rgba(8, 29, 54, .64);
  backdrop-filter: blur(8px);
}
.ct-home .ct-capability-visual__brand img { display: block; width: 100%; height: auto; }
.ct-home .ct-capability-visual .ct-feature-float {
  top: 16px;
  right: 16px;
  animation: none;
}
.ct-home .ct-capability-visual figcaption {
  position: absolute;
  right: 22px;
  bottom: 23px;
  left: 22px;
  z-index: 1;
}
.ct-home .ct-capability-visual figcaption span,
.ct-home .ct-capability-visual figcaption strong { display: block; }
.ct-home .ct-capability-visual figcaption span {
  margin-bottom: 6px;
  color: #a9cbff;
  font-size: 12px;
  font-weight: 700;
}
.ct-home .ct-capability-visual figcaption strong {
  color: #fff;
  font-family: var(--heading-font);
  font-size: 24px;
  line-height: 1.18;
}
@media (min-width: 1200px) {
  .ct-home .orbia-features_two > .container > .row > .col-xl-3 {
    display: flex;
  }
  .ct-home .ct-capability-visual,
  .ct-home .ct-capability-visual > img {
    height: 100%;
  }
  .ct-home .ct-capability-visual { min-height: 0; }
}
@media (min-width: 992px) {
  .ct-home .orbia-features_two .orbia-content-box > .row > .col-lg-5 {
    display: flex;
  }
  .ct-home .ct-capability-content-image,
  .ct-home .ct-capability-content-image > img {
    height: 100%;
  }
  .ct-home .ct-capability-content-image {
    flex: 1;
  }
  .ct-home .ct-capability-content-image > img {
    object-fit: cover;
  }
}
.ct-home .ct-capability-content-image { position: relative; overflow: hidden; border-radius: 30px; }
.ct-home .ct-capability-content-image > img { display: block; width: 100%; }
.ct-home .ct-image-brand {
  position: absolute;
  bottom: 14px;
  left: 14px;
  width: 105px;
  padding: 7px 9px;
  border-radius: 10px;
  background: rgba(8, 29, 54, .72);
  box-shadow: 0 8px 18px rgba(2, 18, 36, .16);
  backdrop-filter: blur(8px);
}
.ct-home .ct-image-brand img { display: block; width: 100%; height: auto; }
.ct-feature-float {
  position: absolute;
  top: -24px;
  right: -24px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 15px 12px 11px;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 18px;
  color: #143963;
  background: rgba(255,255,255,.88);
  box-shadow: 0 18px 38px rgba(14,48,91,.16);
  backdrop-filter: blur(12px);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.15;
  animation: ct-badge-float 4s ease-in-out infinite;
}
.ct-feature-float__icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 13px; color: #fff; background: #1d4f91; box-shadow: 0 8px 18px rgba(29,79,145,.24); }
.ct-work-image { position: relative; }
.ct-work-badge {
  position: absolute;
  bottom: 28px;
  left: -34px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 18px 12px 12px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 18px;
  color: #12355e;
  background: rgba(255,255,255,.90);
  box-shadow: 0 18px 42px rgba(14,48,91,.16);
  backdrop-filter: blur(12px);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
}
.ct-work-badge i { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 50%; color: #fff; background: #1d4f91; box-shadow: 0 8px 18px rgba(29,79,145,.24); }

@keyframes ct-mascot-float {
  0%, 100% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-14px) rotate(2deg); }
}
@keyframes ct-payment-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
@keyframes ct-badge-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

.ct-reveal { opacity: 0; transform: translateY(38px); transition: opacity .75s ease var(--ct-motion-delay, 0ms), transform .75s cubic-bezier(.22,1,.36,1) var(--ct-motion-delay, 0ms); }
.ct-reveal.ct-visible { opacity: 1; transform: translateY(0); }
.ct-reveal:nth-child(2) { --ct-motion-delay: .12s; }
.ct-reveal:nth-child(3) { --ct-motion-delay: .24s; }
.ct-reveal:nth-child(4) { --ct-motion-delay: .36s; }
.ct-image img, .ct-blog-card img, .ct-product-card img { transition: transform .7s cubic-bezier(.22,1,.36,1); }
.ct-image:hover img, .ct-blog-card:hover img, .ct-product-card:hover img { transform: scale(1.06); }

/* Motion system for all corporate inner pages. */
.ct-page-hero--motion .ct-breadcrumb,
.ct-page-hero--motion h1,
.ct-page-hero--motion p { opacity: 0; transform: translateY(24px); transition: opacity .68s ease, transform .68s cubic-bezier(.22,1,.36,1); }
.ct-page-hero--motion .ct-breadcrumb { transition-delay: .06s; }
.ct-page-hero--motion h1 { transition-delay: .16s; }
.ct-page-hero--motion p { transition-delay: .27s; }
.ct-page-hero--motion.ct-motion-visible .ct-breadcrumb,
.ct-page-hero--motion.ct-motion-visible h1,
.ct-page-hero--motion.ct-motion-visible p { opacity: 1; transform: none; }
.ct-page-hero--motion { background-size: 108%; animation: ct-page-hero-pan 14s ease-in-out infinite alternate; }
.ct-motion-item { opacity: 0; transform: translateY(30px); transition: opacity .7s ease var(--ct-motion-delay, 0ms), transform .7s cubic-bezier(.22,1,.36,1) var(--ct-motion-delay, 0ms); }
.ct-motion-section.ct-motion-visible .ct-motion-item { opacity: 1; transform: translateY(0); }
.ct-motion-section .ct-image { overflow: hidden; }
.ct-motion-section.ct-motion-visible .ct-image img { animation: ct-image-settle .9s cubic-bezier(.22,1,.36,1) both; }
.ct-motion-section .ct-band__inner > * { transition-delay: var(--ct-motion-delay, 0ms); }
@keyframes ct-page-hero-pan { from { background-position-x: 48%; } to { background-position-x: 56%; } }
@keyframes ct-image-settle { from { opacity: .6; transform: scale(1.09); } to { opacity: 1; transform: scale(1); } }

/* Portfolio carousel inspired by editorial, center-stage payment experiences. */
.ct-home .orbia-project_three {
  padding-top: 82px !important;
  padding-bottom: 76px !important;
  overflow: hidden;
  background: #f7f5f3;
}
.ct-home .orbia-project_three .section-title h2 {
  max-width: 760px;
}
.ct-portfolio-stage {
  --ct-portfolio-motion: 1100ms;
  --ct-portfolio-ease: cubic-bezier(.65, 0, .35, 1);
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
}
.ct-portfolio-arrows {
  position: relative;
  z-index: 6;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  width: min(1060px, 74vw);
  min-height: 48px;
  margin: 0 auto 10px;
}
.ct-portfolio-arrows .slick-arrow {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid rgba(7, 30, 59, .65);
  border-radius: 50%;
  color: #071e3b;
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 8px 24px rgba(7, 30, 59, .08);
  transition: color .25s ease, background .25s ease, transform .25s ease;
}
.ct-portfolio-arrows .slick-arrow:hover,
.ct-portfolio-arrows .slick-arrow:focus-visible {
  color: #fff;
  background: #1b59a8;
  transform: translateY(-2px);
}
.ct-portfolio-slider {
  opacity: 0;
  transition: opacity .35s ease;
}
.ct-portfolio-slider.slick-initialized {
  opacity: 1;
}
.ct-portfolio-slider .slick-list {
  overflow: visible;
  padding: 8px 0 22px !important;
}
.ct-portfolio-slider .slick-track {
  display: flex;
  align-items: center;
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.ct-portfolio-slide {
  position: relative;
  z-index: 1;
  width: min(1060px, 74vw);
  padding: 0 15px;
  opacity: .38;
  transform: translate3d(0, 0, 0) scale(.62);
  transition: opacity 900ms ease, transform var(--ct-portfolio-motion) var(--ct-portfolio-ease);
  will-change: transform, opacity;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.ct-portfolio-slide.slick-center {
  z-index: 3;
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}
.ct-portfolio-card {
  position: relative;
  display: block;
  height: clamp(360px, 29vw, 500px);
  overflow: hidden;
  border-radius: 999px;
  background: #071e3b;
  box-shadow: 0 30px 70px rgba(9, 35, 66, .18);
  isolation: isolate;
  contain: paint;
  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.ct-portfolio-card > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate3d(0, 0, 0) scale(1.025);
  transition: transform 1.25s cubic-bezier(.16, 1, .3, 1);
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.ct-portfolio-slide.slick-center .ct-portfolio-card:hover > img {
  transform: translate3d(0, 0, 0) scale(1.065);
}
.ct-portfolio-shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(2, 18, 38, .74) 0%, rgba(2, 18, 38, .24) 48%, rgba(2, 18, 38, .04) 78%);
}
.ct-portfolio-content {
  position: absolute;
  left: 10%;
  bottom: 11%;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 14px;
  width: min(660px, 68%);
  opacity: 0;
  transform: translate3d(0, 28px, 0);
  transition: opacity .48s ease .1s, transform .68s cubic-bezier(.16, 1, .3, 1) .1s;
  will-change: transform, opacity;
}
.ct-portfolio-slide.slick-center .ct-portfolio-content {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.ct-portfolio-stage.ct-is-moving .ct-portfolio-card {
  pointer-events: none;
}
.ct-portfolio-stage.ct-direction-next .ct-slide-leaving .ct-portfolio-content,
.ct-portfolio-stage.ct-direction-prev .ct-slide-entering .ct-portfolio-content {
  opacity: 0;
  transform: translate3d(-34px, 8px, 0);
  transition: opacity .24s ease, transform .34s ease;
}
.ct-portfolio-stage.ct-direction-prev .ct-slide-leaving .ct-portfolio-content,
.ct-portfolio-stage.ct-direction-next .ct-slide-entering .ct-portfolio-content {
  opacity: 0;
  transform: translate3d(34px, 8px, 0);
  transition: opacity .24s ease, transform .34s ease;
}
.ct-portfolio-slide.ct-slide-entering .ct-portfolio-card > img {
  transform: translate3d(0, 0, 0) scale(1.075);
}
.ct-portfolio-slide.ct-slide-leaving .ct-portfolio-card > img {
  transform: translate3d(0, 0, 0) scale(1.045);
}
.ct-portfolio-label {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 9px 20px;
  border-radius: 999px;
  color: #071e3b;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 8px 24px rgba(4, 22, 46, .14);
  font-size: 15px;
  font-weight: 700;
}
.ct-portfolio-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
  min-height: 74px;
  padding: 16px 19px 16px 30px;
  border-radius: 999px;
  color: #071e3b;
  background: #fff;
  box-shadow: 0 15px 38px rgba(4, 22, 46, .18);
  font-family: var(--heading-font);
  font-size: clamp(22px, 2vw, 31px);
  font-weight: 500;
  line-height: 1.12;
}
.ct-portfolio-title i {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  color: #fff;
  background: #1b59a8;
  font-size: 17px;
  transform: rotate(-35deg);
  transition: transform .3s ease, background .3s ease;
}
.ct-portfolio-card:hover .ct-portfolio-title i {
  background: #dc303c;
  transform: rotate(0);
}
.ct-portfolio-controls {
  position: relative;
  z-index: 6;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  min-height: 50px;
  margin-top: 3px;
}
.ct-portfolio-dots .slick-dots {
  position: static;
  display: flex !important;
  align-items: center;
  gap: 9px;
  width: auto;
  margin: 0;
}
.ct-portfolio-dots .slick-dots li {
  width: auto;
  height: auto;
  margin: 0;
}
.ct-portfolio-dots .slick-dots button {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #071e3b;
  font-size: 0;
  transition: width .35s ease, background .35s ease;
}
.ct-portfolio-dots .slick-dots button::before {
  display: none;
}
.ct-portfolio-dots .slick-dots .slick-active button {
  width: 38px;
  background: #dc303c;
}
.ct-portfolio-toggle {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid rgba(7, 30, 59, .7);
  border-radius: 50%;
  color: #071e3b;
  background: transparent;
  font-size: 13px;
  transition: color .25s ease, background .25s ease;
}
.ct-portfolio-toggle:hover,
.ct-portfolio-toggle:focus-visible {
  color: #fff;
  background: #071e3b;
}
.ct-portfolio-slider:not(.slick-initialized) {
  display: flex;
}
.ct-portfolio-slider:not(.slick-initialized) .ct-portfolio-slide:first-child {
  margin-inline: auto;
  opacity: 1;
  transform: none;
}
.ct-portfolio-slider:not(.slick-initialized) .ct-portfolio-slide:not(:first-child) {
  display: none;
}
.ct-page-hero { position: relative; isolation: isolate; overflow: hidden; }
.ct-page-hero::before { content: ""; position: absolute; z-index: 0; width: 300px; height: 300px; right: -60px; top: -125px; border: 44px solid rgba(39,211,194,.14); border-radius: 50%; pointer-events: none; animation: ct-float 7s ease-in-out infinite; }
.ct-page-hero::after { content: ""; position: absolute; z-index: 0; width: 120px; height: 120px; right: 18%; bottom: -78px; border: 1px solid rgba(255,255,255,.24); pointer-events: none; transform: rotate(45deg); animation: ct-float 9s ease-in-out infinite reverse; }
@keyframes ct-float { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(20px) rotate(5deg); } }
@keyframes ct-spin { to { transform: rotate(360deg); } }
@keyframes ct-hero-in { from { transform: translateY(34px); } to { transform: translateY(0); } }

@media (max-width: 1280px) {
    .ct-about-intro .orbia-image-box { max-width: 760px; margin-inline: auto; }
    .ct-about-intro .orbia-content-box { margin-top: 56px; padding-left: 0; }
    .ct-about-principles { margin-inline: 15px; }
    .ct-about-culture__visual { max-width: 760px; margin-inline: auto; }
    .ct-about-culture__content { margin-top: 58px; padding-left: 0; }
    .ct-nav { width: calc(100% - 46px); gap: 18px; }
    .ct-menu { gap: 17px; padding-inline: 26px; }
    .ct-menu a { font-size: 16px; }
    .ct-nav-cta { display: none; }
}

@media (max-width: 1100px) {
    .ct-about-certifications__panel { padding-inline: 54px; }
    .ct-about-certifications__marks { right: 38px; opacity: .7; }
    .ct-menu { gap: 15px; }
    .ct-nav-cta { display: none; }
    .ct-grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
    .ct-about-principles { margin-inline: 0; border-radius: 0; }
    .ct-about-principles .container-fluid { padding-inline: 24px; }
    .ct-about-certifications__content { max-width: 520px; }
    .ct-about-certifications__marks { right: 22px; bottom: 28px; opacity: .36; }
    .ct-management__flow { flex-direction: column; }
    .ct-management .ct-management__box { flex: none; width: min(100%, 520px); min-height: 0; }
    .ct-management__arrow { display: block !important; flex: none; transform: rotate(90deg); }
    .ct-management__arrow .content p { display: none; }
    .ct-management .ct-management__center { flex: none; }
    .ct-home .ct-who { padding-bottom: 72px !important; }
    .ct-home .ct-who .orbia-image,
    .ct-home .ct-who .orbia-image > img { height: auto; }
    .ct-home .orbia-project_three { padding-top: 72px !important; padding-bottom: 64px !important; }
    .ct-portfolio-arrows { width: calc(100vw - 48px); }
    .ct-portfolio-slide { width: calc(100vw - 54px); padding-inline: 10px; transform: scale(.78); }
    .ct-portfolio-card { height: clamp(310px, 58vw, 440px); border-radius: 54px; }
    .ct-portfolio-content { left: 32px; bottom: 30px; width: min(590px, calc(100% - 64px)); }
    .ct-portfolio-title { min-height: 66px; padding: 13px 15px 13px 24px; font-size: clamp(20px, 3.4vw, 27px); }
    .ct-portfolio-title i { width: 42px; height: 42px; }
    .ct-home .ct-header { top: 14px; }
    .ct-home .ct-nav { width: calc(100vw - 46px); }
    .ct-home .ct-orbia-hero { margin: 8px 10px 24px; padding: 0; }
    .ct-home .ct-orbia-hero .hero-wrapper { min-height: 760px; border-radius: 34px; }
    .ct-toggle { display: block; }
    .ct-menu { display: none; position: absolute; top: 82px; left: 0; right: 0; padding: 22px 20px; background: var(--ct-navy); flex-direction: column; align-items: stretch; gap: 0; }
    .ct-menu.open { display: flex; }
    .ct-menu > li > a { padding: 12px 0; }
    .ct-submenu { position: static; display: block; visibility: visible; opacity: 1; transform: none; width: 100%; padding: 0 0 5px 16px; background: transparent; box-shadow: none; }
    .ct-submenu a { color: rgba(255,255,255,.75); }
    .ct-split, .ct-contact-layout { grid-template-columns: 1fr; gap: 40px; }
    .ct-grid--3 { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .ct-footer__grid { grid-template-columns: repeat(2,1fr); }
    .ct-footer__cta { align-items: flex-start; gap: 28px; }
    .ct-footer__cta-link { width: 122px; height: 122px; padding: 18px; }
    .ct-work-badge { bottom: 18px; left: 18px; }
}
@media (max-width: 640px) {
    .ct-about-intro { padding: 68px 0 76px; }
    .ct-about-intro .orbia-image-box { min-height: 455px; }
    .ct-about-intro .orbia-image-box .image_one { width: 100%; }
    .ct-about-intro .orbia-image-box .image_one img { height: 390px; border-radius: 24px; }
    .ct-about-intro .orbia-image-box .image_two { position: absolute; right: 6px; bottom: 0; width: 188px; margin: 0; }
    .ct-about-intro .orbia-image-box .image_two img { height: 136px; border-width: 6px; border-radius: 20px; }
    .ct-about-intro__experience { left: 0; bottom: 42px; padding: 13px 16px; }
    .ct-about-intro__experience strong { font-size: 28px; }
    .ct-about-intro__experience span { font-size: 11px; }
    .ct-about-intro .orbia-content-box { margin-top: 40px; }
    .ct-about-intro .section-title h2,
    .ct-about-culture .section-title h2 { font-size: 36px; line-height: 1.14; }
    .ct-about-intro__proof { gap: 10px; }
    .ct-about-intro__proof strong { font-size: 28px; }
    .ct-about-principles { padding: 70px 0 46px; }
    .ct-about-principles .section-title h2 { font-size: 36px; line-height: 1.14; }
    .ct-about-principles .container-fluid { padding-inline: 15px; }
    .ct-about-principles .orbia-service-card { min-height: 0; padding: 28px 26px; }
    .ct-about-principles__top { margin-bottom: 34px; }
    body.cardtech-site .ct-about-principles .orbia-service-card .content p { min-height: 0; }
    .ct-about-culture { padding: 72px 0 64px; }
    .ct-about-culture__visual > img { height: 420px; border-radius: 26px; }
    .ct-about-culture__badge { right: 10px; bottom: 14px; max-width: calc(100% - 20px); padding: 14px 16px; border-width: 5px; border-radius: 19px; }
    .ct-about-culture__content { margin-top: 44px; }
    .ct-about-value { min-height: 0; }
    .ct-about-certifications { padding: 54px 0; }
    .ct-about-certifications__panel { min-height: 0; padding: 45px 25px 38px; border-radius: 28px; background-position: 60% center; }
    .ct-about-certifications__panel::before { display: none; }
    body.cardtech-site .ct-about-certifications__content h2 { font-size: 36px; }
    .ct-about-certifications__marks { position: relative; right: auto; bottom: auto; margin-top: 42px; justify-content: center; opacity: 1; }
    .ct-about-certifications__marks span { width: 82px; height: 82px; font-size: 16px; }
    .ct-about-certifications__marks span:nth-child(2) { transform: translateY(-16px); }
    .ct-management { padding: 68px 0 76px; }
    .ct-management .section-title { margin-bottom: 38px !important; }
    .ct-management .section-title h2 { font-size: 36px; line-height: 1.14; }
    .ct-management .ct-management__box { width: 100%; padding: 28px 25px; }
    .ct-management .ct-management__center { width: 280px; padding: 16px; }
    .ct-management .ct-management__center .orbia-process-circle-box { width: 246px; height: 246px; }
    .ct-page-hero { min-height: 238px; padding: 34px 0 32px; background-position: 62% center; }
    .ct-page-hero + .ct-section { padding-top: 58px; }
    body.cardtech-site .ct-page-hero h1 { max-width: 100%; margin-bottom: 12px; font-size: clamp(34px, 10vw, 44px); line-height: 1.08; }
    body.cardtech-site .ct-page-hero p { max-width: 100%; font-size: 16px; line-height: 1.6; }
    .ct-breadcrumb { margin-bottom: 10px; font-size: 14px; }
    .ct-page-hero::before { width: 210px; height: 210px; right: -78px; top: -82px; border-width: 30px; }
    .ct-page-hero::after { width: 86px; height: 86px; right: 12%; bottom: -60px; }
    .ct-logo img { width: 228px; height: auto; }
    .ct-header .ct-logo img { margin-top: 7px; }
    .ct-home .ct-nav { width: calc(100% - 42px); }
    .ct-home .ct-orbia-hero { width: 100%; margin: 6px 0 18px !important; padding-inline: 10px; }
    .ct-home .ct-orbia-hero .hero-wrapper { min-height: 690px; }
    .ct-home .ct-orbia-hero .hero-wrapper { background-position: 64% center !important; }
    .ct-home .ct-orbia-hero .hero-wrapper::before { background: rgba(3,17,34,.38); }
    .ct-home .ct-orbia-hero .hero-wrapper .container-fluid { width: 100%; padding-inline: 18px; }
    .ct-home .ct-orbia-hero .hero-content h1 { max-width: 100%; font-size: 37px; line-height: 1.22; }
    .ct-home .ct-orbia-hero .hero-content p { font-size: 15px; }
    .ct-home .ct-orbia-hero .hero-content .tag-line { max-width: 100%; padding: 10px 18px; white-space: normal; font-size: 15px; }
    .ct-home .ct-orbia-hero .hero-image-slider-wrap { display: none; }
    .ct-home .ct-orbia-statement { padding-top: 56px !important; padding-bottom: 58px; }
    .ct-home .ct-orbia-statement .ct-statement-kicker { margin-bottom: 12px; font-size: 11px; letter-spacing: .11em; }
    .ct-home .ct-orbia-statement .orbia-text-box h2 { font-size: clamp(30px, 8.5vw, 38px); line-height: 1.15; }
    .ct-home .orbia-project_three .section-title { margin-bottom: 24px !important; }
    .ct-home .orbia-project_three .section-title h2 { font-size: 36px; line-height: 1.14; }
    .ct-portfolio-arrows { width: calc(100vw - 32px); margin-bottom: 6px; }
    .ct-portfolio-arrows .slick-arrow { width: 42px; height: 42px; }
    .ct-portfolio-slide { width: calc(100vw - 28px); padding-inline: 7px; transform: scale(.88); }
    .ct-portfolio-card { height: min(78vw, 320px); border-radius: 36px; }
    .ct-portfolio-shade { background: linear-gradient(0deg, rgba(2, 18, 38, .84) 0%, rgba(2, 18, 38, .08) 82%); }
    .ct-portfolio-content { left: 22px; bottom: 22px; gap: 9px; width: calc(100% - 44px); }
    .ct-portfolio-label { min-height: 34px; padding: 7px 14px; font-size: 12px; }
    .ct-portfolio-title { min-height: 58px; gap: 12px; padding: 11px 12px 11px 18px; font-size: 19px; }
    .ct-portfolio-title i { width: 36px; height: 36px; font-size: 14px; }
    .ct-portfolio-controls { margin-top: 0; }
    .ct-container { width: min(100% - 28px, 1180px); }
    .ct-section { padding: 72px 0; }
    .ct-hero { min-height: 650px; }
    .ct-stats { grid-template-columns: 1fr; margin-top: -40px; }
    .ct-stat { border-right: 0; border-bottom: 1px solid var(--ct-border); }
    .ct-grid--2, .ct-grid--3, .ct-grid--4, .ct-footer__grid, .ct-fields { grid-template-columns: 1fr; }
    .ct-footer__cta { align-items: flex-start; flex-direction: column; margin-bottom: 42px; padding-bottom: 38px; }
    .ct-footer__cta-link { display: inline-flex; width: auto; height: auto; padding: 14px 20px; border-radius: 999px; gap: 10px; }
    .ct-footer__cta-link i { font-size: 17px; }
    .ct-field--full { grid-column: auto; }
    .ct-band__inner { align-items: flex-start; flex-direction: column; }
    .ct-form, .ct-contact-panel { padding: 27px; }
    .ct-image img { min-height: 330px; }
}

/* Mobile layout: a single, predictable system for every Cardtech page. */
body.cardtech-site { min-width: 0; overflow-x: hidden; }
body.cardtech-site img { max-width: 100%; }
.ct-nav,
.ct-split > *,
.ct-grid > *,
.ct-contact-layout > *,
.ct-band__inner > *,
.ct-footer__grid > * { min-width: 0; }

@media (max-width: 1100px) {
    body.ct-menu-open { overflow: hidden; }
    .ct-header,
    .ct-home .ct-header,
    .ct-home .ct-header.ct-scrolled { top: 0; background: rgba(7, 27, 52, .98); box-shadow: 0 10px 30px rgba(0, 0, 0, .18); backdrop-filter: blur(14px); }
    .ct-nav,
    .ct-home .ct-nav { position: relative; z-index: 2; width: calc(100% - 32px); min-height: 72px; gap: 14px; }
    .ct-header .ct-logo { position: relative; z-index: 4; flex: 0 1 auto; }
    .ct-header .ct-logo img { width: min(205px, 61vw); margin-top: 6px; }
    .ct-toggle {
        position: relative;
        z-index: 4;
        display: grid;
        flex: 0 0 46px;
        width: 46px;
        height: 46px;
        padding: 0;
        place-items: center;
        border: 1px solid rgba(255, 255, 255, .24);
        border-radius: 50%;
        background: rgba(255, 255, 255, .08);
        font-size: 21px;
        transition: background .2s ease, transform .2s ease;
    }
    .ct-toggle:hover,
    .ct-toggle:focus-visible { color: #fff; background: rgba(255, 255, 255, .16); }
    .ct-toggle:focus-visible { outline: 3px solid rgba(120, 168, 255, .55); outline-offset: 2px; }
    .ct-menu {
        position: fixed;
        z-index: 3;
        top: 0;
        right: 0;
        bottom: 0;
        left: auto;
        display: flex;
        width: min(90vw, 390px);
        height: 100vh;
        height: 100dvh;
        margin: 0;
        padding: 92px 22px 28px;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        visibility: hidden;
        border: 0;
        border-radius: 26px 0 0 26px;
        background: linear-gradient(160deg, #0c2b50 0%, #06182f 58%, #041326 100%);
        box-shadow: -24px 0 65px rgba(0, 0, 0, .32);
        clip-path: inset(0 0 0 100%);
        opacity: 0;
        transform: none;
        transition: clip-path .34s cubic-bezier(.22, 1, .36, 1), opacity .24s ease, visibility .34s;
    }
    .ct-menu.open { display: flex; visibility: visible; clip-path: inset(0); opacity: 1; transform: none; }
    .ct-menu > li { border-bottom: 1px solid rgba(255, 255, 255, .09); }
    .ct-menu > li > a {
        padding: 13px 12px;
        border-radius: 10px;
        font-size: 18px;
        line-height: 1.25;
        white-space: normal;
        text-shadow: none;
    }
    .ct-menu > li > a::before { display: none; }
    .ct-menu > li > a:hover { transform: none; background: rgba(255, 255, 255, .07); }
    .ct-menu > li > a.active { color: #70e0d1; background: rgba(39, 211, 194, .10); }
    .ct-dropdown > a::after { float: right; content: "·"; color: #70e0d1; }
    .ct-submenu {
        position: static;
        display: block;
        width: auto;
        margin: 0 8px 11px;
        padding: 7px 0 7px 15px;
        visibility: visible;
        border: 0;
        border-left: 2px solid rgba(112, 224, 209, .42);
        border-radius: 0;
        background: rgba(255, 255, 255, .035);
        box-shadow: none;
        opacity: 1;
        transform: none;
    }
    .ct-submenu a {
        padding: 8px 10px;
        color: rgba(255, 255, 255, .72);
        font-size: 14px;
        line-height: 1.35;
        white-space: normal;
    }
    .ct-submenu a:hover { color: #fff; background: rgba(255, 255, 255, .07); transform: none; }
    .ct-menu .ct-menu-mobile-action { display: block; margin-top: 18px; border: 0; }
    .ct-menu .ct-menu-mobile-action a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 14px 17px;
        color: #fff;
        background: #1456d9;
        border-radius: 999px;
        font-size: 15px;
    }
    .ct-menu-backdrop {
        position: fixed;
        z-index: 1;
        inset: 0;
        display: block;
        width: 100%;
        height: 100%;
        padding: 0;
        visibility: hidden;
        border: 0;
        background: rgba(1, 10, 22, .65);
        opacity: 0;
        pointer-events: none;
        transition: opacity .25s ease, visibility .25s;
    }
    body.ct-menu-open .ct-menu-backdrop { visibility: visible; opacity: 1; pointer-events: auto; }
    body.ct-menu-open .ct-header .ct-logo { opacity: 0; pointer-events: none; }
    .ct-section { padding: 82px 0; }
    .ct-page-hero + .ct-section { padding-top: 68px; }
    .ct-split,
    .ct-contact-layout { gap: 42px; }
}

@media (max-width: 640px) {
    body.cardtech-site h1,
    body.cardtech-site h2,
    body.cardtech-site h3,
    body.cardtech-site p,
    body.cardtech-site li,
    body.cardtech-site a { overflow-wrap: break-word; }
    .ct-container,
    .ct-nav,
    .ct-home .ct-nav { width: calc(100% - 30px); }
    .ct-section { padding: 62px 0; }
    .ct-page-hero {
        min-height: 0;
        padding: 32px 0 34px;
        background-position: 65% center;
    }
    .ct-page-hero + .ct-section { padding-top: 58px; }
    body.cardtech-site .ct-page-hero h1 { font-size: clamp(31px, 9.2vw, 40px); line-height: 1.09; letter-spacing: -.025em; }
    body.cardtech-site .ct-page-hero p { font-size: 15px; line-height: 1.55; }
    .ct-breadcrumb { gap: 7px; font-size: 13px; }
    .ct-title { margin-bottom: 18px; font-size: clamp(30px, 8.6vw, 38px); line-height: 1.12; letter-spacing: -.02em; }
    .ct-lead { font-size: 16px; line-height: 1.65; }
    .ct-eyebrow { margin-bottom: 13px; font-size: 11px; letter-spacing: .1em; }
    .ct-grid { gap: 16px; }
    .ct-grid.mt-50,
    .ct-grid.mt-40 { margin-top: 34px; }
    .ct-split,
    .ct-contact-layout { gap: 34px; }
    .ct-card { padding: 25px; border-radius: 22px; }
    .ct-card__icon { width: 54px; height: 54px; margin-bottom: 20px; font-size: 21px; }
    .ct-card h3 { font-size: 21px; }
    .ct-actions { gap: 10px; margin-top: 27px; }
    .ct-btn,
    .theme-btn { max-width: 100%; white-space: normal; text-align: center; }
    .ct-image img { min-height: 0; height: 330px; }

    .ct-inner-story { padding: 58px 0 66px; }
    .ct-inner-story .ct-split { gap: 40px; }
    .ct-inner-story .ct-image > img,
    .ct-inner-feature .ct-image > img,
    .ct-inner-related .ct-image > img { height: clamp(300px, 94vw, 370px); border-radius: 24px; }
    .ct-image-caption { right: 8px !important; bottom: 10px; max-width: calc(100% - 16px); padding: 11px 14px; border-width: 4px; border-radius: 17px; }
    .ct-image-caption i { font-size: 20px; }
    .ct-story-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; margin-top: 26px; padding-top: 20px; }
    .ct-story-metrics span { display: block; }
    .ct-story-metrics strong { display: block; margin-bottom: 5px; font-size: 25px; }
    .ct-image-number { top: -15px; right: 7px; width: 68px; height: 68px; border-width: 4px; font-size: 15px; }
    .ct-mini-feature { min-height: 0; padding: 24px; }
    .ct-inner-services .ct-card,
    .ct-transaction-flow .ct-card,
    .ct-atm-services .ct-card,
    .ct-payment-standards .ct-card,
    .ct-iso-systems .ct-card { min-height: 0; padding: 25px; }
    .ct-inner-services .ct-card::after,
    .ct-transaction-flow .ct-card::after,
    .ct-atm-services .ct-card::after { font-size: 66px; }
    .ct-band--visual { min-height: 0; padding: 54px 0; }
    body.cardtech-site .ct-band--visual h2 { font-size: clamp(29px, 8.4vw, 36px); }
    .ct-band--visual .ct-band__inner { gap: 26px; }
    .ct-atm-catalog .ct-product-card,
    .ct-blog-index .ct-blog-card { border-radius: 23px; }
    .ct-atm-catalog .ct-product-card img,
    .ct-atm-catalog .ct-product-card:nth-child(-n+2) img { height: 220px; }
    .ct-atm-catalog .ct-product-card__body,
    .ct-blog-index .ct-blog-card__body { padding: 25px; }
    .ct-blog-index__intro { margin-bottom: 35px; }
    .ct-blog-index .ct-blog-card:first-child img,
    .ct-blog-index .ct-blog-card:nth-child(n+2) img { height: 230px; }
    .ct-blog-index .ct-blog-card h3 { font-size: 23px; }
    .ct-article-page { padding-top: 44px; }
    .ct-article-layout { gap: 24px; }
    .ct-article-aside { border-radius: 23px; }
    .ct-article-aside img { height: 220px; }
    .ct-article-aside > span { margin: 24px 24px 10px; }
    body.cardtech-site .ct-article-aside p { margin: 0 24px 20px; }
    .ct-article-aside a { margin: 0 24px 25px; }
    .ct-article-content { padding: 30px 23px 36px; border-radius: 23px; }
    .ct-article-content .ct-article-lead { margin-bottom: 32px; padding: 0 0 25px 15px; font-size: 17px; }
    .ct-article-content h2 { margin-top: 34px; padding-left: 20px; font-size: 23px; }
    .ct-article-content p { font-size: 16px; line-height: 1.72; }
    .ct-contact-main .ct-contact-panel { min-height: 0; padding: 31px 23px; border-radius: 24px; }
    body.cardtech-site .ct-contact-main .ct-contact-panel h2 { font-size: clamp(33px, 10vw, 40px); line-height: 1.08; }
    .ct-contact-main .ct-contact-item { gap: 14px; padding: 18px 0; }
    .ct-contact-main .ct-contact-item a { overflow-wrap: anywhere; }
    .ct-contact-main .ct-form { padding: 29px 22px; border-radius: 24px; }
    .ct-contact-main .ct-form h2 { font-size: 31px; }
    .ct-contact-main .ct-fields { margin-top: 24px; }
    .ct-field input,
    .ct-field select,
    .ct-field textarea { font-size: 16px; }
    .ct-data-rights .ct-card { padding: 28px 23px; border-radius: 24px; }

    .ct-about-intro { padding: 58px 0 65px; }
    .ct-about-intro .orbia-image-box { min-height: 400px; }
    .ct-about-intro .orbia-image-box .image_one img { height: 345px; }
    .ct-about-intro .orbia-image-box .image_two { width: 160px; }
    .ct-about-intro .orbia-image-box .image_two img { height: 116px; }
    .ct-about-intro .section-title h2,
    .ct-about-culture .section-title h2,
    .ct-about-principles .section-title h2,
    .ct-management .section-title h2,
    body.cardtech-site .ct-about-certifications__content h2 { font-size: 32px; }
    .ct-about-principles { padding: 60px 0 38px; }
    .ct-about-culture { padding: 62px 0 58px; }
    .ct-about-culture__visual > img { height: 350px; }
    .ct-management { padding: 60px 0 66px; }
    .ct-management .ct-management__center { width: min(270px, 100%); }
    .ct-management .ct-management__center .orbia-process-circle-box { width: 236px; height: 236px; }
    .ct-about-certifications { padding: 48px 0; }
    .ct-about-certifications__panel { padding: 39px 22px 33px; }

    .ct-home .ct-orbia-hero { margin-bottom: 14px !important; padding-inline: 8px; }
    .ct-home .ct-orbia-hero .hero-wrapper { min-height: 630px; border-radius: 27px; }
    .ct-home .ct-orbia-hero .hero-wrapper .container-fluid { padding-inline: 15px; }
    .ct-home .ct-orbia-hero .hero-content h1 { font-size: clamp(32px, 9vw, 37px); line-height: 1.16; }
    .ct-home .ct-orbia-hero .hero-content p { font-size: 15px; line-height: 1.65; }
    .ct-home .ct-orbia-hero .hero-content .tag-line { padding: 9px 14px; font-size: 13px; }
    .ct-home .ct-facts,
    .ct-home .ct-orbia-statement,
    .ct-home .ct-who,
    .ct-home .orbia-service_three,
    .ct-home .orbia-project_three,
    .ct-home .orbia-features_two,
    .ct-home .orbia-counter_one,
    .ct-home .orbia-work-sec,
    .ct-home .orbia-contact_two,
    .ct-home .orbia-blog-sec { padding-top: 62px !important; padding-bottom: 62px !important; }
    .ct-home .section-title h2,
    .ct-home .orbia-project_three .section-title h2 { font-size: 32px; line-height: 1.14; }
    .ct-home .ct-portfolio-slide { width: calc(100vw - 24px); }
    .ct-home .ct-portfolio-card { height: min(82vw, 315px); border-radius: 29px; }
    .ct-home .ct-portfolio-content { left: 17px; bottom: 17px; width: calc(100% - 34px); }
    .ct-home .ct-portfolio-title { font-size: 17px; }

    .ct-footer { padding: 56px 0 22px; }
    .ct-footer__cta { gap: 23px; margin-bottom: 38px; padding-bottom: 34px; }
    .ct-footer__cta h2 { font-size: clamp(29px, 8.5vw, 36px); }
    .ct-footer__grid { gap: 30px; }
    .ct-footer__grid > div:not(:first-child) { padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .09); }
    .ct-footer h3 { margin-bottom: 18px; }
    .ct-footer .ct-logo img { width: 215px; }
    .ct-footer__bottom { margin-top: 38px; text-align: center; }
}

@media (max-width: 380px) {
    .ct-container,
    .ct-nav,
    .ct-home .ct-nav { width: calc(100% - 24px); }
    .ct-header .ct-logo img { width: min(184px, 59vw); }
    .ct-toggle { flex-basis: 43px; width: 43px; height: 43px; }
    .ct-menu { width: calc(100vw - 24px); padding: 84px 17px 23px; border-radius: 22px 0 0 22px; }
    .ct-menu > li > a { padding: 11px 10px; font-size: 17px; }
    body.cardtech-site .ct-page-hero h1 { font-size: 29px; }
    .ct-title { font-size: 29px; }
    .ct-story-metrics { grid-template-columns: 1fr; }
    .ct-about-intro .orbia-image-box { min-height: 365px; }
    .ct-about-intro .orbia-image-box .image_one img { height: 320px; }
    .ct-about-intro .orbia-image-box .image_two { width: 142px; }
    .ct-about-intro__experience { bottom: 32px; }
    .ct-management .ct-management__center { width: 250px; }
    .ct-management .ct-management__center .orbia-process-circle-box { width: 216px; height: 216px; }
    .ct-home .ct-orbia-hero .hero-wrapper { min-height: 600px; }
    .ct-home .ct-orbia-hero .hero-content h1 { font-size: 30px; }
    .ct-home .ct-portfolio-title { padding-left: 14px; font-size: 16px; }
    .ct-contact-main .ct-contact-item i { width: 42px; height: 42px; }
}

@media (prefers-reduced-motion: reduce) {
    .ct-reveal,
    .ct-reveal.ct-visible,
    .ct-motion-item,
    .ct-motion-section.ct-motion-visible .ct-motion-item,
    .ct-page-hero--motion .ct-breadcrumb,
    .ct-page-hero--motion h1,
    .ct-page-hero--motion p { opacity: 1; transform: none; transition: none; }
    .ct-page-hero::before,
    .ct-page-hero::after { animation: none; }
    .ct-page-hero--motion,
    .ct-motion-section.ct-motion-visible .ct-image img { animation: none; }
    .ct-home .ct-who .ct-who-mascot,
    .ct-feature-float { animation: none; }
    .ct-portfolio-slide,
    .ct-portfolio-card > img,
    .ct-portfolio-content { transition-duration: .01ms; }
}

/* Language selector injected by the shared Cardtech header. */
.ct-language {
    align-items: center;
    color: rgba(255, 255, 255, .68);
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    gap: 5px;
    letter-spacing: .08em;
    margin-left: auto;
    text-transform: uppercase;
}
.ct-language button {
    background: transparent;
    border: 0;
    color: inherit;
    cursor: pointer;
    font: inherit;
    padding: 6px 2px;
}
.ct-language button[aria-pressed="true"] { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.ct-language button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (max-width: 1100px) {
    .ct-language { margin-left: 0; margin-right: 8px; }
}
