/* Global navigation and accessibility helpers */
.archi-lang-menu > a {
   white-space: nowrap;
}

.archi-header-lang {
   position: relative;
   margin-right: 12px;
}

.archi-header-lang ul {
   margin: 0;
   padding: 0;
   list-style: none;
}

.archi-header-lang > ul > li {
   position: relative;
}

.archi-header-lang > ul > li > a {
   display: inline-block;
   padding: 8px 16px;
   border-radius: 29px;
   font-family: var(--tp-ff-sequel-roman);
   font-size: 16px;
   line-height: 1;
   color: var(--tp-common-black);
   letter-spacing: -0.02em;
}

.archi-header-lang > ul > li:hover > a {
   background: var(--tp-common-black);
   color: var(--tp-common-white);
}

.archi-header-lang .submenu {
   position: absolute;
   top: 100%;
   right: 0;
   left: auto;
   width: 220px;
   z-index: 99;
   opacity: 0;
   padding: 12px 0;
   transition: 0.5s;
   text-align: start;
   visibility: hidden;
   border-radius: 14px;
   transform-origin: 100% 0;
   transform: scale(1, 0);
   backdrop-filter: blur(40px);
   background: rgba(255, 255, 255, 0.9);
   box-shadow: 0 20px 30px -8px rgba(19, 19, 22, 0.1);
}

.archi-header-lang li:hover > .submenu {
   visibility: visible;
   opacity: 1;
   transform: scale(1);
}

.archi-header-lang li:focus-within > .submenu {
   visibility: visible;
   opacity: 1;
   transform: scale(1);
}

.archi-header-lang .submenu li {
   width: 100%;
   padding: 0 12px;
   border-radius: 8px;
   margin: 0;
}

.archi-header-lang .submenu li a {
   position: relative;
   border-radius: 27px;
   font-weight: 500;
   font-size: 16px;
   line-height: 1;
   color: #636368;
   padding: 12px 18px;
   display: inline-block;
   letter-spacing: -0.01em;
   text-align: start;
   width: 100%;
   font-family: var(--tp-ff-sequel-roman);
}

.archi-header-lang .submenu li:hover > a,
.archi-lang-menu .submenu li a.is-active {
   background: #ededed;
   color: var(--tp-common-black) !important;
}

.hamburger-close-btn {
   background: transparent;
   border: 0;
   padding: 0;
}

.archi-skip-link {
   position: absolute;
   top: 12px;
   left: 12px;
   z-index: 9999;
   padding: 10px 16px;
   border-radius: 999px;
   background: var(--tp-common-black);
   color: var(--tp-common-white);
   transform: translateY(-160%);
   transition: transform 0.2s ease;
}

.archi-skip-link:focus {
   transform: translateY(0);
}

.archi-header-lang > ul > li > a:focus-visible,
.archi-header-lang .submenu li a:focus-visible,
.hamburger-open-btn:focus-visible,
.hamburger-close-btn:focus-visible,
.back-to-top-btn:focus-visible {
   outline: 2px solid var(--tp-common-black);
   outline-offset: 4px;
}

/* Home page */
.archi-home-intro-emphasis {
   font-weight: 300;
}

/* Services page */
.archi-services-process .tp-process-border {
   transform: translateY(24px);
}

.archi-services-process .tp-process-item {
   padding: 0 12px;
}

.archi-services-process .tp-process-title {
   font-size: 26px;
   letter-spacing: -0.04em;
}

.archi-services-process .tp-process-dec {
   max-width: 220px;
   margin: 0 auto;
   font-size: 16px;
   line-height: 1.55;
}

.archi-services-benefit {
   max-width: 560px;
   margin-top: 26px;
   padding-left: 22px;
   border-left: 2px solid var(--tp-common-black);
   font-size: 24px;
   line-height: 1.45;
   font-weight: 600;
   color: var(--tp-common-black);
}

.archi-services-secondary-head {
   margin-top: 80px;
   margin-bottom: 24px;
}

.archi-services-secondary-spacer {
   height: 72px;
}

.archi-services-secondary {
   --bs-gutter-x: 40px;
   --bs-gutter-y: 40px;
}

.archi-services-secondary .about-me-resume-item {
   height: 100%;
   margin-top: 0;
   padding: 52px 0 28px 0;
   border-top: 1px solid rgba(9, 9, 11, 0.1);
   border-bottom: 1px solid rgba(9, 9, 11, 0.1);
   background: transparent;
}

.archi-services-secondary .about-me-resume-info,
.archi-services-secondary .about-me-resume-dec {
   margin-left: 0;
}

.archi-services-secondary .about-me-resume-title {
   font-size: 72px;
}

.archi-services-secondary .about-me-resume-dec p {
   margin-right: 0;
   color: rgba(9, 9, 11, 0.78);
}

/* Pricing page */
.ds-price-item-head p,
.ds-price-item-list ul li {
   text-transform: none !important;
}

.archi-pricing-plan-row {
   display: flex;
   flex-wrap: wrap;
   align-items: stretch;
}

.archi-pricing-plan-row > [class*="col-"] {
   display: flex;
}

.archi-pricing-plan-row .ds-price-item {
   display: flex;
   flex-direction: column;
   width: 100%;
}

.archi-pricing-plan-row .ds-price-item-btn {
   margin-top: auto;
}

.archi-pricing-plan-row .ds-price-item-btn .tp-btn {
   width: 100%;
   padding: 22px 32px;
   border-radius: 50px;
}

.archi-pricing-plan-row .ds-price-item:not(.active) .ds-price-item-btn .tp-btn,
.archi-pricing-plan-row .ds-price-item .ds-price-item-btn .archi-pricing-plan-btn-outline {
   background: transparent;
   border: 1px solid var(--tp-common-black);
   color: var(--tp-common-black);
}

.archi-pricing-plan-row .ds-price-item:not(.active) .ds-price-item-btn .tp-btn:hover,
.archi-pricing-plan-row .ds-price-item .ds-price-item-btn .archi-pricing-plan-btn-outline:hover {
   color: var(--tp-common-black);
}

.archi-pricing-plan-disabled {
   opacity: 0.33;
}

.archi-pricing-inactive-label {
   display: block;
   width: 100%;
   padding: 22px 32px;
   border: 1px solid var(--tp-common-black);
   border-radius: 50px;
   text-align: center;
   font-weight: 500;
   color: var(--tp-common-black);
}

.archi-pricing-premium-upcoming-note {
   margin-top: 14px;
   padding-top: 14px;
   border-top: 1px solid rgba(0, 0, 0, 0.12);
   font-weight: 500;
}

.pricing-feature-badge {
   display: inline-block;
   padding: 3px 10px;
   margin-left: 8px;
   background: #f0f0f0;
   color: #666;
   font-size: 11px;
   font-weight: 500;
   border-radius: 12px;
   letter-spacing: 0.02em;
   vertical-align: middle;
}

.pricing-feature-badge-link {
   text-decoration: none;
}

.pricing-feature-badge-link:hover {
   color: var(--tp-common-white);
   background: var(--tp-common-black);
}

.archi-pricing-audience-switch a {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 24px;
   padding: 28px 0;
   border-top: 1px solid rgba(0, 0, 0, 0.16);
   border-bottom: 1px solid rgba(0, 0, 0, 0.16);
   color: var(--tp-common-black);
   text-decoration: none;
}

.archi-pricing-audience-switch span {
   color: rgba(9, 9, 11, 0.72);
}

.archi-pricing-audience-switch strong {
   font-weight: 600;
   white-space: nowrap;
}

@media (max-width: 767px) {
   .archi-pricing-audience-switch a {
      align-items: flex-start;
      flex-direction: column;
      gap: 10px;
   }
}

/* GDPR page */
.archi-legal-hero {
   position: relative;
   overflow: hidden;
}

.archi-legal-hero::before,
.archi-legal-hero::after {
   position: absolute;
   content: "";
   border-radius: 999px;
   filter: blur(24px);
   opacity: 0.55;
   pointer-events: none;
}

.archi-legal-hero::before {
   width: 280px;
   height: 280px;
   top: 130px;
   right: -80px;
   background: rgba(205, 179, 146, 0.36);
}

.archi-legal-hero::after {
   width: 180px;
   height: 180px;
   top: 240px;
   left: -70px;
   background: rgba(145, 164, 146, 0.18);
}

.archi-legal-hero-copy {
   max-width: 860px;
}

.archi-legal-hero-copy .tp-breadcrumb-dec {
   max-width: 690px;
   margin-top: 28px;
   font-size: 20px;
   line-height: 1.6;
   color: #535058;
}

.archi-legal-content {
   display: flex;
   flex-direction: column;
   gap: 0;
   max-width: 1120px;
   margin: 0 auto;
}

.archi-legal-item {
   margin-bottom: 0;
   padding: 0 0 46px;
   background: transparent;
   border: 0;
   border-radius: 0;
   box-shadow: none;
}

.archi-legal-item:not(:last-child) {
   margin-bottom: 46px;
   border-bottom: 1px solid rgba(9, 9, 11, 0.08);
}

.archi-legal-item-head {
   display: flex;
   align-items: center;
   gap: 16px;
   margin-bottom: 20px;
}

.archi-legal-item-index {
   width: 54px;
   height: 54px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   border-radius: 50%;
   background: var(--tp-common-black);
   color: var(--tp-common-white);
   font-family: var(--tp-ff-sequel-semi-bold);
   font-size: 16px;
   line-height: 1;
}

.archi-legal-item-kicker {
   font-size: 13px;
   font-weight: 600;
   text-transform: uppercase;
   letter-spacing: 0.08em;
   color: #7b7881;
}

.archi-legal-item-title {
   margin-bottom: 18px;
   font-family: var(--tp-ff-sequel-bold-head);
   font-size: clamp(34px, 4vw, 50px);
   line-height: 0.98;
   letter-spacing: -0.05em;
   color: var(--tp-common-black);
}

.archi-legal-body {
   padding-right: 0;
   padding-bottom: 0;
}

.archi-legal-body p {
   margin-bottom: 16px;
   font-size: 17px;
   line-height: 1.8;
   color: #5d5a62;
}

.archi-legal-body h6 {
   margin: 30px 0 10px;
   font-family: var(--tp-ff-sequel-semi-bold);
   font-size: 24px;
   line-height: 1.12;
   letter-spacing: -0.04em;
   color: var(--tp-common-black);
}

.archi-legal-body h6:first-child {
   margin-top: 0;
}

.archi-legal-list {
   margin: 0 0 16px;
   padding: 0;
   list-style: none;
}

.archi-legal-list li {
   position: relative;
   padding-left: 18px;
   margin-bottom: 10px;
   font-size: 17px;
   line-height: 1.8;
   color: #5d5a62;
}

.archi-legal-list li::before {
   position: absolute;
   content: "";
   width: 8px;
   height: 8px;
   left: 0;
   top: 12px;
   border-radius: 50%;
   background: var(--tp-common-black);
}

.archi-legal-note {
   margin-top: 14px;
   padding-top: 18px;
   border-top: 1px solid rgba(9, 9, 11, 0.08);
   font-family: var(--tp-ff-sequel-semi-bold);
   font-size: 17px;
   letter-spacing: -0.02em;
   color: var(--tp-common-black);
}

.archi-legal-body a {
   color: var(--tp-common-black);
   text-decoration: underline;
   text-decoration-thickness: 1px;
   text-underline-offset: 0.18em;
}

.archi-legal-body a:hover {
   color: var(--tp-theme-primary);
}

/* Roadmap page */
.archi-roadmap-hero-subtitle {
   margin: 0 0 18px;
   font-size: 22px;
   line-height: 1.35;
   color: var(--tp-common-black);
   font-family: var(--tp-ff-sequel-roman);
}

.archi-roadmap-hero-description {
   max-width: 980px;
   margin: 0;
   font-size: 18px;
   line-height: 1.7;
   color: rgba(1, 1, 3, 0.75);
   text-transform: none;
}

.archi-roadmap-opening-section .tp-benefit-heading {
   margin-bottom: 74px;
}

.archi-roadmap-list-intro {
   max-width: 820px;
   margin: 22px 0 0;
   font-size: 18px;
   line-height: 1.7;
   color: rgba(1, 1, 3, 0.75);
   text-transform: none;
}

.archi-roadmap-opening-title {
   padding-right: 28px;
}

.archi-roadmap-opening-description {
   margin: 16px 0 0;
   font-size: 16px;
   line-height: 1.7;
   color: rgba(1, 1, 3, 0.76);
   text-transform: none;
}

.archi-roadmap-opening-status {
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   gap: 0;
}

.archi-roadmap-opening-status .archi-roadmap-status-pill {
   display: inline-flex;
   align-items: center;
   border-radius: 16px;
   padding: 9px 18px;
   font-size: 13px;
   font-weight: 600;
   letter-spacing: 0.03em;
   line-height: 1.2;
   text-transform: uppercase;
}

.archi-roadmap-status-done {
   background: #e8f5e9;
   color: #2e7d32;
}

.archi-roadmap-status-in-progress {
   background: #e3f2fd;
   color: #1565c0;
}

.archi-roadmap-status-planned {
   background: #f0f0f0;
   color: #616161;
}

.archi-roadmap-mobile-label {
   display: none;
   margin: 0 0 12px;
   font-size: 12px;
   line-height: 1.3;
   font-weight: 600;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   color: rgba(1, 1, 3, 0.52);
}

.archi-roadmap-cta-box {
   max-width: 760px;
   margin: 0 auto;
   border: none;
   background: #f8f8fb;
}

.archi-roadmap-cta-title {
   font-size: 48px;
   line-height: 1.1;
   color: var(--tp-common-black);
   text-transform: none;
   letter-spacing: -0.04em;
}

.archi-roadmap-cta-description {
   margin: 16px 0 0;
   font-size: 17px;
   line-height: 1.7;
   color: rgba(1, 1, 3, 0.75);
   text-transform: none;
}

.archi-roadmap-cta-box .tp-career-details-sidebar-heading {
   margin-bottom: 20px;
}

.archi-roadmap-cta-box .tp-career-details-sidebar-item {
   margin-bottom: 22px;
}

.archi-roadmap-cta-box .tp-career-details-sidebar-item:last-of-type {
   margin-bottom: 34px;
}

.archi-roadmap-cta-box .tp-career-details-sidebar-item-icon span i {
   font-size: 20px;
   color: var(--tp-common-black);
   line-height: 1;
}

.archi-roadmap-cta-btn a {
   width: 100%;
   min-width: 0;
   padding: 18px 30px;
   background: #ff2240;
   color: var(--tp-common-white);
}

.archi-roadmap-cta-btn a:hover {
   background: var(--tp-common-black);
}

@media only screen and (max-width: 991.98px) {
   .archi-roadmap-hero-subtitle {
      font-size: 20px;
   }

   .archi-roadmap-opening-section .tp-benefit-heading {
      margin-bottom: 56px;
   }

   .archi-roadmap-list-head {
      display: none;
   }

   .archi-roadmap-mobile-label {
      display: block;
   }

   .archi-roadmap-opening-title {
      padding-right: 0;
   }

   .archi-roadmap-opening-status {
      margin-top: 26px;
   }

   .archi-roadmap-cta-title {
      font-size: 36px;
   }
}

@media only screen and (max-width: 991px) {
   .archi-services-process .tp-process-title {
      font-size: 22px;
   }

   .archi-services-benefit {
      font-size: 20px;
      padding-left: 18px;
   }

   .archi-services-secondary .about-me-resume-title {
      font-size: 56px;
   }

   .archi-legal-hero-copy .tp-breadcrumb-dec {
      font-size: 18px;
   }

   .archi-legal-item {
      padding-bottom: 34px;
   }

   .archi-legal-item:not(:last-child) {
      margin-bottom: 34px;
   }

   .archi-legal-item-title {
      font-size: 38px;
   }

   .archi-legal-body h6 {
      font-size: 22px;
   }
}

@media only screen and (max-width: 767px) {
   .archi-legal-item-head {
      align-items: flex-start;
   }
}

@media only screen and (max-width: 575.98px) {
   .archi-header-lang {
      margin-right: 8px;
   }

   .archi-header-lang > ul > li > a {
      padding: 8px 12px;
      font-size: 14px;
   }

   .archi-header-lang .submenu {
      width: 200px;
   }

   .archi-legal-hero-copy .tp-breadcrumb-dec,
   .archi-legal-body p,
   .archi-legal-list li {
      font-size: 16px;
   }

   .archi-legal-item-title {
      font-size: 30px;
   }

   .archi-roadmap-hero-subtitle {
      font-size: 18px;
   }

   .archi-roadmap-hero-description,
   .archi-roadmap-list-intro,
   .archi-roadmap-cta-description {
      font-size: 16px;
   }

   .archi-roadmap-opening-section .tp-benefit-heading {
      margin-bottom: 42px;
   }

   .archi-roadmap-opening-section .tp-career-opening-item.ptb {
      padding-top: 28px;
      padding-bottom: 28px;
   }

   .archi-roadmap-opening-section .tp-career-opening-title-name {
      font-size: 22px;
   }

   .archi-roadmap-cta-title {
      font-size: 30px;
   }
}

@media only screen and (max-width: 574.98px) {
   .archi-services-process .tp-process-item {
      padding: 0;
   }

   .archi-services-secondary-head {
      margin-top: 56px;
   }

   .archi-services-secondary-spacer {
      height: 40px;
   }

   .archi-services-secondary {
      --bs-gutter-x: 20px;
      --bs-gutter-y: 28px;
   }

   .archi-services-secondary .about-me-resume-title {
      font-size: 42px;
   }
}
