/* =========================================================
   Dra. Arantxa Carcoba Abando — Landing page
   Tokens de marca: #6D6DC0 / #69BFCF / #3230BD / #3D157A
   Tipografía: Source Serif Pro (display) + Montserrat (cuerpo)
========================================================= */

:root{
  --lavender:#6D6DC0;
  --turquoise:#69BFCF;
  --royal:#3230BD;
  --deep:#3D157A;

  --cream:#F8F7FC;
  --paper:#FFFFFF;
  --ink:#241A38;
  --ink-soft:#655F79;
  --line:rgba(61,21,122,.12);

  --shadow-sm: 0 4px 18px rgba(61,21,122,.08);
  --shadow-md: 0 14px 40px rgba(61,21,122,.14);

  --radius-lg: 28px;
  --radius-md: 20px;
  --radius-sm: 14px;

  --font-display:'Source Serif Pro', serif;
  --font-body:'Montserrat', sans-serif;
}

html, body{
  overflow-x:hidden;
}

*{
  box-sizing:border-box;
}

body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--cream);
  font-size:1rem;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

.container-fluid{
  max-width:1320px;
  padding-left:clamp(1.25rem, 4vw, 4rem);
  padding-right:clamp(1.25rem, 4vw, 4rem);
}

h1,h2,h3,h4{
  font-family:var(--font-display);
  color:var(--deep);
  margin:0;
  letter-spacing:-.01em;
}

a{ text-decoration:none; color:inherit; }
img{ max-width:100%; display:block; }

::selection{ background:var(--lavender); color:#fff; }

:focus-visible{
  outline:2.5px solid var(--royal);
  outline-offset:3px;
}

@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; }
}

/* ---------- Utilities ---------- */
.ac-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-family:var(--font-body);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--royal);
  background:rgba(109,109,192,.1);
  border:1px solid rgba(109,109,192,.25);
  padding:.5rem 1rem;
  border-radius:100px;
}
.ac-eyebrow--dark{ color:var(--deep); background:rgba(61,21,122,.06); border-color:rgba(61,21,122,.16); }
.ac-eyebrow--light{ color:#fff; background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.35); }

.ac-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  font-family:var(--font-body);
  font-weight:700;
  font-size:.98rem;
  padding:.95rem 1.75rem;
  border-radius:100px;
  border:1px solid transparent;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
  white-space:nowrap;
}
.ac-btn-primary{
  background:var(--lavender);
  color:#fff;
  box-shadow:0 10px 24px rgba(50,48,189,.32);
}
.ac-btn-primary:hover{
  background:var(--deep);
  transform:translateY(-2px);
  color:#fff;
  box-shadow:0 14px 30px rgba(61,21,122,.34);
}
.ac-btn-ghost{
  background:transparent;
  color:var(--deep);
  border-color:var(--line);
}
.ac-btn-ghost:hover{
  background:var(--paper);
  border-color:var(--lavender);
  color:var(--deep);
}
.ac-btn-sm{ padding:.65rem 1.35rem; font-size:.88rem; }
.ac-btn-block{ width:100%; }

.ac-btn-white{
  background:#fff;
  color:var(--deep);
  box-shadow:0 10px 26px rgba(0,0,0,.18);
}
.ac-btn-white:hover{
  background:var(--turquoise);
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(0,0,0,.22);
}

/* ================= NAV ================= */
.ac-nav-wrap{
  position:sticky;
  top:0;
  z-index:1000;
  padding:1.1rem 0 0 0;
 
}
.ac-nav{
  max-width:1280px;
  margin:0 auto;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(14px);
  border:1px solid var(--line);
  border-radius:100px;
  padding:.6rem .7rem .6rem 1.1rem;
  box-shadow:var(--shadow-sm);
}
.ac-brand-link{
  display:flex;
  align-items:center;
  gap:.65rem;
}
.ac-brand-link img{
  max-width: 200px;
}
.ac-logo-mark{
  flex-shrink:0;
  display:flex;
}
.ac-brand-text{
  display:flex;
  flex-direction:column;
  line-height:1.15;
}
.ac-brand-name{
  font-family:var(--font-display);
  font-weight:700;
  font-size:1rem;
  color:var(--deep);
}
.ac-brand-role{
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--turquoise);
}
.ac-nav-links{
  gap:1.9rem;
}
.ac-nav-links a{
  font-size:.92rem;
  font-weight:600;
  color:var(--ink-soft);
  transition:color .2s ease;
  position:relative;
}
.ac-nav-links a:hover{ color:var(--royal); }

.ac-nav-cta{ gap:1.1rem; }
.ac-nav-phone{
  display:flex;
  align-items:center;
  gap:.5rem;
  font-size:.86rem;
  font-weight:700;
  color:var(--deep);
}
.ac-nav-phone i{ color:var(--turquoise); }

.ac-burger{
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid var(--line);
  background:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  cursor:pointer;
}
.ac-burger span{
  width:18px;
  height:2px;
  background:var(--deep);
  transition:transform .25s ease, opacity .25s ease;
}
.ac-burger.is-open span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
.ac-burger.is-open span:nth-child(2){ opacity:0; }
.ac-burger.is-open span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }

.ac-mobile-menu{
  max-width:1280px;
  margin:.6rem auto 0;
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:.9rem;
  max-height:0;
  overflow:hidden;
  opacity:0;
  transition:max-height .35s ease, opacity .3s ease, padding .35s ease;
}
.ac-mobile-menu.is-open{
  max-height:420px;
  opacity:1;
  padding:1.2rem 1.4rem;
}
.ac-mobile-menu a{
  font-weight:600;
  color:var(--ink);
  padding:.35rem 0;
}
.ac-mobile-phone{
  display:flex;
  align-items:center;
  gap:.5rem;
  color:var(--deep);
  font-weight:700;
}
.ac-mobile-menu .ac-btn{ margin-top:.3rem; }

.header-bg{
   background: url(images/hero.jpg);
  background-size:cover; 
  background-position:50% 50% ;

}

/* ================= HERO ================= */
.ac-hero{
  position:relative;
  padding:clamp(2.5rem, 6vw, 5rem) 0 clamp(2rem, 4vw, 2.75rem);
  overflow:hidden;
  background: url(images/hero.jpg);
  background-size:cover; 
  background-position:50% 50% ;
}
.ac-hero-rings{
  position:absolute;
  top:-10%;
  right:-12%;
  width:min(60vw, 780px);
  aspect-ratio:1/1;
  opacity:.55;
  pointer-events:none;
}
.ac-hero-rings svg{ width:100%; height:100%; }

.ac-hero-copy{ position:relative; z-index:2; padding-top:1rem; }
.ac-hero-title{
  font-size:clamp(2.2rem, 4.2vw, 3.6rem);
  font-weight:700;
  line-height:1.12;
  margin:1.4rem 0 1.4rem;
}
.ac-hero-title em{
  font-style:italic;
  color:var(--royal);
}
.ac-hero-text{
  font-size:1.08rem;
  color:var(--ink-soft);
  max-width:34rem;
  margin-bottom:2rem;
}
.titulo-eyebrow{
  color:var(--turquoise);

}
.ac-hero-text strong{ color:var(--deep); }

.ac-hero-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:1.1rem;
  margin-bottom:1.4rem;
}
.ac-hero-note{
  font-size:.88rem;
  color:var(--ink-soft);
  display:flex;
  align-items:center;
  gap:.5rem;
  margin:0;
}
.ac-hero-note i{ color:var(--turquoise); }

.ac-hero-visual{
  position:relative;
  z-index:1;
  align-self:flex-end;
}
.ac-hero-photo-wrap{
  position:relative;
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
}
.ac-hero-photo{
  width:100%;
 
  

}

.ac-float-card{
  position:absolute;
  display:flex;
  align-items:center;
  gap:.8rem;
  background:#fff;
  border-radius:100px;
  padding:.7rem 1.2rem .7rem .7rem;
  box-shadow:var(--shadow-md);
  border:1px solid var(--line);
}
.ac-float-card--cert{
  bottom:15%;
  right:-1.5rem;
}
.ac-float-card--proc{
  top:1.5rem;
  right:-1.8rem;
  padding:.65rem 1.1rem .65rem .65rem;
}
.ac-float-icon{
  width:40px;
  height:40px;
  flex-shrink:0;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--turquoise);
  color:#fff;
  font-size:1rem;
}
.ac-float-icon--alt{ background:var(--lavender); }
.ac-float-text{
  display:flex;
  flex-direction:column;
  font-size:.8rem;
  line-height:1.3;
  color:var(--ink-soft);
}
.ac-float-text strong{
  font-family:var(--font-body);
  font-size:.85rem;
  font-weight:700;
  color:var(--deep);
}

/* ================= SERVICIOS ================= */
.ac-services{
  padding:clamp(3.5rem, 7vw, 6rem) 0;
  background:var(--paper);
}
.ac-section-head{ margin-bottom:.5rem; }
.ac-section-title{
  font-size:clamp(1.8rem, 3vw, 2.5rem);
  font-weight:700;
  line-height:1.2;
  margin-top:1rem;
}
.ac-section-sub{
  color:var(--ink-soft);
  font-size:1.02rem;
  max-width:26rem;
  margin:0 0 0 auto;
}

.ac-bento-row{ margin-top:2.8rem; }
.ac-bento-card{
  height:100%;
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.ac-bento-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-md);
  border-color:rgba(109,109,192,.35);
}
.ac-bento-card:hover .ac-bento-media img{  }

.ac-bento-media{
  position:relative;
  aspect-ratio:16/9;
  overflow:;
  background:var(--lavender);
}
.ac-bento-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s ease;
}
.ac-bento-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(36,26,56,0) 45%, rgba(36,26,56,.45) 100%);
}

.ac-bento-icon{
  position:absolute;
  left:1.9rem;
  bottom:-24px;
  z-index:2;
  width:52px;
  height:52px;
  border-radius:16px;
  background:var(--royal);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.2rem;
  border:4px solid var(--cream);
  box-shadow:var(--shadow-sm);
  z-index: 10;
}

.ac-bento-body{
  padding:2.4rem 2.2rem 2.2rem;
  display:flex;
  flex-direction:column;
  gap:.9rem;
  flex-grow:1;
  position: relative;
  z-index: 2;
}


.ac-bento-card h3{
  font-size:1.35rem;
  font-weight:700;
}
.ac-bento-card p{
  color:var(--ink-soft);
  margin:0;
  flex-grow:1;
}
.ac-card-link{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  font-weight:700;
  font-size:.94rem;
  color:var(--royal);
  margin-top:.3rem;
  transition:gap .2s ease;
}
.ac-card-link:hover{ gap:.85rem; color:var(--deep); }

.ac-bento-card--urgent{
  background:var(--deep);
  border-color:var(--deep);
}
.ac-bento-card--urgent h3{ color:#fff; }
.ac-bento-card--urgent p{ color:rgba(255,255,255,.78); }
.ac-bento-icon--urgent{
  background:var(--turquoise);
  color:var(--deep);
  border-color:var(--deep);
}
.ac-card-link--urgent{ color:var(--turquoise); }
.ac-card-link--urgent:hover{ color:#fff; }

/* ================= SOBRE LA ESPECIALISTA ================= */
.ac-about{
  padding:clamp(3.5rem, 7vw, 6rem) 0;
  background:var(--cream);
}
.ac-about-photo-wrap{
  position:relative;
}
.ac-about-photo{
  width:100%;
  border-radius: 20px;
}
.ac-about-text{
  color:var(--ink-soft);
  font-size:1.06rem;
  max-width:38rem;
  margin:1.3rem 0 1.6rem;
}
.ac-checklist{
  list-style:none;
  padding:0;
  margin:0 0 2rem;
  display:flex;
  flex-direction:column;
  gap:.8rem;
  max-width:38rem;
}
.ac-checklist li{
  display:flex;
  align-items:flex-start;
  gap:.7rem;
  color:var(--ink);
  font-size:.98rem;
}
.ac-checklist i{ color:var(--turquoise); margin-top:.25rem; }

/* ---------- Por qué elegirnos (horizontal) ---------- */
.ac-trust{
  padding:0 0 clamp(3.5rem, 7vw, 6rem);
  background:var(--cream);
}
.ac-trust-card{
  height:100%;
  text-align:center;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  padding:2.2rem 1.8rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  transition:border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.ac-trust-card:hover{
  border-color:var(--lavender);
  transform:translateY(-4px);
  box-shadow:var(--shadow-sm);
}
.ac-trust-icon{
  width:56px;
  height:56px;
  flex-shrink:0;
  border-radius:50%;
  background:rgba(61,21,122,.08);
  color:var(--deep);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.3rem;
  margin-bottom:1.1rem;
}
.ac-trust-card h4{
  font-family:var(--font-body);
  font-size:1.05rem;
  font-weight:700;
  color:var(--deep);
  margin:0 0 .5rem;
}
.ac-trust-card p{
  margin:0;
  font-size:.95rem;
  color:var(--ink-soft);
}

/* ================= GALERÍA MARQUEE ================= */
.ac-marquee-section{
  padding:clamp(3.5rem, 7vw, 6rem) 0 clamp(3rem, 6vw, 5rem);
  background:var(--paper);
}
.ac-marquee-section .ac-section-head{ margin-bottom:2.8rem; }

.ac-marquee{
  width:100%;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}
.ac-marquee-track{
  display:flex;
  width:max-content;
  animation:ac-marquee-scroll 32s linear infinite;
}
.ac-marquee-track:hover{ animation-play-state:paused; }
.ac-marquee-group{
  display:flex;
  gap:1.4rem;
  padding-right:1.4rem;
  flex-shrink:0;
}
.ac-marquee-group img{
  width:400px;
  
 
  border-radius:var(--radius-md);
  border:1px solid var(--line);
  flex-shrink:0;
}



@media (max-width: 767.98px){
  .ac-marquee-group img{
    width:220px; /* 👉 mobile */
   
  }
}
@keyframes ac-marquee-scroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}

/* ================= CONTACTO ================= */
.ac-contact{
  position:relative;
  padding:clamp(3.5rem, 7vw, 6rem) 0;
  background:var(--deep);
  background-image:linear-gradient(160deg, var(--lavender) 0%, var(--deep) 130%);
  overflow:hidden;
}
.ac-hero-rings--contact{
  top:auto;
  bottom:-30%;
  left:-15%;
  right:auto;
  width:min(55vw, 700px);
  opacity:.4;
}
.ac-section-head--contact{ margin-bottom:3rem; }
.ac-section-title--light{ color:#fff; }

.ac-map-wrap{
  position:relative;
  z-index:1;
  width:100%;
  min-height:420px;
  height:100%;
  border-radius:var(--radius-lg);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:var(--shadow-md);
}

.ac-contact-info{
  position:relative;
  z-index:1;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.16);
  border-radius:var(--radius-lg);
  padding:2.2rem;
  height:100%;
  display:flex;
  flex-direction:column;
  gap:1.4rem;
  backdrop-filter:blur(6px);
}
.ac-contact-item{
  display:flex;
  align-items:flex-start;
  gap:1rem;
}
.ac-contact-icon{
  width:42px;
  height:42px;
  flex-shrink:0;
  border-radius:50%;
  background:rgba(105,191,207,.2);
  color:var(--turquoise);
  display:flex;
  align-items:center;
  justify-content:center;
}
.ac-contact-label{
  display:block;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--turquoise);
  margin-bottom:.25rem;
}
.ac-contact-item p{
  margin:0;
  color:rgba(255,255,255,.9);
  font-size:.98rem;
}
.ac-contact-item a{ color:#fff; font-weight:700; }

.ac-hubspot-placeholder{
  display:flex;
  align-items:center;
  gap:.8rem;
  border:1.5px dashed rgba(255,255,255,.35);
  border-radius:var(--radius-sm);
  padding:1rem 1.1rem;
  color:rgba(255,255,255,.7);
  font-size:.85rem;
}
.ac-hubspot-placeholder i{ color:var(--turquoise); font-size:1.1rem; }

/* ================= FOOTER ================= */
.ac-footer{
  background:#1B0F38;
  color:rgba(255,255,255,.72);
  padding:3.5rem 0 2rem;
}
.ac-brand-link--footer .ac-brand-name{ color:#fff; }
.ac-footer h5{
  font-family:var(--font-body);
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--turquoise);
  margin-bottom:.8rem;
}
.ac-footer p{ margin:0; font-size:.95rem; line-height:1.7; }
.ac-footer hr{
  border-color:rgba(255,255,255,.14);
  margin:2.6rem 0 1.6rem;
}
.ac-footer-copy{
  font-size:.82rem;
  color:rgba(255,255,255,.5);
  margin:0;
}

/* ================= RESPONSIVE ================= */
@media (max-width: 991.98px){
  .ac-section-sub{ margin:1rem 0 0; max-width:none; }
  .ac-hero-photo-wrap{ margin-top:1.5rem; }
  .ac-float-card--proc{ top:1rem; right:.5rem; }
  .ac-float-card--cert{ bottom:-1rem; left:.5rem; }
  .ac-map-wrap{ min-height:340px; }
}

@media (max-width: 767.98px){
  .ac-nav-wrap{ padding-top:.9rem; }
  .ac-nav{ border-radius:26px; padding:.6rem .9rem; }
  .ac-float-card{ padding:.55rem 1rem .55rem .55rem; }
  .ac-float-text{ font-size:.72rem; }
  .ac-float-icon{ width:34px; height:34px; font-size:.85rem; }
  .ac-hero-actions{ flex-direction:column; align-items:stretch; }
  .ac-hero-actions .ac-btn{ width:100%; }
  .ac-bento-card{ padding:0 }
  .ac-trust-card{ padding:1.1rem 1.2rem; }
}

@media (max-width: 575.98px){
  .ac-hero-photo-wrap{ max-width:100%; }
  .ac-float-card--proc{ position:static; margin-top:1rem; width:100%; justify-content:flex-start; }
  .ac-float-card--cert{ position:absolute; }
}
