/* Escala del kit original, compartida por los bloques recuperados y los nuevos. */
:root {
    --jam3s-texto: Gotham, Arial, sans-serif;
    --jam3s-campos: Montserrat, Gotham, Arial, sans-serif;
    --jam3s-titulo-pagina: clamp(2rem, 4.5vw, 3.5rem);
    --jam3s-titulo-seccion: 1.75rem;
    --jam3s-texto-compacto: 1rem;
    --jam3s-interlineado-contenido: 1.55;
    --jam3s-gutter: clamp(20px, 4vw, 48px);
}
body.elementor-kit-7, .editor-styles-wrapper {
    font-family: var(--jam3s-texto);
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.5;
}
.wp-site-blocks :is(h1,h2,h3,h4,h5,h6), .jam3s-privacidad :is(h1,h2) {
    font-family: var(--jam3s-texto);
    font-weight: 700;
}
.wp-site-blocks :is(h1,h2,h3) { text-wrap: balance; }
/* El menú de la maqueta usa Gotham Medium a 15 sobre un lienzo de 1543. */
@font-face {
    font-family: "Gotham Cabecera";
    src: local("Gotham Medium"), local("Gotham-Medium");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
.wp-site-blocks > header.wp-block-template-part:has(.jam3s-cabecera) {
    background: var(--e-global-color-primary, #1c231c);
    color: #fff;
}
.jam3s-cabecera {
    --separacion-menu: clamp(16px, 2.4vw, 48px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    column-gap: var(--separacion-menu);
    width: 100%;
    padding: clamp(12px, 1.35vw, 28px) clamp(20px, 3.2vw, 66px) clamp(12px, 1.35vw, 28px) clamp(20px, 6.25vw, 128px);
    background: var(--e-global-color-primary, #1c231c);
    color: #fff;
}
.jam3s-cabecera .jam3s-cabecera-logo { width: clamp(98px, 8.8vw, 180px); }
.jam3s-cabecera-logo a, .jam3s-cabecera-logo img { display: block; width: 100%; height: auto; }
.jam3s-cabecera .wp-block-navigation,
.jam3s-cabecera .wp-block-button__link {
    font: 500 clamp(.8125rem, .98vw, 1.25rem)/1.25 "Gotham Cabecera", var(--jam3s-texto);
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #fff;
}
.jam3s-cabecera .wp-block-navigation__container { gap: var(--separacion-menu); }
.jam3s-cabecera .wp-block-navigation-item__content { white-space: nowrap; }
.jam3s-cabecera .wp-block-navigation-item__content:hover {
    text-decoration: underline;
    text-underline-offset: .32em;
}
.jam3s-cabecera .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: .95em 2em;
    border: 0;
    border-radius: .42em;
    text-decoration: none;
}
.jam3s-cabecera .wp-block-button__link,
.jam3s-inicio-bio .elementor-widget-button .elementor-button {
    background-color: #a48067;
    color: #fff;
    transition: background-color .3s ease;
}
.jam3s-cabecera .wp-block-button__link:hover,
.jam3s-inicio-bio .elementor-widget-button .elementor-button:hover { background-color: #846850; }
.jam3s-cabecera :is(a,button):focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
/* La primera franja de «Sobre mí» lleva una sombra negra al 50 % sobre el verde original. */
.wp-site-blocks:has(main:is(.elementor-144, .jam3s-servicios, .elementor-226)) > header.wp-block-template-part,
.wp-site-blocks:has(main:is(.elementor-144, .jam3s-servicios, .elementor-226)) .jam3s-cabecera {
    background: linear-gradient(rgb(0 0 0 / 50%), rgb(0 0 0 / 50%)) var(--e-global-color-primary, #1c231c);
}
.home .wp-site-blocks > header.wp-block-template-part:has(.jam3s-cabecera) {
    position: absolute;
    inset: auto 0;
    background: transparent;
}
.home .jam3s-cabecera { background: linear-gradient(180deg, rgb(0 0 0 / 80%), rgb(0 0 0 / 40%) 72%, transparent); }
.home .elementor-44 .jam3s-inicio-portada { padding: 0; }
.home .jam3s-inicio-portada .jam3s-inicio-retrato { width: 100%; }
.home .jam3s-inicio-portada .jam3s-inicio-retrato img {
    width: 100%;
    height: clamp(18rem, 38vw, 29rem);
    object-fit: cover;
    object-position: center 15%;
}
@media (max-width: 839px) {
    .jam3s-cabecera { column-gap: 12px; padding: 12px clamp(16px, 4vw, 28px); }
    .jam3s-cabecera .wp-block-button__link { padding: .7em 1.1em; }
    .jam3s-cabecera .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        border: 1px solid #a48067;
        border-radius: 6px;
        color: #fff;
        background-color: #1b261e;
        transition: background-color .3s ease;
    }
    .jam3s-cabecera .wp-block-navigation__responsive-container-open svg { width: 28px; height: 28px; }
    .jam3s-cabecera .wp-block-navigation__responsive-container-open:is(:hover, :focus-visible, :active),
    .jam3s-cabecera .wp-block-navigation__responsive-container-close:is(:hover, :focus-visible, :active) {
        background-color: #4a594c;
        color: #fff;
    }
    .jam3s-cabecera .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
    .jam3s-cabecera .wp-block-navigation__responsive-container.is-menu-open {
        padding: 20px 24px;
        background: #18231b;
        color: white;
    }
    .jam3s-cabecera .is-menu-open .wp-block-navigation__container { align-items: flex-start; gap: 4px; }
    .jam3s-cabecera .is-menu-open .wp-block-navigation-item__content { display: flex; align-items: center; min-height: 44px; }
    .jam3s-cabecera .wp-block-navigation__responsive-container-close { padding: 10px; }
}
@media (prefers-reduced-motion: reduce) {
    .jam3s-cabecera .wp-block-button__link,
    .jam3s-inicio-bio .elementor-widget-button .elementor-button,
    .jam3s-cabecera .wp-block-navigation__responsive-container-open:not(.always-shown) { transition: none; }
}
@media (max-width: 540px) {
    .home .jam3s-inicio-portada .jam3s-inicio-retrato img { height: auto; aspect-ratio: 1.55; object-position: center top; }
}
.jam3s-inicio-bio, .jam3s-servicios { --jam3s-escala-titulos: calc(6 / 7); }
.home .elementor-44 .elementor-element.jam3s-inicio-bio {
    --padding-top: clamp(24px, 3.5vw, 48px);
    --padding-bottom: clamp(24px, 3.5vw, 48px);
}
.wp-site-blocks .elementor .elementor-element-11d3f68 .elementor-heading-title,
.wp-site-blocks .jam3s-servicios-encabezado h1 {
    font-size: calc(var(--jam3s-titulo-pagina) * var(--jam3s-escala-titulos, 1));
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.02;
    margin-block: 0;
}
.wp-site-blocks .elementor-element-11d3f68 .elementor-heading-title a { font: inherit; }
.wp-site-blocks :is(.jam3s-inicio-bio, .jam3s-inicio-consulta, .elementor-element-942f1f0) .elementor-widget-heading .elementor-heading-title {
    font-size: calc(var(--jam3s-titulo-seccion) * var(--jam3s-escala-titulos, 1));
    font-weight: 700;
    letter-spacing: -.018em;
    line-height: 1.15;
    margin-block: 0;
}
.wp-site-blocks .elementor-162 .elementor-element-94b6173 .elementor-heading-title {
    font-size: var(--jam3s-titulo-seccion);
    line-height: 1.15;
    letter-spacing: -.018em;
}
.elementor-widget-text-editor p { font-family: var(--jam3s-texto); }
.elementor-44 .elementor-element.elementor-element-52493c4 .elementor-button { font-size: var(--jam3s-texto-compacto); }
.jam3s-inicio-bio .elementor-widget-text-editor p {
    font-size: var(--jam3s-texto-compacto);
    line-height: 1.55;
    max-width: 72ch;
}
.wp-site-blocks :is(.jam3s-inicio-consulta, .elementor-element-942f1f0) .elementor-widget-text-editor p,
.wp-site-blocks .elementor-162 .elementor-element-21a0e0d p {
    max-width: 48ch;
    margin: 0 auto;
    font-size: var(--jam3s-texto-compacto);
    line-height: 1.5;
}
.jam3s-servicio p, .jam3s-ayuda p,
.elementor-144 :is(.elementor-element-723ebc9,.elementor-element-b203083) p,
.elementor-162 :is(.elementor-element-fcfbf26,.elementor-element-491ad90) p,
.elementor-226 .elementor-element-5f3ee04 p,
.jam3s-portfolio-spotify {
    font-size: var(--jam3s-texto-compacto);
    line-height: var(--jam3s-interlineado-contenido);
}
.elementor-144 :is(.elementor-element-723ebc9,.elementor-element-b203083) p {
    margin: 0 0 .6em;
}
.elementor-144 :is(.elementor-element-723ebc9,.elementor-element-b203083) p:last-child { margin-bottom: 0; }
.wp-site-blocks :is(.elementor-144,.elementor-162,.elementor-226) > .elementor-element.elementor-element-3b8afe5 {
    --margin-top: 0px;
    --padding-top: clamp(32px, 5vw, 72px);
    --padding-left: var(--jam3s-gutter);
    --padding-right: var(--jam3s-gutter);
}
.wp-site-blocks .elementor > .elementor-element.elementor-element-942f1f0 {
    --padding-left: var(--jam3s-gutter);
    --padding-right: var(--jam3s-gutter);
}
.wp-site-blocks .elementor-144 > .elementor-element.elementor-element-3b8afe5 {
    --content-width: 62rem;
    --gap: clamp(24px, 3vw, 40px);
    --padding-bottom: clamp(32px, 5vw, 64px);
}
.elementor-144 .elementor-element.elementor-element-b09be2f {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    gap: clamp(24px, 4vw, 48px);
    padding: 0;
}
.elementor-144 .elementor-element-b09be2f > .elementor-widget { width: 100%; max-width: 100%; min-width: 0; }
.elementor-144 .elementor-element.elementor-element-b203083 { max-width: 68ch; margin-inline: auto; }
.elementor-144 .elementor-element.elementor-element-ca5c0f8 {
    padding: 0 var(--jam3s-gutter) clamp(32px, 5vw, 64px);
    background-color: var(--e-global-color-primary);
}
.elementor-144 .elementor-element-ca5c0f8 > .elementor-widget { width: 100%; max-width: 62rem; margin-inline: auto; }
.elementor-144 .elementor-element:is(.elementor-element-be9a00e,.elementor-element-0ed9fdc) img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 16px;
}
@media (max-width: 767px) {
    .elementor-144 .elementor-element.elementor-element-b09be2f { grid-template-columns: minmax(0, 1fr); }
}
.jam3s-servicios-encabezado, .jam3s-servicio {
    width: min(calc(100% - 2 * var(--jam3s-gutter)), 1140px);
    padding-inline: 0;
}
.jam3s-servicios-encabezado > h1 { text-align: center; }
.jam3s-servicios {
    background:
        linear-gradient(to bottom, rgb(0 0 0 / 50%), transparent clamp(100px, 16vw, 210px)) no-repeat,
        url("../../uploads/jam3s-2024/bg-lines.svg") top center / 120% auto repeat-y var(--e-global-color-primary, #1c231c);
    color: #f4f3ed;
}
.jam3s-servicios :is(.jam3s-servicios-encabezado h1, .jam3s-servicio h2) { color: #fff; }
.jam3s-servicios .jam3s-servicio { border-top-color: #566357; }
.jam3s-servicios :is(.jam3s-indice, .jam3s-enlace) a { color: #edcfb7; }
.jam3s-servicios :is(.jam3s-indice, .jam3s-enlace) a:is(:hover, :focus-visible) {
    color: #fff;
    text-decoration: underline;
    outline-color: currentColor;
}
.jam3s-servicio-texto { min-width: 0; }
.jam3s-servicio h2 { font-size: clamp(1.25rem, 1.7vw, 1.375rem); line-height: 1.2; }
.jam3s-servicio p { margin-block: .5em; }
.jam3s-servicio img { border-radius: 22px; }
.jam3s-indice {
    justify-content: center;
    text-align: center;
    margin-top: 1rem;
    font-size: var(--jam3s-texto-compacto);
    line-height: var(--jam3s-interlineado-contenido);
}
.jam3s-indice a { text-decoration: none; }
.jam3s-indice a:hover { color: #273e2b; }
.jam3s-indice a:focus-visible { outline: 2px solid #34533d; outline-offset: 4px; }
.wp-site-blocks .jam3s-servicios > .elementor-element.elementor-element-942f1f0 {
    background-color: #f1f1f1;
    color: #333;
    --padding-top: clamp(48px, 6vw, 86px);
    --padding-bottom: clamp(48px, 6vw, 86px);
}
.wp-site-blocks .jam3s-servicios .elementor-element-942f1f0 .elementor-heading-title { color: #333; }
.wp-site-blocks .jam3s-servicios .elementor-element-942f1f0 .elementor-widget-text-editor p { color: #000; }
.wp-site-blocks .elementor-226 > .elementor-element.elementor-element-3b8afe5 { --content-width: 71.5rem; }
.wp-site-blocks .elementor-226 > .elementor-element.elementor-element-3b8afe5:not(.elementor-motion-effects-element-type-background) {
    background-position: top center;
    background-repeat: repeat-y;
}
.jam3s-portfolio-spotify > a { font-size: var(--jam3s-texto-compacto); }
.jam3s-ayuda h1, .jam3s-privacidad h1 {
    font-size: calc(clamp(1.625rem, 3.5vw, 2.5rem) * var(--jam3s-escala-legal, 1));
    line-height: 1.08;
    letter-spacing: -.025em;
}
.jam3s-privacidad {
    --jam3s-escala-legal: 1;
    font-size: calc(1rem * var(--jam3s-escala-legal));
    padding-block: clamp(24px, 3vw, 44px);
}
.jam3s-privacidad:has(.jam3s-lectura input:checked) {
    --jam3s-escala-legal: 1.1875;
}
.wp-site-blocks .jam3s-privacidad > * { width: min(100%, 45rem); max-width: 45rem; margin-inline: auto; }
.jam3s-privacidad .jam3s-lectura {
    display: flex;
    align-items: center;
    gap: .25rem;
    min-height: 28px;
    font-size: var(--jam3s-texto-compacto);
    line-height: 1.35;
    cursor: pointer;
}
.jam3s-lectura input { width: 1rem; height: 1rem; margin: 0; accent-color: #1c231c; }
.wp-site-blocks .jam3s-privacidad h1 { margin-bottom: .6em; }
.wp-site-blocks .jam3s-privacidad h2 { font-size: calc(clamp(1.0625rem, 1.5vw, 1.125rem) * var(--jam3s-escala-legal)); line-height: 1.2; margin-top: 1.6em; margin-bottom: .4em; }
.wp-site-blocks .jam3s-privacidad p { font-size: inherit; line-height: var(--jam3s-interlineado-contenido); margin-block: .6em; }
.wp-site-blocks .jam3s-privacidad table { font-family: var(--jam3s-texto); font-size: calc(.9375rem * var(--jam3s-escala-legal)); line-height: var(--jam3s-interlineado-contenido); }
.wp-site-blocks .jam3s-privacidad :is(th,td) { padding: .55em .7em; }
.jam3s-pie-legal { font-size: var(--jam3s-texto-compacto); line-height: 1.45; }
.jam3s-pie-legal p { font: inherit; }

/* El formulario 116 del backup usaba dos columnas, campos transparentes y un botón de 120 px. */
.jam3s-cuestionario {
    --tinta-campo: #253027;
    --borde-campo: #788278;
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    width: min(100%, 800px);
    max-width: 800px;
    margin: .75rem auto 0;
    padding: 0;
    gap: 18px 22px;
    font: 400 var(--jam3s-texto-compacto)/1.45 var(--jam3s-campos);
    color: var(--tinta-campo);
    text-align: left;
}
:is(.jam3s-inicio-consulta,.elementor-162) .jam3s-cuestionario {
    --tinta-campo: #fff;
    --borde-campo: #c2c9c1;
}
.jam3s-cuestionario label { display: block; min-width: 0; margin: 0; }
.jam3s-campo-ancho { grid-column: 1 / -1; }
.jam3s-cuestionario .jam3s-aviso {
    position: relative;
    padding: 1rem 1.25rem;
    border-inline-start: 5px solid var(--acento-aviso);
    border-radius: 6px;
    background: var(--fondo-aviso);
    color: var(--texto-aviso);
    font: 500 .9375rem/1.5 var(--jam3s-campos);
    scroll-margin-top: 2rem;
}
.jam3s-aviso:has(.jam3s-aviso-cerrar) { padding-inline-end: 3.25rem; }
.jam3s-cuestionario .jam3s-aviso .jam3s-aviso-cerrar {
    position: absolute;
    inset-block-start: 0;
    inset-inline-end: 0;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: inherit;
    font: 400 1.25rem/1 Arial, sans-serif;
    cursor: pointer;
}
.jam3s-cuestionario .jam3s-aviso .jam3s-aviso-cerrar:hover { background: rgb(0 0 0 / 6%); }
.jam3s-cuestionario .jam3s-aviso .jam3s-aviso-cerrar:focus-visible { outline: 2px solid currentColor; outline-offset: -4px; }
.jam3s-aviso--exito { --acento-aviso: #4c8759; --fondo-aviso: #e8f4e9; --texto-aviso: #193b24; }
.jam3s-aviso--error { --acento-aviso: #b34a39; --fondo-aviso: #fff0e9; --texto-aviso: #662b28; }
.jam3s-cuestionario .jam3s-aviso ul { margin: .35rem 0 0; padding-inline-start: 1.3rem; }
.jam3s-cuestionario .jam3s-aviso a { color: inherit; text-decoration: underline; text-underline-offset: .15em; }
.jam3s-cuestionario .jam3s-aviso :focus-visible { outline-color: currentColor; }
.jam3s-cuestionario .jam3s-campo :is(input, select, textarea) {
    display: block;
    width: 100%;
    height: 44px;
    margin: 0;
    padding: 9px 16px;
    border: 1px solid var(--borde-campo);
    border-radius: 20px;
    background-color: transparent;
    color: var(--tinta-campo);
    font: inherit;
    line-height: 1.4;
    box-shadow: none;
}
.jam3s-cuestionario .jam3s-campo textarea { min-height: 120px; height: auto; padding-block: 12px; resize: vertical; }
.jam3s-cuestionario :is(input, select, textarea)[aria-invalid="true"] { box-shadow: inset 0 0 0 2px #cc7662; }
.jam3s-cuestionario .jam3s-campo select { padding-right: 2rem; cursor: pointer; }
.jam3s-cuestionario option { color: #1c231c; background: white; }
.jam3s-cuestionario ::placeholder { color: var(--tinta-campo); opacity: .92; }
.jam3s-cuestionario label.jam3s-acepto {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    font: 400 .9375rem/1.5 var(--jam3s-campos);
}
.jam3s-acepto input { flex: none; width: 16px; height: 16px; margin: 2px 0 0; accent-color: #866b54; }
.jam3s-acepto a { color: inherit; text-decoration: underline; text-underline-offset: .18em; }
.jam3s-accion { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.jam3s-accion a { color: var(--tinta-campo); text-decoration: underline; text-underline-offset: .18em; }
.jam3s-cuestionario .jam3s-accion button {
    display: inline-grid;
    place-items: center;
    cursor: pointer;
    width: 120px;
    height: 43px;
    padding: 0 12px;
    border: 0;
    border-radius: 6px;
    background: #9e816a;
    color: #fff;
    font: 500 var(--jam3s-texto-compacto)/1 var(--jam3s-texto);
    letter-spacing: .025em;
    text-transform: uppercase;
    -webkit-text-fill-color: currentColor;
    opacity: 1;
}
.jam3s-cuestionario .jam3s-accion button:disabled { cursor: not-allowed; opacity: .75; }
.jam3s-cuestionario :is(input, select, textarea, button, a):focus-visible { outline: 2px solid var(--tinta-campo); outline-offset: 3px; }
.wp-site-blocks .elementor-widget-wpforms { width: 100%; max-width: 100%; }
@media (max-width: 767px) {
    :root { --jam3s-titulo-seccion: 1.4375rem; }
}
@supports (-webkit-touch-callout: none) {
    @media (pointer: coarse) {
        .jam3s-cuestionario .jam3s-campo :is(input, select, textarea):focus { font-size: max(16px, 1rem); }
    }
}
@media (max-width: 580px) {
    .jam3s-cuestionario { grid-template-columns: minmax(0,1fr); gap: 14px; }
    .jam3s-accion { gap: 8px 12px; }
}
