/*
 * DeepCiphers - authoritative typography system
 * Source: Complete Website Typography System PDF
 * Font family: Plus Jakarta Sans; allowed weights: 400, 500, 600, 700 only.
 */

:root {
  --dc-font-family: "Plus Jakarta Sans", Arial, sans-serif;
  --dc-weight-regular: 400;
  --dc-weight-medium: 500;
  --dc-weight-semibold: 600;
  --dc-weight-bold: 700;
}

/* Inline SVG typography (external SVG files carry the same scoped rule internally). */
html body svg text,
html body svg tspan,
html body svg foreignObject,
html body svg foreignObject * {
  font-family: "Plus Jakarta Sans", Arial, sans-serif !important;
  font-synthesis: none !important;
}

html,
body,
button,
input,
textarea,
select,
option,
table,
th,
td,
a,
p,
span,
label,
small,
strong,
b,
h1,
h2,
h3,
h4,
h5,
h6,
li,
div,
nav,
header,
footer,
section,
article,
aside {
  font-family: "Plus Jakarta Sans", Arial, sans-serif !important;
  font-synthesis: none !important;
}

html body *:not(.bi):not([class^="bi-"]):not([class*=" bi-"])::before,
html body *:not(.bi):not([class^="bi-"]):not([class*=" bi-"])::after,
html body ::placeholder {
  font-family: "Plus Jakarta Sans", Arial, sans-serif !important;
  font-synthesis: none !important;
}

html body {
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  letter-spacing: -0.01em !important;
  font-style: normal !important;
  text-transform: none !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

html body strong,
html body b {
  font-weight: 600 !important;
  font-style: normal !important;
}

html body em,
html body i {
  font-style: normal !important;
}

/* Heading hierarchy */
html body h1 {
  font-size: 64px !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.04em !important;
  margin-top: 0 !important;
  margin-bottom: 24px !important;
}

html body h2 {
  font-size: 46px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.035em !important;
  margin-top: 0 !important;
  margin-bottom: 20px !important;
}

html body h3 {
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.03em !important;
  margin-top: 0 !important;
  margin-bottom: 16px !important;
}

html body h4 {
  font-size: 24px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.02em !important;
  margin-top: 0 !important;
  margin-bottom: 12px !important;
}

html body h5 {
  font-size: 19px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: -0.015em !important;
  margin-top: 0 !important;
  margin-bottom: 10px !important;
}

html body h6 {
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  letter-spacing: -0.01em !important;
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}

/* Paragraphs and links */
html body p {
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 26px !important;
  letter-spacing: -0.005em !important;
  margin-top: 0 !important;
  margin-bottom: 16px !important;
}

html body .large-paragraph,
html body .text-large,
html body .lead {
  font-size: 19px !important;
  font-weight: 400 !important;
  line-height: 31px !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 18px !important;
}

html body .small-paragraph,
html body .text-small,
html body small {
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 22px !important;
  letter-spacing: 0 !important;
}

html body a {
  font-size: inherit !important;
  font-weight: 500 !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  text-decoration: none !important;
}

html body a:hover,
html body a:focus-visible {
  font-weight: 500 !important;
}

html body a[aria-current="page"],
html body a.active,
html body .active > a,
html body .important-link {
  font-weight: 600 !important;
}

html body .arrow-link,
html body .card-link,
html body [class*="learn-more"] {
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 22px !important;
  letter-spacing: -0.01em !important;
  gap: 8px !important;
}

/* Header, navigation, dropdowns and mega menus */
html body .ph-desktop-nav,
html body .ph-desktop-nav a,
html body .ph-nav-link,
html body [class*="ph-nav-link"] {
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 22px !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
}

html body .ph-desktop-nav {
  column-gap: 28px !important;
}

html body .ph-nav-link.active,
html body [class*="ph-nav-link"].active,
html body .ph-nav-button.active {
  font-weight: 600 !important;
}

html body .ph-phone,
html body .ph-mobile-phone {
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 20px !important;
  letter-spacing: -0.01em !important;
}

html body .ph-touch-btn,
html body .ph-mobile-cta {
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 20px !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
}

html body .ph-mega-link,
html body .ph-sub-link,
html body .ph-acc-link,
html body .ph-sub-item {
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 21px !important;
  letter-spacing: -0.01em !important;
}

html body .ph-mega-link:hover,
html body .ph-sub-link:hover,
html body .ph-acc-link:hover,
html body .ph-sub-item:hover,
html body .ph-mega-link.active,
html body .ph-sub-link.active {
  font-weight: 600 !important;
}

html body .ph-mega-title {
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 28px !important;
  letter-spacing: -0.025em !important;
  margin-bottom: 12px !important;
}

html body .ph-mega-head,
html body .ph-panel-title {
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 20px !important;
  letter-spacing: 0 !important;
  margin-bottom: 12px !important;
}

html body .ph-mega-copy,
html body .ph-partner-copy {
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 22px !important;
  letter-spacing: -0.005em !important;
}

html body .ph-tech-badge,
html body .ph-partner-badge {
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 16px !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
}

html body .ph-mobile-primary,
html body .ph-mobile-primary a,
html body .ph-mobile-content > a,
html body .ph-mob-row {
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 24px !important;
}

/* Hero typography */
html.page-home body .ph-hero-h1,
html.page-service body .mobile-dev-title,
html body .hero-main-heading,
html body .hero-title,
html body .hero-heading {
  font-size: 64px !important;
  font-weight: 700 !important;
  line-height: 1.07 !important;
  letter-spacing: -0.04em !important;
  max-width: 900px !important;
  margin-bottom: 24px !important;
  font-style: normal !important;
}

html.page-home body .ph-hero-h2 {
  font-size: 46px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.035em !important;
  margin-bottom: 20px !important;
}

html.page-home body .ph-hero-h2-em {
  font-size: inherit !important;
  font-weight: 700 !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  font-style: normal !important;
}

html body .ph-hero-eyebrow-text,
html body .hero-eyebrow,
html.page-service body .mobile-dev-kicker {
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 20px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 18px !important;
}

html.page-service body .mobile-dev-count {
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 20px !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
}

html.page-home body .ph-hero-body p,
html.page-service body .mobile-dev-note,
html body .hero-description,
html body .hero-video-wrap .t-body {
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 30px !important;
  letter-spacing: -0.01em !important;
  max-width: 650px !important;
  margin-bottom: 32px !important;
}

html body .ph-cta-a,
html body .ph-cta-b,
html body .top-dev-cta,
html body .build-btn {
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 20px !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
  gap: 10px !important;
}

/* Section typography */
html body .section-eyebrow,
html body .section-overline,
html body .section-kicker,
html body .why-kicker,
html body .fullcycle-kicker,
html body .section-label,
html body .dev-process-kicker,
html body .fi-eyebrow,
html body .ind2-eyebrow {
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 18px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 12px !important;
}

html body .section-description,
html body .testimonials-subtitle,
html body .fi-subtitle,
html body .ind2-desc {
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 30px !important;
  letter-spacing: -0.01em !important;
  max-width: 680px !important;
  margin-top: 14px !important;
}

html.page-service body .main-heading,
html.page-service body .projects-title,
html.page-service body .fullcycle-title,
html.page-service body .why-title,
html.page-service body .faq-heading,
html body .values-title,
html body .oj-main-title,
html body .testimonials-heading,
html body .dt-title,
html body .dev-process-heading {
  font-size: 46px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.035em !important;
  margin-bottom: 20px !important;
  text-transform: none !important;
  white-space: normal !important;
}

/* CTA sections */
html.page-service body .talk-subtitle,
html body .cta-eyebrow,
html body .cta-badge {
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 18px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 14px !important;
}

html.page-service body .talk-heading,
html body .cta-heading {
  font-size: 48px !important;
  font-weight: 700 !important;
  line-height: 1.14 !important;
  letter-spacing: -0.035em !important;
  margin-bottom: 18px !important;
  text-transform: none !important;
}

html.page-service body .talk-description,
html body .cta-copy,
html body .cta-description {
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 28px !important;
  letter-spacing: -0.01em !important;
  max-width: 620px !important;
  margin-bottom: 28px !important;
  text-transform: none !important;
}

/* Buttons */
html body button,
html body .btn,
html body [class*="-btn"],
html body [class*="button"] {
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 20px !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
  font-style: normal !important;
}

html body .small-button,
html body .btn-sm {
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 18px !important;
  letter-spacing: 0 !important;
}

html body .large-button,
html body .btn-lg {
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 22px !important;
  letter-spacing: -0.01em !important;
}

/* Card typography */
html body .card-eyebrow,
html body .card-label,
html body .card-label-v2,
html body .project-category,
html body .service-card-category,
html body .fi-tag {
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 17px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  margin-bottom: 10px !important;
}

html body .card-main-heading,
html body .fi-card-title,
html body .h-card,
html body .tech-card h3,
html body .trust-card h3,
html body .model-card h3,
html body .value-card h3 {
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 29px !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 10px !important;
}

html body .large-feature-card-heading,
html body .dc-card-intro h2,
html body .dc-glass-label h3,
html body .dc-card-partners h3 {
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 36px !important;
  letter-spacing: -0.025em !important;
  margin-bottom: 14px !important;
}

html body .card-description,
html body .card-copy,
html body .fi-card-body,
html body .tech-card p,
html body .trust-card p,
html body .model-card p,
html body .value-card p {
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 24px !important;
  letter-spacing: -0.005em !important;
  margin-bottom: 16px !important;
}

html body .card-number,
html body .card-number-v2,
html body .section-number,
html body .pdv8-num {
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 18px !important;
  letter-spacing: 0.04em !important;
}

/* Service cards */
html.page-service body .service-card h3,
html.page-service body .app-service-featured-card h3 {
  font-size: 23px !important;
  font-weight: 600 !important;
  line-height: 30px !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 12px !important;
  text-transform: none !important;
}

html.page-service body .service-card p,
html.page-service body .app-service-featured-card p {
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 24px !important;
  letter-spacing: -0.005em !important;
  margin-bottom: 18px !important;
}

/* Portfolio and case studies */
html body .project-category {
  font-size: 12px !important;
  line-height: 18px !important;
  letter-spacing: 0.06em !important;
}

html body .project-info h3,
html body .project-title {
  font-size: 30px !important;
  font-weight: 700 !important;
  line-height: 38px !important;
  letter-spacing: -0.03em !important;
  margin-bottom: 12px !important;
}

html body .project-desc {
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 24px !important;
  letter-spacing: -0.005em !important;
}

html body .project-meta,
html body .project-meta span {
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 20px !important;
  letter-spacing: 0 !important;
}

/* Statistics */
html body .dc-big-number,
html body .ph-stat-val,
html body .large-statistic-number,
html body .stat-number,
html body .dc-progress-inner {
  font-size: 52px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: -0.045em !important;
  margin-bottom: 8px !important;
}

html body .ph-stat-lbl,
html body .stat-label,
html body .dc-stat-card > p,
html body .dc-builders-content > p {
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 21px !important;
  letter-spacing: -0.005em !important;
}

html body .small-statistic-number {
  font-size: 34px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.035em !important;
}

/* Tables */
html body .table-title {
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 31px !important;
  letter-spacing: -0.025em !important;
  margin-bottom: 16px !important;
}

html body table th {
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 19px !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
}

html body table td {
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 22px !important;
  letter-spacing: 0 !important;
}

html body table td strong,
html body .important-table-value {
  font-weight: 600 !important;
}

html body .table-supporting-text {
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 18px !important;
  letter-spacing: 0 !important;
}

/* Forms */
html body .form-section-heading {
  font-size: 30px !important;
  font-weight: 700 !important;
  line-height: 38px !important;
  letter-spacing: -0.03em !important;
  margin-bottom: 12px !important;
}

html body label,
html body .form-label {
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 20px !important;
  letter-spacing: -0.005em !important;
  margin-bottom: 8px !important;
}

html body input,
html body textarea,
html body select,
html body option,
html body .field,
html body .textarea-field,
html body .custom-trigger,
html body .option-row,
html body .trigger-text,
html body .phone-code {
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 22px !important;
  letter-spacing: -0.005em !important;
  font-style: normal !important;
}

html body input::placeholder,
html body textarea::placeholder {
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 22px !important;
  letter-spacing: -0.005em !important;
  opacity: 0.6 !important;
}

html body .consent-row,
html body .checkbox-label,
html body .radio-label {
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 21px !important;
  letter-spacing: 0 !important;
}

html body .error-msg,
html body .form-error,
html body [class*="-error"] {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
  letter-spacing: 0 !important;
  margin-top: 6px !important;
}

html body .form-status,
html body .form-success {
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 22px !important;
}

/* Badges, tags and breadcrumbs */
html body .badge,
html body .standard-badge,
html body .testimonials-badge,
html body .value-badge {
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 16px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

html body .tag,
html body .standard-tag,
html body .tech-tags,
html body .dc-pill,
html body .ntag {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
  letter-spacing: 0.01em !important;
}

html body .large-tag {
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 19px !important;
}

html body .breadcrumb,
html body .breadcrumbs,
html body [class*="breadcrumb"] {
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 20px !important;
  letter-spacing: 0 !important;
  gap: 8px !important;
}

html body .breadcrumb [aria-current="page"],
html body .breadcrumbs .current {
  font-weight: 600 !important;
}

/* Accordions / FAQ */
html.page-service body .faq-question,
html.page-service body .faq-title,
html body .accordion-question {
  font-size: 19px !important;
  font-weight: 600 !important;
  line-height: 27px !important;
  letter-spacing: -0.015em !important;
}

html.page-service body .faq-answer-inner,
html.page-service body .faq-answer,
html body .accordion-answer {
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 25px !important;
  letter-spacing: -0.005em !important;
}

/* Testimonials */
html body .testimonial-quote,
html body .cx-quote {
  font-size: 22px !important;
  font-weight: 500 !important;
  line-height: 34px !important;
  letter-spacing: -0.015em !important;
  margin-bottom: 24px !important;
}

html body .client-name,
html body .cx-pname {
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 21px !important;
  letter-spacing: -0.005em !important;
}

html body .client-designation,
html body .cx-ps {
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
  letter-spacing: 0 !important;
}

/* Pricing and blog */
html body .pricing-plan-name {
  font-size: 21px !important;
  font-weight: 600 !important;
  line-height: 28px !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 12px !important;
}

html body .pricing-amount {
  font-size: 48px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: -0.04em !important;
}

html body .pricing-duration,
html body .pricing-feature {
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 22px !important;
  letter-spacing: 0 !important;
}

html body .blog-category {
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 18px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

html body .blog-card-title {
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 30px !important;
  letter-spacing: -0.02em !important;
}

html body .blog-meta {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
  letter-spacing: 0 !important;
}

html body .blog-article-title {
  font-size: 56px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.04em !important;
}

html body .blog-article-body,
html body .blog-article-body p {
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 31px !important;
  letter-spacing: -0.005em !important;
  max-width: 760px !important;
}

/* Timeline */
html body .timeline-year,
html body .active-year,
html body .stop-year,
html body .oj-mlabel {
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 20px !important;
  letter-spacing: 0.04em !important;
}

html body .timeline-heading,
html body .active-title,
html body .oj-ctitle {
  font-size: 24px !important;
  font-weight: 600 !important;
  line-height: 31px !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 10px !important;
}

html body .timeline-description,
html body .active-desc,
html body .oj-cdesc {
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 25px !important;
  letter-spacing: -0.005em !important;
}

/* About-page specific semantic text */
html body .step-num {
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 18px !important;
  letter-spacing: 0.04em !important;
}

html body .step-text {
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 23px !important;
  letter-spacing: -0.005em !important;
}

html body .phil-subheading {
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 18px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 12px !important;
}

html body .phil-description {
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 30px !important;
  letter-spacing: -0.01em !important;
  max-width: 680px !important;
}

html.about-page body p.h-main,
html body .about-page p.h-main {
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.03em !important;
  margin-bottom: 16px !important;
}

html body .t-sub,
html body .oj-sub-title {
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 26px !important;
  letter-spacing: -0.005em !important;
}

/* Modal, tooltip and pagination */
html body .modal-title,
html body .modal-heading {
  font-size: 26px !important;
  font-weight: 700 !important;
  line-height: 34px !important;
  letter-spacing: -0.025em !important;
  margin-bottom: 12px !important;
}

html body .modal-description,
html body .modal-body {
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 24px !important;
  letter-spacing: -0.005em !important;
}

html body .tooltip,
html body [role="tooltip"] {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 17px !important;
  letter-spacing: 0 !important;
}

html body .pagination,
html body .page-link {
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 20px !important;
  letter-spacing: 0 !important;
}

html body .pagination .active,
html body .page-item.active .page-link {
  font-weight: 600 !important;
}

/* Footer */
html body .letsb-banner-wrap h2,
html body .footer-main-heading {
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 29px !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 14px !important;
}

html body .letsb-menu-btn,
html body .footer-column-heading,
html body .letsb-signup-title {
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 20px !important;
  letter-spacing: -0.005em !important;
  margin-bottom: 16px !important;
}

html body .letsb-services-grid a,
html body .letsb-company-grid a,
html body .footer-link {
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 22px !important;
  letter-spacing: 0 !important;
}

html body .letsb-services-grid a:hover,
html body .letsb-company-grid a:hover {
  font-weight: 500 !important;
}

html body .letsb-brand-note,
html body .footer-description {
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 23px !important;
  letter-spacing: 0 !important;
}

html body .footer-contact,
html body .footer-contact-info {
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 22px !important;
  letter-spacing: -0.005em !important;
}

html body .footer-copyright,
html body .footer-legal,
html body .footer-legal a,
html body .letsb-signup-title small {
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 18px !important;
  letter-spacing: 0 !important;
}

html body .footer-legal a {
  font-weight: 500 !important;
}

/* Lists */
html body ul li,
html body ol li {
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 26px !important;
  letter-spacing: -0.005em !important;
}

html body .feature-list li {
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 23px !important;
  letter-spacing: -0.005em !important;
}

/* Responsive typography */
@media (min-width: 1440px) {
  html.page-home body .ph-hero-h1,
  html body .hero-main-heading,
  html body .hero-title,
  html body .hero-heading {
    font-size: 72px !important;
    line-height: 1.06 !important;
    letter-spacing: -0.045em !important;
  }
}

@media (max-width: 1199px) and (min-width: 768px) {
  html body .ph-desktop-nav,
  html body .ph-desktop-nav a,
  html body .ph-nav-link,
  html body [class*="ph-nav-link"] {
    font-size: 14px !important;
  }

  html body .ph-desktop-nav {
    column-gap: 20px !important;
  }
}

@media (max-width: 1023px) {
  html body h1 {
    font-size: 48px !important;
    line-height: 1.1 !important;
    letter-spacing: -0.035em !important;
    margin-bottom: 20px !important;
  }

  html body h2,
  html.page-service body .main-heading,
  html.page-service body .projects-title,
  html.page-service body .fullcycle-title,
  html.page-service body .why-title,
  html.page-service body .faq-heading,
  html body .values-title,
  html body .oj-main-title,
  html body .testimonials-heading,
  html body .dt-title,
  html body .dev-process-heading {
    font-size: 38px !important;
    line-height: 1.18 !important;
    letter-spacing: -0.03em !important;
  }

  html body h3 {
    font-size: 28px !important;
  }

  html.page-home body .ph-hero-h1,
  html.page-service body .mobile-dev-title,
  html body .hero-main-heading,
  html body .hero-title,
  html body .hero-heading {
    font-size: 50px !important;
    line-height: 1.1 !important;
    letter-spacing: -0.035em !important;
    margin-bottom: 20px !important;
  }

  html.page-home body .ph-hero-h2 {
    font-size: 38px !important;
    line-height: 1.18 !important;
    letter-spacing: -0.03em !important;
  }

  html.page-home body .ph-hero-body p,
  html body .hero-description,
  html body .hero-video-wrap .t-body {
    font-size: 17px !important;
    line-height: 28px !important;
    max-width: 580px !important;
  }

  html body .section-description,
  html body .testimonials-subtitle,
  html body .fi-subtitle,
  html body .ind2-desc {
    font-size: 17px !important;
    line-height: 28px !important;
  }

  html.page-service body .talk-heading,
  html body .cta-heading {
    font-size: 38px !important;
  }

  html body .dc-big-number,
  html body .ph-stat-val,
  html body .large-statistic-number,
  html body .stat-number,
  html body .dc-progress-inner {
    font-size: 44px !important;
  }

  html body .blog-article-title {
    font-size: 44px !important;
  }
}

@media (max-width: 767px) {
  html body h1 {
    font-size: 36px !important;
    line-height: 1.15 !important;
    letter-spacing: -0.03em !important;
    margin-bottom: 18px !important;
  }

  html body h2,
  html.page-service body .main-heading,
  html.page-service body .projects-title,
  html.page-service body .fullcycle-title,
  html.page-service body .why-title,
  html.page-service body .faq-heading,
  html body .values-title,
  html body .oj-main-title,
  html body .testimonials-heading,
  html body .dt-title,
  html body .dev-process-heading {
    font-size: 30px !important;
    line-height: 1.22 !important;
    letter-spacing: -0.025em !important;
    margin-bottom: 16px !important;
  }

  html body h3 {
    font-size: 25px !important;
    line-height: 1.28 !important;
    letter-spacing: -0.02em !important;
  }

  html body h4 {
    font-size: 21px !important;
    line-height: 1.32 !important;
  }

  html body h5 {
    font-size: 18px !important;
  }

  html body .large-paragraph,
  html body .text-large,
  html body .lead {
    font-size: 17px !important;
    line-height: 28px !important;
  }

  html.page-home body .ph-hero-h1,
  html.page-service body .mobile-dev-title,
  html body .hero-main-heading,
  html body .hero-title,
  html body .hero-heading {
    font-size: 38px !important;
    line-height: 1.12 !important;
    letter-spacing: -0.03em !important;
    margin-bottom: 18px !important;
  }

  html.page-home body .ph-hero-h2 {
    font-size: 30px !important;
    line-height: 1.22 !important;
    letter-spacing: -0.025em !important;
    margin-bottom: 16px !important;
  }

  html body .ph-hero-eyebrow-text,
  html body .hero-eyebrow,
  html.page-service body .mobile-dev-kicker {
    font-size: 12px !important;
    line-height: 18px !important;
    margin-bottom: 14px !important;
  }

  html.page-home body .ph-hero-body p,
  html.page-service body .mobile-dev-note,
  html body .hero-description,
  html body .hero-video-wrap .t-body {
    font-size: 16px !important;
    line-height: 26px !important;
    max-width: 100% !important;
    margin-bottom: 26px !important;
  }

  html body .ph-cta-a,
  html body .ph-cta-b,
  html body .top-dev-cta,
  html body .build-btn,
  html body button,
  html body .btn,
  html body [class*="-btn"],
  html body [class*="button"] {
    font-size: 14px !important;
    line-height: 20px !important;
  }

  html body .arrow-link,
  html body .card-link,
  html body [class*="learn-more"] {
    font-size: 14px !important;
    gap: 7px !important;
  }

  html body .section-eyebrow,
  html body .section-overline,
  html body .section-kicker,
  html body .why-kicker,
  html body .fullcycle-kicker,
  html body .section-label,
  html body .dev-process-kicker,
  html body .fi-eyebrow,
  html body .ind2-eyebrow {
    font-size: 12px !important;
    letter-spacing: 0.07em !important;
  }

  html body .section-description,
  html body .testimonials-subtitle,
  html body .fi-subtitle,
  html body .ind2-desc {
    font-size: 16px !important;
    line-height: 26px !important;
    margin-top: 12px !important;
  }

  html.page-service body .talk-heading,
  html body .cta-heading {
    font-size: 30px !important;
    line-height: 1.2 !important;
    letter-spacing: -0.025em !important;
    margin-bottom: 14px !important;
  }

  html.page-service body .talk-description,
  html body .cta-copy,
  html body .cta-description {
    font-size: 15px !important;
    line-height: 25px !important;
    margin-bottom: 22px !important;
  }

  html body .card-main-heading,
  html body .fi-card-title,
  html body .h-card,
  html body .tech-card h3,
  html body .trust-card h3,
  html body .model-card h3,
  html body .value-card h3 {
    font-size: 20px !important;
    line-height: 27px !important;
    margin-bottom: 8px !important;
  }

  html body .large-feature-card-heading,
  html body .dc-card-intro h2,
  html body .dc-glass-label h3,
  html body .dc-card-partners h3 {
    font-size: 24px !important;
    line-height: 31px !important;
  }

  html body .card-description,
  html body .card-copy,
  html body .fi-card-body,
  html body .tech-card p,
  html body .trust-card p,
  html body .model-card p,
  html body .value-card p {
    font-size: 14px !important;
    line-height: 23px !important;
  }

  html.page-service body .service-card h3,
  html.page-service body .app-service-featured-card h3 {
    font-size: 20px !important;
    line-height: 27px !important;
  }

  html body .project-info h3,
  html body .project-title {
    font-size: 24px !important;
    line-height: 31px !important;
  }

  html body .dc-big-number,
  html body .ph-stat-val,
  html body .large-statistic-number,
  html body .stat-number,
  html body .dc-progress-inner {
    font-size: 36px !important;
    letter-spacing: -0.035em !important;
  }

  html body table th {
    font-size: 12px !important;
    line-height: 18px !important;
  }

  html body table td {
    font-size: 13px !important;
    line-height: 21px !important;
  }

  html body .form-section-heading {
    font-size: 25px !important;
    line-height: 32px !important;
  }

  html.page-service body .faq-question,
  html.page-service body .faq-title,
  html body .accordion-question {
    font-size: 17px !important;
    line-height: 25px !important;
  }

  html body .testimonial-quote,
  html body .cx-quote {
    font-size: 18px !important;
    line-height: 29px !important;
    margin-bottom: 20px !important;
  }

  html body .pricing-amount {
    font-size: 40px !important;
  }

  html body .blog-card-title {
    font-size: 20px !important;
    line-height: 27px !important;
  }

  html body .blog-article-title {
    font-size: 34px !important;
    line-height: 1.16 !important;
    letter-spacing: -0.03em !important;
  }

  html body .blog-article-body,
  html body .blog-article-body p {
    font-size: 16px !important;
    line-height: 27px !important;
  }

  html body .timeline-heading,
  html body .active-title,
  html body .oj-ctitle {
    font-size: 21px !important;
    line-height: 28px !important;
  }
}

@media (max-width: 375px) {
  html.page-home body .ph-hero-h1,
  html.page-service body .mobile-dev-title,
  html body .hero-main-heading,
  html body .hero-title,
  html body .hero-heading {
    font-size: 32px !important;
    line-height: 1.15 !important;
    letter-spacing: -0.025em !important;
  }
}
