:root { --site-navy: #111a46; --site-blue: #2240fc; --site-soft: #f4f6ff; }

.skip-link { position: fixed; z-index: 100000; top: 8px; left: 8px; padding: 10px 14px; color: #fff; background: var(--site-navy); border-radius: 8px; transform: translateY(-150%); }
.skip-link:focus { color: #fff; transform: translateY(0); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid #ffbf47 !important; outline-offset: 3px !important; }
.nav-link, .drawer-item, .drawer-button, .close-button, .mobile-bottom-nav a, .footer-cta-btn { min-height: 44px; }

.banner-con2 { min-height: 560px; }
.banner-con2 .banner-content { padding-top: 74px; padding-bottom: 62px; }
.hero-cta-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.hero-cta { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 9px; padding: 12px 20px; border: 1px solid transparent; border-radius: 12px; font-weight: 700; transition: transform .2s ease, box-shadow .2s ease; }
.hero-cta:hover { transform: translateY(-2px); text-decoration: none; }
.hero-cta.primary { color: #fff; background: var(--site-blue); box-shadow: 0 10px 24px rgba(34,64,252,.24); }
.hero-cta.secondary { color: var(--site-navy); background: #fff; border-color: rgba(17,26,70,.15); }
.hero-partner-badge img { max-height: 92px; width: auto; }

.portfolio-home-section, .portfolio-page-section { padding: 88px 0; background: var(--site-soft); }
.portfolio-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; margin-top: 34px; }
.portfolio-card { overflow: hidden; border: 1px solid rgba(17,26,70,.1); border-radius: 18px; background: #fff; box-shadow: 0 14px 38px rgba(17,26,70,.08); }
.portfolio-browser-bar { display: flex; align-items: center; gap: 8px; padding: 13px 16px; border-bottom: 1px solid rgba(17,26,70,.09); background: #f8f9fd; }
.browser-dot { width: 10px; height: 10px; border-radius: 50%; background: #ff605c; }
.browser-dot:nth-child(2) { background: #ffbd44; }.browser-dot:nth-child(3) { background: #00ca4e; }
.portfolio-domain { overflow: hidden; margin-left: 6px; color: #526078; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.portfolio-status { margin-left: auto; padding: 4px 8px; border-radius: 999px; color: #12633d; background: #ddf8e9; font-size: 12px; font-weight: 700; }
.portfolio-media { position: relative; aspect-ratio: 16 / 9; background: #e9edff; }
.portfolio-media img, .portfolio-media iframe { width: 100%; height: 100%; border: 0; object-fit: cover; }
.portfolio-loading { display: grid; position: absolute; inset: 0; place-items: center; color: var(--site-navy); background: #eef1ff; font-weight: 700; }
.portfolio-body { padding: 22px; }.portfolio-body h3 { margin-bottom: 8px; font-size: 22px; }.portfolio-body p { color: #536078; }
.portfolio-tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 14px 0 18px; }.portfolio-tags span { padding: 5px 9px; border-radius: 7px; color: #31405d; background: #edf1f7; font-size: 12px; }
.portfolio-actions { display: flex; flex-wrap: wrap; gap: 10px; }.portfolio-actions a, .portfolio-actions button { min-height: 44px; padding: 10px 13px; border: 1px solid var(--site-blue); border-radius: 9px; color: var(--site-blue); background: #fff; font-weight: 700; cursor: pointer; }
.portfolio-actions .primary { color: #fff; background: var(--site-blue); }.portfolio-all { margin-top: 32px; text-align: center; }
.portfolio-empty-intro { max-width: 780px; margin: 0 auto; padding: 36px; border: 1px solid rgba(17,26,70,.1); border-radius: 18px; text-align: center; background: #fff; }

.about-evidence-panel, .about-partner-panel, .service-intent-panel { padding: 32px; border: 1px solid rgba(34,64,252,.13); border-radius: 18px; background: #fff; box-shadow: 0 16px 42px rgba(17,26,70,.08); }
.about-partner-section { padding: 74px 0; background: var(--site-soft); }.about-partner-panel { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 36px; }
.service-intent-section { padding: 72px 0; background: var(--site-soft); }.service-intent-panel ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 28px; margin: 20px 0 0; padding-left: 20px; }
.form-control-clean { min-height: 48px; }.contact-modern-form select.form-control-clean { width: 100%; }
.blog-service-links { margin-top: 24px; padding-top: 20px; border-top: 1px solid rgba(17,26,70,.1); }.blog-service-links h3 { font-size: 18px; }
.cookie-consent-content { max-width: 980px; padding: 14px 16px; gap: 16px; }.cookie-consent-content p { line-height: 1.4; }.cookie-consent-button { min-height: 44px; }.cookie-consent-options { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 10px; }.cookie-consent-option { display: inline-flex; align-items: center; gap: 7px; margin: 0; color: #172033; font-size: 14px; font-weight: 700; cursor: pointer; }.cookie-consent-option input { width: 18px; height: 18px; margin: 0; accent-color: var(--site-blue); }
.owl-item.cloned[aria-hidden="true"] a, .owl-item.cloned[aria-hidden="true"] button { tabindex: -1; }
.landing-header { padding: 14px 0; background: #fff; box-shadow: 0 8px 24px rgba(17,26,70,.08); }.landing-header-inner { display: flex; align-items: center; gap: 26px; }.landing-brand img { display: block; width: 160px; height: auto; }.landing-header nav { display: flex; align-items: center; gap: 20px; margin-left: auto; }.landing-header nav a { color: var(--site-navy); font-weight: 700; }.landing-call { padding: 10px 16px; border-radius: 9px; color: #fff; background: var(--site-blue); font-weight: 700; }.landing-footer { padding: 28px 0; color: #fff; background: var(--site-navy); }.landing-footer .container { display: flex; align-items: center; justify-content: space-between; gap: 20px; }.landing-footer p { margin: 0; }.landing-footer nav { display: flex; flex-wrap: wrap; gap: 16px; }.landing-footer a { color: #fff; }

.service-editorial-media, .blog-article-cover { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border: 1px solid rgba(31,62,200,.14); background: #eaf0ff; box-shadow: 0 16px 34px rgba(16,32,101,.1); }
.service-editorial-media { margin: 0 0 24px; border-radius: 24px; }
.blog-article-cover { margin: 0 0 22px; border-radius: 18px; }
.service-editorial-media img, .blog-article-cover img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.blog-featured-media { min-height: 0; aspect-ratio: 16 / 9; align-self: center; overflow: hidden; }
.blog-modern-thumb { flex: 0 0 auto; aspect-ratio: 16 / 9; }
.news-and-articles-con .blog_boxcontent .upper_portion { aspect-ratio: 16 / 9; overflow: hidden; }
.news-and-articles-con .blog_boxcontent .upper_portion > figure { width: 100%; height: 100%; }
.news-and-articles-con .blog_boxcontent .upper_portion .article_img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }

@media (max-width: 991px) { .banner-con2 { min-height: 470px; }.banner-con2 .banner-content { padding-top: 50px; padding-bottom: 46px; }.portfolio-grid { grid-template-columns: 1fr; }.about-partner-panel { grid-template-columns: 1fr; }.service-intent-panel ul { grid-template-columns: 1fr; } }
@media (max-width: 767px) { .landing-header-inner { flex-wrap: wrap; gap: 10px 16px; }.landing-brand img { width: 132px; }.landing-header nav { order: 3; width: 100%; justify-content: space-between; gap: 8px; overflow-x: auto; font-size: 13px; }.landing-call { margin-left: auto; }.landing-footer .container { display: block; }.landing-footer nav { margin-top: 12px; } }
@media (max-width: 575px) { .banner-con2 { min-height: auto; }.banner-con2 .banner-content { padding-top: 34px; padding-bottom: 34px; }.hero-cta-row, .hero-cta { width: 100%; }.hero-support-tags { display: none; }.hero-partner-badge { margin-top: 8px; }.portfolio-home-section, .portfolio-page-section { padding: 58px 0; }.portfolio-empty-intro { padding: 24px 18px; }.cookie-consent-content { padding: 12px; }.cookie-consent-content h2 { font-size: 17px; }.cookie-consent-actions { margin-top: 10px; }.service-editorial-media { border-radius: 18px; }.blog-article-cover { border-radius: 14px; } }
