:root{
  --plum-900:#3D1F5C;
  --plum-700:#6B3FA0;
  --plum-500:#8A5FC8;
  --lilac-300:#C9B3E8;
  --lilac-100:#EFE7F8;
  --coral:#F5B5A8;
  --coral-soft:#FBE4DE;
  --cream:#FAF7F4;
  --cream-warm:#F4EDE5;
  --ink:#1A1423;
  --ink-soft:#4A3E55;
  --line:rgba(26,20,35,0.08);
  --shadow-soft: 0 30px 80px -40px rgba(61,31,92,0.25);
  --shadow-card: 0 20px 60px -30px rgba(61,31,92,0.18);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Outfit', sans-serif;
  background:var(--cream);
  color:var(--ink);
  font-weight:300;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

::selection{background:var(--plum-700);color:var(--cream);}

/* ============ DECORATIVE WAVE BG ============ */
.wave-bg{
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:0.55;
}
.wave-bg svg{width:100%;height:100%;}

/* ============ NAV ============ */
nav{
  position:fixed;
  top:0;left:0;right:0;
  z-index:100;
  padding:1.4rem 2.5rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
  backdrop-filter:blur(14px);
  background:rgba(250,247,244,0.72);
  border-bottom:1px solid transparent;
  transition:border-color .4s, padding .4s;
}
nav.scrolled{
  border-bottom-color:var(--line);
  padding:1rem 2.5rem;
}
.logo-mark{
  display:flex;
  align-items:center;
  gap:.7rem;
  text-decoration:none;
  color:var(--plum-900);
}
.logo-mark img{width:36px;height:36px;border-radius:50%;object-fit:cover;}
.logo-mark span{
  font-family:'Fraunces', serif;
  font-weight:400;
  font-size:1rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
}
.nav-links{
  display:flex;
  gap:2.4rem;
  list-style:none;
  align-items:center;
}
.nav-links a{
  text-decoration:none;
  color:var(--ink-soft);
  font-size:0.86rem;
  font-weight:400;
  letter-spacing:0.04em;
  position:relative;
  transition:color .3s;
}
.nav-links a:hover{color:var(--plum-700);}
.nav-links a::after{
  content:'';
  position:absolute;
  bottom:-6px;left:0;
  height:1px;width:0;
  background:var(--plum-700);
  transition:width .4s ease;
}
.nav-links a:hover::after{width:100%;}

.btn-nav{
  background:var(--plum-900);
  color:var(--cream)!important;
  padding:.7rem 1.4rem;
  border-radius:100px;
  font-size:0.82rem!important;
  letter-spacing:0.06em;
  transition:all .3s ease;
}
.btn-nav:hover{background:var(--plum-700);transform:translateY(-1px);}
.btn-nav::after{display:none!important;}

.menu-toggle{display:none;background:none;border:none;cursor:pointer;}

/* ============ HERO ============ */
.hero{
  min-height:100vh;
  padding:8rem 2.5rem 4rem;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:4rem;
  align-items:center;
  position:relative;
}
.hero-text{position:relative;z-index:2;}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  font-size:0.78rem;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--plum-700);
  margin-bottom:1.8rem;
  font-weight:400;
}
.eyebrow .dash{
  width:30px;height:1px;
  background:var(--plum-700);
}
.hero h1{
  font-family:'Fraunces', serif;
  font-weight:300;
  font-size:clamp(3rem, 6.5vw, 6rem);
  line-height:1.05;
  letter-spacing:-0.025em;
  color:var(--ink);
  margin-bottom:1.8rem;
}
.hero h1 em{
  font-style:italic;
  font-weight:400;
  background:linear-gradient(120deg, var(--plum-700), var(--plum-500) 60%, var(--coral));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  padding-right: 0.1em;
  margin-right: -0.1em;
}
.hero p.lead{
  font-size:1.15rem;
  color:var(--ink-soft);
  max-width:480px;
  margin-bottom:2.6rem;
  font-weight:300;
}
.hero-cta{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
}
.btn-primary{
  background:var(--plum-900);
  color:var(--cream);
  padding:1.1rem 2rem;
  border-radius:100px;
  border:none;
  cursor:pointer;
  font-family:inherit;
  font-size:0.92rem;
  letter-spacing:0.05em;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  transition:all .35s ease;
  box-shadow:var(--shadow-card);
}
.btn-primary:hover{
  background:var(--plum-700);
  transform:translateY(-2px);
  box-shadow:0 25px 50px -20px rgba(107,63,160,0.4);
}
.btn-primary svg{transition:transform .35s;}
.btn-primary:hover svg{transform:translateX(4px);}
.btn-ghost{
  background:transparent;
  color:var(--ink);
  padding:1.1rem 2rem;
  border-radius:100px;
  border:1px solid var(--line);
  cursor:pointer;
  font-family:inherit;
  font-size:0.92rem;
  letter-spacing:0.05em;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  transition:all .3s;
}
.btn-ghost:hover{
  border-color:var(--plum-700);
  color:var(--plum-700);
}

.hero-visual{
  position:relative;
  height:600px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-card{
  position:absolute;
  background:#fff;
  border-radius:24px;
  padding:1.4rem 1.8rem;
  box-shadow:var(--shadow-soft);
  display:flex;
  align-items:center;
  gap:1rem;
  animation:floatCard 6s ease-in-out infinite;
}
.hero-card-1{
  top:8%;
  left:-5%;
  animation-delay:0s;
}
.hero-card-2{
  bottom:12%;
  right:-3%;
  animation-delay:2s;
}
.hero-card-3{
  bottom:-2%;
  left:8%;
  animation-delay:4s;
}
@keyframes floatCard{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-12px);}
}
.hero-card-icon{
  width:42px;height:42px;
  border-radius:12px;
  background:var(--lilac-100);
  display:flex;align-items:center;justify-content:center;
  color:var(--plum-700);
}
.hero-card-text{font-size:0.82rem;}
.hero-card-text strong{
  display:block;
  font-family:'Fraunces',serif;
  font-weight:500;
  color:var(--ink);
  font-size:0.95rem;
}
.hero-card-text span{color:var(--ink-soft);}

.hero-portrait-frame{
  width:440px;
  height:330px;
  border-radius:24px;
  background:linear-gradient(135deg, var(--lilac-100), var(--coral-soft));
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  box-shadow:var(--shadow-soft);
}
.hero-portrait-frame::before{
  content:'';
  position:absolute;
  top:-12px;
  left:-12px;
  right:12px;
  bottom:12px;
  border-radius:24px;
  border:1px dashed var(--plum-700);
  z-index:-1;
  transition:transform .4s ease;
}
.hero-portrait-frame:hover::before{
  transform:translate(6px,6px);
}
.hero-portrait-frame img{width:100%;height:100%;object-fit:cover;border-radius:24px;}

/* Vertical text accent */
.vertical-text{
  position:absolute;
  right:2rem;
  top:50%;
  transform:translateY(-50%) rotate(90deg);
  transform-origin:right center;
  font-size:0.72rem;
  letter-spacing:0.4em;
  color:var(--plum-700);
  text-transform:uppercase;
  white-space:nowrap;
}

/* ============ SECTION GENERIC ============ */
section{padding:7rem 2.5rem;position:relative;}
.section-head{
  max-width:680px;
  margin-bottom:4.5rem;
}
.section-head .eyebrow{margin-bottom:1.2rem;}
.section-head h2{
  font-family:'Fraunces',serif;
  font-weight:300;
  font-size:clamp(2.2rem, 4.5vw, 3.8rem);
  line-height:1.05;
  letter-spacing:-0.02em;
  color:var(--ink);
  margin-bottom:1.4rem;
}
.section-head h2 em{
  font-style:italic;
  color:var(--plum-700);
  font-weight:400;
}
.section-head p{
  font-size:1.05rem;
  color:var(--ink-soft);
  max-width:540px;
}

/* ============ ABOUT ============ */
#sobre{background:var(--cream-warm);}
.about-grid{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:5rem;
  align-items:center;
  max-width:1300px;
  margin:0 auto;
}
.about-portrait{
  position:relative;
  aspect-ratio:4/5;
  border-radius:8px;
  overflow:hidden;
  background:linear-gradient(135deg, var(--lilac-100), var(--coral-soft));
  box-shadow:var(--shadow-soft);
}
.about-portrait img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.about-portrait::before{
  content:'';
  position:absolute;
  top:-10px;left:-10px;right:10px;bottom:10px;
  border:1px solid var(--plum-700);
  border-radius:8px;
  z-index:-1;
}
.portrait-placeholder{
  text-align:center;
  color:var(--plum-900);
}
.portrait-placeholder svg{
  width:140px;height:140px;
  margin-bottom:1rem;
  opacity:0.85;
}
.portrait-placeholder .name{
  font-family:'Fraunces',serif;
  font-size:1.4rem;
  letter-spacing:0.05em;
}
.portrait-placeholder .role{
  font-size:0.78rem;
  letter-spacing:0.25em;
  text-transform:uppercase;
  margin-top:.4rem;
  color:var(--ink-soft);
}

.about-text h2{
  font-family:'Fraunces',serif;
  font-weight:300;
  font-size:clamp(2rem, 4vw, 3.4rem);
  line-height:1.05;
  margin:1rem 0 2rem;
  letter-spacing:-0.02em;
}
.about-text h2 em{
  color:var(--plum-700);
  font-weight:400;
  font-style:italic;
}
.about-text > p{
  color:var(--ink-soft);
  font-size:1.02rem;
  margin-bottom:1.2rem;
  max-width:540px;
}
.philosophy-list{
  list-style:none;
  margin-top:2.4rem;
  display:grid;
  gap:1.4rem;
}
.philosophy-list li{
  display:flex;
  gap:1rem;
  align-items:flex-start;
  padding-bottom:1.4rem;
  border-bottom:1px solid var(--line);
}
.philosophy-list li:last-child{border-bottom:none;padding-bottom:0;}
.philosophy-num{
  font-family:'Fraunces',serif;
  font-style:italic;
  font-weight:400;
  color:var(--plum-700);
  font-size:1.1rem;
  min-width:30px;
}
.philosophy-content strong{
  display:block;
  font-family:'Fraunces',serif;
  font-weight:500;
  font-size:1.05rem;
  margin-bottom:.2rem;
  color:var(--ink);
}
.philosophy-content p{
  font-size:0.92rem;
  color:var(--ink-soft);
}

/* ============ SERVICES ============ */
.services-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1.5rem;
  max-width:1300px;
  margin:0 auto;
}
.service-card{
  background:#fff;
  border-radius:20px;
  padding:2.4rem 2rem;
  position:relative;
  overflow:hidden;
  transition:all .5s cubic-bezier(.2,.8,.2,1);
  border:1px solid var(--line);
  cursor:default;
}
.service-card::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
  background:linear-gradient(90deg, var(--plum-700), var(--coral));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .5s ease;
}
.service-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-card);
  border-color:transparent;
}
.service-card:hover::before{transform:scaleX(1);}
.service-icon{
  width:64px;height:64px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:1.6rem;
  transition:transform .4s;
  overflow:hidden;
  border-radius:12px;
}
.service-icon img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.25);
}
.service-card:hover .service-icon{transform:rotate(-6deg) scale(1.1);}
.service-card h3{
  font-family:'Fraunces',serif;
  font-weight:500;
  font-size:1.4rem;
  margin-bottom:.8rem;
  color:var(--ink);
  letter-spacing:-0.01em;
}
.service-card p{
  font-size:0.92rem;
  color:var(--ink-soft);
  margin-bottom:1.2rem;
}
.service-tags{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
  padding-top:1.2rem;
  border-top:1px solid var(--line);
}
.service-tag{
  font-size:0.74rem;
  padding:.3rem .7rem;
  background:var(--lilac-100);
  color:var(--plum-700);
  border-radius:100px;
  letter-spacing:0.02em;
}

/* ============ PROCESS ============ */
#proceso{
  background:linear-gradient(180deg, var(--cream) 0%, var(--cream-warm) 100%);
  position:relative;
}
.process-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:1.5rem;
  max-width:1300px;
  margin:0 auto;
  position:relative;
}
.process-line{
  position:absolute;
  top:42px;
  left:8%;right:8%;
  height:1px;
  background:repeating-linear-gradient(to right, var(--plum-500) 0 4px, transparent 4px 10px);
  z-index:0;
}
.process-step{
  position:relative;
  z-index:1;
  text-align:center;
}
.process-num{
  width:84px;height:84px;
  border-radius:50%;
  background:var(--cream);
  border:1px solid var(--lilac-300);
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 1.6rem;
  font-family:'Fraunces',serif;
  font-style:italic;
  font-size:1.8rem;
  color:var(--plum-700);
  position:relative;
  transition:all .4s;
}
.process-step:hover .process-num{
  background:var(--plum-700);
  color:var(--cream);
  transform:scale(1.05);
}
.process-step h4{
  font-family:'Fraunces',serif;
  font-weight:500;
  font-size:1.15rem;
  margin-bottom:.6rem;
  color:var(--ink);
}
.process-step p{
  font-size:0.88rem;
  color:var(--ink-soft);
  max-width:240px;
  margin:0 auto;
}

/* ============ EXPERIENCE / STATS ============ */
.stats-band{
  background:var(--plum-900);
  color:var(--cream);
  padding:5rem 2.5rem;
  position:relative;
  overflow:hidden;
}
.stats-band::before{
  content:'';
  position:absolute;
  top:-50%;right:-10%;
  width:60%;height:200%;
  background:radial-gradient(ellipse, rgba(245,181,168,0.15), transparent 60%);
  pointer-events:none;
}
.stats-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:3rem;
  max-width:1200px;
  margin:0 auto;
  position:relative;
  z-index:1;
}
.stat{
  border-left:1px solid rgba(255,255,255,0.15);
  padding-left:1.5rem;
}
.stat-num{
  font-family:'Fraunces',serif;
  font-weight:300;
  font-size:clamp(2.6rem, 5vw, 4rem);
  letter-spacing:-0.02em;
  line-height:1;
  margin-bottom:.6rem;
  background:linear-gradient(120deg, #fff, var(--coral));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.stat-num em{
  font-style:italic;
  font-weight:400;
}
.stat-label{
  font-size:0.85rem;
  letter-spacing:0.06em;
  color:rgba(250,247,244,0.7);
}

/* ============ FAQ ============ */
.faq-wrap{
  max-width:840px;
  margin:0 auto;
}
.faq-item{
  border-bottom:1px solid var(--line);
  padding:1.6rem 0;
  cursor:pointer;
}
.faq-q{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-family:'Fraunces',serif;
  font-size:1.2rem;
  font-weight:400;
  color:var(--ink);
  letter-spacing:-0.01em;
}
.faq-q .icon{
  width:32px;height:32px;
  border-radius:50%;
  border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;
  color:var(--plum-700);
  transition:all .35s;
  flex-shrink:0;
  margin-left:1rem;
}
.faq-item.open .faq-q .icon{
  background:var(--plum-700);
  color:var(--cream);
  transform:rotate(45deg);
}
.faq-a{
  max-height:0;
  overflow:hidden;
  transition:max-height .5s ease, padding-top .5s ease;
  color:var(--ink-soft);
  font-size:0.96rem;
}
.faq-item.open .faq-a{
  max-height:500px;
  padding-top:1rem;
}

/* ============ CONTACT ============ */
#contacto{
  background:var(--plum-900);
  color:var(--cream);
  position:relative;
  overflow:hidden;
}
#contacto::before{
  content:'';
  position:absolute;
  bottom:-20%; left:-10%;
  width:50%; height:80%;
  background:radial-gradient(circle, rgba(245,181,168,0.18), transparent 70%);
}
.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5rem;
  max-width:1200px;
  margin:0 auto;
  position:relative;
  z-index:1;
}
.contact-grid .section-head h2{color:var(--cream);}
.contact-grid .section-head p{color:rgba(250,247,244,0.7);}
.contact-grid .section-head .eyebrow{color:var(--coral);}
.contact-grid .section-head .eyebrow .dash{background:var(--coral);}
.contact-grid .section-head h2 em{color:var(--coral);}

.contact-info{
  display:grid;
  gap:1.6rem;
  margin-top:2rem;
}
.contact-row{
  display:flex;
  gap:1.2rem;
  align-items:flex-start;
  padding:1.2rem 0;
  border-bottom:1px solid rgba(255,255,255,0.1);
}
.contact-row:last-child{border-bottom:none;}
.contact-row svg{
  color:var(--coral);
  flex-shrink:0;
  margin-top:2px;
}
.contact-row strong{
  display:block;
  font-family:'Fraunces',serif;
  font-weight:500;
  font-size:1.05rem;
  margin-bottom:.2rem;
}
.contact-row span{
  font-size:0.92rem;
  color:rgba(250,247,244,0.75);
}

.contact-cta-card{
  background:rgba(255,255,255,0.04);
  backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:24px;
  padding:3rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.contact-cta-card h3{
  font-family:'Fraunces',serif;
  font-weight:300;
  font-size:2rem;
  margin-bottom:1rem;
  letter-spacing:-0.01em;
}
.contact-cta-card h3 em{
  color:var(--coral);
  font-style:italic;
  font-weight:400;
}
.contact-cta-card p{
  color:rgba(250,247,244,0.75);
  margin-bottom:2rem;
  font-size:0.98rem;
}
.contact-form{
  display:flex;
  flex-direction:column;
  gap:1.2rem;
  margin-top:0.5rem;
}
.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.2rem;
}
.form-group{
  display:flex;
  flex-direction:column;
  gap:0.5rem;
}
.form-group label{
  font-size:0.72rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:rgba(250,247,244,0.7);
  font-weight:400;
}
.form-group input{
  background:rgba(255,255,255,0.06);
  backdrop-filter: blur(10px);
  border:1px solid rgba(255,255,255,0.15);
  border-radius:12px;
  padding:0.95rem 1.2rem;
  color:#fff;
  font-family:'Outfit', sans-serif;
  font-size:0.95rem;
  font-weight:400;
  transition:all 0.3s ease;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
}
.form-group input::placeholder{
  color:rgba(250,247,244,0.25);
}
.form-group input:focus{
  outline:none;
  background:rgba(255,255,255,0.09);
  border-color:var(--coral);
  box-shadow: 0 0 0 3px rgba(245,181,168,0.15);
}
.contact-form .btn-coral{
  margin-top:1rem;
  width:100%;
  justify-content:center;
}

.btn-coral{
  background:var(--coral);
  color:var(--plum-900);
  padding:1.2rem 2rem;
  border-radius:100px;
  border:none;
  cursor:pointer;
  font-family:inherit;
  font-size:0.95rem;
  letter-spacing:0.04em;
  font-weight:500;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.7rem;
  transition:all .35s;
  align-self:flex-start;
}
.btn-coral:hover{
  background:#fff;
  transform:translateY(-2px);
  box-shadow:0 20px 40px -20px rgba(245,181,168,0.5);
}

/* Form Status Messages */
.form-status {
  margin-top: 1rem;
  padding: 1rem;
  border-radius: 12px;
  font-size: 0.9rem;
  display: none;
  text-align: center;
}
.form-status.success {
  display: block;
  background: rgba(46, 213, 115, 0.15);
  color: #2ed573;
  border: 1px solid rgba(46, 213, 115, 0.3);
}
.form-status.error {
  display: block;
  background: rgba(255, 71, 87, 0.15);
  color: #ff4757;
  border: 1px solid rgba(255, 71, 87, 0.3);
}
.form-status.loading {
  display: block;
  background: rgba(255, 255, 255, 0.05);
  color: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.1);
}


/* ============ FOOTER ============ */
footer{
  background:#0F0818;
  color:rgba(250,247,244,0.5);
  padding:3rem 2.5rem;
  text-align:center;
  font-size:0.84rem;
  letter-spacing:0.04em;
}
footer .credit{margin-top:.6rem;font-size:0.78rem;opacity:0.7;}

/* ============ REVEAL ANIM ============ */
.reveal{
  opacity:0;
  transform:translateY(30px);
  transition:opacity .9s ease, transform .9s ease;
}
.reveal.in{opacity:1;transform:none;}

/* ============ RESPONSIVE ============ */
.contact-map-wrap{
  margin: 4rem auto 0;
  max-width: 1200px;
  border-radius: 24px;
  overflow: hidden;
  height: 400px;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: var(--shadow-soft);
  position: relative;
  z-index: 1;
}
.contact-map-wrap iframe{
  width: 100%;
  height: 100%;
  border: 0;
  filter: invert(90%) hue-rotate(180deg) brightness(0.95) contrast(0.9); /* Premium Dark Mode Maps effect */
}

@media (max-width: 980px){
  .hero{
    grid-template-columns:1fr;
    gap:3rem;
    padding-top:7rem;
    text-align:left;
  }
  .hero-visual{height:400px;}
  .hero-portrait-frame{width:320px;height:240px;}
  .hero-card{display:none;}
  .about-grid{grid-template-columns:1fr;gap:3rem;}
  .process-grid{grid-template-columns:repeat(2,1fr);gap:2rem;}
  .process-line{display:none;}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:2rem;}
  .contact-grid{grid-template-columns:1fr;gap:3rem;}
  .nav-links{
    position:fixed;
    top:0;right:-100%;
    height:100vh;
    width:75%;
    background:var(--cream);
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    padding:3rem;
    gap:1.8rem;
    transition:right .4s;
    box-shadow:var(--shadow-soft);
  }
  .nav-links.open{right:0;}
  .nav-links a{font-size:1.1rem;}
  .menu-toggle{display:block;z-index:200;}
  nav{padding:1rem 1.5rem;}
  section{padding:5rem 1.5rem;}
  .vertical-text{display:none;}
  .services-grid{grid-template-columns:repeat(2, 1fr);}
}

@media (max-width: 560px){
  .stats-grid{grid-template-columns:1fr;}
  .process-grid{grid-template-columns:1fr;}
  .hero h1{font-size:2.8rem;}
  .contact-cta-card{padding:2rem;}
  .form-row{grid-template-columns:1fr;}
  .services-grid{grid-template-columns:1fr;}
}
