:root{
  --ink:#1E293B;
  --paper:#FAFBFC;
  --panel:#EEF1F5;
  --slate:#64748B;
  --line:#D8DEE7;
  --accent:#35507A;
  --accent-soft:#C7D4E3;
  --whatsapp:#25D366;
  --whatsapp-dark:#1DA851;
  --radius:14px;
}

*{margin:0;padding:0;box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter',sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,.serif{
  font-family:'Fraunces',serif;
  font-weight:500;
  letter-spacing:-0.01em;
  color:var(--ink);
}

a{color:inherit;text-decoration:none;}

img{max-width:100%;display:block;}

.container{
  max-width:1120px;
  margin:0 auto;
  padding:0 32px;
}

a:focus-visible, button:focus-visible{
  outline:3px solid var(--accent);
  outline-offset:3px;
}

/* ---------- NAV ---------- */
header{
  position:sticky;
  top:0;
  z-index:40;
  background:rgba(250,251,252,0.9);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 32px;
  max-width:1120px;
  margin:0 auto;
}
.brand{
  font-family:'Fraunces',serif;
  font-size:1.15rem;
  font-weight:600;
}
.brand span{color:var(--accent);}
.nav-links{
  display:flex;
  gap:32px;
  font-size:0.92rem;
  color:var(--slate);
}
.nav-links a:hover{color:var(--ink);}
.nav-cta{
  background:var(--accent);
  color:#fff;
  padding:10px 20px;
  border-radius:999px;
  font-size:0.88rem;
  font-weight:500;
  white-space:nowrap;
}
.nav-cta:hover{background:#2a4265;}

@media(max-width:720px){
  .nav-links{display:none;}
}

/* ---------- BREATHING SIGNATURE ---------- */
.breathe-wrap{
  position:relative;
  width:280px;
  height:280px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.ring{
  position:absolute;
  border-radius:50%;
  border:1px solid var(--accent-soft);
}
.ring1{width:100%;height:100%;animation:breathe 6s ease-in-out infinite;}
.ring2{width:80%;height:80%;animation:breathe 6s ease-in-out infinite 0.4s;}

.photo-frame{
  position:relative;
  width:62%;
  height:62%;
  border-radius:50%;
  overflow:hidden;
  border:5px solid var(--paper);
  box-shadow:0 10px 30px rgba(30,41,59,0.16);
  background:var(--panel);
}
.photo-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

@keyframes breathe{
  0%,100%{transform:scale(0.92);}
  50%{transform:scale(1.05);}
}
@media (prefers-reduced-motion: reduce){
  .ring1,.ring2{animation:none;}
}

.pulse-dot{
  display:inline-block;
  width:8px;height:8px;
  border-radius:50%;
  background:var(--accent);
  margin-right:10px;
  animation:breathe 6s ease-in-out infinite;
}

/* ---------- HERO ---------- */
.hero{
  padding:88px 0 100px;
}
.hero-grid{
  display:flex;
  align-items:center;
  gap:64px;
}
.hero-text{flex:1;min-width:0;}
.eyebrow{
  display:flex;align-items:center;
  font-size:0.85rem;
  color:var(--slate);
  text-transform:uppercase;
  letter-spacing:0.08em;
  margin-bottom:22px;
}
.hero h1{
  font-size:clamp(2.2rem,4.5vw,3.4rem);
  line-height:1.12;
  margin-bottom:24px;
}
.hero p.lead{
  font-size:1.15rem;
  color:var(--slate);
  max-width:480px;
  margin-bottom:36px;
}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;}

.btn-primary{
  background:var(--whatsapp);
  color:#fff;
  padding:15px 28px;
  border-radius:999px;
  font-weight:600;
  font-size:0.98rem;
  display:inline-flex;
  align-items:center;
  gap:10px;
  transition:background .2s ease, transform .2s ease;
}
.btn-primary:hover{background:var(--whatsapp-dark);transform:translateY(-1px);}

.btn-secondary{
  padding:15px 26px;
  border-radius:999px;
  border:1px solid var(--line);
  font-weight:500;
  font-size:0.98rem;
  color:var(--ink);
}
.btn-secondary:hover{border-color:var(--accent);color:var(--accent);}

@media(max-width:860px){
  .hero-grid{flex-direction:column-reverse;text-align:left;}
  .breathe-wrap{width:200px;height:200px;}
}

/* ---------- SECTION HELPERS ---------- */
section{padding:88px 0;}
.panel-bg{background:var(--panel);}
.section-head{
  max-width:640px;
  margin-bottom:56px;
}
.section-head .eyebrow{margin-bottom:14px;}
.section-head h2{
  font-size:clamp(1.7rem,3vw,2.3rem);
  margin-bottom:14px;
}
.section-head p{color:var(--slate);font-size:1.02rem;}

/* ---------- ABOUT ---------- */
.about-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  align-items:start;
}
.about-grid p{color:var(--slate);margin-bottom:18px;font-size:1.02rem;}
.stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
}
.stat{
  border-top:1px solid var(--line);
  padding-top:16px;
}
.stat strong{
  font-family:'Fraunces',serif;
  font-size:2rem;
  display:block;
  color:var(--accent);
}
.stat span{color:var(--slate);font-size:0.9rem;}

@media(max-width:860px){
  .about-grid{grid-template-columns:1fr;}
}

/* ---------- SPECIALTIES ---------- */
.specialty-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.specialty-card{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:32px 28px;
}
.specialty-card h3{
  font-size:1.15rem;
  margin-bottom:10px;
}
.specialty-card p{color:var(--slate);font-size:0.95rem;}
.specialty-card .mark{
  width:34px;height:34px;
  border-radius:50%;
  background:var(--accent-soft);
  margin-bottom:18px;
}

@media(max-width:860px){
  .specialty-grid{grid-template-columns:1fr;}
}

/* ---------- PROCESS ---------- */
.process-list{
  display:flex;
  flex-direction:column;
}
.process-item{
  display:flex;
  gap:28px;
  padding:28px 0;
  border-top:1px solid var(--line);
}
.process-item:last-child{border-bottom:1px solid var(--line);}
.process-num{
  font-family:'Fraunces',serif;
  color:var(--accent-soft);
  font-size:1.6rem;
  width:48px;
  flex-shrink:0;
}
.process-item h3{font-size:1.1rem;margin-bottom:6px;}
.process-item p{color:var(--slate);font-size:0.95rem;max-width:520px;}

/* ---------- TESTIMONIALS ---------- */
.testimonial-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.testimonial-card{
  background:var(--paper);
  border-left:3px solid var(--accent);
  border-radius:0 var(--radius) var(--radius) 0;
  padding:30px 28px;
  box-shadow:0 1px 3px rgba(30,41,59,0.04);
}
.testimonial-card p{
  font-size:1rem;
  color:var(--ink);
  margin-bottom:20px;
}
.testimonial-who{
  display:flex;
  flex-direction:column;
  font-size:0.88rem;
  color:var(--slate);
}
.testimonial-who strong{color:var(--ink);font-weight:600;}

@media(max-width:860px){
  .testimonial-row{grid-template-columns:1fr;}
}

/* ---------- CONTACT / FOOTER CTA ---------- */
.contact-cta{
  background:var(--accent);
  border-radius:24px;
  padding:64px 56px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  color:#fff;
}
.contact-cta h2{color:#fff;font-size:clamp(1.6rem,3vw,2.1rem);margin-bottom:12px;}
.contact-cta p{color:#DCE4EE;max-width:420px;}
.contact-cta .btn-primary{flex-shrink:0;}

@media(max-width:780px){
  .contact-cta{flex-direction:column;text-align:center;padding:48px 28px;}
}

footer{
  border-top:1px solid var(--line);
  padding:40px 0;
}
.footer-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:16px;
  font-size:0.88rem;
  color:var(--slate);
}

/* ---------- FLOATING WHATSAPP BUTTON ---------- */
.floating-wa{
  position:fixed;
  bottom:26px;
  right:26px;
  background:var(--whatsapp);
  color:#fff;
  width:58px;
  height:58px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 6px 18px rgba(37,211,102,0.4);
  z-index:50;
  transition:transform .2s ease;
}
.floating-wa:hover{transform:scale(1.06);}
