:root {
  --color-fondo: #F9F8F6;
  --color-texto: #333333;
  --color-primario: #A02B41;
  --color-secundario: #E3A2BA;
  --color-acento-verde: #8FA998;
  --color-acento-azul: #8797A8;
  --color-blanco: #ffffff;
  --color-fondo-2: #f1eee9;
  --color-borde: rgba(51, 51, 51, 0.16);
  --color-borde-fuerte: rgba(51, 51, 51, 0.28);
  --color-sombra: rgba(64, 48, 49, 0.10);
  --font-display: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --font-body: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --max: 1180px;
  --max-text: 760px;
  --radius-sm: 12px;
  --radius-md: 24px;
  --radius-lg: 42px;
  --shadow-soft: 0 18px 48px var(--color-sombra);
  --header-h: 86px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--color-fondo); }
body {
  margin: 0;
  min-width: 320px;
  color: var(--color-texto);
  background: var(--color-fondo);
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
/* Pantalla de carga de marca: el monograma oficial se muestra y gira durante 1 s.
   El gráfico va embebido en el CSS para que también aparezca de forma fiable en hosting
   en la primera visita, sin depender de una segunda petición de imagen. */
.page-loader {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: grid;
  place-items: center;
  background: rgba(249, 248, 246, .992);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 140ms ease, visibility 140ms ease;
  /* Salvaguarda: si JavaScript no llegara a ejecutarse, nunca bloquea la web indefinidamente. */
  animation: mb-loader-failsafe 140ms linear 4s forwards;
}
.page-loader.is-running { animation: none; }
.page-loader.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.page-loader__mark {
  display: block;
  width: clamp(58px, 5.2vw, 76px);
  aspect-ratio: 322 / 382;
  background: center / contain no-repeat url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAAByCAYAAACshtSoAAA6kklEQVR42u29eZhdV3UlvvYZ7r1vqFFSabQGW5ZsSbZsDLaZsUMwYCCBREUwIUmHhEBCmpDOQEi6q8rQYQgkIQHiXxgaCGFQYRLA2BjiGfAsy4MkW1ZprirVXK/ee3c6w/79cV/JipFlyYa0bfp+nz+V5FevXp19zh7WXnsd4Ck+zEzMLI75ezjZrF08tG372+vTR84BEf7f8+SPeqqLT0RcfMn60W0PvfqaP/vAuyYefPji9nKp67TLXvYD9v5yIjLHvPb/PU/XANzXJwZ37iQicszcCWDT9R/4xPtHv33zq1GfJakFGlqhETdiAA7AT+0YMDOhv5/6BwYAAP19faCBAf9zYwAGaP4XZub2+2667fN3/fOXX5XcdX+l4hV8IF1EimwUULRi6beJyG/ZskUSkXtaiw5QPxGIyAPgeZMOtAzx82IAosLdnPXITbdd+oV3/PGbD/7onpdV6jGCMHA5kfBxLuJmQnpZp1/1gnMPAMCWLVswODj4VBZeoL//sUUv/q1n7MDQOWP37vwV4TnqOuvM7y/fdPbXn+3uTZ2M26GBAc/Ma2/++Ce+uftb3z97Zt8oIiUZgQZpJcMggAmln4nrWLy4e2T5qjP2tgzgT3XhiYhbCw9mVhlw5p5vXb/llr/6myuS0ZGVEVOpo70NoxOTb1i+6ex7AOxpfZ9/bp6A/n5gYABTux46feSue8+eOjDq29qrnBsrrbHILKGRpLDGAt0RLd607hodhvsYOOXgS0SetILPzdp9N91y6S1X/v2WxsHRc/XkTE+WNUFKoM7CJmMz1NXeFsTGdDz3XVB/PwBgdmx8+eTIhA91RNqRYAt4Bxjh4IjZChZtZ6ya/uU//R9X2T/7E4CZcAoGYOZSEzhr6Ov//ts/+l8f2dLYe3CxOzINAUJK7GWgwAyC9dLlhpiZlNb8nDfAfNZRn5hZ65qpkEo4dl4qKWBIwsMhZcfoiGjxRedfrcPw/mIzn5xL2Lp1q+zt7XWH7rnvl0euveEL6dChIJ2YQm4tsyAWUpBPjMgaDTAznPO+WgpJAEcC4MhjOcKz8xFP9oKBIvjSngd3LK01GjDMMMbCMSNjhyTLkcQpjCB0LV960OY5tmCLONkPMB8nus9et0swDtla3cfWOs9MzjuRxgnFjSbSNIG1FmmSolFrIq7HRwBMPttPgDiJNJABBHP12lk5OUzFTar7HLN5jEYjgckMdKQpLJfQ2d1dK1b1lPw+9/X1iWq1ur3y/I1fgRTCxxm89fDGwuQ5pJSoVCrQWqNSKSMMAlhJAQD5nDbAsY+bmPEggUBrHB4bwwOH92PP1DDqWcxCSRLl0Lb3dD8AAFs3bD1ll8DMBGOYSCDSIQKpwbmHSQzyOEZ9ehbN2hxsnsE4B9lZHQWQP6cN0P9YJbtCpnYNOQ8SRJlgCJJoq1TR3tWB3FtwoHnJ6tU8/42n8vQPFCfBzcVOKQnSAiBASAljDExu4ayDdx4mz9k6h6hnwSNE5PoA8WyuBdSTGAADAGbGx6sLypX2tL0Lh+dqWLZ0KSIlwUSwzDBxA6f1LMGiRQufEvRAGGBSEi5JF3trwYoIDnDeIc9yRFKBpAQIsKkhlEOE3Z3Zc6ESPikXlM3Mra8EQak9jHhJpZ26yxWkzqKRJgg9eFXHAiwvd4wAet+pZiXzccYbq9j7Td5aiDCAKgXImglsnMM5jyDUKFdKXK6WBEKBeK65DQA2btnyrIZdT3gCBgcHCQDCSPdU2ttle6nNV8M2Sp2Bqml0tVcgUoPqgg50rlreAFB7Gp+FTCNmpTSMd8iaTWRpjjAIEEQBhBAwuYHLDbwWyNI4/bnBgmYmJ70KAnQt6ka90URey7Fk4QK0lSJwt8SK521CcNa6pIWAPnXEMzOwWYY0z2CTDNVqGTElyOJWpQ1AgmGdR9RZpee+AVo4Wjw1AyUEuKRhYwaFAloLZJlBx6oeVlEJxpgHSIhGKyg+JVzGZRkUCUghAKUw16ihOdcEEYFTAxICoSBQJUIYVn5+0FAJwHe0o2IZ02Mz6Kx0wXkHqkao9CxA5h2EEgb89JIRJQnQGoo90jxB0khQaS9DyCJUGeNAzoFAz4EK4CSC8JbBXg8iVNs7zi21tSEql7ijqwM6CkBKoW1hNzqXLUHH6tNQXdDVcgl9T/Wz+LSZ+CzL4KyDMQZhOUDcSJE0UnjPUFrNF28IK+XnvgEIAKRAVq8vNLU6mo0GTJbDE8MLRtjR1srTM7AQj4EXT+1ZYrReyURw1iIqRVi4eAGCSMPkFnmaA8zFJw41wvZ5F7TluWsAACAhkByZYDPbhLQMyQThCYEKoAIN6x0CqRCV53fkKZ8AQlHSdoeeFwFAWIpIECGJU7BnhKUAUSWEVAJRFAJSQIXhc2H9n9gAR/PzLF8QlEsbVBQgjxPKTQ7jHUptFchQI28miGfnAOefVgDIkLk0bnpjDZy18N4jbiYgQQhLIbTWkFIhjTMQEcpd7c99F9R6omR6ti2ZrqE+Uyu8ABGSWgP1I5NgZ2FNDsdePR0XVB86vJ6Ma7PMnOc5rHUIw6AwTpIhTTIwGFIK6EBDKflzYwCuT834+sQ4XJwj1AEkS9jZGLWDR+ASQ1pIwLo9T6UynS/2OI4XRxBSKsVSKSIiOOfgrIO1Duw90qRAH5SSYJb882IAlKSEUgpCANYaJEkMEQi4NMXUnv3UqNUBknsLn3yKTnnwKNxhsySBsQZgRhAW1S8RoVwtFTvBewghAKlAUSR/bgyQjk+jMV6DNTm8y8Fs4ISHh0F8ZALjO3cjThrqqX2EwgK2Pid8bsBEYAB5liPPil6A0hJSKQgp4b0HCLPlRR0jhb238HPeAEkSw5sMUgh469GYjdGYbQAMCAjktSbyJOFjd/QpB+HxWQvvASLkaQ5mDyJCnhsQEaQkeOc4DAIQY6KC4PCpAn/PWgN4RTB5DnjAZQ7eOrjMImtmMK1d+1RL0x2DgwwikBCrFBGc91BaolQuQSkFHWpYY+Edo9peAdhDKiVwCs2kZ70B8jSHNw5JM4V1DlIJCCVgjIXNDXKbwh1tTp3aERgAGFrBeHsW5x6BCDkMInhPCCsRlBJI4hRCCQgpIIRA2PbcqIJPGgvyuYU3Dp4MSApY4yAkFQFRSVjvkOdPozvIDDM1mxMILrNITQYwoLRG0EpFlVIAA845WPDPlwHADOc9iIC40YQxDqVyBJd7eGfgM4kszvypr3vBnObclH808NHVSaMJY3JSUkKHGlkjhrPFzyrigICBgItKT9HOBdcU/f0Y3LmTjj2rWwBs2bCB53lQAPi/otV5UgYgEKRWMNYhTXIwGHmWw1gDl2Usm0RS6Y2FT9/wVD50R5ZmK5gdopIGSQFvPLI0O4qCAgwGIIRAZUHXqS16fz/RwMD8gvIJsmHgP5N+aeuWrWLLhh2M/v6fiUFO7gRogTzPEBsLkh5t1Qqc8xBSgwLFUgdIJyaXQBAG/FOqhMlN1ApTSwHvGVmawYNgWSDwRY9AOAmhBUg8eejq6+sTA8csuggDuDTrmZqaWjPy4K62fG56s4njiJ3zzgPlclVWly4ZWnjW6v1t3YuhgSEZheO9g71u3jCtgZSfqiFOygBhKUKqBMq6hDhLYUwB/ZMocnbODMyR6W52Xp5iM4YA8JE9e9bD5cuYGc46IgZ0oEEkQCAI48HMIEHIkgwLWnHhSRbfQwiwc4sfvXvbhYd+fOebv/me911QHx1fmc/OhYHNJQmCgAQ7hiSFVAK6qyMrdXX40sKOQ7de9dl7ejas/+6ZF154F4C9x5CGf2pk4JNzQQREUYTMAyLLkOUGuhUUyYGyZozG5OQGAB0Apk96Kqblb2tDBy5UmQ1iZ72OQkFE8NZDkoBJilRXBxpgQAoJl6SPAJjG8QdAaKBgc5+x/dvXvvPqP/jzN07veHQ1NWNpTQ4YwBHDAR5gmMyBPUNrhSRNBfHBUCmFUiVcV+vZvm5vFF6xffmS8SUXnvfDqZGRz3YvXXoTEaUAiPv66OkOiZxcRyzJIaQCuxwgwDsPaEAKAWYm4xzmRsZWNPPm6mMW5kkN0D8wABICtaH9K5LpGtgTO+NArZ5AluRgACrUkFohikLOYkAqVaMoMHgcA5uZSQjB+7c98Kqv//6ffSrbuXdtOj2L3FmEQegCFRE0UZZncMwCniEjCSkIzjhU29vgPXOepKjVYs6MZ/Ze5Acne/JHDr5p/Ja7frnnvE3XTYyO/u3SNatvpIEBnqfv/yzqAAKA8QMHVts46yEiBEFApShCpVKCdx6Ki8xEVgMWzaTt4J3b1gHAYG8vnUxwHAC8d07HoxMbXZ6DmcnnDlmcAZ6glILUEhRpcCBhyBNFAaIli4bhPPqOOQHzp857v/iBwW9/un779rVpnFhEga92tnOpHEkSJJQUVCmXKFIaYRBACEIUhEWfgRnOWVJKUhiFQgVaOi2paXIePzzqJ7btEuPfvfnym//yw9fe8cV/vYqZ19DAgO8DRCvD+umdgPlFHNu+Yz2aSYmkYJvlFGgNKQTSNENmcmilqBKVPKeOpvce3nC0uj35pycZHl9jUgMoDRVqwNDR9NM5h9rsHKSXUNBgIqhqaResK5DXxyZw5k9dZ3O21im19qSV9MaQkgqBlIXLFATnWpBHnoGtR+YBqSSICEoqeFiESoOURFlKCEHkvac0zXhiYopLWRruOTz+e2N33P/SieHh9y9aufJbA0T0VAYS1QkhAgHUHhnapFIDr5Sn3EjnHIgEqtUKkmYCAhBohaSRYPKRoQuZOSCi/Mk+zODgoADgDt3/0KbsyMwK7wHBoDwzxYQroai2rYGUEjrQcM6DAgWl1fFO7vzPGo06O/bXnV+gAvIQgkxuAOkhlESe5UiTFFpraB3As4H3DGIu/qSi6DPWguARRiFMboqiE6A0zYiJOG8kvnFkYsMPRo589eEbbvmr9S9/8d8VRQ3jVIwgTuQe2LG2kzObbJzCWUvwHvAeSgqUwhBaSTjv4dmTApAcHLkAwKpWgD3hkdzR28uQAsM/3PZKlWTKA57Zk7MF/0cHBQYkhYSQolWISQRaHxd1IiLuAwQJMbf83LP/nUsB2BWBPMsy5LmBtQ42MxAMWOeQZhnnxjgCXNJMXLPZYJMbD8Axe8fWuTzLPUnhmcBBGKBUjqCloCAKpQi0zx85UHrgM1/+2H3fvvYDIgh8YYOTd0fiRP4/BU6Lx6fOcdbBW0vEHuxc0RxnBnsGM0MKSW3tVU+Tswvu+dZ3fqEIsE/u/9m6YHL7jguzRhNCSiYSMNYVDAhV4D7eF7vQWQcitCgqx495/X19ADPOeuPl/xat6Klpz9BSeiklvHPI0qKrRlIiTTO4JCUFkoFSsrOjQ0Zt7URaCyYhtVCSHEvKjdCOhfBMWkpXrVZ9GEXsnYcxVohK2WfDE7Tri1e/765vfPN/MbMiIpysEY7vglrV+JF7tq+sD48tNDNzcK12oBACWZpBCAL7YiHyLIcxloWzYuKeB3qZ+fMnHNIuTgfXJifPbewbOS+fiyG0FlIWrGjWjCw1RQNGygJnIoKQApIE4I5PwGsNExKAXRt/6TX/PPS5b/xpPFdDGIXsjGEHsNYhEQmhQ41gWc/4gg3rri/1dE+UOzuFUKVtgVaLjclXxbPTdm54wqcztdO5EZ8Xj4yuTsenpPMpDHsw4EuVEhGRUJAsJufEvq9dMwDvcxHoD/cTiZOBy9Xx00MCCYGpbQ9eambndCNOvJJSWEFH365okkg468GeQYqEzwzPPPjoi48MD18G4JonTEf7+1l+5MO446qvvD07MtauIumzOBEAUK6UkOc5hBWQShaFni+M7x3DOwfnn6xuIc/MH/JpXh69+ce/ns81Ojg3VAoCmDRDbHIfLewS5//5u755xitf/i6Ok59cKlEUQGGlgrRWX3H4zvsuPnDbXReNPTp0yezufedWnddEBA/y7L2AVpwPj/u9X/72Bx695XZz5ssu/njf+/9SDFx5JZ+IsKaOu5EAr6IQU0N7z23M1hCWIpatyOisLSpgZhAIUSkASQnPICGkV9NzwQOD33q7jMLv9B8nM+C+PtFaoM1feO1vvFlaA12uErNHGmdIshTaa7CUCMIqhCBYW2QpbB0MGP7Ei1/0F4hmRKDfPVef+eyRH99/dmNk5DwzPVs11q/fe8Ntl9ZrNb73qi+9eejmH92+5vnn/8sg9QpsAXZs2MAYGGh5OcbAXMMT0WEA34Cgb7Dz7Uce3nPB7mtvfOPE3dvf5g6NdVpn2XgLBhMPj6ud/zL413Mzszur1ep13MeCBp64albH8c8gIphmHH71He/pYOsgAiKt1TEbhJGleVG8dFZhPUMX8wJk6jHP3n7fpQce2d27YtWqrejvF8furX4AMgzwrYGP/36yY09XtVr21hhRQB5FLp40EuhAQYUhdKAgQCACSApIKSG0flL0tmV4VMPqdgDbQfgqAAzvP/BLB398z6XIcs5Hxrsevvqaj6x5/vk/7MXgXt7QJ3ofV1QxuMBb+kH9AwQimgNwE7S6Ka7Nff3uf/rS+8Zvuv11ZmYOCDR7YV26Yyi488P/2M/MtxFR80QZoXoifGZmdOLiucNjFxklkOeGRKF+wkIARJKCQMF5LoKjVsjyHEIIYilZ7jvStuNTX/wHZt5NRNvnsZP5P2dnZy/7ymW/8VahBecEQpIhDDSEIJjcwTMjKJfQXq2AQEhMArYenhlaCETl6CTgk+IX5j4WgxsHaeYjHxEj997rZh8d2qgASq1lAXLNh/cuuWfrv/8OSfl+9Pfz49BQEGheHoGPhbT7iVAul3/EzG/c87xz//SBq770F80Dw21CK8HEfu6+XRfe/41vv4+U/CucQDNDPFEB9sj1/7HOHx4vJdZw7Azl1iLNDTXrCWVZxkEpBAjI0hxCFCliC6shLaSv33n/4hv+8Z//kZnbi8W/SbWMsOimD/ztX9PYZCVqq3K5FFEYBjCZQdxIkCYpqp3tqHa2QZcDqEoAWQ3hCdBKQgfqlJqRNEC+t7fXjdz7OnelFL42OtGdz8yBcguynrLpGk/ce/9bvLXLiIi5r088mWGJyA8A8xvKnnnpiz50wfvf/dtqYdesTzNASG5OTmPoOze8wxt7dvG+LE7KAL2Dg56Zxfi+Ry/1WQLH7MNSyD7NUdl4xvC63/qV+8tCEgMMJRG1leFdcbqkksVODgNBzL5+670vuWfw3z7JzBWiS2ypvQ0/+MRnPzz+3dueV4pCT8YJlxWuLM8MtFbo7lmASnsFUbkMKkXoWL4Ynct64K0D26KY0kF0KsVmK+0d8N46mUzPbM7mGtBSQRAJZyzyocOrhu/d/hIAGNy48aRz+NaGoi0Mufq8c75x+utf9SFWirI0IUjlm0MHFt38T5/pY+YAAzhufSCO0zFiAO1zDxw4x2Ye1VKJykr7KArRc976H13S/9534fQVszZOSQXKG2OgtEIYhiiXS9Bh0HoLEm5siscGr3vbXVd9/kvMfNZ3//Fzf7zrn7/6myF7T0qSMxaNuSbiRgLvGKQ1RBAgrFZQ6mpH22lLsWjt6eheuRxhWxkkCSIMgGr5mD7WqdmieWiUZavfkKcZpJTeTdXowA/vvJyZRW9v7ykBa0TEW7ZuRR+zWPXSF+yQnW3sPQsZKHBm+MAPfvSGubnpCwjE6P9JV6Qel/8TAD58+PCqbHJ6BRxQgiLbzAhdVV5w/oa7SIrbt33tmo/u+vvP/rWr1zmIShwEmkxrgsUZC2MMSAvkztL0zj08ue/wm3bc8KMXzj18oLvUiKUrBWwbGZnMQGoB7zyiSggdhdChghSELMvhZ+uYUSFkOYDuqHCapYKjCKXFC+sAsGXrFj5FRaJKPlPvhPfwXKTaznlKshgTe/adB6ACoH6qmM6OHb08APjX3HXfC1WcURhF3jgvRKg9RqdL2z/7tT9i5rtb0j3/KTVXx6vADt9659osnmuXoeJQa05qNRGdsXT2/De87nvsmbDltR+Lh0dWz1xz4ztMnnlrHbErqINCCoRRiGaaYHR0AsbnpKdnPPYcWiqjAJlSMI2MCoazRDyboq27ioWLFyKqlCHCAM55aBbwqYFtJgg6qojaKjDj02DrYhWGB0+149b6pVfkzeZa5xxyzySUhJCELMsgDo11A1gAoH7KfWYi7meOBt/55y9rTM8iqJRAADwYlDtMPLT7JQCWAzgwn50d1wA0MMAyDDCya/dljZk50lAuzlLyxKgs7TkAYIQARlHl/sm9zlcnbrjtijzNXEYQNsspUAE8e8xM1VCbq6Ots4Io0EKUwewYABM7hpBFX6HSXkLXkm5UutohoOCURlhSkAQQBOAZnFoI3+qOSemVivyxFfvJPof37t2QN5odxnlIrYpFckyWGS7Nlh/aufM8APtPtp8xDyr2Am7//Tvfmg8dfhGkYM9MQaAhmEWWW06OTC4duvOeFwE4MA9C/kQMmPf/Ns30xJ6hs8gxUraouRhpu0S0btUtQquZFvYtiKh+wf94xzs7X/HCr1S6O6TyjhSRs8756dk5jk2GJcsXIRQKJAk2MaS0IKkVVKjgLSNrZJ7JecseaWYApdDR3YnFy5fBAXA2R7NeRxbHEKIA+5WSVdtsnFMEzMGTckBHofWHd3ehkQjHzGEYUBAGcM6Rdc77LKOZoQMbT7afMd+a7O3tdcy8/P5/+tKfuqlpqcKAnXXkfYGuMsA8XaOxbQ+8kJQsQMjjxoAWPgNgdTY+c6YzFrIUEawhs7jCa37h5XfwXxYYPBG5VkVbZ+Z3PvJv146MfO/m3zX7hztsliNLEjCxz5McIUkxN9tEoBTIezjri6l4a9k5K5ZvPh9prQY4DziLLE6hAw2tJLLcQ3pGnmTI0xQkBbJmUujknMLTOzjIpCSmdh/YVB+bQqCkZ2bpvQcBkFLCNzPMHRrWxa4+aUoNmLly899++iPxzt3rKdI+S3MBMKwxUIGCDjVTbtEcn17vjaX5zGk+xhw1wHz6def112+0U7OLF3Z0wGmJ+kyNSj3LDm+86Pk/KgLfVg+io8AXEdWh5J9mxv7r7i98pbf2yP7Lag89slY9PNeOPIFRmoMSsVISzji43MIKLzq6O2nx5c97ePO73nbr/f/r794WT8yUSBJEIDF9JIZ1DmG5DB0FEIGEy4tUVWYZmml8ytkPKYnG4ZFF0nuwF7DWolwpw+YWSimQc3CN9LzW7+ROFIiZmfqJSATa33fN9z4weeOdb/XGeutZEApCmdIKSipkLgeB0JiePnElvKO3l0GEsbsePJuSlEgFXkNAKYXu05bvAzB2vBRsfieERNsBbGfmD10InHXrxz793w7e/KPXxEcmVyNOCJZBUgAVje5zzxy++G2/+qmNb3ztl3ffckfVW3eFEgQW4LhRJ6UjBDqAMRaVUoQFS5dgas9BgAH2Dj5NTylIEhG7JKte/e73nRFojRxM3hcgYtFgKqjv9ZnZ9pZbdid6v34iGpDC77rxlnfu+Pjn/oAaiRdRSGg0ASp6GUIUyLEUAo4NOEmfGAs6ylDzPvj829/9SpFZNIyHJsEqDFFdtnSX0CrDcWaAj5b8zKKlblgHcDcF+m6f5csfuv7Wl4wPDZ0Wj09alxvqWreGX/Zbb7mBiB4EgJFdu57vpYR3jCwuGNhShkjSBFGlAjIOeZKia9ECJBOT0FrCxfF8BDyVU9Dpas0lxhigUN9ClhUUSOscBAEuTf2TGbNYfOn3PfTQO7d98JN/L6frQSYEk3cklQQ5cbRX4snDew+lFIIgOMEJ6G9lTcBptdGxTUoJ6DCEiVPyYYjO1cu3s3XYsmULPZEK4jGcGZpnKxDRMICv/8SL/9sVuKmvT90M+NJppzlZLrMXtaIarpSKilpHICkxOzUNSIF0rg4IAmUOqMWnnILOzEysMXONpUEUgrUiAuCsA6OgXQaKkDeb/omyn6PpoxD+wEM7f2/b31z193b/SOgCxd47ImaUSiXkuUHcjFEqRRCiQJC1kii3VeWJDMDcz+Ej27b9YTo+1YMsZ3KOfJaj0rEIi85eOw6cnAzlsfQ/ZqbB3l4xeJT7N4gtW7bMczDdJUTc39+/X5SC/YHW55g8Z26JJnpn4K2FZ0aWNJGmMUgKOLZozsycfLXa4h6N3LdjBfI8ICnZOQ9mjzAMIUiABKExNQWbpMsBLGLm8XnDMTMNDg4KInJBuYTt19/wR3d/5NMftvsOh+GCDu9zK4rOoAd7D+ccSuUStNbwReOILIDS8iX7ZRjw46k06hik8vQb/uYff3NudAxVXYazDoJAYmHXzFmbN+9rGeBUVRD58f503oD8WM84Vh1tTSsIQTkEGEUlTQSpQpRLJbR1tKM5Wys6Ac6DiDZCiJNiXxzVvDt85ByZ5CApPKyVUVSCEAXM7T0TW4b0tAxAlYjGburrk32PnWzHzJX7v/29D+z87Ffem49OIKiW2eS5UJCw1sAYAyWo4NFKCaUkHIGtc8Tdbdnq173ym/4PDR4f3NX8DpmebsgDQ3vZOgNSjEop5DyOKayWtgN48GTaa0/1CZd0ebeDAOfhPcNZCx0EUCooRlOTuGDH6YC1lIjnmssgBQb8yY/GNvaPeOkZQRC0KCk5qNX8z9KMRBhwPHKk7d6vDv4OM3+MpJxqneJw7NCh19448LE/nHto9yURANFWZQ0iZx3yZjHLrGSh5sLsYUzB5AARuzwXnaev3L509epbjreGYt4A3d1V37F8KUtZsBCmajUOTl+O817zi2MqCMyxAfen8cyzGIRWmU/NdqUDsHWslQIzwzsPKQUyY8AgBFrDM1OS5XBZtopzU513EU/a/GcWbNw6by2cdwXOVMyawVoLIQSitjIFuZUHv3bN+35w5Uf/457PffmqB79z7Sdv/dRnr7n7o5++On3g4UvIWm+Kbg+l1oCVgBPcSjllMdXpPQSJ4uvcUHVhN9a94VX/QoKSVu10/EIsB1QQZ2JxtQNZbrF47el0+e+/A9XnbdjmjDkqL/nT3v3sHMIwqmfWghkwxiIMQiil4Ngjam9D0NaOSmzhcgsCw9YaS1rAWeNkD1naqK+SUsBmhoJAQwqJLM8gSCAMA2gdgAHUR6e4ee1t5822Vc+rdLYBDORZiqAceS2UcNZBBWGh4Jjn8Myw7MAtQxYxBWBmD2NFdeOZD67/hZd9FQw6XsNHDfYW5fx93//+uuF9+zvqB49wqaMdb3rlW4SHyq03dz8V/3/yFgDaVy6Rtq0KEWgYZ0FUyJXBekAQZKhR6m5Hs15DPleHqjcJgD4FEO40JNlKkxcHWWsFayyiKCpqAe9BzkJIAilJUkqfNxP2SQahNVkCKaUFNKCVhudiXDYMNCQzshacrnQASYTcGOY0R2XVUnPBu3/zg0Q03dfqhf9EP2DHYC9LrTA8NHTezMwMjWdNHp2b470H9iORvHfFWWft+Fn6fwAQ5ciH1QoABgkgCAIwM0BAs95EOjcHGUiQlsQAfJqumDx8eN0xDLsTPhOzE5XG9EybcQ5Kq5byigYzIzP50YIMvhhGsdYLEElIKY0xgoyjfC5GPF1HnCTwzMhtDscFlCFEMb0vVTFGq6T01faqWPWal39p0Zo13+jr6xNXXnnlcTM3MQD4dHL2NTOP7Ptd00igiciZDI8+8BCmbHKjkHICT0EH+qQyxL7iLXVH2/aEPbqWLhblzk6ABKrVKthZCAkIoSBUgAWLF0JJCUqtagwPP6lYxPzpnt29b4NP0pIhcG4dCaEglUZYLqNj4QJIpSFIgqio/Of3mjGmVdES4D1cmsHMxWhOz8HlDi53aDYTWOfgTEEo8xCOrJftL3ne7uf9zq9feUx99MQ9YdVe2Ts7Mlx3WQKQZ2JLriTdwrUrr2fv8VSZv0+6QC00s+v0FTUua0RLF1LnGSvZZHlBfyFG2FZC+9IeyM4KVHuFZKB9yRPcZH0TAGzp3XGCjVGkvBN7DnT4JBVaK46CYt7MOQ9RDrBgYRcAhiiANZjMgj2BLUMJVbAACXDOgwH4zMA2U+RzMXwzRahVweKWElopJ6yRbeesPfjC//netxPRwaPDIieipYzGtfahh3ct9ZyDITmKqmLx6SsfPfcFL7j9Z+l+5uMKLeweU2EwO/7gI522RSuJkxRtC7pAREhMBtISqTGwgmDSDM3hI5vm5e6fsFO1YQODCPl0raMkA1jFSAv2BiAKmmOem2LhbdFaDUKNLM9BguDZQQpVuCVvoZQsvna+mJGQEi4xaDV2GLmR3edvPPjSj/3lW8tB8MOTmR0QAPDA9753dnNkogwIdmxQ7e7AqnM33awC/TNzP8cadmHHwkNhqTQZSQ3BnoWSWL1uLcJyhGx8BnaiBplYZLU6JACTZJg+NLq6FYifMBUdGBhg0gouTc8xcQzrHBcxwBVC4L4YBGTP0EEArTVIUDGPVpDNYKxBlhdpq7XFWgYttRZrLHyh08/eeVr2+ktvetWnPvhL5XL5hyc7uCFUFGHox3dfSLNNKBH4CgLRvqzHnvcrr/+uMxZbt279r5hIl5XlPVJohSzO4KzFkcMjaM40YNIczclJNCbHgcxAkoAgAhmzCsDqY8nExyMY+CyvmOm502CLCGtygyAIUKlUAAbK1TIqlTKUVpBB4U6UVtDFRE4hGNKqbokKg+RZhjTNWtRJ512S0NJXXLTrhX/yzrcS0XbeulWe7NSMMEkSjj66Z1PuMkQUeYWQVpx33q1nnn7mDQDoVG/BeIqPcVGQVVb0oNTZDiJCXJ9DFicIowjOWTgwKgu7oNqrIjE5i1pjyfCOXRe3MqETxaj2tDa3UogiwEZhAK1UK5Uk1Gv1o+OvBCowHWbkJkeaJmAAOlDFJFBrgjMIg9a8goMAyBnLU4cPrzh0aP8lj0Wek6enL8dsfWU5aHOpM7rngs3JW/66/6+JKOnr6/uZXkF1zHtPeciHS4sXQVYiLiYiBQgezA7OOXQuXoRF69ai47SlMHnONF3D+O33bIQUP9Hma7WLCQBmZpo92exs1bUwHyElmAHPHpUwKgRhrYUuhVChbnFeC0IwQPDewbb4sBBgQeSzNPMOno0z8J7JSYHpux9qu/OD//CJ8dHRy3t7e92TEbyOGuDOm2++aG52Zk37om656pIXZVd8vK9/xfJlNzxZ9P4pBgEiKVm3VQ41x6egitEDpM0UWZIhS1NIQUhrDUwNHUbtyASCIEBaTzB38Mgb2brFA60237Hvu7F1Kqb27FzFue2eny32xUAJAh0UxVgpQthWAmkBCwYV9+IgrFQQRhGCIID33idx4mycUjmKRBCEwiUZCSm5EC00JMPQN+/eufCH/R+7Ko7jl9LAgO87CSOIuSMTPUs3nbdtza9e/n/e8c9/13vxZa/6qM0N9ff3/5cIMgxu2SrgPdp7Fu3MTI7G7AxZY6BlcextZmGbKSYf3Y/pof2Ix6bh2AtPzOnYxBkHd+9+dYv+Tf+Zq1Okp9MHhs+WcQ5ieCkFcesCCpPlyLOsgI9LJVgCoCV0tQTZXgICySJSXkrhNQkRKC1Lq0+bW/6rr/7Xs//gik9XTlva5CwnoSRLJQGC8Eq6ZNfeFTd98GNfYua1AydhBGLmhQCMLkU1m/7XC5LPw+FThw699r7//Q//Hu/aq1UQMQOUJimkkChXy2AwgnIFJi+YElpLL3UgOl7z0htf+Ae//QYiio+dz+oDxACRv+3Tn/nE5NU3/Pcst44JMs+L0ddAa+TOotxWRhRFsAJQUsJ4xxLE3EwFUKj0Vs5Yub9n88arz97y+m+U2tvucM5hZNfDv/njD3zi08mOoXLYXuUsSakA4sgFWsllr7v0uy/9s3dvIaL0RHNjiojmrwERfX19GPivv52OAaB7xYo7ZHvp0YoubWgay7kxJARgjUESJwgCDYokwqgM7z1ykwnKM853PHrp/p0PvhnA5x9PhQcBzYNjNksysFJg9qhUKy1VRoZoVbvWWqhKVGQ61pGKIgrOWDnddsbKG5ZefP71q1540U0kaC/eWrxrH0DL1p35xbHhEbrtjz/wSXtwpCyjgDlOyRorlYcfu+Wuy+9Z++33QYq+/sd/rmMNMO87icj/37qdjgGSYTC9/aov3FvffWRDliaI0wQBSUTlEMQEaIkFK5aCAYRRDbWxSeRZzNnQYTp49X+8g5m/1joFR38fdj649v3/e5O1rgB5iApmhRTQgUJUjpDZHEJKSCHZpBm1nbZ0dtWrL/m79a+/7BsAdh17ovqLnez7mbGTSC5evuwLD99wW+muj3z6U6LeZKU1CRBYSfJzDT50zY1/MnF4+J5FS5d+54li6vzFaf/XBHiIiMFMPjdY8cqXftYs7kgIjqCInXUgpqLhoRSmDo7CNFK09yzG4jUr0blwEVlnOR+Z2DBRn3n+Mf3to/WFz/JuLSWiUoRqWwVh2AL6mJHEKax1hUZpvcEgwum/8tp/OOuNr7mSiHYSEW/dulX29fWJAcDP4zpExFuZfZ9nsf4VL/7MskteOGiNFeyLDpFJc8q952zv4fK9n/z8h5i5a2Bg4LgFo8Iz4KHHspgfLnrJC/6tbuwV+YERh4Bl5gyIBKS1MDN1EAvoqIy2hZ1I63UyxvhoarZt+Ae3vwaEW/sHCP3om4ehF7hGs0sFCllu4Fwx/MGekaQZvPcFiTjLWQkSqJbjnnXrru1zLPqL2OSeqAdyDCXHMvP/HNz56IuzHXuWUaA9ey+s90Ia62v37dr44PU3/DYJ8fHjuaJnku4aEZHf8OtbrgzOXX9oQWebbFvQ4cJKBCUV2DmoQCGpNzDyyBCOPLIPU8NHOOrqEit6Lx88702v/Qcw0M98VHQpjmtLkkZzmXEe7D1laY4syeB9oUehlAJZIFQBApLQ1fJc+4olE60JMf9kGBgR+b6+PkFS7D79spd9Pupsp0ArKC0B78FCwM80sO+6G3/fO7d8YGDAP74+EM+g1fetpsUjK7e8/u3R5rOPdHZ2yQVLFrvKok5QGMFZC7ADwXPSaLAUgoNSyI24vioD2gsSRD/NG+DwQ0Nll2RCRwGUUgijEFEpLOTvPSNN06IP4JjzOEcQlYYAjJ4yAOmZLnjLr3yKTlv6SNaMhWtBp9ZawYD3+0ZP33nN998NIYDHpffPKOXB+R2ycPnyH6x/79t/o3rx5kPty5bIrtNP42XrV7typeyiKGIlJcF5qrRVhKs1ae7Wey+sHzy4HgA2btxIgzt3EgBkM9ObteUwTVIPgPIshzUOuTXwzAARpBLgVgisLFk4ByA91c/c19dHJMTY2jdc+q+ivQryAIjgnUfmLDVHJnHwhtt+i51bjwL2Fs9IAwCtYeu+PtHW1vmDlb99xatLL7/gG2rJAqIgkN2rlsvqsh6SK7rR9eJzRxe+/Pn7KmevROfms65duHLl91oQ99FMo3bgiICxR7F+VRRMkEIW8LOUABfCIEFbGdWVyx4iIfhUr8bq7+9nMNPmX37d/6dPW7K7FGhRLkVeSgElJTliX9s5tOSBwW+9lQDup/5nVhB+IiMQ0U5mvmJ0Ufd3mvuGzxOhNh2d1QfWrF4x1b30tCEAzenRw5u7l67YS0T5scQwUhL53NxqNgZOCpbggqupJLzzCAJdyG46C849VRZ2YcGZp+8EMzZu3Uro7T1FhkefEEqO3/ZPn7t69NDYX9hWwx7soEMFkWQ8fNf2X2PmLxDR3nl+0DPSAI8zggHwpdZ/x3tG/nNlDSKCl0EAWLtWAXCSAItiQVpcTcceDEa5WmFTj4mr0Uz3hedse6oEhH7uxwAN4MLffet3vvm9295rDh6JhFYshCCppPDO+WzfoTMf+v6NVwD4YH9rHOAZa4CjRjhGarJoYxY0+tYi8eDgoNixYwc/VuQUKKZpxvq6P/9AJKWEJkBKQp7lRwVAuKU3wc5xpVyiUkfHaBXBwafRAWQA0NDbO84+8/bG+OwlHEiOmwmhRQCzcw0+cud9b2TmTxLRLDPTM9oAx7qUE7zEPc4fz9cAS/JGc32aZUCoRZ6YIvthD6UVhBRgQwWbgQgdq5cfBNB8HEx+Sp+zdWKTh7513Wd23v3Ay7N6k6SULAQRM8jGGc3t3rt5dGjohQCuGxwcFM8J/eUn6rLFM1PKs4e1tpBBLmtAE0gLqCgoIGgJqO52dG88804iMn0nieM/QTQGAJz2ihftFQs6jGAmJhQ6RcYQe/ZqpiGH79h2GQRhR28vP+cM0N9ahEP79qzXSi9UYVEDeC48lAwUVKDh4aECzcJ64aMg6Vp/xo3Hfv/TARbb29sPybbqQTCDrWPZ0rjwkpA3YtR2Df0CO989APjnnAHm25N2Zq5TWtZCShZCkDEG3vsiBTWm0KaWElpKRIsXTS5as2bo2F38VJ/WCWqmaZp55yGEhBSFVJqSipx3aB4ePWtmZuKcZ2Qd8PQtUDTkG6PjbNPsqARma0qlIP764m4CMDwFCpXlPfdi/nr0p9GIuvnmm+XAwIA/vGvXL/Ds3HoVhkyCyOQWSqqCeRFGyGt1NXrn9p7njAGYmZhZFIIYg5KIOK41c1lMwgNAMTDhC+p4GIaAkkidFeGCLiw7/5zrislPPqUCbP7nbt26VQIQl1xyiWXms+/71JcHxERNqyCAVpqCMChU4KUgY5xzMw3MHR67kISAerYu+DEA3vwQxfzC5czcc/OnP/urRTFUMHfyQpf0KJeTJXEoFUUrl42ufNFFN/UBAq+4WWzduPWxNLe//ydc0uDgIO3o7eWBxzSkGQBkFKJWn33VtX/xwY83tu3Y5AkcSElBoBHHCZx1UFJAKEHSeWRztfO8c1o9yxad+h9b8KNBj5kjAJsevuX2ddWe7g13fOZfLhu57pbnk/PQgRZ5mkEICa0U8jhDPFsHhYor1TZa+eIX/Lsolx5lIgxccok/Dthz/A+kFTg3UQ6csff2u146+dCuF133rve/ifYMV4RS3lor0iw/OroEErAt+UvBjObw2GoAS+nZsviPkyiWAILJkZHL9t+7/fXpgeG1zfGp56UTU9VAKeSzc2iMTbFQkso6KJgQLYFB08zgPUOWNSptbQjWr360c/P6e3QQzalAbYsWdplStap8FI2Xly18pC1so9adfX42b1am9+zdMLvj0XObE9PLmlMzp+XTtY1uYmYBzzbg0wyklXfOCWI6qj+a5RlKQQilNYwxzJkhtXpx82Uf/avXPStOABFxUCphJo4vPHDb7b13bf23zc7Yqs3z5/PYhDLTNXCSgqzluN7wPstJSCFCIUEobt0owDgFBALEgIwCWOfBD+89c+bg6JleEFgKsNYIogBNZ1lJMUNMxXtYy86z1oLaaa4Jn+YgZtg8h3WOBZOnQAvvvZBaQQQKtplBEcGRLHhG1EL5pOS8mVRqo6Ob6dmw85m5+6bPffEzzf3Dv1wOAiEZiBZ2IejsRNeKFZDGYv+ddyGv1SAhkMUxzEwdrsWyZubHBqelaKm/F5eEBlHA5NgTAM+eHJicNSwgRSHLWTCnjbHF+JEULIRgrRRLJcmwJ+s9lQKNNDeQzCAu7kHgzMJmeesiOkZUDmGNAzvHQU8XbXjPb/zZsyUGlHw9Lq/YePZ3pdIvGL71xz2ps2KhClE7OFzPbX5/ecXyM6RUS+uHRlnJgBCFQO5AkmCsBZiglS4kEHThVIQUcOyJ2UtRbE8oIUFEJKViZoZUspCzEYVySykKKLeGolIZ9Waj6CmIgjEdBSFES13SZGnBmnYKwjOstzCZKWiQVBiIWBj1THc9rVMwzMxb9m978PP7rvlelwhD0X3mmfvXvuLFMbN7VITh1Xkj/r3D19+ydCrey7pSIdsSjlJKFRyg+dFXWbgDY0zBhiaCo+KOYiEEwlKINE6hlCTvPbIkLQo4KRHoYta61JoRaytX0MxSgLlQcyQCkYCHhzEWgVKt+y+LwcckSSFAHGlFXqu4a+2a+9WzJQgDSLN6rWFm6uHizZuwcN0Z8dyB4ZI39jXjD+9+lQyCkmk2IZUUaZpCKQnfGpyg1gJ7z9CBQpbm4EKbAtZZROUSTJ6DBQqYWhb3WHpXQNYQKP4NDFgPXdJg72Bc0ewJgxBpniEzDu3VtkJyQbbo687DW48g1Ai0BoMZntG+avkDC5cs2f6sQEOPYR/8cXxkqjJx/4OXm3ozWHLB+YfbVvXcl9nsnLmhA2c2JibY5YbCUgSyhd9XutiFaYsF4ZyGZ0YUha2ZriKVj0pRkbFkGax10KK4P1NrBeccsjwHExDooPU9hbsqplaLG6YqUQk2y+GNhWDApDlMZiCVKshfWiGHg6hUaPmLL/giEc08a7KgFoVxlpk/PLxpfWc2Ozc2unvXmsmv73hZOjaxgJwrXhko5OwRqAAQAmmSQcqi7+uJYa0t/LaUAAjWmtbPEAi0BoHgXDF87VDcX58bCykIWilQy53AeaR5Dja2dcuURJplcJmBy3IEqhj4ECSOslZJkJepFdXnrTl81qt/8bpnbEvy+DBn4Yr23rHNHX5gxyLB/FK7Y3cpPTgMXYocKwHPnpA78rkjGwAAIctSMAOlcgg4C2sdJAvkxhRyAs6hUim3JmAKbYpSFMHldt79wfsCVGMiyNb9NsU1KBbeFH0GaQSyLC/kaTKH3OYIoscmaVWg2cQJosUL+fTX/eIHSYgDfX19gvAseo6BIM556Jrv/+3kPfdvMuPTi0WSFXoNaYqsmUGXQs9ElGUpzd/0FGiF3BRZCDlAKoVqZxusKQasnbPFrU1EgPWtRRfFKGuWH2XUSSVhTA7jLKQQUK2mvs+LLKe102Fzi7AUwBHAxCCG0xBy5Zsu+8bz3vG2K0Bkwacq+vgMeuZGRha1LV3aOXr3g5c0JifW1cfHfDo7d35yaOyi5NBIm0lSWMEeRGL+ngNrLSrlMrQsgLmwEiFuKadrrWFtsagSRd4fRmFxrz371v93YBTzBUwoCjoP5GkG3YoH3noIrWDyQimLQgljrItActGlF9/1kr94zy8R0ZH5GudZa4AnOCEawLn3fOlrfzR+5/ZftSPjkWdmEWikaUEfD3WAMAgLGYRKqVBmQZH1kCjmzwQDzbiJeXnJ+SkaKQR8a9dKBtJGAmLAW3e016wCDUHFqYAgFlJ4BcjFL7/owAvf/99/jYjuOPYeMvUsXuyjzfr52zpaDIp7g0r5bWN7Dnxu97eufe/s9h1vyEYnoVXgbZYUd5Qxw7cU4ImKVLQgTzOEkvAt/N56B7IO1plicrK4TRTO+WJQOzXFRRbccjNEcMYCWkFUAp/Wm6Kt2iGXXnLxjRe+5x1/REQP8uMkC55rJ2BerWt+Ol3vufOe39s7+N2/zIYOLXHMXgchAAgnfOGrjS2Ks5bf994DorgjDQBcUjR1rCnmxJx1QF7UB/MxAihYD846SK2YnfcyEBLd7Y3Vr/vFz57/a2/8EBGNH+8GPvVcMsBRfJ4IW7/+ddk6EZ+Mme+7+0Of+FRz19BmrmdwBEZAXFyRIoidJ2tMUS1LAhwjZ4Csa91dQMX8cDFHAJCHdRY6KIb68syAmb11lk2aylJnm2zbvH7H5t+94n0969ddg7e4J7z+UOI5+gwODs7z8cWrLrnk4P/5j+uups7qEZOkZyHPO12akDOGkjQlycJ5YggpuKUpVswJ6wAEonltoXmpM0jBIlAgQey8L+T5rBXVrg5RPmPl3MrXXfp3L3rvO99T7e6+p8+zuPkEI0qEn4Pn2OkUZl596I67Lxm+94E31/cPbzSztWWyngqbZ0jzDNyCr6VHS3KS2VjTGpuleYlLkiTAzkFICapWUF7ac3DpxeffuvltWz5FSt4B53Ey0/I/FwaYjw/9/f10jCE0gEUzj+694Mj9D104M3Tg7HimdqZN0hVZMxZ+LvbemkCCqr4FaVNLz9oGMlVhmJQWdI61rVn14LKLNn9nzYsuukFF4YjL8vlxppOaPPq5McAxhhCDg4P0+MkXXS0jrzcXAlhlAJod3u+ah6c6fT0+L52eklmSIyhHHHS0yWBB+86FZ50xUql0jutq+bBtJv/p/U/lqtv/H+hYNqn5L7o4AAAAAElFTkSuQmCC");
  filter: drop-shadow(0 8px 18px rgba(93, 24, 40, .08));
  transform-origin: 50% 50%;
  will-change: transform;
}
.page-loader.is-running .page-loader__mark {
  animation: mb-loader-spin 1s linear 1 forwards;
}
@keyframes mb-loader-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes mb-loader-failsafe {
  to { opacity: 0; visibility: hidden; pointer-events: none; }
}
@media (max-width: 767px) {
  .page-loader__mark { width: 58px; }
}


img, svg { max-width: 100%; height: auto; }
img { display: block; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.2em; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }

:focus-visible {
  outline: 3px solid var(--color-acento-azul);
  outline-offset: 3px;
}

::selection { background: var(--color-secundario); color: var(--color-texto); }

.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 9999;
  padding: 0.72rem 1rem;
  border-radius: 999px;
  background: var(--color-texto);
  color: var(--color-blanco);
  transform: translateY(-160%);
  transition: transform 160ms ease;
}
.skip-link:focus { transform: translateY(0); }

.container {
  width: min(calc(100% - 40px), var(--max));
  margin-inline: auto;
}
.container--text { width: min(calc(100% - 40px), var(--max-text)); margin-inline: auto; }

.eyebrow {
  margin: 0 0 0.7rem;
  color: var(--color-primario);
  font-size: 0.75rem;
  font-weight: 750;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

h1, h2, h3, .display {
  margin-top: 0;
  font-family: var(--font-display);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -0.025em;
}
h1 { font-size: clamp(2.55rem, 7.2vw, 5.7rem); }
h2 { font-size: clamp(2rem, 4.6vw, 3.75rem); }
h3 { font-size: clamp(1.35rem, 2.4vw, 2rem); }
p { margin-top: 0; }
.lead { font-size: clamp(1.08rem, 1.9vw, 1.32rem); line-height: 1.7; }
.kicker { font-size: clamp(1.15rem, 2vw, 1.45rem); font-family: var(--font-display); }
.small { font-size: 0.9rem; }
.muted { color: rgba(51, 51, 51, 0.72); }

.button,
button.button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  padding: 0.78rem 1.2rem;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--color-primario);
  color: var(--color-blanco);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.1;
  text-decoration: none;
  cursor: pointer;
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}
.button:hover { transform: translateY(-1px); box-shadow: 0 8px 22px rgba(160, 43, 65, 0.18); }
.button--secondary {
  background: transparent;
  color: var(--color-texto);
  border-color: var(--color-borde-fuerte);
}
.button--secondary:hover { box-shadow: none; border-color: var(--color-texto); }
.button--light { background: var(--color-blanco); color: var(--color-primario); }
.button--text {
  min-height: auto;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-primario);
  text-decoration: underline;
  text-underline-offset: 0.28em;
}
.button--text:hover { transform: none; box-shadow: none; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 120;
  min-height: var(--header-h);
  border-bottom: 1px solid rgba(51, 51, 51, 0.08);
  background: rgba(249, 248, 246, 0.94);
  backdrop-filter: blur(14px);
}
.header-inner {
  min-height: var(--header-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem;
}
.brand-link { display: inline-flex; align-items: center; text-decoration: none; min-width: 0; }
.brand-logo { width: 220px; max-width: 54vw; height: auto; }
.nav-toggle {
  display: inline-flex;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-borde-fuerte);
  border-radius: 999px;
  background: transparent;
  cursor: pointer;
}
.nav-toggle svg { width: 22px; height: 22px; }
.site-nav {
  position: fixed;
  inset: var(--header-h) 0 auto 0;
  padding: 1.1rem 20px 1.5rem;
  border-bottom: 1px solid var(--color-borde);
  background: var(--color-fondo);
  box-shadow: 0 18px 35px rgba(51, 51, 51, 0.08);
  transform: translateY(-130%);
  visibility: hidden;
  transition: transform 190ms ease, visibility 190ms ease;
}
.site-nav.is-open { transform: translateY(0); visibility: visible; }
.site-nav ul { display: grid; gap: 0.35rem; margin: 0; padding: 0; list-style: none; }
.site-nav a {
  display: flex;
  min-height: 48px;
  align-items: center;
  padding: 0.55rem 0.75rem;
  border-radius: 999px;
  font-size: 1rem;
  font-weight: 650;
  text-decoration: none;
}
.site-nav a:hover, .site-nav a[aria-current="page"] { background: rgba(227, 162, 186, 0.22); color: #7f1e35; }
.site-nav .nav-cta { margin-top: 0.4rem; background: var(--color-primario); color: var(--color-blanco); justify-content: center; }
.site-nav .nav-cta:hover { background: #8d2639; color: var(--color-blanco); }

.hero {
  position: relative;
  isolation: isolate;
  min-height: calc(100svh - var(--header-h));
  display: grid;
  align-items: start;
  padding: clamp(2.25rem, 4.2vw, 4.25rem) 0 clamp(3.5rem, 6vw, 5rem);
  overflow: hidden;
}
.hero::before,
.hero::after {
  content: "";
  position: absolute;
  z-index: -2;
  border-radius: 50%;
  filter: blur(1px);
  pointer-events: none;
}
.hero::before {
  width: clamp(260px, 44vw, 660px);
  aspect-ratio: 1;
  right: -11%;
  top: 3%;
  background:
    radial-gradient(circle at 35% 34%, rgba(227,162,186,.58), rgba(227,162,186,.16) 46%, transparent 70%);
}
.hero::after {
  width: clamp(260px, 38vw, 540px);
  aspect-ratio: 1;
  left: -15%;
  bottom: -19%;
  background:
    radial-gradient(circle at 60% 45%, rgba(143,169,152,.35), rgba(143,169,152,.10) 52%, transparent 72%);
}
.hero-grid { display: grid; gap: 2.7rem; align-items: center; }
.hero-copy { position: relative; z-index: 2; }
.hero-copy h1 { max-width: 850px; margin-bottom: 1rem; }
.hero-subtitle {
  max-width: 710px;
  margin: 0 0 0.9rem;
  color: var(--color-primario);
  font-size: clamp(1.22rem, 2.2vw, 1.65rem);
  font-weight: 700;
}
.hero-concept {
  display: inline-block;
  margin: 0 0 1.25rem;
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2.5vw, 1.8rem);
  font-style: italic;
}
.hero-text { max-width: 700px; margin-bottom: 1.7rem; font-size: clamp(1rem, 1.5vw, 1.15rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 0.7rem; }
.hero-art {
  position: relative;
  min-height: 480px;
  display: grid;
  place-items: center;
}
.hero-art::before {
  content: "";
  position: absolute;
  width: min(92vw, 520px);
  aspect-ratio: 0.94;
  border-radius: 51% 49% 52% 48% / 43% 53% 47% 57%;
  background:
    radial-gradient(circle at 50% 40%, rgba(255,255,255,.92), rgba(249,248,246,.56) 60%, transparent 72%),
    linear-gradient(135deg, rgba(135,151,168,.18), rgba(143,169,152,.22));
  box-shadow: inset 0 0 70px rgba(255,255,255,.55);
  transform: rotate(-4deg);
}
.hero-art .tower {
  position: relative;
  z-index: 2;
  width: clamp(105px, 14vw, 162px);
  filter: drop-shadow(0 18px 26px rgba(95, 35, 45, 0.14));
}
.hero-art .monogram {
  position: absolute;
  z-index: 3;
  width: clamp(98px, 12vw, 145px);
  right: 10%;
  bottom: 8%;
  transform: rotate(2deg);
  opacity: 0.95;
}
.hero-art .leaf-line {
  position: absolute;
  z-index: 1;
  width: 230px;
  height: 360px;
  left: 4%;
  top: 10%;
  border: 1px solid rgba(143,169,152,.65);
  border-width: 0 0 0 1px;
  border-radius: 50%;
  transform: rotate(22deg);
}
.hero-art .leaf-line::before,
.hero-art .leaf-line::after {
  content: "";
  position: absolute;
  width: 70px;
  height: 32px;
  border: 1px solid rgba(143,169,152,.72);
  border-radius: 100% 0 100% 0;
}
.hero-art .leaf-line::before { left: -8px; top: 30%; transform: rotate(-35deg); }
.hero-art .leaf-line::after { left: 4px; top: 52%; transform: rotate(35deg) scaleX(-1); }
.hero-note {
  position: absolute;
  z-index: 3;
  left: 5%;
  bottom: 2%;
  width: 190px;
  min-height: 92px;
  padding: 0.75rem 0.95rem;
  border: 1px solid rgba(51,51,51,.10);
  border-radius: 999px;
  background: rgba(249,248,246,.88);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.18rem;
  text-align: center;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.hero-note > span { display: block; width: 100%; }

.section { padding: clamp(4.5rem, 9vw, 8rem) 0; }
.section--tight { padding: clamp(3.5rem, 7vw, 5.5rem) 0; }
.section--pink { background: rgba(227, 162, 186, 0.15); }
.section--sage { background: rgba(143, 169, 152, 0.13); }
.section--dark { background: var(--color-texto); color: var(--color-fondo); }
.section-heading { max-width: 840px; margin-bottom: clamp(2.2rem, 5vw, 4rem); }
.section-heading h2 { margin-bottom: 1rem; }
.section-heading p:last-child { margin-bottom: 0; }

.intro-grid { display: grid; gap: 2rem; align-items: start; }
.intro-quote {
  padding: clamp(1.6rem, 4vw, 2.8rem);
  border-left: 4px solid var(--color-primario);
  background: rgba(255,255,255,.52);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
}
.intro-quote blockquote {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.65rem, 3.4vw, 2.7rem);
  line-height: 1.2;
}

/* Inicio: cita editorial a todo el ancho */
.intro-grid--home .intro-quote--wide {
  grid-column: 1 / -1;
  width: 100%;
  margin: 0;
  padding: clamp(1.7rem, 3.2vw, 2.65rem) clamp(1.5rem, 5vw, 4.75rem);
  border-left: 3px solid var(--color-primario);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  background: rgba(255,255,255,.56);
}
.intro-grid--home .intro-quote--wide blockquote {
  max-width: 37ch;
  margin: 0 auto;
  text-align: center;
  font-size: clamp(1.75rem, 2.8vw, 2.5rem);
  line-height: 1.18;
}

.pillars { display: grid; gap: 1rem; margin-top: 2.5rem; }
.pillar {
  padding: 1.35rem 0 1.35rem 0;
  border-top: 1px solid var(--color-borde);
}
.pillar:last-child { border-bottom: 1px solid var(--color-borde); }
.pillar-number { color: var(--color-primario); font-size: 0.8rem; font-weight: 800; letter-spacing: 0.12em; }
.pillar h3 { margin: 0.35rem 0 0.45rem; }
.pillar p { margin-bottom: 0; max-width: 62ch; }

.services-list { border-top: 1px solid var(--color-borde-fuerte); }
.service-row {
  display: grid;
  gap: 0.65rem;
  padding: clamp(1.5rem, 3vw, 2.35rem) 0;
  border-bottom: 1px solid var(--color-borde-fuerte);
}
.service-row h3 { margin: 0; }
.service-row p { margin: 0; max-width: 66ch; }
.service-row .service-link { align-self: start; color: var(--color-primario); font-weight: 700; }
@media (max-width: 779px) {
  .service-row { gap: .75rem; padding-block: 1.65rem; }
  .service-row h3 { max-width: 24ch; }
  .service-row p { max-width: 100%; }
  .service-row .service-link { margin-top: .15rem; }
}

.method-grid { display: grid; gap: 1rem; }
.method-step {
  min-height: 210px;
  padding: 1.6rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--radius-md);
  background: rgba(255,255,255,.04);
}
.method-step .step-num { color: var(--color-secundario); font-weight: 800; }
.method-step h3 { margin: 2.8rem 0 0.65rem; color: var(--color-fondo); }
.method-step p { margin-bottom: 0; color: rgba(249,248,246,.78); }

.about-split { display: grid; gap: 2.2rem; align-items: center; }
.about-art {
  position: relative;
  min-height: 420px;
  display: grid;
  place-items: center;
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 70% 25%, rgba(227,162,186,.42), transparent 32%),
    radial-gradient(circle at 26% 72%, rgba(143,169,152,.34), transparent 38%),
    #f2eee9;
  overflow: hidden;
}
.about-art img.tower { height: 350px; width: auto; position: relative; z-index: 2; }
.about-art::after {
  content: "comprender para acompañar";
  position: absolute;
  right: -35px;
  bottom: 35px;
  color: rgba(160,43,65,.18);
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 6vw, 4.6rem);
  font-style: italic;
  line-height: .9;
  transform: rotate(-5deg);
}
.about-copy h2 { margin-bottom: 1.1rem; }
.credentials-mini { display: grid; gap: 0.65rem; padding: 0; margin: 1.5rem 0 1.8rem; list-style: none; }
.credentials-mini li { display: flex; gap: 0.7rem; align-items: flex-start; }
.credentials-mini li::before { content: "•"; color: var(--color-primario); font-weight: 900; }

.audience-grid { display: grid; gap: 1rem; }
.audience-item {
  padding: 1.55rem;
  border: 1px solid var(--color-borde);
  border-radius: var(--radius-md);
  background: rgba(255,255,255,.40);
}
.audience-item h3 { margin-bottom: 0.6rem; }
.audience-item p { margin-bottom: 0; }

.cta-band {
  position: relative;
  overflow: hidden;
  padding: clamp(3.5rem, 8vw, 6rem) 0;
  background: var(--color-primario);
  color: var(--color-blanco);
}
.cta-band::after {
  content: "";
  position: absolute;
  width: 420px;
  aspect-ratio: 1;
  right: -180px;
  top: -180px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 48% 52% 43% 57% / 57% 44% 56% 43%;
  transform: rotate(22deg);
}
.cta-grid { display: grid; gap: 1.5rem; align-items: end; position: relative; z-index: 2; }
.cta-band h2 { margin-bottom: 0.9rem; color: var(--color-blanco); }
.cta-band p { max-width: 680px; color: rgba(255,255,255,.86); }
.cta-actions { display: flex; flex-wrap: wrap; gap: 0.7rem; }
.cta-band .button--secondary { border-color: rgba(255,255,255,.6); color: var(--color-blanco); }

.page-hero { position: relative; padding: clamp(2.25rem, 4.2vw, 4.25rem) 0 clamp(3rem, 6vw, 5rem); overflow: hidden; }
.page-hero::before {
  content: "";
  position: absolute;
  width: 460px;
  aspect-ratio: 1;
  right: -180px;
  top: -210px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(227,162,186,.44), rgba(227,162,186,.08) 64%, transparent 72%);
}
.page-hero .lead { max-width: 760px; }
/* Sobre mí: continuidad visual entre la introducción y el relato, también en móvil. */
.page-hero--about { padding-bottom: .45rem; }
.page-hero--about .lead { margin-bottom: 0; }
.section--story-intro { padding-top: .75rem; }
.breadcrumbs { margin: 0 0 1.4rem; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 0.5rem; font-size: 0.86rem; color: rgba(51,51,51,.66); }
.breadcrumbs li + li::before { content: "/"; margin-right: 0.5rem; }
.breadcrumbs a { color: inherit; }

.story-grid { display: grid; gap: 3rem; }
.story-aside {
  align-self: start;
  padding: 1.5rem;
  border-radius: var(--radius-md);
  background: rgba(143,169,152,.13);
}
.story-aside img { width: 92px; margin-bottom: 1.3rem; }
.story-aside p:last-child { margin-bottom: 0; }
.prose { max-width: 74ch; }
.prose h2 { margin-top: 2.8rem; margin-bottom: 1rem; font-size: clamp(1.85rem, 3.2vw, 2.8rem); }
.prose h3 { margin-top: 2rem; }
.prose p { margin-bottom: 1.25rem; }
.prose ul { padding-left: 1.2rem; }
.prose li { margin-bottom: 0.5rem; }

.training-list { display: grid; gap: 0; margin: 1.5rem 0 0; padding: 0; list-style: none; border-top: 1px solid var(--color-borde); }
.training-list li { padding: 0.85rem 0; border-bottom: 1px solid var(--color-borde); }
.training-list li::before { content: "— "; color: var(--color-primario); font-weight: 800; }

.service-detail { display: grid; gap: 1.2rem; padding: clamp(2rem, 5vw, 3.4rem) 0; border-top: 1px solid var(--color-borde-fuerte); }
.service-detail:last-child { border-bottom: 1px solid var(--color-borde-fuerte); }
.service-detail h2 { margin-bottom: 0.8rem; font-size: clamp(2rem, 4vw, 3.3rem); }
.service-detail .service-notes { display: grid; gap: 0.5rem; padding: 0; margin: 1rem 0 0; list-style: none; }
.service-detail .service-notes li { display: flex; gap: .65rem; }
.service-detail .service-notes li::before { content: "•"; color: var(--color-acento-verde); font-weight: 900; }

.contact-grid { display: grid; gap: 2.5rem; align-items: start; }
.contact-card {
  padding: clamp(1.5rem, 4vw, 2.4rem);
  border-radius: var(--radius-md);
  background: rgba(143,169,152,.13);
}
.contact-card h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); }
.contact-list { display: grid; gap: 1rem; margin: 1.4rem 0 0; padding: 0; list-style: none; }
.contact-list strong { display: block; margin-bottom: .1rem; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--color-primario); }
.contact-list a { overflow-wrap: anywhere; }
.contact-quick { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.5rem; }

.form-shell {
  padding: clamp(1.4rem, 4vw, 2.5rem);
  border: 1px solid var(--color-borde);
  border-radius: var(--radius-md);
  background: rgba(255,255,255,.50);
  box-shadow: 0 16px 40px rgba(51,51,51,.05);
}
.form-shell h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); }
.form-grid { display: grid; gap: 1.15rem; }
.form-row { display: grid; gap: .45rem; }
.form-row label, .form-legend { font-weight: 700; }
.required { color: var(--color-primario); }
.form-control {
  width: 100%;
  min-height: 50px;
  padding: .78rem .9rem;
  border: 1px solid var(--color-borde-fuerte);
  border-radius: var(--radius-sm);
  background: var(--color-blanco);
  color: var(--color-texto);
  transition: border-color 120ms ease, box-shadow 120ms ease;
}
textarea.form-control { min-height: 170px; resize: vertical; }
.form-control:focus { border-color: var(--color-acento-azul); box-shadow: 0 0 0 3px rgba(135,151,168,.18); outline: none; }
.form-control[aria-invalid="true"] { border-color: var(--color-primario); box-shadow: 0 0 0 3px rgba(160,43,65,.12); }
.form-help { margin: 0; color: rgba(51,51,51,.68); font-size: .86rem; }
.field-error { min-height: 1.2em; margin: 0; color: #8d1f34; font-size: .84rem; font-weight: 650; }
.checkbox-row { display: grid; grid-template-columns: auto 1fr; gap: .65rem; align-items: start; }
.checkbox-row input { width: 20px; height: 20px; margin-top: .15rem; accent-color: var(--color-primario); }
.honeypot { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.form-status { min-height: 1.4rem; font-weight: 650; }
.form-status.is-error { color: #8d1f34; }

.legal-wrap { display: grid; gap: 2rem; }
.legal-toc {
  padding: 1.25rem 1.4rem;
  border-radius: var(--radius-md);
  background: rgba(143,169,152,.12);
}
.legal-toc h2 { font-size: 1.35rem; margin-bottom: .8rem; }
.legal-toc ul { margin: 0; padding-left: 1.1rem; }
.legal-toc li { margin-bottom: .35rem; }
.legal-content { max-width: 78ch; }
.legal-content h2 { margin-top: 3.1rem; font-size: clamp(1.7rem, 3vw, 2.45rem); }
.legal-content h3 { margin-top: 2rem; font-size: 1.25rem; font-family: var(--font-body); font-weight: 800; letter-spacing: 0; }
.legal-content table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: .92rem; }
.legal-content th, .legal-content td { padding: .8rem .7rem; border-bottom: 1px solid var(--color-borde); text-align: left; vertical-align: top; }
.legal-content th { background: rgba(227,162,186,.12); }
.legal-note { padding: 1rem 1.15rem; border-left: 4px solid var(--color-acento-verde); background: rgba(143,169,152,.10); }

.site-footer { padding: 3.2rem 0 1.4rem; border-top: 1px solid var(--color-borde); }
.footer-grid { display: grid; gap: 2rem; }
.footer-brand img { width: min(270px, 80vw); }
.footer-brand p { max-width: 430px; margin: .8rem 0 0; }
.footer-nav h2 { margin-bottom: .6rem; font-family: var(--font-body); font-size: .82rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.footer-nav ul { display: grid; gap: .42rem; margin: 0; padding: 0; list-style: none; }
.footer-nav a, .footer-nav button { color: rgba(51,51,51,.78); text-decoration: underline; text-underline-offset: .24em; }
.footer-nav button { padding: 0; border: 0; background: none; cursor: pointer; text-align: left; }
.footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .8rem; margin-top: 2.6rem; padding-top: 1.1rem; border-top: 1px solid var(--color-borde); font-size: .82rem; color: rgba(51,51,51,.66); }

.whatsapp-fab {
  position: fixed;
  z-index: 150;
  right: 20px;
  bottom: calc(20px + env(safe-area-inset-bottom));
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(180deg, #b5324c 0%, var(--color-primario) 100%);
  color: var(--color-blanco);
  box-shadow: 0 14px 34px rgba(93, 24, 40, .26);
  border: 2px solid rgba(255,255,255,.55);
  text-decoration: none;
  transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}
.whatsapp-fab::before {
  content: "";
  width: 31px;
  height: 31px;
  background: center / contain no-repeat url(../icons/whatsapp-white.png);
  display: block;
}
.whatsapp-fab:hover { transform: translateY(-2px); box-shadow: 0 18px 36px rgba(93, 24, 40, .32); }
.whatsapp-fab:focus-visible { outline: 3px solid rgba(143,169,152,.9); outline-offset: 3px; }
.whatsapp-fab svg { display: none; }
@media (max-width: 767px) {
  .whatsapp-fab { width: 60px; height: 60px; }
  .whatsapp-fab::before { width: 29px; height: 29px; }
}

.cookie-banner {
  position: fixed;
  z-index: 1000;
  inset: auto 12px calc(12px + env(safe-area-inset-bottom)) 12px;
  max-width: 980px;
  margin-inline: auto;
  padding: 1.2rem;
  border: 1px solid var(--color-borde-fuerte);
  border-radius: 20px;
  background: #fffdfa;
  box-shadow: 0 20px 60px rgba(51,51,51,.22);
}
.cookie-banner[hidden] { display: none; }
.cookie-banner__grid { display: grid; gap: 1rem; }
.cookie-banner h2 { margin: 0 0 .35rem; font-family: var(--font-body); font-size: 1.05rem; font-weight: 800; letter-spacing: 0; }
.cookie-banner p { margin: 0; font-size: .92rem; color: rgba(51,51,51,.78); }
.cookie-actions { display: grid; grid-template-columns: 1fr; gap: .55rem; }
.cookie-actions .button { width: 100%; }
.cookie-actions .button--secondary { background: var(--color-blanco); }

.cookie-dialog {
  width: min(calc(100% - 28px), 720px);
  max-height: min(86svh, 760px);
  padding: 0;
  border: 0;
  border-radius: 24px;
  background: var(--color-fondo);
  color: var(--color-texto);
  box-shadow: 0 24px 80px rgba(51,51,51,.28);
}
.cookie-dialog::backdrop { background: rgba(34,34,34,.5); backdrop-filter: blur(3px); }
.cookie-dialog__inner { padding: clamp(1.3rem, 4vw, 2rem); overflow: auto; max-height: min(86svh, 760px); }
.cookie-dialog__head { display: flex; justify-content: space-between; gap: 1rem; align-items: start; }
.cookie-dialog h2 { margin-bottom: .5rem; font-size: clamp(1.7rem, 4vw, 2.35rem); }
.cookie-close { width: 44px; height: 44px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid var(--color-borde-fuerte); border-radius: 50%; background: transparent; cursor: pointer; }
.cookie-category { display: grid; grid-template-columns: 1fr auto; gap: 1rem; padding: 1rem 0; border-top: 1px solid var(--color-borde); align-items: start; }
.cookie-category h3 { margin: 0 0 .3rem; font-family: var(--font-body); font-size: 1rem; font-weight: 800; letter-spacing: 0; }
.cookie-category p { margin: 0; font-size: .88rem; color: rgba(51,51,51,.74); }
.cookie-switch { width: 46px; height: 26px; margin-top: .1rem; accent-color: var(--color-primario); }
.cookie-necessary { color: var(--color-acento-verde); font-size: .8rem; font-weight: 800; }
.cookie-dialog__actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.2rem; }

.response-page { min-height: 100svh; display: grid; place-items: center; padding: 3rem 20px; }
.response-card { width: min(100%, 720px); padding: clamp(2rem, 5vw, 3rem); border: 1px solid var(--color-borde); border-radius: var(--radius-lg); background: rgba(255,255,255,.62); box-shadow: var(--shadow-soft); text-align: center; }
.response-card img { width: min(320px, 80%); margin: 0 auto 2rem; }
.response-card h1 { font-size: clamp(2.2rem, 6vw, 4rem); }
.response-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .65rem; margin-top: 1.5rem; }

.error-404 { min-height: calc(100svh - var(--header-h)); display: grid; place-items: center; padding: 4rem 0; text-align: center; }
.error-404 .tower { height: 220px; width: auto; margin: 0 auto 1.5rem; }
.error-code { color: var(--color-primario); font-family: var(--font-display); font-size: clamp(4rem, 16vw, 9rem); line-height: .8; }

@media (min-width: 620px) {
  .cookie-actions { grid-template-columns: repeat(3, 1fr); }
  .pillars { grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
  .pillar { border-bottom: 1px solid var(--color-borde); }
  .audience-grid { grid-template-columns: repeat(3, 1fr); }
  .method-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }
}

@media (min-width: 780px) {
  .nav-toggle { display: none; }
  .site-nav { position: static; inset: auto; padding: 0; border: 0; background: transparent; box-shadow: none; transform: none; visibility: visible; }
  .site-nav ul { display: flex; align-items: center; gap: .2rem; }
  .site-nav a { padding-inline: .82rem; font-size: .92rem; }
  .site-nav .nav-cta { margin: 0 0 0 .35rem; padding-inline: 1.05rem; }
  .hero-grid { grid-template-columns: minmax(0, 1.16fr) minmax(320px, .84fr); }
  .hero-art { min-height: 560px; }
  .intro-grid { grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); gap: clamp(3rem, 7vw, 6rem); }
  .intro-grid--home { column-gap: clamp(3rem, 7vw, 6rem); row-gap: clamp(1.8rem, 3vw, 2.6rem); }
  .service-row { grid-template-columns: minmax(220px, .9fr) minmax(0, 1.35fr) auto; gap: clamp(1.5rem, 3vw, 2.6rem); align-items: center; }
  .method-grid { grid-template-columns: repeat(4, 1fr); }
  .about-split { grid-template-columns: minmax(300px, .85fr) minmax(0, 1.15fr); gap: clamp(3rem, 7vw, 6rem); }
  .cta-grid { grid-template-columns: minmax(0, 1fr) auto; }
  .story-grid { grid-template-columns: minmax(0, 1fr) 280px; }
  .story-aside { position: sticky; top: calc(var(--header-h) + 24px); grid-column: 2; grid-row: 1; }
  .story-grid .prose { grid-column: 1; grid-row: 1; }
  .service-detail { grid-template-columns: minmax(260px, .82fr) minmax(0, 1.18fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
  .contact-grid { grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr); gap: clamp(3rem, 6vw, 5.5rem); }
  .contact-card { position: sticky; top: calc(var(--header-h) + 24px); }
  .legal-wrap { grid-template-columns: 260px minmax(0, 1fr); gap: 3rem; align-items: start; }
  .legal-toc { position: sticky; top: calc(var(--header-h) + 24px); }
  .cookie-banner__grid { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
  .cookie-actions { width: 410px; }
}

@media (min-width: 1200px) {
  .brand-logo { width: 260px; }
  :root { --header-h: 92px; }
}

@media (max-width: 410px) {
  .container, .container--text { width: min(calc(100% - 28px), var(--max)); }
  .hero-actions .button, .cta-actions .button, .contact-quick .button { width: 100%; }
  .hero-art { min-height: 420px; }
  .hero-note { left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.001ms !important; animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; }
}

/* Resultado del formulario */
.result-wrap { max-width: 760px; }
.result-symbol {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  margin-bottom: 1.2rem;
  border-radius: 50%;
  background: rgba(143,169,152,.18);
  color: #476454;
  font: 800 1.5rem/1 var(--font-body);
}
.result-symbol--error { background: rgba(160,43,65,.10); color: var(--color-primario); }

/* Legal: evitar desbordamientos en pantallas estrechas sin comprimir tablas extensas */
.legal-content { min-width: 0; overflow-wrap: anywhere; }
.legal-content a, .legal-content code { overflow-wrap: anywhere; word-break: break-word; }
.legal-content table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* Variantes de <button>: igualar especificidad con button.button base */
.button--secondary,
button.button--secondary {
  background: transparent;
  color: var(--color-texto);
  border-color: var(--color-borde-fuerte);
}
.button--secondary:hover,
button.button--secondary:hover { box-shadow: none; border-color: var(--color-texto); }
.button--light,
button.button--light { background: var(--color-blanco); color: var(--color-primario); }
.button--text,
button.button--text {
  min-height: auto;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-primario);
  text-decoration: underline;
  box-shadow: none;
}
.cookie-actions button.button--secondary { background: var(--color-blanco); }

/* El loader de marca es una única vuelta de 1 s solicitada expresamente y se mantiene consistente en todos los dispositivos. */
@media (prefers-reduced-motion: reduce) {
  .page-loader.is-running .page-loader__mark {
    animation-duration: 1s !important;
    animation-iteration-count: 1 !important;
  }
  .page-loader { transition-duration: 140ms !important; }
}

/* Fotografías editoriales — Sobre mí y Servicios */
.about-hero-grid {
  display: grid;
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
}
.about-hero-copy { min-width: 0; }
.about-hero-photo,
.story-photo,
.service-photo-card { margin: 0; }
.about-hero-photo {
  width: min(100%, 470px);
  justify-self: center;
}
.about-hero-photo picture,
.story-photo picture,
.service-photo-card picture { display: block; }
.about-hero-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 30px 30px 30px 9px;
  box-shadow: 0 22px 55px rgba(64,48,49,.13);
}
.about-hero-photo figcaption {
  max-width: 42ch;
  margin: .85rem 0 0;
  color: rgba(51,51,51,.68);
  font-size: .88rem;
  line-height: 1.5;
}

.story-aside .story-photo {
  margin: 0 0 1.35rem;
}
.story-aside .story-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  margin: 0;
  object-fit: cover;
  border-radius: 18px 18px 18px 6px;
}
.story-photo figcaption {
  margin-top: .7rem;
  color: rgba(51,51,51,.66);
  font-size: .8rem;
  line-height: 1.45;
}

.service-visual-heading { max-width: 850px; }
.service-visual-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin-top: clamp(2.2rem, 5vw, 4rem);
}
.service-photo-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(51,51,51,.10);
  border-radius: 24px 24px 24px 8px;
  background: rgba(255,255,255,.56);
  box-shadow: 0 16px 38px rgba(64,48,49,.06);
}
.service-photo-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}
.service-photo-card figcaption {
  padding: 1.15rem 1.2rem 1.3rem;
}
.service-photo-card figcaption span {
  display: block;
  margin-bottom: .35rem;
  color: var(--color-primario);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .105em;
  text-transform: uppercase;
}
.service-photo-card figcaption strong {
  display: block;
  margin-bottom: .45rem;
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 2.2vw, 1.8rem);
  font-weight: 500;
  line-height: 1.12;
}
.service-photo-card figcaption p {
  margin: 0;
  color: rgba(51,51,51,.76);
  font-size: .92rem;
  line-height: 1.55;
}

@media (min-width: 620px) {
  .service-visual-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.45rem;
  }
}

@media (min-width: 780px) {
  .page-hero--about { padding-bottom: clamp(2.3rem, 4vw, 3.8rem); }
  .about-hero-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(300px, .72fr);
  }
  .about-hero-photo { justify-self: end; }
  .service-visual-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1.5rem;
  }
  .service-photo-card { grid-column: span 2; }
  .service-photo-card--large { grid-column: span 3; }
}

@media (max-width: 779px) {
  .about-hero-photo {
    width: min(100%, 430px);
    justify-self: start;
  }
  .about-hero-photo figcaption { font-size: .84rem; }
  .story-aside { padding: 1.2rem; }
}

@media (max-width: 410px) {
  .about-hero-photo img,
  .story-aside .story-photo img,
  .service-photo-card img { border-radius: 18px 18px 18px 6px; }
  .service-photo-card figcaption { padding: 1rem 1rem 1.15rem; }
}

/* Inicio — integración editorial de fotografías */
.home-intro-media {
  display: grid;
  gap: 1.25rem;
  min-width: 0;
}
.home-editorial-photo,
.home-service-photo,
.home-about-photo {
  margin: 0;
  min-width: 0;
}
.home-editorial-photo img,
.home-service-photo img,
.home-about-photo img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.home-editorial-photo img {
  aspect-ratio: 4 / 5;
  border-radius: 26px 26px 26px 8px;
  box-shadow: 0 20px 48px rgba(64,48,49,.10);
  object-position: center 46%;
}
.home-editorial-photo figcaption,
.home-about-photo figcaption {
  max-width: 48ch;
  margin-top: .8rem;
  color: rgba(51,51,51,.68);
  font-size: .86rem;
  line-height: 1.5;
}
.home-editorial-photo figcaption strong {
  color: var(--color-texto);
  font-weight: 750;
}

.home-service-feature {
  display: grid;
  gap: clamp(1.4rem, 4vw, 3rem);
  align-items: center;
  margin-top: clamp(3rem, 6vw, 5rem);
  padding: clamp(1rem, 2.6vw, 1.6rem);
  border: 1px solid rgba(51,51,51,.09);
  border-radius: 30px 30px 30px 10px;
  background:
    radial-gradient(circle at 82% 18%, rgba(227,162,186,.18), transparent 34%),
    rgba(143,169,152,.09);
}
.home-service-photo {
  overflow: hidden;
  border-radius: 22px 22px 22px 7px;
  background: #eee9e3;
}
.home-service-photo img {
  aspect-ratio: 4 / 5;
  object-position: center 45%;
}
.home-service-photo figcaption {
  padding: .85rem 1rem 1rem;
  background: rgba(249,248,246,.92);
  color: rgba(51,51,51,.70);
  font-size: .84rem;
  line-height: 1.5;
}
.home-service-feature__copy {
  min-width: 0;
  padding: .25rem clamp(.25rem, 2vw, 1.2rem);
}
.home-service-feature__copy h3 {
  max-width: 17ch;
  margin-bottom: 1rem;
  font-size: clamp(2rem, 4vw, 3.4rem);
}
.home-service-feature__copy p:last-child {
  max-width: 56ch;
  margin-bottom: 0;
}

.home-about-photo {
  width: min(100%, 440px);
  justify-self: center;
}
.home-about-photo img {
  aspect-ratio: 4 / 5;
  border-radius: 30px 30px 30px 9px;
  box-shadow: 0 22px 55px rgba(64,48,49,.13);
  object-position: center 38%;
}
.home-about-photo figcaption {
  margin-left: .15rem;
}

@media (min-width: 780px) {
  .home-intro-media { align-self: start; }
  .home-editorial-photo { width: min(100%, 430px); justify-self: end; }
  .home-service-feature { grid-template-columns: minmax(320px, .9fr) minmax(0, 1.1fr); }
  .home-service-photo { max-width: 520px; }
  .home-about-photo { justify-self: start; }
}

@media (max-width: 779px) {
  .intro-grid--home { gap: 1.5rem; }
  .intro-grid--home .intro-quote--wide {
    padding: 1.45rem 1.15rem;
    border-left-width: 3px;
    border-radius: 0 20px 20px 0;
  }
  .intro-grid--home .intro-quote--wide blockquote {
    max-width: 25ch;
    font-size: clamp(1.5rem, 7vw, 1.95rem);
    line-height: 1.22;
  }
}

@media (max-width: 779px) {
  .home-intro-media { margin-top: .35rem; }
  .home-editorial-photo,
  .home-about-photo { width: min(100%, 470px); }
  .home-service-feature { padding: .9rem; border-radius: 24px 24px 24px 8px; }
  .home-service-feature__copy { padding: .25rem .35rem .6rem; }
  .home-service-feature__copy h3 { max-width: 20ch; }
  .home-service-photo img { aspect-ratio: 4 / 5; }
}

@media (max-width: 410px) {
  .home-editorial-photo img,
  .home-about-photo img,
  .home-service-photo { border-radius: 18px 18px 18px 6px; }
  .home-editorial-photo figcaption,
  .home-about-photo figcaption,
  .home-service-photo figcaption { font-size: .81rem; }
}


/* Bilingual language selector */
.lang-nav-item { display: flex; align-items: center; }
.language-switch {
  display: inline-flex;
  align-items: center;
  gap: .28rem;
  min-height: 38px;
  padding: .22rem .48rem;
  border: 1px solid rgba(51,51,51,.14);
  border-radius: 999px;
  background: rgba(255,255,255,.45);
  color: rgba(51,51,51,.72);
  font-size: .76rem;
  font-weight: 750;
  letter-spacing: .045em;
  white-space: nowrap;
}
.language-switch__icon { width: 16px; height: 16px; flex: 0 0 16px; color: var(--color-acento-verde); }
.site-nav .language-switch .lang-link {
  min-height: 30px;
  padding: .26rem .38rem;
  border-radius: 999px;
  font-size: .76rem;
  line-height: 1;
  color: rgba(51,51,51,.72);
  background: transparent;
  justify-content: center;
}
.site-nav .language-switch .lang-link:hover { background: rgba(227,162,186,.14); color: #7f1e35; }
.site-nav .language-switch .lang-link.is-active { background: rgba(227,162,186,.24); color: #7f1e35; }
.language-switch__sep { opacity: .35; }
@media (min-width: 780px) {
  .lang-nav-item { margin-left: .35rem; }
}
@media (max-width: 779px) {
  .site-nav .lang-nav-item { padding: .45rem .75rem .15rem; }
  .language-switch { width: fit-content; }
}
