/* Juelith Delgado — estilos compartidos (Inicio + Empresas + Agendar) */
@import url('https://fonts.googleapis.com/css2?family=Marcellus&family=Raleway:wght@400;500;600;700&display=swap');
:root{
  /* Terapia: rosa de la flor + gris de las letras del logo */
  --flor:#F087B6; --flor-2:#F3A0C5; --flor-3:#F6B9D5;
  --magenta:#C8447F; --magenta-dark:#A8336A;
  --rosa:#FDEFF5; --rosa-2:#F9D7E6; --rosa-borde:#F5DCE8; --rosa-suave:#FFF7FA;
  --tinta:#525151; --texto:#4A4949; --texto-2:#5C5B5B;
  /* Empresas: gris del logo como color central + rosa de la flor */
  --navy:#525151; --navy-2:#605F5F; --navy-osc:#3F3E3E; --gris:#F6F5F5; --gris-borde:#E0DEDF; --pizarra:#5C5B5B; --hielo:#EFEDEE;
  /* Letras elegidas por Juelith: Marcellus (títulos) y Raleway (textos) */
  --serif:'Marcellus',Georgia,serif; --sans:'Raleway',system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:104px}
body{margin:0;font-family:var(--sans);font-size:18px;line-height:1.6;color:var(--tinta);background:#fff;-webkit-text-size-adjust:100%}
img{max-width:100%;display:block}
a{color:var(--magenta)}a:hover{color:var(--magenta-dark)}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.section{padding:80px 0}
.eyebrow{margin:0;font-size:14px;letter-spacing:3px;font-weight:600;color:var(--magenta);text-transform:uppercase}
.muted{color:var(--texto-2)}
.hidden{display:none !important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Encabezado */
.header{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--rosa-borde)}
.header-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:8px;padding-bottom:8px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--tinta)}
.brand-logo{height:82px;width:auto}
.corp .brand-logo{height:70px}
.logo-pie{height:84px;width:auto}
.form-logo{flex:1 1 100%;display:flex;align-items:center;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--gris-borde)}
.form-logo img{height:54px;width:auto}
.form-logo span{font-size:13px;letter-spacing:2px;font-weight:600;color:var(--pizarra)}
/* Flor del logo (se recorta del mismo archivo del logo) */
.flor-ph{display:block;width:46%;max-width:220px;aspect-ratio:.9;background:url(/assets/img/logo.svg) no-repeat 100% 45%/383% auto}
/* Mientras se prepara la versión blanca del logo, no se muestra la gris sobre fondo oscuro */
[data-logo-blanco]{opacity:0;transition:opacity .2s}
[data-logo-blanco].listo{opacity:1}
.brand-name{display:flex;flex-direction:column;line-height:1}
.brand-name b{font-family:var(--serif);font-size:28px;font-weight:600}
.brand-name small{font-size:11px;letter-spacing:5px;margin-top:3px}
.nav{display:flex;align-items:center;gap:28px;font-size:16px}
.nav a{color:var(--tinta);text-decoration:none}
.nav a:hover{color:var(--magenta)}
.btn-empresas{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border:1.5px solid var(--navy);border-radius:4px;color:var(--navy) !important;font-weight:600;font-size:15px;white-space:nowrap}
.btn-empresas:hover{background:var(--navy);color:#fff !important}
.burger{display:none;width:48px;height:48px;align-items:center;justify-content:center;border:1px solid #E6D5DD;border-radius:8px;background:#fff;color:var(--tinta);cursor:pointer}
.mobile-menu{display:none;flex-direction:column;background:#fff;border-bottom:1px solid var(--rosa-borde)}
.mobile-menu.open{display:flex}
.mobile-menu a{padding:18px 24px;border-bottom:1px solid #F3E6EC;color:var(--tinta);text-decoration:none;font-size:19px;font-weight:500}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:18px 24px;border-radius:999px;font-weight:600;font-size:17px;text-decoration:none;cursor:pointer;border:1.5px solid var(--magenta)}
.btn-primary{background:var(--magenta);color:#fff !important}
.btn-primary:hover{background:var(--magenta-dark);border-color:var(--magenta-dark)}
.btn-outline{background:#fff;color:var(--magenta) !important}
.btn-outline:hover{background:var(--rosa)}

/* Portada */
.hero{background:var(--rosa)}
.hero-in{display:flex;flex-wrap:wrap;align-items:center;gap:56px;padding-top:72px;padding-bottom:72px}
.hero-text{flex:1 1 520px;min-width:0;display:flex;flex-direction:column;gap:22px}
.hero h1{margin:0;font-family:var(--serif);font-size:clamp(42px,7vw,68px);line-height:1.05;font-weight:600}
.hero .lead{margin:0;font-size:20px;line-height:1.6;color:var(--texto);max-width:540px}
.paths{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px}
.paths .btn{flex:1 1 230px}
.hero-art{flex:1 1 340px;min-width:0;height:440px;border-radius:220px 220px 24px 24px;background:linear-gradient(#FBE3EE,#F7CDE0);display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-art img{width:100%;height:100%;object-fit:cover}

/* Secciones */
.split{display:flex;flex-wrap:wrap;gap:56px;align-items:center}
.split > *{flex:1 1 400px;min-width:0}
.photo-soft{height:400px;border-radius:24px;background:var(--rosa);display:flex;align-items:center;justify-content:center;overflow:hidden}
.photo-soft img{width:100%;height:100%;object-fit:cover}
h2.title{margin:0;font-family:var(--serif);font-size:clamp(34px,5vw,46px);line-height:1.1;font-weight:600}
.stack{display:flex;flex-direction:column;gap:16px}
.center{text-align:center;align-items:center}
.cards{display:flex;flex-wrap:wrap;gap:24px}
.card{flex:1 1 280px;min-width:0;background:#fff;border:1px solid var(--rosa-borde);border-radius:20px;padding:32px;display:flex;flex-direction:column;gap:10px}
.card h3{margin:0;font-family:var(--serif);font-size:30px;font-weight:600}
.card p{margin:0;color:var(--texto)}
.card .price{margin-top:8px;font-size:16px;font-weight:600;color:var(--magenta)}
.bg-soft{background:var(--rosa-suave);border-top:1px solid var(--rosa-borde);border-bottom:1px solid var(--rosa-borde)}
.bg-rosa{background:var(--rosa)}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.chip{padding:14px 26px;border-radius:999px;background:var(--rosa);color:var(--tinta);text-decoration:none;font-size:18px}
.chip:hover{background:var(--rosa-2);color:var(--tinta)}
.steps{display:flex;flex-wrap:wrap;gap:32px}
.step{flex:1 1 240px;min-width:0;display:flex;flex-direction:column;gap:8px}
.step .n{font-family:var(--serif);font-size:52px;line-height:1;color:var(--magenta)}
.step h3{margin:0;font-size:19px;font-weight:600}
.step p{margin:0;color:var(--texto)}
.band-empresas{background:var(--navy);color:#fff}
.band-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding-top:56px;padding-bottom:56px}
.band-in p{margin:0}
.band-btn{padding:16px 28px;border-radius:4px;background:#fff;color:var(--navy) !important;text-decoration:none;font-weight:600;font-size:17px}
.footer{border-top:1px solid var(--rosa-borde)}
.footer-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;padding-top:48px;padding-bottom:48px;font-size:16px;color:var(--texto)}
.footer-in .col{display:flex;flex-direction:column;gap:8px}

/* Barra fija del celular */
.mobile-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--rosa-borde);box-shadow:0 -2px 12px rgba(43,29,36,.08)}
.mobile-bar a{flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:10px;height:56px;border-radius:999px;background:var(--magenta);color:#fff;text-decoration:none;font-weight:600;font-size:18px}

/* ===== Portal corporativo ===== */
.corp{color:var(--navy)}
.corp a{color:var(--navy)}
.corp .header{border-bottom-color:var(--gris-borde)}
.corp .brand-corp{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--navy)}
.corp .brand-corp b{font-family:var(--serif);font-size:27px;font-weight:600}
.corp .brand-rule{width:1px;height:40px;background:var(--flor)}
.corp .brand-sub{font-size:13px;letter-spacing:2px;font-weight:600;color:var(--pizarra)}
.corp .nav a{color:var(--navy)}
.corp .nav a:hover{color:var(--magenta)}
.btn-navy{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:4px;background:var(--navy);color:#fff !important;text-decoration:none;font-weight:600;font-size:15px;white-space:nowrap}
.btn-navy:hover{background:var(--navy-osc)}
.corp .burger{color:var(--navy);border-color:var(--gris-borde)}
.corp .mobile-menu{border-bottom-color:var(--gris-borde)}
.corp .mobile-menu a{color:var(--navy);border-bottom-color:#ECEAEB}
.corp-hero{background:var(--navy);color:#fff}
.corp-hero .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:56px;padding-top:88px;padding-bottom:88px}
.corp-hero .txt{flex:1 1 560px;min-width:0;display:flex;flex-direction:column;gap:22px}
.accent-line{width:56px;height:3px;background:var(--flor)}
.corp-hero .eyebrow{color:var(--flor-3)}
.corp-hero h1{margin:0;font-size:clamp(34px,5.5vw,52px);line-height:1.15;font-weight:600}
.corp-hero .lead{margin:0;font-size:19px;line-height:1.65;color:var(--hielo);max-width:600px}
.corp-hero .actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px}
.btn-white{padding:16px 28px;border-radius:4px;background:#fff;color:var(--navy) !important;text-decoration:none;font-weight:600;font-size:17px}
.btn-ghost{padding:16px 28px;border-radius:4px;border:1.5px solid #fff;color:#fff !important;text-decoration:none;font-weight:600;font-size:17px}
.btn-ghost:hover{background:rgba(255,255,255,.1)}
.corp-photo{flex:1 1 340px;min-width:0;height:420px;border-radius:4px;background:var(--navy-2);overflow:hidden;display:flex;align-items:center;justify-content:center}
.corp-photo img{width:100%;height:100%;object-fit:cover}
.facts{background:var(--gris);border-bottom:1px solid var(--gris-borde)}
.facts .wrap{display:flex;flex-wrap:wrap;gap:24px;padding-top:40px;padding-bottom:40px}
.fact{flex:1 1 200px;display:flex;flex-direction:column;gap:4px}
.fact b{font-size:34px;font-weight:700}
.fact span{font-size:17px;color:var(--pizarra)}
.corp h2{margin:0;font-size:clamp(28px,4vw,38px);line-height:1.2;font-weight:600}
.creds{flex:1 1 560px;min-width:0;display:flex;flex-wrap:wrap;column-gap:32px;border-top:1px solid var(--gris-borde)}
.creds p{flex:1 1 260px;margin:0;padding:18px 0;border-bottom:1px solid var(--gris-borde);font-size:17px}
.bg-gris{background:var(--gris)}
.programs{display:flex;flex-wrap:wrap;gap:20px}
.program{flex:1 1 240px;min-width:0;background:#fff;border:1px solid var(--gris-borde);border-top:3px solid var(--flor);padding:24px;display:flex;flex-direction:column;gap:10px}
.program h3{margin:0;font-size:19px;font-weight:600}
.program p{margin:0;font-size:16px;line-height:1.55;color:var(--pizarra)}
.program .mod{margin-top:auto;font-size:14px;font-weight:600;color:var(--magenta)}
.modes{display:flex;flex-wrap:wrap;gap:32px}
.mode{flex:1 1 220px;min-width:0;border-left:1px solid var(--gris-borde);padding-left:20px;display:flex;flex-direction:column;gap:6px}
.mode h3{margin:0;font-size:18px;font-weight:600}
.mode p{margin:0;font-size:16px;line-height:1.55;color:var(--pizarra)}
.form-box{flex:1 1 560px;min-width:0;background:#fff;border:1px solid var(--gris-borde);border-radius:20px;padding:32px;display:flex;flex-wrap:wrap;gap:18px}
.form-box label{flex:1 1 240px;min-width:0;display:flex;flex-direction:column;gap:6px;font-size:15px;font-weight:600}
.form-box label.full{flex-basis:100%}
.form-box input,.form-box select,.form-box textarea{font:inherit;font-weight:400;font-size:17px;border:1px solid #C9C6C7;border-radius:14px;padding:12px 16px;color:var(--navy);background:#fff;transition:border-color .15s,box-shadow .15s}
.form-box input:focus,.form-box select:focus,.form-box textarea:focus{outline:none;border-color:var(--flor);box-shadow:0 0 0 3px rgba(240,135,182,.25)}
.form-box input,.form-box select{height:50px;padding:0 16px}
.form-box button{flex:1 1 100%;height:54px;border:none;border-radius:14px;background:var(--navy);color:#fff;font:inherit;font-weight:600;font-size:17px;cursor:pointer}
.form-box button:hover{background:var(--navy-osc)}
.form-ok{flex:1 1 100%;padding:16px;border-radius:14px;background:#E7F3EC;color:#14532D;font-size:16px}
.corp-footer{background:var(--navy);color:#EFEDEE}
.corp-footer .logo-pie{height:64px}
.corp-footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:40px;padding-bottom:40px;font-size:15px}
.corp-footer a{color:#fff}
.corp .mobile-bar{border-top-color:var(--gris-borde)}
.corp .mobile-bar a{border-radius:4px;background:var(--navy)}

/* Celular */
@media (max-width:760px){
  .nav .nav-link,.corp .brand-sub,.corp .brand-rule,.corp .cta-head{display:none}
  .nav{gap:10px}
  .burger{display:inline-flex}
  .mobile-bar{display:flex}
  body{padding-bottom:84px}
  .section{padding:56px 0}
  .hero-in{padding-top:40px;padding-bottom:48px;gap:32px}
  .hero-art{height:300px}
  .brand-logo{height:64px}
  .corp .brand-logo{height:60px}
  .photo-soft{height:280px}
  .corp-hero .wrap{padding-top:56px;padding-bottom:56px}
  .corp-photo{height:280px}
  .btn-empresas{padding:10px 12px;font-size:14px}
  .brand-name b{font-size:24px}
}

/* Testimonios y preguntas (se muestran solo si hay contenido en el panel) */
.quotes{display:flex;flex-wrap:wrap;gap:24px}
.quote{flex:1 1 300px;min-width:0;margin:0;background:var(--rosa);border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:12px}
.quote blockquote{margin:0;font-family:var(--serif);font-size:24px;line-height:1.35}
.quote figcaption{font-size:16px;font-weight:600;color:var(--texto-2)}
.faqs{display:flex;flex-direction:column;gap:12px}
.faq{background:#fff;border:1px solid var(--rosa-borde);border-radius:14px;padding:18px 22px}
.faq summary{cursor:pointer;font-weight:600;font-size:18px}
.faq p{margin:12px 0 0;color:var(--texto)}

/* Formularios del lado de pacientes (registro y portal): mismo redondeo suave */
.form-suave input,.form-suave select,.form-suave textarea{font:inherit;font-size:17px;border:1px solid var(--rosa-borde);border-radius:14px;padding:12px 16px;color:var(--tinta);background:#fff;transition:border-color .15s,box-shadow .15s}
.form-suave input,.form-suave select{height:50px;padding:0 16px}
.form-suave input:focus,.form-suave select:focus,.form-suave textarea:focus{outline:none;border-color:var(--flor);box-shadow:0 0 0 3px rgba(240,135,182,.25)}

/* Marcellus tiene un solo grosor: los títulos con esa letra van en peso normal (sin negrita falsa) */
.brand-name b,.hero h1,h2.title,.card h3,.step .n,.quote blockquote,.corp .brand-corp b,.ag h1,.ag h2{font-weight:400}
