* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}

:root {
    --ocean-depth: #1a237e;
    --crystal-blue: #3f51b5;
    --sunset-orange: #ff6f00;
    --forest-shadow: #2e7d32;
    --pearl-white: #fafafa;
    --graphite-dark: #212121;
    --silver-mist: #f5f5f5;
    --royal-purple: #6a1b9a;
    --amber-glow: #ffc107;
    --steel-gray: #546e7a;
}

body {
     font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
   line-height: 1.7;
  color: var(--graphite-dark);
  background: var(--pearl-white);
  overflow-x: hidden;
	}

h1, h2, h3, h4, h5, h6 {
   font-weight: 700;
  line-height: 1.3;
    margin-bottom: 1.2rem;
}

h1 {
  font-size:3.2rem;
}

h2 {
  font-size: 2.4rem;
}

h3 {
   font-size: 1.8rem;
}

p {
    margin-bottom: 1.1rem;
  color: var(--steel-gray);
}

.content-wrapper {
	 max-width   :      1340px;
  margin: 0 auto;
  padding: 0 23px;

}

.fluid-container {
  width: 100%;
  padding: 0 15px; 
	
}

.primary-navigation {
      position: fixed;
  top: 0;
   width: 100%;
  background: rgba(255, 255, 255, 0.97);
  backdrop-filter: blur(13px);
  z-index: 1000;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  border-bottom: 1px solid rgba(63, 81, 181, 0.1);

}

.navigation-framework {
   display: flex;
    justify-content: space-between;
  align-items    :  center;
    padding: 17px 0;
    position: relative;
}

.brand-identity img {


    width: auto;
         height: 42px;
     }

.navigation-toggle {

	display: none;}

.toggle-activator {
   display: none;
}

.menu-trigger {
   width:32px;
    height     :     3px;
  background: var(--ocean-depth);
   position    : relative;
    transition: all 0.35s ease;
}

.menu-trigger:before,
.menu-trigger:after {
  content: '';
    position: absolute;
  width: 32px;
   height: 3px;
  background: var(--ocean-depth);
    transition: all 0.35s ease;
}

.menu-trigger:before {
  top: -9px;
}

.menu-trigger:after   {
  top: 9px;
}

.navigation-container {
  display: flex;
    align-items: center;
    gap: 34px;
}

.navigation-element {
	 list-style: none;
}

.navigation-anchor {
  color: var(--graphite-dark);
   text-decoration: none;
    font-size: 16px;
   font-weight: 500;
  transition     :color 0.3s ease;
   position: relative;
}

.navigation-anchor:hover {
  color: var(--crystal-blue);
}

.navigation-anchor::after {
  content: '';
	   position: absolute;
	   width: 0;
	  height: 2px;
	       bottom: -5px;
	   left   :  0;
	  background: var(--crystal-blue);
	    transition:    width 0.3s ease;
}

.navigation-anchor:hover::after {
    width: 100%;
	}@media screen and (max-width: 768px) {
    .toggle-activator {
        display: block;
        cursor: pointer;
        padding: 17px;
        z-index: 2;
    }

    .navigation-container {
        position: fixed;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100vh;
        background: var(--pearl-white);
        transition: all 0.35s ease;
        padding-top: 87px;
        flex-direction: column;
        align-items: center;
    }

    .navigation-element {
        width: 100%;
        text-align: center;
        margin: 17px 0;
    }

    .navigation-anchor {
        display: inline-block;
        padding: 12px 23px;
        font-size: 19px;
        color: var(--graphite-dark);
    }

    .navigation-toggle:checked ~ .navigation-container {
        left: 0;
    }

    .navigation-toggle:checked ~ .toggle-activator .menu-trigger {
        background: transparent;
    }

    .navigation-toggle:checked ~ .toggle-activator .menu-trigger:before {
        transform: rotate(45deg);
        top: 0;
    }

    .navigation-toggle:checked ~ .toggle-activator .menu-trigger:after {
        transform: rotate(-45deg);
        top: 0;
    }
}.enterprise-showcase-area 
 {
   background-size: cover;
   background-repeat: no-repeat;
    background-position: center center;
  position: relative;
  min-height: 100vh;
  display  :     flex;
    align-items:   center;
}

.background-overlay::before {
  content: '';
  position: absolute;
               top: 0;
  left: 0;
  right: 0;
    bottom: 0;
  background: linear-gradient(135deg, rgba(26, 35, 126, 0.7), rgba(63, 81, 181, 0.5));
   z-index: 1;
}

.showcase-content-grid {
  position: relative;
    z-index: 2;
   display: flex;
  align-items: center;
    min-height: 100vh;
}

.primary-showcase-block  
  {
	 width: 100%;


}


.text-alignment-center {
  text-align: center;
}

.showcase-headline {


  color: white;
               font-size: 3.8rem;
	font-weight: 900;
    margin-bottom: 1.8rem;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); 
}

.showcase-description {
   	color   :     white;
    margin-right: auto;
  max-width :     640px;
   margin-left: auto;
    margin-bottom: 2.8rem;
  font-size: 1.4rem; 

}

.action-controls    {
	display: flex;
      align-items: center;
  justify-content: center;
    gap: 23px;
  flex-wrap: wrap;
}

.primary-action-button {
  background: linear-gradient(135deg, var(--sunset-orange), var(--amber-glow));
        color: white;
  padding: 16px 34px;
   border-radius: 47px;
   text-decoration: none;
    font-weight: 600;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  box-shadow: 0 8px 23px rgba(255, 111, 0, 0.3); 
	
}

.primary-action-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 34px rgba(255, 111, 0, 0.4);
	}

.secondary-link-element {
      color: white;
  text-decoration: none;
  font-weight: 500;
	transition   : color 0.3s ease;}

.secondary-link-element:hover {


  color: var(--amber-glow);
}

.separator-element{
    color: white;
   font-weight: 300;
}

.uppercase-text {
	 text-transform: uppercase;
  letter-spacing: 1.2px;


}

.performance-metrics

{
    padding: 87px 0;

       position: relative;
}

.background-subtle {
  background: var(--silver-mist);
}

.metrics-grid {
    display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
   gap: 34px;
    justify-content: center; 

}

.metric-block {


   text-align: center;


}



.metric-content {

  display: flex;
    align-items: center;
  justify-content: center;
   flex-direction: column;
  padding: 23px;

}

.metric-number {
   font-size :     3.4rem;
  font-weight :        700;
  color: var(--crystal-blue);
   margin-bottom     : 8px;
}

.metric-content span {
	 font-size: 1.1rem;
  color: var(--steel-gray);
  font-weight: 500;
}

.border-separator {
  border-right: 1px solid rgba(84, 110, 122, 0.2);
}

.enterprise-content-area {
  padding     : 97px 0;
}

.content-layout {
   display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 67px;
   align-items: center;
}

.textual-information		{
   padding-right: 34px;
}

.content-heading {
  color: var(--graphite-dark);
   margin-bottom   :      23px;
}

.content-description {
	font-size: 1.1rem;
  line-height: 1.8;
   margin-bottom : 19px;
}

.engagement-button {
  background: var(--crystal-blue);

	  color: white;

	    padding:     14px 32px;

	  border-radius: 34px;

	    text-decoration:        none;

	  font-weight: 600;

	   transition: all 0.3s ease;

	    display: inline-block;

	  margin-top: 23px;
}

.engagement-button:hover     {
  background: var(--ocean-depth);
  transform: translateY(-2px);
}

.image-container {
    border-radius: 12px;
   overflow: hidden;
  box-shadow: 0 19px 47px rgba(0, 0, 0, 0.15);
}

.responsive-image {
  width: 100%;
        height  :  auto;
  transition: transform 0.5s ease;
}

.image-container:hover .responsive-image {
  transform: scale(1.07);


}

.enterprise-no-top {
  padding-top: 0;
}

.enterprise-no-bottom {
   padding-bottom: 0;
}

.layout-grid {
  display :grid; 
	  grid-template-columns: 5fr 7fr; 
	   gap   :       0;
}

.visual-section{
  display: flex;
}

.video-background {

    background-size: cover;
  background-position:center;
       min-height: 520px;
	}

.rounded-borders {
   border-radius: 9px;
}

.content-section {

	   padding: 47px 0 47px 42px;
	}

.section-subtitle {
   display: block;
    font-size: 13px;
  font-weight: 700;
  color: var(--sunset-orange);
    text-transform: uppercase;
   letter-spacing: 2.1px;
  margin-bottom: 12px;
}

.services-information ul {
  list-style: none;
  margin: 23px 0;
}

.services-information li {
    margin: 16px 0;
    display  :  flex;
    align-items: center;
}

.check-icon {


          width: 19px;
    height: 19px;
  background: var(--forest-shadow);
    border-radius: 50%;
   margin-right: 17px;
  position: relative;

} 

.check-icon::after {
  content: '✓';
  position     :  absolute;
   top: 50%;
   left: 50%;
  transform: translate(-50%, -50%);
       color: white;
  font-size: 12px;
    font-weight: bold;
}

.primary-button {
  background: var(--sunset-orange);
  color: white;
   padding     :       15px 32px;
  border-radius: 7px;
    text-decoration: none;
   font-weight: 600;
        transition: all 0.4s ease;
	display:     inline-block;
}

.primary-button:hover {
  background: var(--amber-glow);
  color: var(--graphite-dark);
}

.client-testimonials {
   padding: 87px 0;
}

.testimonial-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
   gap: 0;
}

.testimonial-background {


  background-size: cover;
      background-position: center;
    min-height: 420px;
               width: 100%;
	}

.testimonial-content {
	 padding: 67px 42px;
}

.section-header h2 {
  color: var(--graphite-dark);
  font-size: 2.8rem;
}

.testimonial-wrapper {
   background: white;
   padding    :  34px;
   border-radius: 12px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
}

.testimonial-text p {
  font-size: 1.2rem;
   font-style: italic;
  color: var(--steel-gray);
   line-height: 1.7;
}

.client-info {
	 display: flex;
    align-items: center;
  margin-top: 23px;
}

.client-avatar {
  width: 67px;
    height: 67px;
  border-radius: 50%;
         background-size: cover;
   background-position: center;
}

.client-name {
  font-weight: 600;
  color: var(--graphite-dark);
   margin-bottom: 5px;
}


.client-position {
  font-size: 0.9rem;
  color: var(--crystal-blue);
   text-transform: uppercase;
  font-weight: 600;
    letter-spacing: 1.1px;

}

.pricing-framework {
      padding: 127px 0 87px;

}

.primary-title
{

   text-align: center;
   margin-bottom: 87px;
	}

.primary-title h2{
	font-size: 4.8rem;
  color: var(--crystal-blue);
	 opacity: 0.12;
  margin: 0;
   line-height: 67px;
}

.primary-title h1 {
  color: var(--graphite-dark);
    margin-top: -42px;
  font-size: 2.8rem;
	
}

.primary-title p {
                    max-width: 580px;
   margin: 0 auto;
   font-size: 1.1rem;
}

.pricing-grid {
   display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 34px; 

}

.pricing-card {
  background: linear-gradient(145deg, var(--ocean-depth), var(--crystal-blue));
   text-align: center;
   border-radius: 12px;
   overflow: hidden;
               transition    :transform 0.4s ease;
}

.pricing-card:hover {
  transform: translateY(-8px);
}

.pricing-card.featured {
  transform: scale(1.05);
     box-shadow: 0 23px 47px rgba(63, 81, 181, 0.3);
}

.plan-title


{
  color  :       white;
  margin: 0;
    padding: 37px 32px 27px;
  font-size: 1.3rem;
}

.plan-cost {
   font-weight: 700;
    color: white;
   margin: 0;
   padding: 32px;
  background: rgba(26, 35, 126, 0.8);
   font-size: 2.4rem;
}

.pricing-card ul {
    list-style: none;
   padding: 37px 52px 19px;
    margin: 0;
}

.pricing-card li {
  color: rgba(255, 255, 255, 0.9);
  padding    :   15px 0;
  border-bottom: 1px dashed rgba(255, 255, 255, 0.2);
}

.pricing-card li:last-child
{
   border-bottom: none;
}

.plan-action  
  {
	padding-bottom: 52px;
}

.gradient-action-button {


  background: linear-gradient(135deg, var(--sunset-orange), var(--amber-glow));
   color:      white;
   padding: 17px 47px;
    border-radius: 34px;
  text-decoration: none;
  font-weight: 600;
   transition: all 0.4s ease;
     display: inline-block;
	}

.gradient-action-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 34px rgba(255, 111, 0, 0.4);

}

.enterprise-about-section {
  padding: 97px 0;
}

.enterprise-no-padding-top {
    padding-top: 0;
}

.enterprise-no-padding-bottom {
	   padding-bottom:      0;
}

.layout-row		{
    display: flex;
   flex-wrap: wrap;
}

.no-gutters {
  margin: 0;
}

.no-gutters > * {
    padding: 0;
}

.image-column {
               flex: 1;
  background-size   :       cover;
  background-position: center;
   min-height: 520px;
}


.highlight-column {
  flex   :     1;
  background: var(--crystal-blue);
               display: flex;
  align-items: center;
}

.text-information {
               padding: 67px 42px;
}

.text-information h2


{
  color: var(--graphite-dark);
	  margin-bottom: 23px; 
	
} 

.highlight-content {


   padding: 67px 42px;
   color: white;
}  

.highlight-content h2 {
   color: white;
   margin-bottom: 23px;
  font-size: 2.4rem;
}

.performance-number {
  font-size: 3.2rem;
   font-weight: 700;
}

.contrast-button {
  background: var(--graphite-dark);
   color: white;
  padding: 14px 32px;
    border-radius: 7px;
    text-decoration     :  none;
    font-weight: 600;
	transition: all 0.3s ease;
    display: inline-block;
}

.contrast-button:hover {
   background: white;
  color: var(--graphite-dark);
}

.enterprise-footer {
  background: var(--graphite-dark);
     color     :  white;
}

.section-padding {
    padding     :    127px 0;
} 

.footer-grid {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
	gap: 42px;
}

.footer-widget h3 {
  color: white;
       font-size: 1.3rem;
       margin-bottom: 23px;
}

.footer-widget ul {
   list-style: none;
}

.footer-widget li
	{

	  margin-bottom: 12px;
}

.footer-widget a {
  color: rgba(255, 255, 255, 0.8);
   text-decoration: none;
  transition: color 0.3s ease;
}

.footer-widget a:hover {
       color: white;
	}

.footer-widget form {
    display: flex;
	gap: 12px;
}

.footer-widget input {
    flex: 1;
  padding: 14px 19px;
               border: none;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.1);
  color :  white;
}

.footer-widget input::placeholder {
	  color: rgba(255, 255, 255, 0.6);


}

.template-action {
  background: var(--sunset-orange);
    color: white;
  padding: 14px 27px;
     border: none;
   border-radius: 7px;
  font-weight   :        600;
    cursor  :  pointer;
  transition: background 0.3s ease;
}

.template-action:hover 
 {
  background: var(--amber-glow);
}

.project-gallery
{
     display: grid;
  grid-template-columns: repeat(4, 1fr);
       gap: 8px;
}



.project-gallery img {
  width: 100%;
   height: 67px;
    border-radius :     5px;
       object-fit: cover;
}

.footer-bottom {


  background: rgba(0, 0, 0, 0.3);
    padding: 32px 0;
  margin-top: 67px;

	}

.footer-bottom-grid {
          display: flex;
    justify-content: space-between;
  align-items: center;
}

.social-links ul  
  {
	gap    : 12px;
   list-style: none;
  display: flex;
}

.social-icon {
    display: inline-block;
   width: 42px;
   height: 42px;
  border-radius: 50%;
  background: var(--crystal-blue);
   text-align: center;
    line-height: 42px;
	color: white;
    transition:background 0.3s ease;
}



.social-icon:hover		{
  background: var(--sunset-orange);
}@media (max-width: 1024px) {
    .content-layout {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .layout-grid {
        grid-template-columns: 1fr;
    }

    .testimonial-layout {
        grid-template-columns: 1fr;
    }

    .image-column,
    .highlight-column {
        min-height: 380px;
    }
}

@media (max-width: 768px) {
    .showcase-headline {
        font-size: 2.8rem;
    }

    .showcase-description {
        font-size: 1.2rem;
    }

    .metrics-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 23px;
    }

    .pricing-grid {
        grid-template-columns: 1fr;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .footer-bottom-grid {
        flex-direction: column;
        gap: 23px;
    }

    .textual-information {
        padding-right: 0;
    }

    .content-section {
        padding: 42px 23px;
    }
}

@media (max-width: 640px) {
    .metrics-grid {
        grid-template-columns: 1fr;
    }

    .action-controls {
        flex-direction: column;
        gap: 17px;
    }

    h1 { font-size: 2.4rem; }
    h2 { font-size: 2rem; }

    .enterprise-content-area {
        padding: 67px 0;
    }

    .project-gallery {
        grid-template-columns: repeat(3, 1fr);
    }
}

.margin-bottom-none { margin-bottom: 0; }
.margin-bottom-minimal { margin-bottom: 0.5rem; }
.margin-bottom-small { margin-bottom: 0.8rem; }
.margin-bottom-medium { margin-bottom: 1.5rem; }
.margin-bottom-large { margin-bottom: 3rem; }
.margin-left-small { margin-left: 1rem; }

.padding-none { padding: 0; }
.padding-top-medium { padding-top: 2rem; }
.padding-bottom-medium { padding-bottom: 2rem; }
.padding-left-medium { padding-left: 2rem; }
.vertical-padding-large { padding: 4rem 0; }
.vertical-padding-small { padding: 1rem 0; }
.horizontal-padding-small { padding: 0 2rem; }
.horizontal-padding-medium { padding: 0 2.5rem; }

.flex-display { display: flex; }
.alignment-flex { display: flex; }
.alignment-items-center { align-items: center; }
.alignment-center { align-items: center; }
.justify-content-center { justify-content: center; }
.justify-content-end { justify-content: end; }
.centralized-content { justify-content: center; }
.centralized-layout { justify-content: center; }

.self-stretch { align-self: stretch; }
.full-width-column { width: 100%; }
.text-contrast { color: white; }

.background-primary { background: var(--crystal-blue); }

.animate-metric {
    opacity: 0;
    transform: translateY(32px);
    transition: all 0.6s ease;
}

.animate-metric.visible {
    opacity: 1;
    transform: translateY(0);
}

.animation-reveal {
    opacity: 0;
    transform: translateY(23px);
    transition: all 0.5s ease;
}

.animation-reveal.visible {
    opacity: 1;
    transform: translateY(0);
}
.aasf p {
    color: #fff;
}

.contact-hero-section {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    position: relative;
    min-height: 67vh;
    display: flex;
    align-items: center;
    margin-top: 87px;
}

.contact-hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(127deg, rgba(26, 35, 126, 0.8), rgba(63, 81, 181, 0.6));
    z-index: 1;
}

.hero-content-layout {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    min-height: 67vh;
}

.hero-text-block {
    width: 100%;
}

.hero-main-title {
    color: white;
    font-size: 2.8rem;
    font-weight: 800;
    margin-bottom: 1.3rem;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

.hero-subtitle-text {
    color: white;
    font-size: 1.2rem;
    margin-bottom: 0;
    max-width: 580px;
    margin-left: auto;
    margin-right: auto;
    opacity: 0.95;
}

.contact-information-area {
    padding: 87px 0 67px;
}

.contact-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 42px;
    justify-content: center;
}

.info-block {
    display: flex;
    align-items: flex-start;
    background: white;
    padding: 34px 28px;
    border-radius: 12px;
    box-shadow: 0 8px 23px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.info-block:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.12);
}

.info-icon-container {
    flex-shrink: 0;
    margin-right: 19px;
}

.contact-icon {
    width: 34px;
    height: 34px;
    filter: invert(32%) sepia(89%) saturate(1345%) hue-rotate(217deg) brightness(98%) contrast(96%);
}

.info-content-area {
    flex-grow: 1;
}

.info-title {
    color: var(--graphite-dark);
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 8px;
}

.info-description {
    color: var(--steel-gray);
    margin-bottom: 0;
    line-height: 1.6;
}

.info-description a {
    color: var(--crystal-blue);
    text-decoration: none;
    font-weight: 600;
    transition: color 0.3s ease;
}

.info-description a:hover {
    color: var(--ocean-depth);
}

.contact-form-area {
    padding: 97px 0;
    background: white;
}

.form-layout-container {
    max-width: 840px;
    margin: 0 auto;
}

.form-header-section {
    text-align: center;
    margin-bottom: 57px;
}

.form-main-heading {
    color: var(--graphite-dark);
    font-size: 2.4rem;
    font-weight: 700;
    margin-bottom: 17px;
}

.form-description-text {
    color: var(--steel-gray);
    font-size: 1.1rem;
    max-width: 640px;
    margin: 0 auto;
    line-height: 1.7;
}

.contact-form-wrapper {
    background: var(--silver-mist);
    padding: 47px 42px;
    border-radius: 15px;
    box-shadow: 0 15px 37px rgba(0, 0, 0, 0.07);
}

.form-grid-layout {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.input-group-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 23px;
}

.textarea-group-container,
.checkbox-group-container,
.submit-button-container {
    display: flex;
    flex-direction: column;
}

.form-field-wrapper {
    position: relative;
    display: flex;
    flex-direction: column;
}

.input-label-text {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--graphite-dark);
    margin-bottom: 8px;
    order: -1;
}

.form-input-control {
    width: 100%;
    padding: 14px 17px;
    border: 2px solid #e8eaed;
    border-radius: 8px;
    font-size: 1rem;
    color: var(--graphite-dark);
    background: white;
    transition: all 0.3s ease;
    font-family: inherit;
}

.form-input-control:focus {
    outline: none;
    border-color: var(--crystal-blue);
    box-shadow: 0 0 0 3px rgba(63, 81, 181, 0.1);
}

.form-input-control::placeholder {
    color: #9ca3af;
    opacity: 1;
}

.form-select-control {
    appearance: none;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
    background-position: right 12px center;
    background-repeat: no-repeat;
    background-size: 16px;
    padding-right: 42px;
}

.form-textarea-control {
    resize: vertical;
    min-height: 120px;
    line-height: 1.6;
}

.form-checkbox-wrapper {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.checkbox-input-control {
    display: none;
}

.checkbox-label-text {
    display: flex;
    align-items: flex-start;
    font-size: 0.95rem;
    color: var(--steel-gray);
    line-height: 1.5;
    cursor: pointer;
    gap: 12px;
}

.checkbox-indicator {
    width: 19px;
    height: 19px;
    border: 2px solid #d1d5db;
    border-radius: 4px;
    background: white;
    flex-shrink: 0;
    position: relative;
    transition: all 0.3s ease;
    margin-top: 2px;
}

.checkbox-input-control:checked + .checkbox-label-text .checkbox-indicator {
    background: var(--crystal-blue);
    border-color: var(--crystal-blue);
}

.checkbox-input-control:checked + .checkbox-label-text .checkbox-indicator::after {
    content: '✓';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-size: 12px;
    font-weight: bold;
}

.privacy-link {
    color: var(--crystal-blue);
    text-decoration: none;
    font-weight: 600;
}

.privacy-link:hover {
    text-decoration: underline;
}

.form-submit-button {
    background: linear-gradient(135deg, var(--sunset-orange), var(--amber-glow));
    color: white;
    border: none;
    padding: 17px 42px;
    border-radius: 47px;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    align-self: center;
    box-shadow: 0 8px 23px rgba(255, 111, 0, 0.3);
}

.form-submit-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 34px rgba(255, 111, 0, 0.4);
}

.form-submit-button:disabled {
    opacity: 0.7;
    cursor: not-allowed;
    transform: none;
}

.button-icon {
    width: 18px;
    height: 18px;
    filter: brightness(0) invert(1);
}

.validation-message-area {
    min-height: 23px;
    margin-top: 5px;
}

.validation-error-message {
    color: #dc2626;
    font-size: 0.85rem;
    font-weight: 500;
}

.form-input-control.error {
    border-color: #dc2626;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1);
}

.text-image-section {
    padding: 87px 0;
    background: var(--silver-mist);
}

.text-image-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 57px;
    align-items: center;
}

.section-responsive-image {
    width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 15px 37px rgba(0, 0, 0, 0.12);
}

.section-heading-title {
    font-size: 2.1rem;
    font-weight: 600;
    color: var(--graphite-dark);
    margin-bottom: 23px;
}

.section-description-paragraph {
    line-height: 1.8;
    color: var(--steel-gray);
    font-size: 1.05rem;
    margin-bottom: 17px;
}

.section-action-button {
    background: #e74c3c;
    color: white;
    padding: 12px 28px;
    border-radius: 35px;
    text-decoration: none;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.3rem;
    font-weight: 600;
    transition: all 0.3s ease;
    display: inline-block;
}

.section-action-button:hover {
    background: #c0392b;
    transform: translateY(-2px);
}

.popup-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s ease;
}

.popup-modal-overlay.show {
    opacity: 1;
    visibility: visible;
}

.popup-modal-container {
    background: white;
    border-radius: 15px;
    max-width: 480px;
    width: 90%;
    box-shadow: 0 23px 57px rgba(0, 0, 0, 0.3);
    transform: scale(0.8);
    transition: transform 0.4s ease;
}

.popup-modal-overlay.show .popup-modal-container {
    transform: scale(1);
}

.popup-content-wrapper {
    padding: 47px 37px;
    text-align: center;
}

.popup-icon-section {
    margin-bottom: 23px;
}

.popup-success-icon {
    width: 67px;
    height: 67px;
    filter: invert(48%) sepia(79%) saturate(2476%) hue-rotate(86deg) brightness(118%) contrast(119%);
}

.popup-title-text {
    color: var(--graphite-dark);
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 17px;
}

.popup-message-text {
    color: var(--steel-gray);
    font-size: 1.05rem;
    line-height: 1.6;
    margin-bottom: 32px;
}

.popup-close-button {
    background: var(--crystal-blue);
    color: white;
    border: none;
    padding: 14px 34px;
    border-radius: 34px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.popup-close-button:hover {
    background: var(--ocean-depth);
    transform: translateY(-2px);
}

@media (max-width: 768px) {
    .hero-main-title {
        font-size: 2.2rem;
    }

    .hero-subtitle-text {
        font-size: 1.1rem;
    }

    .contact-info-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .info-block {
        padding: 28px 23px;
    }

    .contact-form-wrapper {
        padding: 32px 23px;
    }

    .input-group-container {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .form-main-heading {
        font-size: 2rem;
    }

    .text-image-layout {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .section-heading-title {
        font-size: 1.8rem;
    }

    .popup-content-wrapper {
        padding: 32px 23px;
    }

    .popup-title-text {
        font-size: 1.5rem;
    }
}

@media (max-width: 640px) {
    .contact-hero-section {
        min-height: 50vh;
    }

    .hero-content-layout {
        min-height: 50vh;
    }

    .contact-information-area {
        padding: 57px 0 47px;
    }

    .contact-form-area {
        padding: 67px 0;
    }

    .text-image-section {
        padding: 57px 0;
    }
}