.elementor-kit-4{--e-global-color-primary:#A44D34;--e-global-color-secondary:#222522;--e-global-color-text:#484D49;--e-global-color-accent:#107FAA;--e-global-color-ll_paper:#F7F5F0;--e-global-color-ll_warm:#FAF7F0;--e-global-color-ll_stone:#E9E9E6;--e-global-color-ll_sage:#E3E9E4;--e-global-color-ll_line:#D7D3CB;--e-global-color-ll_inksoft:#383D39;--e-global-color-ll_muted2:#455354;--e-global-color-ll_crimson:#9B392A;--e-global-color-ll_rustsoft:#D9A58F;--e-global-color-ll_gold:#FFAE4B;--e-global-color-ll_teal:#0B6B63;--e-global-color-ll_terra:#B9674B;--e-global-color-ll_coral:#C94734;--e-global-color-ll_cobalt:#2448A9;--e-global-color-ll_marigold:#F2B638;--e-global-color-ll_dark:#303633;--e-global-color-ll_darker:#262B28;--e-global-color-ll_night:#202B2C;--e-global-color-ll_white:#FFFFFF;--e-global-color-ll_clay:#C47457;--e-global-color-ll_mist:#E2E3DD;--e-global-color-ll_fog:#C7CBC5;--e-global-color-ll_ochre:#8A6A1F;--e-global-color-ll_slate:#5F6F68;--e-global-color-ll_rustdark:#8E3F29;--e-global-typography-primary-font-family:"Fraunces";--e-global-typography-primary-font-size:clamp(1.9rem, 3.4vw, 2.8rem);--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:1.12em;--e-global-typography-primary-letter-spacing:-0.015em;--e-global-typography-secondary-font-family:"Fraunces";--e-global-typography-secondary-font-size:clamp(1.25rem, 1.7vw, 1.45rem);--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:1.25em;--e-global-typography-text-font-family:"Libre Franklin";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"Libre Franklin";--e-global-typography-accent-font-size:15px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-line-height:1.2em;--e-global-typography-ll_hxl-font-family:"Fraunces";--e-global-typography-ll_hxl-font-size:clamp(2.7rem, 6vw, 5.4rem);--e-global-typography-ll_hxl-font-weight:400;--e-global-typography-ll_hxl-line-height:1.04em;--e-global-typography-ll_hxl-letter-spacing:-0.025em;--e-global-typography-ll_hl-font-family:"Fraunces";--e-global-typography-ll_hl-font-size:clamp(2.3rem, 4.6vw, 3.9rem);--e-global-typography-ll_hl-font-weight:400;--e-global-typography-ll_hl-line-height:1.06em;--e-global-typography-ll_hl-letter-spacing:-0.02em;--e-global-typography-ll_h2-font-family:"Fraunces";--e-global-typography-ll_h2-font-size:clamp(1.9rem, 3.4vw, 2.8rem);--e-global-typography-ll_h2-font-weight:400;--e-global-typography-ll_h2-line-height:1.12em;--e-global-typography-ll_h2-letter-spacing:-0.015em;--e-global-typography-ll_h3-font-family:"Fraunces";--e-global-typography-ll_h3-font-size:clamp(1.25rem, 1.7vw, 1.45rem);--e-global-typography-ll_h3-font-weight:400;--e-global-typography-ll_h3-line-height:1.25em;--e-global-typography-ll_dialog-font-family:"Fraunces";--e-global-typography-ll_dialog-font-size:clamp(1.8rem, 4vw, 2.6rem);--e-global-typography-ll_dialog-font-weight:400;--e-global-typography-ll_dialog-line-height:1.1em;--e-global-typography-ll_dialog-letter-spacing:-0.015em;--e-global-typography-ll_practice-font-family:"Fraunces";--e-global-typography-ll_practice-font-size:clamp(1.35rem, 2.6vw, 2.1rem);--e-global-typography-ll_practice-font-weight:400;--e-global-typography-ll_practice-line-height:1.15em;--e-global-typography-ll_practice-letter-spacing:-0.01em;--e-global-typography-ll_name-font-family:"Fraunces";--e-global-typography-ll_name-font-size:19px;--e-global-typography-ll_name-font-weight:400;--e-global-typography-ll_name-line-height:1.25em;--e-global-typography-ll_name_xl-font-family:"Fraunces";--e-global-typography-ll_name_xl-font-size:clamp(1.4rem, 2.2vw, 1.8rem);--e-global-typography-ll_name_xl-font-weight:400;--e-global-typography-ll_name_xl-line-height:1.2em;--e-global-typography-ll_stepnum-font-family:"Fraunces";--e-global-typography-ll_stepnum-font-size:36px;--e-global-typography-ll_stepnum-font-weight:400;--e-global-typography-ll_stepnum-line-height:1em;--e-global-typography-ll_monogram-font-family:"Fraunces";--e-global-typography-ll_monogram-font-size:21px;--e-global-typography-ll_monogram-font-weight:400;--e-global-typography-ll_monogram-line-height:1em;--e-global-typography-ll_footer_h-font-family:"Fraunces";--e-global-typography-ll_footer_h-font-size:21px;--e-global-typography-ll_footer_h-font-weight:400;--e-global-typography-ll_footer_h-line-height:1.3em;--e-global-typography-ll_eyebrow-font-family:"Libre Franklin";--e-global-typography-ll_eyebrow-font-size:13px;--e-global-typography-ll_eyebrow-font-weight:700;--e-global-typography-ll_eyebrow-text-transform:uppercase;--e-global-typography-ll_eyebrow-line-height:1.6em;--e-global-typography-ll_eyebrow-letter-spacing:0.2em;--e-global-typography-ll_eyebrow_hero-font-family:"Libre Franklin";--e-global-typography-ll_eyebrow_hero-font-size:15px;--e-global-typography-ll_eyebrow_hero-font-weight:700;--e-global-typography-ll_eyebrow_hero-text-transform:uppercase;--e-global-typography-ll_eyebrow_hero-line-height:1.5em;--e-global-typography-ll_eyebrow_hero-letter-spacing:0.23em;--e-global-typography-ll_kicker-font-family:"Libre Franklin";--e-global-typography-ll_kicker-font-size:12px;--e-global-typography-ll_kicker-font-weight:600;--e-global-typography-ll_kicker-text-transform:uppercase;--e-global-typography-ll_kicker-line-height:1.6em;--e-global-typography-ll_kicker-letter-spacing:0.2em;--e-global-typography-ll_role-font-family:"Libre Franklin";--e-global-typography-ll_role-font-size:13px;--e-global-typography-ll_role-font-weight:600;--e-global-typography-ll_role-text-transform:uppercase;--e-global-typography-ll_role-line-height:1.5em;--e-global-typography-ll_role-letter-spacing:0.14em;--e-global-typography-ll_lead-font-family:"Libre Franklin";--e-global-typography-ll_lead-font-size:17px;--e-global-typography-ll_lead-font-weight:400;--e-global-typography-ll_lead-line-height:1.8em;--e-global-typography-ll_hero_text-font-family:"Libre Franklin";--e-global-typography-ll_hero_text-font-size:18px;--e-global-typography-ll_hero_text-font-weight:400;--e-global-typography-ll_hero_text-line-height:1.7em;--e-global-typography-ll_body-font-family:"Libre Franklin";--e-global-typography-ll_body-font-size:16px;--e-global-typography-ll_body-font-weight:400;--e-global-typography-ll_body-line-height:1.75em;--e-global-typography-ll_small-font-family:"Libre Franklin";--e-global-typography-ll_small-font-size:14px;--e-global-typography-ll_small-font-weight:400;--e-global-typography-ll_small-line-height:1.75em;--e-global-typography-ll_meta-font-family:"Libre Franklin";--e-global-typography-ll_meta-font-size:13px;--e-global-typography-ll_meta-font-weight:400;--e-global-typography-ll_meta-line-height:1.6em;--e-global-typography-ll_button-font-family:"Libre Franklin";--e-global-typography-ll_button-font-size:15px;--e-global-typography-ll_button-font-weight:600;--e-global-typography-ll_button-line-height:1.2em;--e-global-typography-ll_nav-font-family:"Libre Franklin";--e-global-typography-ll_nav-font-size:14px;--e-global-typography-ll_nav-font-weight:500;--e-global-typography-ll_nav-line-height:1.4em;--e-global-typography-ll_step_title-font-family:"Libre Franklin";--e-global-typography-ll_step_title-font-size:19px;--e-global-typography-ll_step_title-font-weight:700;--e-global-typography-ll_step_title-line-height:1.4em;--e-global-typography-ll_dlead-font-family:"Libre Franklin";--e-global-typography-ll_dlead-font-size:18px;--e-global-typography-ll_dlead-font-weight:400;--e-global-typography-ll_dlead-line-height:1.7em;background-color:#F7F5F0;color:#222522;font-family:"Libre Franklin", Sans-serif;font-size:16px;line-height:1.6em;}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.elementor-kit-4 a{color:#A44D34;}.elementor-kit-4 h1{font-family:"Fraunces", Sans-serif;font-weight:400;}.elementor-kit-4 h2{font-family:"Fraunces", Sans-serif;font-weight:400;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1160px;}.e-con{--container-max-width:1160px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* =====================================================================
   The Legal Loft & Studio — efectos y detalles del diseño
   Colores y tipografías: Ajustes del sitio > Colores / Tipografía globales.
   Este CSS solo agrega animaciones, hovers y decoraciones.
   ===================================================================== */
:root {
  --ll-ease: cubic-bezier(.22, .61, .36, 1);
  --ll-out: cubic-bezier(.16, 1, .3, 1);
  --ll-io: cubic-bezier(.77, 0, .18, 1);
}
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; overflow-x: hidden; }
[id] { scroll-margin-top: 72px; }
.elementor-heading-title { font-optical-sizing: auto; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.ll-hxl .elementor-heading-title { font-variation-settings: 'opsz' 36; }

/* Animaciones de entrada de Elementor, ajustadas al diseño (suben 34px, easing suave) */
@keyframes llFadeInUp { from { opacity: 0; transform: translate3d(0, 34px, 0); } to { opacity: 1; transform: none; } }
@keyframes llFadeInRight { from { opacity: 0; transform: translate3d(44px, 0, 0); } to { opacity: 1; transform: none; } }
.elementor-element.animated.fadeInUp { animation-name: llFadeInUp; }
.elementor-element.animated.fadeInRight { animation-name: llFadeInRight; }
.elementor-element.animated { animation-duration: 1.1s; animation-timing-function: var(--ll-out); }

/* ---------- Header ---------- */
.ll-header {
  -webkit-backdrop-filter: saturate(1.4) blur(12px);
  backdrop-filter: saturate(1.4) blur(12px);
  transition: background-color .4s, box-shadow .4s;
}
.ll-header.elementor-sticky--effects { background-color: rgba(247, 245, 240, .96) !important; box-shadow: 0 10px 30px rgba(31, 32, 29, .07); --min-height: 68px !important; }
.ll-header .ll-logo img { height: 64px; width: auto; transition: height .4s var(--ll-ease); }
.ll-header.elementor-sticky--effects .ll-logo img { height: 46px; }
body:not(.elementor-editor-active) .ll-header { animation: llHeaderIn .9s var(--ll-out) .1s both; }
@keyframes llHeaderIn { from { transform: translateY(-100%); } to { transform: none; } }
.ll-nav .elementor-nav-menu--main .elementor-item { white-space: nowrap; }
.ll-header-actions { width: auto !important; --width: auto !important; flex: 0 1 auto !important; }
.ll-header .ll-logo { flex-shrink: 0; }
.ll-nav .elementor-nav-menu--dropdown { padding: 8px 0 20px; border-bottom: 1px solid #D7D3CB; }
.ll-nav .elementor-menu-toggle { border: 1px solid #D7D3CB; border-radius: 2px; }
.ll-nav-cta.is-active .elementor-button { background-color: #8E3F29; }
@media (max-width: 1024px) { .ll-header .ll-logo img { height: 50px; } }

/* ---------- Botones ---------- */
.ll-btn .elementor-button {
  position: relative; isolation: isolate; overflow: hidden;
  transition: transform .4s var(--ll-out), box-shadow .4s var(--ll-out), background-color .3s, color .3s;
}
.ll-btn .elementor-button::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: rgba(255, 255, 255, .18);
  transform: translateX(-101%);
  transition: transform .55s var(--ll-out);
}
.ll-btn .elementor-button:hover { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(31, 32, 29, .16); }
.ll-btn .elementor-button:hover::before { transform: none; }
.ll-btn-link .elementor-button, .ll-read-toggle .elementor-button, .ll-filter .elementor-button { box-shadow: none !important; }
.ll-btn-link .elementor-button::before, .ll-read-toggle .elementor-button::before, .ll-filter .elementor-button::before { display: none; }
.ll-btn-link .elementor-button:hover, .ll-read-toggle .elementor-button:hover { transform: none; }
.ll-btn-link .elementor-button:hover .elementor-button-text, .ll-read-toggle .elementor-button:hover .elementor-button-text { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 767px) {
  .ll-hero-actions > .elementor-widget-button { width: 100%; }
  .ll-hero-actions .elementor-button { width: 100%; }
}

/* ---------- Hero ---------- */
.ll-hero { isolation: isolate; }
.ll-hero > .e-con-inner { position: static; }
.ll-hero-content { position: relative; z-index: 1; }
.ll-hero::after {
  content: ""; position: absolute; z-index: 0;
  width: 38rem; height: 34rem; right: -12rem; bottom: -16rem;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(160, 75, 49, .22), transparent 69%);
  transform: rotate(-23deg); pointer-events: none;
}
.ll-hero .elementor-background-slideshow { filter: grayscale(.28) brightness(1.07); }
.ll-hero-mark { display: flex; align-items: center; gap: 16px; margin-bottom: 34px; color: #A44D34; }
.ll-hero-mark svg { width: 46px; height: 46px; overflow: visible; flex-shrink: 0; }
.ll-hero-mark path { stroke-dasharray: 1; stroke-dashoffset: 0; transition: stroke-dashoffset 1.6s var(--ll-io) .35s; }
.ll-hero-mark-wrap.elementor-invisible .ll-hero-mark path { stroke-dashoffset: 1; }
.ll-hero-mark-wrap.animated .beam-group { animation: llSway 7s ease-in-out 2.4s infinite; transform-origin: 12px 4px; transform-box: view-box; }
.ll-hero-mark .ll-accent { --d: 600ms; }
.ll-hero-mark-wrap.elementor-invisible .ll-accent span { transform: scaleX(0); }
@keyframes llSway { 0%, 100% { transform: rotate(0); } 30% { transform: rotate(-4deg); } 70% { transform: rotate(4deg); } }
.ll-scroll-cue-wrap { position: absolute !important; left: 50%; bottom: 26px; transform: translateX(-50%); z-index: 1; }
.ll-scroll-cue { display: block; padding: 4px; }
.ll-scroll-cue i { display: block; width: 1px; height: 46px; background: rgba(34, 37, 34, .2); position: relative; overflow: hidden; }
.ll-scroll-cue i::after { content: ""; position: absolute; left: 0; top: -50%; width: 100%; height: 50%; background: #A44D34; animation: llCue 2.2s var(--ll-io) infinite; }
@keyframes llCue { to { top: 100%; } }
@media (max-width: 767px), (max-height: 700px) { .ll-scroll-cue-wrap { display: none; } }
@media (max-width: 767px) { .ll-hero-mark svg { width: 40px; height: 40px; } }

/* ---------- Líneas de acento ---------- */
.ll-accent { display: flex; gap: 6px; }
.ll-accent span { display: block; height: 3px; width: 39px; transform-origin: left; transition: transform .8s var(--ll-out); }
.ll-accent span:nth-child(1) { background: #B86A51; transition-delay: var(--d, 0ms); }
.ll-accent span:nth-child(2) { background: #D1AD70; transition-delay: calc(var(--d, 0ms) + 110ms); }
.ll-accent span:nth-child(3) { background: #82918A; transition-delay: calc(var(--d, 0ms) + 220ms); }
.ll-accent span:nth-child(4) { background: #9B7771; transition-delay: calc(var(--d, 0ms) + 330ms); }
.ll-accent--bright { gap: 5px; }
.ll-accent--bright span { width: 30px; height: 5px; }
.ll-accent--bright span:nth-child(1) { background: #C94734; }
.ll-accent--bright span:nth-child(2) { background: #2448A9; }
.ll-accent--bright span:nth-child(3) { background: #F2B638; }
.ll-accent--bright span:nth-child(4) { background: #0B6B63; }
.ll-js .ll-accent-wrap:not(.is-in) .ll-accent span { transform: scaleX(0); }

/* ---------- Títulos que suben palabra por palabra ---------- */
.ll-split .elementor-heading-title .w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .1em; margin-bottom: -.1em; }
.ll-split .elementor-heading-title .w > span { display: inline-block; }
.ll-js .ll-split .w > span { transform: translateY(105%); transition: transform 1.1s var(--ll-out); transition-delay: calc(var(--d, 0ms) + var(--wi, 0) * 70ms); }
.ll-js .ll-split.is-in .w > span { transform: none; }
.ll-delay-600 { --d: 600ms; }

/* ---------- Imágenes con cortina + parallax ---------- */
.ll-img-reveal { overflow: hidden; border-radius: 2px; background: #D9D6CF; }
.ll-img-reveal img { display: block; }
.ll-js .ll-img-reveal img { clip-path: inset(100% 0 0 0); scale: 1.2; transition: clip-path 1.4s var(--ll-io), scale 2s var(--ll-out); }
.ll-js .ll-img-left img { clip-path: inset(0 100% 0 0); }
.ll-js .ll-img-reveal.is-in img { clip-path: inset(0 0 0 0); scale: 1; }
.ll-js .ll-parallax.is-in img { scale: 1.12; }

/* ---------- Esquinas decorativas ---------- */
.ll-art { position: relative; isolation: isolate; }
.ll-corner-bl::after, .ll-corner-br::after, .ll-square-tl::after { content: ""; position: absolute; pointer-events: none; z-index: 2; }
.ll-corner-bl::after { left: -16px; bottom: -16px; width: 112px; height: 112px; border-left: 2px solid #A44D34; border-bottom: 2px solid #A44D34; }
.ll-corner-br::after { right: -17px; bottom: -17px; width: 38%; height: 42%; border-right: 6px solid #F2B638; border-bottom: 6px solid #F2B638; }
.ll-square-tl::after { left: -16px; top: -16px; width: 80px; height: 80px; background: #F2B638; z-index: -1; }
.ll-corner-bl::after, .ll-corner-br::after { transition: clip-path 1s var(--ll-io) .7s; }
.ll-square-tl::after { transition: transform .9s var(--ll-out) .7s; }
.ll-js .ll-corner-bl:not(.is-in)::after { clip-path: inset(0 100% 0 0); }
.ll-js .ll-corner-br:not(.is-in)::after { clip-path: inset(0 0 0 100%); }
.ll-js .ll-square-tl:not(.is-in)::after { transform: scale(0); }
@media (max-width: 767px) {
  .ll-corner-br::after { right: -10px; bottom: -10px; }
  .ll-corner-bl::after { left: -10px; bottom: -10px; width: 84px; height: 84px; }
  .ll-square-tl::after { left: -10px; top: -10px; width: 60px; height: 60px; }
}

/* ---------- Línea bajo el título (About) ---------- */
.ll-line .elementor-divider-separator { transform-origin: left; transition: transform 1s var(--ll-out) .3s; }
.ll-js .ll-line:not(.is-in) .elementor-divider-separator { transform: scaleX(0); }

/* ---------- Pasos del proceso ---------- */
.ll-step {
  background-image: linear-gradient(#C9C6BE, #C9C6BE);
  background-repeat: no-repeat; background-position: top left; background-size: 100% 1px;
  transition: background-size 1.2s var(--ll-out) calc(var(--d, 0ms) + 150ms);
}
.ll-step::after {
  content: ""; position: absolute; left: 0; top: -1px; width: 48px; height: 3px; background: #A44D34;
  transform-origin: left; transition: transform .9s var(--ll-out) calc(var(--d, 0ms) + 600ms);
}
.ll-js .ll-step:not(.is-in) { background-size: 0 1px; }
.ll-js .ll-step:not(.is-in)::after { transform: scaleX(0); }

/* ---------- Tarjetas ---------- */
.ll-card { transition: transform .5s var(--ll-out), box-shadow .5s var(--ll-out); }
.ll-card:hover { transform: translateY(-6px); box-shadow: 0 22px 48px rgba(31, 32, 29, .1); }
.ll-card .ll-card-media { overflow: hidden; }
.ll-card .ll-card-media img { filter: saturate(.65); transition: transform 1.4s var(--ll-out), filter .8s; }
.ll-feature .ll-card-media img { filter: none; }
.ll-card:hover .ll-card-media img { transform: scale(1.06); filter: saturate(1); }
.ll-detail .ll-bar { transition: --width .5s var(--ll-out), width .5s var(--ll-out); }
.ll-detail:hover .ll-bar { width: 96px !important; --width: 96px !important; }

/* ---------- Áreas de práctica (filas) ---------- */
.ll-practice-row { position: relative; isolation: isolate; overflow: hidden; cursor: pointer; transition: padding .5s var(--ll-out); }
.ll-practice-row::after {
  content: ""; position: absolute; inset: 0; z-index: -1; background: #A44D34;
  transform: scaleY(0); transform-origin: bottom; transition: transform .55s var(--ll-io);
}
.ll-practice-row:hover::after, .ll-practice-row:focus-visible::after { transform: scaleY(1); transform-origin: top; }
.ll-practice-row:hover, .ll-practice-row:focus-visible { --padding-left: 28px !important; outline: none; }
.ll-practice-row .elementor-heading-title { transition: color .45s var(--ll-ease), background-color .45s, border-color .45s, transform .5s var(--ll-out); }
.ll-practice-row:hover .elementor-heading-title, .ll-practice-row:focus-visible .elementor-heading-title { color: #fff !important; }
.ll-practice-row:hover .ll-pr-num .elementor-heading-title, .ll-practice-row:hover .ll-pr-meta .elementor-heading-title { color: rgba(255, 255, 255, .85) !important; }
.ll-pr-num .elementor-heading-title { font-family: 'Fraunces', serif; }
.ll-pr-go .elementor-heading-title {
  width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center;
  border: 1px solid #D7D3CB; font-size: 1.1rem;
}
.ll-practice-row:hover .ll-pr-go .elementor-heading-title, .ll-practice-row:focus-visible .ll-pr-go .elementor-heading-title {
  background: #fff; color: #A44D34 !important; border-color: #fff; transform: rotate(45deg);
}
@media (max-width: 900px) { .ll-pr-meta { display: none; } }
@media (max-width: 767px) { .ll-pr-num { --container-widget-width: 36px !important; width: 36px !important; } }

/* ---------- Equipo ---------- */
.ll-person { cursor: pointer; transition: transform .5s var(--ll-out), box-shadow .5s var(--ll-out), border-color .4s; }
.ll-person:hover, .ll-person:focus-visible { transform: translateY(-6px); box-shadow: 0 22px 48px rgba(31, 32, 29, .1); border-color: #A44D34 !important; outline: none; }
.ll-monogram { aspect-ratio: 1 / 1; display: grid !important; place-items: center; transition: transform .6s var(--ll-out); }
.ll-person:hover .ll-monogram { transform: scale(1.08) rotate(-6deg); }
.ll-person--featured .ll-monogram .elementor-heading-title { font-size: 1.8rem; }
.ll-person .ll-go { transition: transform .5s var(--ll-out); }
.ll-person:hover .ll-go { transform: translate(4px, -4px); }

/* ---------- Insights ---------- */
.ll-filter .elementor-button {
  border: 1px solid #D7D3CB !important; border-radius: 999px !important; background: transparent !important;
  font-size: 13px !important; letter-spacing: .08em; transition: background-color .3s, color .3s, border-color .3s, transform .3s var(--ll-out);
}
.ll-filter .elementor-button:hover { border-color: #222522 !important; transform: translateY(-1px); }
.ll-filter.is-active .elementor-button { background: #222522 !important; color: #fff !important; border-color: #222522 !important; }
.ll-article { transition: transform .5s var(--ll-out), box-shadow .5s var(--ll-out); }
.ll-article:hover { transform: translateY(-5px); box-shadow: 0 18px 40px rgba(37, 41, 36, .09); }
.ll-article.is-hidden { display: none !important; }
.ll-article.is-shown { animation: llPop .6s var(--ll-out) both; }
@keyframes llPop { from { opacity: 0; transform: translateY(16px) scale(.98); } to { opacity: 1; transform: none; } }
.ll-js .ll-more { max-height: 0; overflow: hidden; opacity: 0; transition: max-height .5s var(--ll-out), opacity .4s, margin .4s; }
.ll-js .ll-article.is-open .ll-more { max-height: 240px; opacity: 1; margin-top: 18px; }
.ll-read-toggle .elementor-button { background: transparent !important; padding-left: 0 !important; padding-right: 0 !important; }
.ll-ask-form label { display: block; margin: 26px 0 8px; font-weight: 600; color: #222522; }
.ll-ask-form textarea {
  width: 100%; min-height: 150px; padding: 13px 15px; border: 1px solid #D7D3CB; border-radius: 3px;
  background: #fff; color: #222522; font: inherit; resize: vertical; outline: none; transition: border-color .3s, box-shadow .3s;
}
.ll-ask-form textarea:focus { border-color: #A44D34; box-shadow: 0 0 0 3px rgba(164, 77, 52, .25); }
.ll-hint { margin: 8px 0 0; font-size: 13px; color: #484D49; }
.ll-ask-row { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 20px; }
.ll-ask-btn {
  padding: 16px 28px; border: 0; border-radius: 2px; background: #A44D34; color: #fff; cursor: pointer;
  font: 600 15px/1.2 'Libre Franklin', sans-serif; transition: transform .4s var(--ll-out), box-shadow .4s, background-color .3s;
}
.ll-ask-btn:hover { background: #8E3F29; transform: translateY(-2px); box-shadow: 0 14px 28px rgba(31, 32, 29, .16); }
.ll-status { margin: 0; font-size: 14px; line-height: 1.6; }
.ll-link-card { transition: transform .5s var(--ll-out), border-color .4s, box-shadow .5s; text-decoration: none; }
.ll-link-card:hover { transform: translateX(6px); border-color: #A44D34 !important; box-shadow: 0 14px 30px rgba(31, 32, 29, .07); }
.ll-link-card .elementor-heading-title { display: flex; justify-content: space-between; gap: 12px; }
.ll-link-card .elementor-heading-title span { color: #A44D34; transition: transform .4s var(--ll-out); }
.ll-link-card:hover .elementor-heading-title span { transform: translateX(4px); }

/* ---------- Contacto ---------- */
.ll-contact-form .elementor-field { transition: border-color .3s, box-shadow .3s; }
.ll-contact-form .elementor-field:focus { border-color: #A44D34 !important; box-shadow: 0 0 0 3px rgba(164, 77, 52, .25); }
.ll-contact-form textarea.elementor-field { min-height: 150px; resize: vertical; }
.ll-contact-form .elementor-button { transition: transform .4s var(--ll-out), box-shadow .4s, background-color .3s; }
.ll-contact-form .elementor-button:hover { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(0, 0, 0, .2); }

/* ---------- Footer ---------- */
.ll-footer-logo img { height: 64px; width: auto; filter: brightness(0) invert(1); opacity: .95; }
.ll-ada a { color: #D9A58F; }
.ll-footer-tagline .elementor-heading-title { font-weight: 700; }

/* ---------- Popups (áreas de práctica y equipo) ---------- */
.ll-popup .dialog-widget-content { max-height: 88vh !important; overflow: hidden; }
.ll-popup .dialog-message { max-height: 88vh !important; overflow-y: auto; overscroll-behavior: contain; }
.ll-popup.elementor-popup-modal { -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.ll-dialog-top { height: 6px; background: linear-gradient(90deg, #C94734 0 25%, #2448A9 25% 50%, #F2B638 50% 75%, #0B6B63 75%); }
.ll-popup .dialog-close-button {
  width: 42px; height: 42px; border-radius: 50%; border: 1px solid #D7D3CB; background: #F7F5F0;
  display: grid; place-items: center; transition: transform .4s var(--ll-out), background-color .3s;
}
.ll-popup .dialog-close-button:hover { transform: rotate(90deg); background: #fff; }
.ll-dialog-title .elementor-heading-title { padding-right: 40px; }
.ll-dialog-body h3 { margin: 30px 0 4px; font-family: 'Fraunces', serif; font-weight: 400; font-size: 1.35rem; line-height: 1.3; color: #222522; }
.ll-dialog-body p { margin: 16px 0 0; }
.ll-dialog-body > p:first-child, .ll-dialog-body .elementor-widget-container > p:first-child { margin-top: 0; }
.ll-dialog-body ul { margin: 12px 0 0; padding-left: 20px; }
.ll-dialog-body li::marker { color: #A44D34; }

/* ---------- Barra de progreso y volver arriba (los crea el JS) ---------- */
.ll-progress { position: fixed; top: 0; left: 0; right: 0; z-index: 10000; height: 3px; background: #A44D34; transform: scaleX(0); transform-origin: left; pointer-events: none; }
.ll-to-top {
  position: fixed; right: 20px; bottom: 20px; z-index: 9990;
  width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center;
  background: #A44D34; color: #fff !important; text-decoration: none; font-size: 1.1rem;
  box-shadow: 0 10px 24px rgba(31, 32, 29, .2);
  opacity: 0; transform: translateY(16px) scale(.9); pointer-events: none;
  transition: opacity .4s, transform .5s var(--ll-out), background-color .3s;
}
.ll-to-top.is-visible { opacity: 1; transform: none; pointer-events: auto; }
.ll-to-top:hover { background: #8E3F29; }
@media (max-width: 767px) { .ll-to-top { right: 14px; bottom: 14px; } }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; transition-delay: 0ms !important; }
}/* End custom CSS */