* {
margin:0;
padding:0;
box-sizing:border-box
}

body {
font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;
color:#171717;
background:#fff
}

.legal p{
    font-size: 16px;
    line-height: 24px;
}

.legal h1{}
.legal h2{
    font-weight: 500;
    font-size: 24px;
    margin-bottom: 1rem;
    padding-top: 1.5rem;
}
.legal h3{
    font-size: 21px;
    font-weight: 400;
    margin-bottom: 1rem;
    padding-top: 1.2rem;
}
.legal h4{}
.legal h5{}
.legal ul{
    padding-left: 1.2rem;
    margin: 1rem 0 1rem 0;
}
.legal ul li{
    list-style: disc;
}

.legal a{
    color: inherit;
}
.legal a:hover{
    color: #666;
}


.legal{
  padding-bottom:5rem;
}

.hamburger {
  margin: 0 auto;
  width: 30px;
  height: 20px;
  position: relative;
  margin-top: 10px;
  overflow: hidden;
}

.hamburger .bar {
  padding: 0;
  width: 30px;
  height: 2px;
  background-color: #3b82f6;
  display: block;
  border-radius: 4px;
  transition: all 0.4s ease-in-out;
  position: absolute; 
}

.bar1 {
  top: 0;
}

.bar2,
.bar3 {
  top: 9px;
}

.bar3 {
  right: 0;
}

.bar4 {
  bottom: 0;
}

.checkbox2:checked + label > .hamburger2 > .bar1{
  transform: translateX(40px);
  background-color: transparent;
}

.checkbox2:checked + label > .hamburger2 > .bar2{
  transform: rotate(45deg);
}

.checkbox2:checked + label > .hamburger2 > .bar3{
  transform: rotate(-45deg);
}

.checkbox2:checked + label > .hamburger2 > .bar4{
  transform: translateX(-40px);
  background-color: transparent;
}

.mobile-icon-menu{
  display:none;
}
.mobile-icon-menu label{
  cursor:pointer;
}
.visuallyHidden {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  cursor: pointer;
}

header {
position:fixed;
top:0;
left:0;
right:0;
z-index:50;
background:#ffffffe6;
backdrop-filter:blur(12px);
box-shadow:0 1px 0 #0000000d
}

nav {
max-width:1280px;
margin:0 auto;
padding:0 3rem;
display:flex;
justify-content:space-between;
align-items:center;
height:80px
}

.logo {
font-size:1.25rem;
font-weight:300;
letter-spacing:.2em;
color:#171717;
text-decoration:none
}

.logo img {
max-width: 130px;
}

#menu-main-menu, .nav-links {
display:flex;
gap:3rem;
list-style:none
}

#menu-main-menu a, .nav-links a {
color:#737373;
text-decoration:none;
font-size:.875rem;
letter-spacing:.05em;
transition:color .3s;
position:relative
}

#menu-main-menu a:hover, .nav-links a:hover {
color:#171717
}

#menu-main-menu .current-menu-item a, .nav-links a.active {
color:#171717
}

#menu-main-menu .current-menu-item a::after,
.nav-links a.active::after{
content:'';
position:absolute;
bottom:-4px;
left:0;
right:0;
height:1px;
background:#3B82F6
}

.hero {min-height: 50vh;display:flex;align-items:center;padding-top:128px;padding-bottom:80px;background:linear-gradient(to bottom right,#fff,#dbeafe33,#bfdbfe4d);position:relative;overflow:hidden}

.hero::before {
content:'';
position:absolute;
top:-160px;
right:-160px;
width:320px;
height:320px;
background:#3b82f633;
border-radius:50%;
filter:blur(60px);
animation:pulse 4s infinite
}

.hero::after {
content:'';
position:absolute;
top:50%;
left:-160px;
width:320px;
height:320px;
background:#93c5fd33;
border-radius:50%;
filter:blur(60px);
animation:pulse 4s infinite 2s
}

@keyframes pulse {
0%,100% {
opacity:.6
}

50% {
opacity:.8
}
}

.container {
max-width:1280px;
margin:0 auto;
padding:0 3rem;
width:100%;
position:relative;
z-index:1
}

.hero-content {
max-width:700px
}

.badge {
display:inline-flex;
align-items:center;
gap:.5rem;
padding:.5rem 1rem;
background:linear-gradient(to right,#DBEAFE,#CFFAFE);
border-radius:9999px;
margin-bottom:2rem;
box-shadow:0 10px 15px -3px #3b82f633
}

.badge-dot {
width:8px;
height:8px;
background:#3B82F6;
border-radius:50%;
animation:pulse 2s infinite
}

.badge-text {font-size:.75rem;font-weight:500;letter-spacing:.05em;background:linear-gradient(to right,#2563EB,#0891B2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height: 17px;}

h1 {
font-size:4rem;
font-weight:300;
line-height:1.1;
color:#171717
}

h1 span {
font-weight:500;
display:block;
margin-top:.5rem
}

.hero-description {
margin-top:2rem;
font-size:1.125rem;
color:#737373;
line-height:1.75;
max-width:512px
}

.cta-buttons {
display:flex;
gap:1rem;
margin-top:2.5rem;
flex-wrap:wrap
}

.btn {
display:inline-flex;
align-items:center;
gap:.75rem;
padding:1rem 2rem;
border-radius:9999px;
font-size:.875rem;
letter-spacing:.05em;
text-decoration:none;
transition:all .3s;
font-weight:500
}

.btn-primary {
background:#3B82F6;
color:#fff
}

.btn-primary:hover {
background:#2563EB
}

.btn-secondary {
border:1px solid #E5E5E5;
color:#171717
}

.btn-secondary:hover {
background:#FAFAFA
}

.stats {
padding:5rem 0;
border-top:1px solid #F5F5F5;
border-bottom:1px solid #F5F5F5
}

.stats-grid {
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:2rem
}

.stat {
text-align:center
}

.stat-value {
font-size:3rem;
font-weight:300;
color:#171717
}

.stat-label {
margin-top:.5rem;
font-size:.875rem;
color:#737373
}

.features {
padding:8rem 0
}

.section-header {
max-width:672px;
margin-bottom:5rem
}

.section-tag {
font-size:.75rem;
letter-spacing:.15em;
color:#3B82F6;
font-weight:500
}

.section-title {
margin-top:1rem;
font-size:3rem;
font-weight:300;
color:#171717
}

.section-description {
margin-top:1.5rem;
color:#737373;
line-height:1.75
}

.features-grid {
display:grid;
grid-template-columns:repeat(3,1fr);
gap:1.5rem
}

.feature-card {
padding:2rem;
background:linear-gradient(to bottom right,#fff,#eff6ff4d);
border:1px solid #3b82f61a;
border-radius:1.5rem;
transition:all .5s;
position:relative;
overflow:hidden
}

.feature-card::before {
content:'';
position:absolute;
top:-32px;
right:-32px;
width:128px;
height:128px;
background:linear-gradient(to bottom right,#3b82f61a,transparent);
border-radius:50%;
filter:blur(40px);
transition:transform .7s
}

.feature-card:hover {
border-color:#3b82f633;
box-shadow:0 25px 50px -12px #3b82f626
}

.feature-card:hover::before {
transform:scale(1.5)
}

.feature-icon {
width:56px;
height:56px;
background:linear-gradient(to bottom right,#3B82F6,#2563EB);
border-radius:1rem;
display:flex;
align-items:center;
justify-content:center;
box-shadow:0 10px 15px -3px #3b82f633;
transition:transform .5s
}

.feature-card:hover .feature-icon {
transform:scale(1.1)
}

.feature-title {
margin-top:1.5rem;
font-size:1.25rem;
font-weight:500;
color:#171717
}

.feature-description {
margin-top:.75rem;
color:#525252;
line-height:1.75
}

.cta-section {
padding:8rem 0;
background:linear-gradient(to bottom right,#1E3A8A,#1E40AF,#0E7490);
position:relative;
overflow:hidden;
text-align:center
}

.cta-section::before {
content:'';
position:absolute;
top:0;
left:25%;
width:384px;
height:384px;
background:#3B82F6;
border-radius:50%;
filter:blur(60px);
opacity:.3;
animation:pulse 4s infinite
}

.cta-section::after {
content:'';
position:absolute;
bottom:0;
right:25%;
width:384px;
height:384px;
background:#06B6D4;
border-radius:50%;
filter:blur(60px);
opacity:.3;
animation:pulse 4s infinite 1s
}

.cta-content {
position:relative;
z-index:1
}

.cta-title {
font-size:3rem;
font-weight:300;
color:#fff
}

.cta-description {
margin-top:1.5rem;
color:#BFDBFE;
max-width:672px;
margin-left:auto;
margin-right:auto
}

.cta-button {
margin-top:2.5rem;
background:#fff;
color:#171717;
box-shadow:0 25px 50px -12px #3b82f633
}

.cta-button:hover {
background:#EFF6FF;
transform:scale(1.05);
box-shadow:0 25px 50px -12px #3b82f64d
}

footer {
background:#171717;
color:#fff;
padding:4rem 0
}

.footer-grid {
display:grid;
grid-template-columns:2fr 1fr 1fr;
gap:3rem
}

.footer-brand {
font-size:1.25rem;
font-weight:300;
letter-spacing:.2em
}

.footer-description {
margin-top:1rem;
color:#A3A3A3;
font-size:.875rem;
line-height:1.75;
max-width:448px
}

.footer-title {
font-size:.75rem;
font-weight:500;
letter-spacing:.15em;
color:#737373;
margin-bottom:1rem
}

.footer-links {
list-style:none
}

.footer-links li {
margin-bottom:.75rem
}

.footer-links a {
color:#A3A3A3;
text-decoration:none;
font-size:.875rem;
transition:color .3s
}

.footer-links a:hover {
color:#fff
}

.footer-bottom {
margin-top:4rem;
padding-top:2rem;
border-top:1px solid #404040;
display:flex;
justify-content:space-between;
align-items:center;
flex-wrap:wrap;
gap:1rem
}

.footer-copyright {
font-size:.75rem;
color:#737373
}

.footer-legal {
display:flex;
gap:1.5rem
}

.footer-legal span {
font-size:.75rem;
color:#737373;
cursor:pointer;
transition:color .3s
}

.footer-legal span:hover {
color:#D4D4D4
}

@media (max-width: 768px) {

.mobile-icon-menu{
display:block;
z-index: 1002;
}

.menu-main-menu-container{
  display:none;
}
nav {
padding:0 1.5rem
}

.nav-links {
display:none
}

.container {
padding:0 1.5rem
}

h1 {
font-size:2.5rem
}

.features-grid {
grid-template-columns:1fr
}

.footer-grid {
grid-template-columns:1fr
}

.cta-buttons {
flex-direction:column
}
}


.page-header {
padding-top:128px;
padding-bottom:80px
}

.page-header-content {max-width:768px;text-align: center;margin: 0 auto;}


.page-title {
margin-top:1rem;
font-size:4rem;
font-weight:300;
line-height:1.1;
color:#171717
}

.page-title span {
font-weight:500;
display:block
}

.page-description {
margin-top:2rem;
font-size:1.125rem;
color:#737373;
line-height:1.75
}

.process-section {
padding:5rem 0
}

.section-header {
text-align:center;
max-width:672px;
margin:0 auto 4rem
}

.section-title {
margin-top:1rem;
font-size:2.5rem;
font-weight:300;
color:#171717
}

.process-grid {
display:grid;
grid-template-columns:repeat(3,1fr);
gap:3rem;
position:relative
}

.process-step {
position:relative
}

.step-number {
font-size:4rem;
font-weight:300;
color:#F5F5F5
}

.step-title {
margin-top:1rem;
font-size:1.125rem;
font-weight:500;
color:#171717
}

.step-description {
margin-top:.5rem;
font-size:.875rem;
color:#737373
}

.services-section {
background:#FAFAFA;
padding:6rem 0
}

.services-grid {
display:grid;
grid-template-columns:repeat(2,1fr);
gap:2rem
}

.service-card {
padding:2rem;
background:linear-gradient(to bottom right,#fff,#eff6ff4d);
border:1px solid #3b82f61a;
border-radius:1.5rem;
transition:all .5s;
position:relative;
overflow:hidden
}

.service-card::before {
content:'';
position:absolute;
bottom:-40px;
right:-40px;
width:160px;
height:160px;
background:linear-gradient(to bottom right,#3b82f61a,transparent);
border-radius:50%;
filter:blur(40px);
transition:transform .7s
}

.service-card:hover {
border-color:#3b82f633;
box-shadow:0 25px 50px -12px #3b82f626
}

.service-card:hover::before {
transform:scale(1.5)
}

.service-icon {
width:56px;
height:56px;
background:linear-gradient(to bottom right,#3B82F6,#2563EB);
border-radius:1rem;
display:flex;
align-items:center;
justify-content:center;
box-shadow:0 10px 15px -3px #3b82f633;
transition:transform .5s
}

.service-card:hover .service-icon {
transform:scale(1.1)
}

.service-title {
margin-top:1.5rem;
font-size:1.25rem;
font-weight:500;
color:#171717
}

.service-description {
margin-top:.75rem;
color:#525252;
font-size:.875rem;
line-height:1.75
}

.service-features {
margin-top:1.5rem;
list-style:none
}

.service-features li {
display:flex;
align-items:center;
gap:.75rem;
margin-bottom:.75rem;
font-size:.875rem;
color:#525252
}

.checkmark {
width:16px;
height:16px;
color:#3B82F6;
flex-shrink:0
}

.cta-section {
padding:6rem 0;
border-top:1px solid #F5F5F5
}

.cta-content {display:flex;flex-direction: column;justify-content: center;align-items:center;gap:2rem;flex-wrap:wrap}

.cta-text h2 {
font-size:2rem;
font-weight:300;
color:#171717
}

.cta-text p {
margin-top:.5rem;
color:#737373
}

.btn {
display:inline-flex;
align-items:center;
gap:.75rem;
padding:1rem 2rem;
border-radius:9999px;
font-size:.875rem;
letter-spacing:.05em;
text-decoration:none;
transition:all .3s;
font-weight:500;
background:#3B82F6;
color:#fff
}

.btn:hover {
background:#2563EB
}

footer {
background:#171717;
color:#fff;
padding:4rem 0
}

.footer-grid {
display:grid;
grid-template-columns:2fr 1fr 1fr;
gap:3rem
}

.footer-brand {
font-size:1.25rem;
font-weight:300;
letter-spacing:.2em
}

.footer-description {
margin-top:1rem;
color:#A3A3A3;
font-size:.875rem;
line-height:1.75;
max-width:448px
}

.footer-title {
font-size:.75rem;
font-weight:500;
letter-spacing:.15em;
color:#737373;
margin-bottom:1rem
}

.footer-links {
list-style:none
}

.footer-links li {
margin-bottom:.75rem
}

.footer-links a {
color:#A3A3A3;
text-decoration:none;
font-size:.875rem;
transition:color .3s
}

.footer-links a:hover {
color:#fff
}

.footer-bottom {
margin-top:4rem;
padding-top:2rem;
border-top:1px solid #404040;
display:flex;
justify-content:space-between;
align-items:center;
flex-wrap:wrap;
gap:1rem
}

.footer-copyright {
font-size:.75rem;
color:#737373
}

.footer-legal {
display:flex;
gap:1.5rem
}

.footer-legal span {
font-size:.75rem;
color:#737373;
cursor:pointer;
transition:color .3s
}

.footer-legal span:hover {
color:#D4D4D4
}

@media (max-width: 768px) {
nav {
padding:0 1.5rem
}

.nav-links {
display:none
}

.container {
padding:0 1.5rem
}

.page-title {
font-size:2.5rem
}

.process-grid {
grid-template-columns:1fr
}

.services-grid {
grid-template-columns:1fr
}

.footer-grid {
grid-template-columns:1fr
}

.cta-content {
flex-direction:column;
text-align:center
}
}



.pricing-section {
background:#FAFAFA;
padding:5rem 0
}

.pricing-grid {
display:grid;
grid-template-columns:repeat(3,1fr);
gap:2rem
}

.pricing-card {
background:linear-gradient(to bottom right,#fff,#eff6ff4d);
border:1px solid #3b82f61a;
border-radius:1.5rem;
padding:2rem;
position:relative;
overflow:visible
}

.pricing-card.featured {
background:linear-gradient(to bottom right,#1E3A8A,#1E40AF,#0E7490);
color:#fff;
overflow:visible
}

.popular-badge {
position:absolute;
top:-12px;
left:2rem;
background:linear-gradient(to right,#3B82F6,#0891B2);
color:#fff;
padding:.25rem 1rem;
border-radius:9999px;
font-size:.75rem;
letter-spacing:.05em;
box-shadow:0 10px 15px -3px #3b82f64d;
z-index:10
}

.plan-name {
font-size:1.25rem;
font-weight:500;
color:#171717
}

.featured .plan-name {
color:#fff
}

.plan-description {
margin-top:.25rem;
font-size:.875rem;
color:#737373
}

.featured .plan-description {
color:#A3A3A3
}

.plan-price {
margin-top:2rem;
font-size:2rem;
font-weight:300;
color:#171717
}

.featured .plan-price {
color:#fff
}

.price-note {
display:block;
margin-top:.25rem;
font-size:.75rem;
color:#737373
}

.featured .price-note {
color:#A3A3A3
}

.plan-features {
margin-top:2rem;
list-style:none
}

.plan-features li {
display:flex;
align-items:start;
gap:.75rem;
margin-bottom:1rem;
font-size:.875rem;
color:#525252
}

.featured .plan-features li {
color:#D4D4D4
}

.checkmark {
width:16px;
height:16px;
color:#3B82F6;
flex-shrink:0;
margin-top:2px
}

.featured .checkmark {
color:#60A5FA
}

.plan-button {
margin-top:2.5rem;
width:100%;
display:inline-flex;
align-items:center;
justify-content:center;
gap:.5rem;
padding:1rem 1.5rem;
border-radius:9999px;
font-size:.875rem;
font-weight:500;
letter-spacing:.05em;
text-decoration:none;
transition:all .3s
}

.plan-button.primary {
background:linear-gradient(to right,#2563EB,#1E40AF);
color:#fff;
box-shadow:0 10px 15px -3px #3b82f64d
}

.plan-button.featured {
background:#fff;
color:#171717;
box-shadow:0 25px 50px -12px #3b82f633
}

.plan-button:hover {
transform:scale(1.05)
}

.intersection{
  padding:4rem 0;
  text-align:center;
  color:#444;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.intersection p{
  margin-bottom:1rem;
  color:#444;
}
.intersection p b{
  font-weight: bold;
}

.intersection .plan-button {
  width: initial;
}
.extra-services-grid {
display:grid;
grid-template-columns:repeat(2,1fr);
gap:2rem;
margin-top:2rem
}

.extra-service-card {
background:linear-gradient(to bottom right,#fff,#cffafe4d);
border:2px solid #A5F3FC;
border-radius:1.5rem;
padding:2rem;
position:relative;
overflow:hidden;
transition:all .5s
}

.extra-service-card::before {
content:'';
position:absolute;
top:-40px;
right:-40px;
width:160px;
height:160px;
background:linear-gradient(to bottom right,#06b6d433,transparent);
border-radius:50%;
filter:blur(40px)
}

.extra-service-card:hover {
border-color:#22D3EE;
box-shadow:0 25px 50px -12px #06b6d426
}

.extra-service-header {
display:flex;
align-items:start;
gap:1rem
}

.extra-service-icon {
width:48px;
height:48px;
background:linear-gradient(to bottom right,#06B6D4,#3B82F6);
border-radius:1rem;
display:flex;
align-items:center;
justify-content:center;
flex-shrink:0;
box-shadow:0 10px 15px -3px #06b6d433
}

.extra-service-title {
font-size:1.25rem;
font-weight:500;
color:#171717
}

.extra-service-subtitle {
font-size:.875rem;
color:#737373;
margin-top:.25rem
}

.extra-service-price {
margin-top:1.5rem;
font-size:1.5rem;
font-weight:300;
color:#171717
}

.extra-service-features {
margin-top:1.5rem;
list-style:none
}

.extra-service-features li {
display:flex;
align-items:start;
gap:.75rem;
margin-bottom:.75rem;
font-size:.875rem;
color:#525252
}

.extra-service-button {
margin-top:2rem;
width:100%;
display:inline-flex;
align-items:center;
justify-content:center;
gap:.5rem;
padding:1rem 1.5rem;
border-radius:9999px;
font-size:.875rem;
font-weight:500;
letter-spacing:.05em;
text-decoration:none;
background:linear-gradient(to right,#06B6D4,#3B82F6);
color:#fff;
box-shadow:0 10px 15px -3px #06b6d44d;
transition:all .3s
}

.extra-service-button:hover {
transform:scale(1.05);
box-shadow:0 25px 50px -12px #06b6d466
}

.info-section {
padding:6rem 0
}

.info-grid {
display:grid;
grid-template-columns:repeat(3,1fr);
gap:3rem
}

.info-item {
text-align:center
}

.info-icon {
width:48px;
height:48px;
margin:0 auto;
background:#F5F5F5;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center
}

.info-dot {
width:8px;
height:8px;
background:#3B82F6;
border-radius:50%
}

.info-title {
margin-top:1.5rem;
font-size:1.125rem;
font-weight:500;
color:#171717
}

.info-description {
margin-top:.5rem;
font-size:.875rem;
color:#737373
}

.final-cta {
padding:6rem 0;
text-align:center
}

.final-cta-title {
font-size:2.5rem;
font-weight:300;
color:#171717
}

.final-cta-description {
margin-top:1rem;
color:#737373;
max-width:672px;
margin-left:auto;
margin-right:auto
}

.btn {
display:inline-flex;
align-items:center;
gap:.75rem;
padding:1rem 2rem;
border-radius:9999px;
font-size:.875rem;
letter-spacing:.05em;
text-decoration:none;
transition:all .3s;
font-weight:500;
background:#3B82F6;
color:#fff;
margin-top:2rem
}

.btn:hover {
background:#2563EB
}

footer {
background:#171717;
color:#fff;
padding:4rem 0
}

.footer-grid {
display:grid;
grid-template-columns:2fr 1fr 1fr;
gap:3rem
}

.footer-brand {
font-size:1.25rem;
font-weight:300;
letter-spacing:.2em
}

.footer-description {
margin-top:1rem;
color:#A3A3A3;
font-size:.875rem;
line-height:1.75;
max-width:448px
}

.footer-title {
font-size:.75rem;
font-weight:500;
letter-spacing:.15em;
color:#737373;
margin-bottom:1rem
}

.footer-links {
list-style:none
}

.footer-links li {
margin-bottom:.75rem
}

.footer-links a {
color:#A3A3A3;
text-decoration:none;
font-size:.875rem;
transition:color .3s
}

.footer-links a:hover {
color:#fff
}

.footer-bottom {
margin-top:4rem;
padding-top:2rem;
border-top:1px solid #404040;
display:flex;
justify-content:space-between;
align-items:center;
flex-wrap:wrap;
gap:1rem
}

.footer-copyright {
font-size:.75rem;
color:#737373
}

.footer-legal {
display:flex;
gap:1.5rem
}

.footer-legal span {
font-size:.75rem;
color:#737373;
cursor:pointer;
transition:color .3s
}

.footer-legal span:hover {
color:#D4D4D4
}

@media (max-width: 768px) {

.menu-main-menu-container{
    display: flex;
    position: fixed;
    top: 80px;
    background-color: white;
    left: 0;
    right: 0;
    box-shadow: 0 20px 20px -24px black;
  clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);

  transition: all .5s ease;
}

  .menu-main-menu-container.open{
   clip-path: polygon(0 0, 100% 0, 150% 150%, 0 150%);
}

  #menu-main-menu, .nav-links{
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
    width: 100%;
    padding-right: 1.6rem;
    justify-content: space-between;
    gap: 0;
}
  #menu-main-menu li{
    width: 100%;
    padding: 1rem 0;
}
nav {
padding:0 1.5rem
}

.nav-links {
display:none
}

.container {
padding:0 1.5rem
}

.page-title {
font-size:2.5rem
}

.pricing-grid {
grid-template-columns:1fr
}

.extra-services-grid {
grid-template-columns:1fr
}

.info-grid {
grid-template-columns:1fr
}

.footer-grid {
grid-template-columns:1fr
}
}




.contact-section {
background:#FAFAFA;
padding:5rem 0
}

.contact-grid {
display:grid;
grid-template-columns:2fr 3fr;
gap:4rem
}

.contact-info {
display:flex;
flex-direction:column;
gap:2rem
}

.contact-item {
display:flex;
gap:1rem
}
.contact-item a{
  color: inherit;
    text-decoration: none;
  transition: all .25s ease;
  
}
.contact-item a:hover{
  color:black;
}

.contact-icon {
width:48px;
height:48px;
background:#fff;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
flex-shrink:0
}

.contact-item-content h3 {
font-weight:500;
color:#171717
}

.contact-item-content p {
font-size:.875rem;
color:#737373;
margin-top:.25rem
}

.contact-form-container {
background:#fff;
border-radius:1.5rem;
padding:3rem
}
.contact-form-container form > p {
  display: flex;
  flex-wrap: wrap;
}
.contact-form-container form span{
  flex:100%;
  margin-bottom:1.2rem;
}

.contact-form-container form span[data-name="nom-complet"],
.contact-form-container form span[data-name="entreprise"],
.contact-form-container form span[data-name="telephone"],
.contact-form-container form span[data-name="e-mail"]{
  flex-basis:calc(50% - 1.2rem);
  margin-right:1.2rem;


}

.contact-form-container form span[data-name="telephone"],
.contact-form-container form span[data-name="e-mail"]{
  flex-basis:50%; 
  margin-right: 0;
}

.form-group {
margin-bottom:1.5rem
}

.form-row {
display:grid;
grid-template-columns:repeat(2,1fr);
gap:1.5rem
}

label {
display:block;
font-size:.875rem;
color:#525252;
margin-bottom:.5rem
}

input,textarea {
width:100%;
padding:.75rem 1rem;
border:1px solid #E5E5E5;
border-radius:.5rem!important;
font-size:1rem;
font-family:inherit;
transition:all .3s
}

input:focus,textarea:focus {
outline:none;
border-color:#3B82F6;
box-shadow:0 0 0 3px #3b82f61a
}

textarea {
resize:none;
min-height:120px
}

input[type="submit"] {
display:inline-flex;
align-items:center;
gap:.5rem;
padding:1.5rem 2rem;
background:#3B82F6;
color:#fff;
border:none;
border-radius:9999px;
font-size:.875rem;
font-weight:500;
letter-spacing:.05em;
cursor:pointer;
transition:all .3s
}

input[type="submit"]:hover {
background:#2563EB
}

.success-message {
text-align:center;
padding:3rem
}

.success-icon {
width:64px;
height:64px;
margin:0 auto;
background:#D1FAE5;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center
}

.success-message h3 {
margin-top:1.5rem;
font-size:1.5rem;
font-weight:500;
color:#171717
}

.success-message p {
margin-top:.5rem;
color:#737373
}

.map-section {
height:384px;
background:#E5E5E5;
position:relative;
display:flex;
align-items:center;
justify-content:center
}

.map-overlay {
position:absolute;
inset:0;
background:#1717170d
}

.map-content {
position:relative;
text-align:center
}

.map-icon {
width:48px;
height:48px;
color:#3B82F6;
margin:0 auto
}

.map-content h3 {
margin-top:1rem;
font-weight:500;
color:#525252
}

.map-content p {
margin-top:.25rem;
font-size:.875rem;
color:#737373
}

footer {
background:#171717;
color:#fff;
padding:4rem 0
}

.footer-grid {
display:grid;
grid-template-columns:2fr 1fr 1fr;
gap:3rem
}

.footer-brand {
font-size:1.25rem;
font-weight:300;
letter-spacing:.2em
}

.footer-description {
margin-top:1rem;
color:#A3A3A3;
font-size:.875rem;
line-height:1.75;
max-width:448px
}

.footer-title {
font-size:.75rem;
font-weight:500;
letter-spacing:.15em;
color:#737373;
margin-bottom:1rem
}

.footer-links {
list-style:none
}

.footer-links li {
margin-bottom:.75rem
}

.footer-links li, .footer-links li a {
color:#A3A3A3;
text-decoration:none;
font-size:.875rem;
transition:color .3s
}

.footer-links a:hover {
color:#fff
}

.footer-bottom {
margin-top:4rem;
padding-top:2rem;
border-top:1px solid #404040;
display:flex;
justify-content:space-between;
align-items:center;
flex-wrap:wrap;
gap:1rem
}

.footer-copyright {
font-size:.75rem;
color:#737373
}

.footer-legal {
display:flex;
gap:1.5rem
}

.footer-legal span a {
font-size:.75rem;
color:#737373;
cursor:pointer;
text-decoration:none;
transition:color .3s;
}

.footer-legal span a:hover {
color:#D4D4D4
}

.hidden {
display:none
}

@media (max-width: 768px) {
nav {
padding:0 1.5rem
}

.nav-links {
display:none
}

.container {
padding:0 1.5rem
}

.page-title {
font-size:2.5rem
}

.contact-grid {
grid-template-columns:1fr
}

.contact-form-container form span[data-name="nom-complet"],
.contact-form-container form span[data-name="entreprise"],
.contact-form-container form span[data-name="telephone"],
.contact-form-container form span[data-name="e-mail"]{
  flex-basis:100%;
  margin-right:0;


}


.form-row {
grid-template-columns:1fr
}

.contact-form-container {
padding:1.5rem
}

.footer-grid {
grid-template-columns:1fr
}
}