/* Readability and responsive composition. */
body #page-container #main-content .ctl-content .et_pb_text :is(p,li,span,strong,b){text-align:left!important;word-spacing:normal!important;hyphens:manual}
body #page-container #top-menu a{color:var(--ctl-purple)!important;opacity:1!important;letter-spacing:1px}
body #page-container #top-menu a:hover,body #page-container #top-menu .current-menu-item>a{color:#351471!important;text-decoration:underline;text-underline-offset:5px}
body #page-container #main-content .ctl-training.ctl-heading{background:var(--ctl-purple)!important}
body #page-container #main-content .ctl-home-banner{background:var(--ctl-purple)!important;padding:44px 32px!important;text-align:center!important;border-radius:4px}
body #page-container #main-content .ctl-home-banner h1,body #page-container #main-content .ctl-home-banner h1 *{font-size:clamp(28px,4vw,52px)!important;line-height:1.2!important;color:#fff!important;text-align:center!important;margin:0 0 20px!important;padding:0!important;font-weight:700!important}
body #page-container #main-content .ctl-home-banner .ctl-home-name{font-size:clamp(22px,2.5vw,28px)!important;line-height:1.4!important;color:#fff!important;text-align:center!important;padding:0!important;margin:0 0 12px!important}
body #page-container #main-content .ctl-home-banner .ctl-home-specialty{font-size:18px!important;line-height:1.5!important;color:#fff!important;text-align:center!important;margin:0!important;padding:0!important}
body.page-id-116 #page-container #main-content .ctl-content>.et_pb_row{max-width:800px!important}
body #page-container #main-content .ctl-profile-copy .et_pb_text_inner{display:flow-root}
body #page-container #main-content .ctl-profile-photos{float:right;width:310px;max-width:40%;margin:0 0 28px 40px;display:grid;gap:24px}
body #page-container #main-content .ctl-profile-photos img{display:block;width:100%;height:auto;max-width:100%;border-radius:6px}
body #page-container #main-content .ctl-profile-copy :is(h3,p){clear:none!important}
body.page-id-59 #page-container #main-content .ctl-contact-steps{background:transparent!important;padding:0!important}
body #page-container #main-content .ctl-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none!important;margin:0!important;padding:0!important}
body #page-container #main-content .ctl-steps li{list-style:none!important;margin:0!important;padding:20px!important;background:var(--ctl-lilac)!important;border-left:3px solid var(--ctl-purple);border-radius:6px;font-size:17px!important;line-height:1.6!important;color:var(--ctl-gray)!important}
body.page-id-59 #page-container #main-content .et_pb_contact_form_container{max-width:700px!important;width:100%!important;margin:auto!important;padding:24px!important}
body.page-id-59 #page-container #main-content .et_pb_contact_form_container :is(input[type=text],input[type=email],textarea){background:#fff!important;border:1px solid #7956b8!important;border-radius:4px!important;color:#333!important;text-align:left!important;width:100%!important;box-sizing:border-box!important}
body.page-id-59 #page-container #main-content .et_pb_contact_form_container :is(input[type=text],input[type=email],textarea):focus{outline:2px solid var(--ctl-purple)!important;outline-offset:2px}
body.page-id-59 #page-container #main-content .et_pb_contact_field[data-type=email]>.et_pb_contact_form_label,body.page-id-59 #page-container #main-content .et_pb_contact_field[data-type=text]>.et_pb_contact_form_label{display:block!important;color:#351471!important;font-family:Inter,Helvetica,Arial,sans-serif!important;font-size:16px!important;line-height:1.5!important;text-align:left!important;margin:0 0 8px!important;position:static!important;width:auto!important;height:auto!important;clip:auto!important}
body.page-id-59 #page-container #main-content :is(#jili,#segundo_parrafo){font-family:Inter,Helvetica,Arial,sans-serif!important;font-size:15px!important;line-height:1.65!important;text-align:left!important;color:#444!important;margin:12px 0!important;width:100%!important}
body.page-id-59 #page-container #main-content .et_contact_bottom_container{float:none!important;text-align:right!important;margin-top:16px!important;padding-bottom:20px!important}
body.page-id-59 #page-container #main-content .ctl-content .et_pb_text :is(p,a,span,strong,b){text-align:center!important}
@media(max-width:980px){
body #main-header .et_menu_container{width:calc(100% - 40px)!important;max-width:1080px!important}
body #main-header .logo_container{height:80px!important;text-align:left!important;padding:0!important}
body #main-header #logo{width:144px!important;height:auto!important;max-height:48px!important;max-width:50%!important}
body .sfsi_floater{position:absolute!important;top:22px!important;right:16px!important;left:auto!important;width:auto!important}
body #main-header #et-top-navigation{float:none!important;width:100%!important;padding:80px 0 12px!important}
body #main-header .mobile_nav{background:#f5f0ff!important;border-radius:6px!important}
body #main-header .mobile_menu_bar{padding:0!important;min-height:44px;display:flex;align-items:center;justify-content:flex-end}
body #main-header .mobile_menu_bar:before{position:static!important;color:var(--ctl-purple)!important;font-size:32px!important;padding:6px}
body #main-header .et_mobile_menu{left:0!important;right:0!important;top:100%!important;width:100%!important;box-sizing:border-box;max-height:calc(100vh - 155px);max-height:calc(100dvh - 155px);overflow-y:auto;padding:8px!important;border-top:2px solid var(--ctl-purple)!important;background:#fff!important}
body #main-header .et_mobile_menu .sub-menu{display:none!important;padding:0 0 0 12px!important;margin:0!important}
body #main-header .et_mobile_menu li.ctl-open>.sub-menu{display:block!important}
body #main-header .et_mobile_menu li{position:relative}
body #main-header .et_mobile_menu li>a{font-size:16px!important;line-height:1.5!important;letter-spacing:0!important;padding:12px 44px 12px 12px!important;color:#5020b0!important;background:transparent!important;border-bottom:1px solid #eee!important}
body #main-header .et_mobile_menu .ctl-submenu-toggle{position:absolute;right:0;top:2px;width:44px;height:44px;padding:0;border:0;border-radius:4px;background:#f5f0ff;color:#5020b0;font:24px/1 Inter,Arial,sans-serif;cursor:pointer}
body #main-header .et_mobile_menu .ctl-submenu-toggle:focus-visible,body #main-header .mobile_menu_bar:focus-visible{outline:2px solid #5020b0;outline-offset:2px}
body #page-container #main-content .ctl-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
body #page-container #main-content .ctl-home-banner{padding:32px 20px!important}
body #page-container #main-content .ctl-profile-photos{float:none;max-width:none;width:100%;margin:0 0 28px;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
body #page-container #main-content .ctl-profile-photos img{aspect-ratio:4/3;object-fit:cover;object-position:center}
body.page-id-59 #page-container #main-content .et_pb_contact_form_container{padding:20px!important}
}
@media(max-width:600px){body #page-container #main-content .ctl-steps{grid-template-columns:1fr;gap:16px}body #page-container #main-content .ctl-steps li{padding:16px!important}}
@media(max-width:359px){body #page-container #main-content .ctl-profile-photos{grid-template-columns:1fr}}
body #page-container #main-content .ctl-home :is(.et_pb_row,.et_pb_column){background:transparent!important}
body #page-container #main-content .ctl-home .et_pb_text:not(.ctl-home-banner){background:transparent!important}
body #page-container #main-content .ctl-content .et_pb_text.ctl-home-banner h1,body #page-container #main-content .ctl-content .et_pb_text.ctl-home-banner h1 *{font-size:clamp(28px,4vw,52px)!important;line-height:1.2!important;color:#fff!important;text-align:center!important}
@media(max-width:980px){body #main-header .et_menu_container{padding:16px 0!important}body #main-header .logo_container{height:64px!important}body #main-header #et-top-navigation{padding:0!important}body #main-header .mobile_nav{padding:0!important}body #main-header .mobile_menu_bar{height:44px!important;min-height:44px!important}}
body.page-id-59 #page-container #main-content .ctl-content .et_pb_text.ctl-contact-steps{background:transparent!important;padding:0!important}
body.page-id-59 #page-container #main-content .et_pb_contact_form{margin-left:0!important}
body.page-id-59 #page-container #main-content .et_pb_contact_field{padding-left:0!important;margin:0 0 20px!important}
body.page-id-59 #page-container #main-content .et_pb_contact_form_container :is(input,textarea)::placeholder{text-align:left!important;color:#666!important;opacity:1!important}
@media(max-width:980px){body #sfsi_floater{position:absolute!important;top:48px!important;right:16px!important;left:auto!important;width:86px!important;display:flex!important;gap:6px;justify-content:flex-end;align-items:center}body #sfsi_floater .sfsi_wicons{float:none!important;margin:0!important;flex:0 0 40px}}
@media(max-width:980px){body #main-header{padding:0!important}body #main-header #et_mobile_nav_menu{margin-top:0!important}body #main-header .mobile_nav{min-height:44px!important}body #main-header .mobile_menu_bar{display:flex!important;position:relative!important;top:auto!important;right:auto!important;width:100%!important}body #sfsi_floater{top:28px!important}}
@media(max-width:767px){body #page-container #main-content .ctl-profile-photos img{aspect-ratio:auto;object-fit:contain;height:auto}}
/* Keep banner subtitle alignment above the body-copy alignment rule. */
body #page-container #main-content .ctl-content .et_pb_text.ctl-home-banner :is(.ctl-home-name,.ctl-home-specialty){text-align:center!important;margin-left:auto!important;margin-right:auto!important}
/* Center the specialties block within the full page content width. */
body #page-container #main-content .ctl-home .et_pb_fullwidth_header .header-content{width:100%!important;max-width:100%!important;margin:0 auto!important;text-align:center!important}
body #page-container #main-content .ctl-home .et_pb_fullwidth_header :is(h1,h1 span,h1 strong){text-align:center!important}
body #page-container #main-content .ctl-content .et_pb_text.ctl-photo-caption,body #page-container #main-content .ctl-content .et_pb_text.ctl-photo-caption :is(p,span,strong,b){text-align:center!important}
body #page-container #main-content .ctl-content .et_pb_text.ctl-photo-caption{width:100%!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important}
/* Home banner: same rose background as the social media icons. */
body #page-container #main-content .ctl-content .et_pb_text.ctl-home-banner{background:#cc9fb7!important}
/* Restore the original lilac selected by the client. */
body #page-container #main-content .ctl-content .et_pb_text.ctl-home-banner,body #page-container #main-content .ctl-training.ctl-heading{background:var(--ctl-lilac,#d9c6ff)!important}
