.elementor-kit-7{--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;--e-global-typography-4a23959-font-family:"Dm Sans";--e-global-typography-4a23959-font-size:clamp(2.0273rem, 1.6532rem + 1.8706vw, 2.986rem);--e-global-typography-4a23959-font-weight:700;--e-global-typography-4a23959-line-height:1.1;--e-global-typography-6d5822b-font-family:"Dm Sans";--e-global-typography-6d5822b-font-size:clamp(1.802rem, 1.5342rem + 1.3391vw, 2.4883rem);--e-global-typography-6d5822b-line-height:1.25;--e-global-typography-5a80984-font-family:"Dm Sans";--e-global-typography-5a80984-font-size:clamp(1.6018rem, 1.4177rem + 0.9206vw, 2.0736rem);--e-global-typography-5a80984-line-height:1.25;--e-global-typography-bbb6f4e-font-family:"Dm Sans";--e-global-typography-bbb6f4e-font-size:clamp(1.4238rem, 1.3051rem + 0.5935vw, 1.728rem);--e-global-typography-bbb6f4e-line-height:1.25;--e-global-typography-74c16ac-font-family:"Dm Sans";--e-global-typography-74c16ac-font-size:clamp(1.2656rem, 1.1976rem + 0.3402vw, 1.44rem);--e-global-typography-74c16ac-line-height:1.25;--e-global-typography-6c5cfa1-font-family:"Dm Sans";--e-global-typography-6c5cfa1-font-size:clamp(1.125rem,  1.0957rem + 0.1463vw, 1.2rem);--e-global-typography-6c5cfa1-font-weight:500;--e-global-typography-6c5cfa1-line-height:1.25;--e-global-typography-6c5cfa1-letter-spacing:-0.03em;--e-global-typography-2a64423-font-family:"Dm Sans";--e-global-typography-2a64423-font-size:1rem;--e-global-typography-2a64423-font-weight:400;--e-global-typography-2a64423-line-height:1.6;--e-global-typography-eb2d933-font-family:"Dm Sans";--e-global-typography-eb2d933-font-size:1rem;--e-global-typography-eb2d933-font-weight:500;--e-global-typography-eb2d933-line-height:1.6;--e-global-typography-db69bfb-font-family:"Dm Sans";--e-global-typography-db69bfb-font-size:0.889rem;--e-global-typography-db69bfb-line-height:1.4;--e-global-typography-c5aa016-font-family:"Dm Sans";--e-global-typography-c5aa016-font-size:0.79rem;--e-global-typography-c5aa016-line-height:1.4;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 a{color:var( --e-global-color-v4-color-accent );}.elementor-kit-7 a:hover{color:var( --e-global-color-v4-color-accent-hover );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@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;}}:root { --color-accent:#A64F2B; --color-accent-hover:#9C4C2C; --color-accent-soft:#F5E7DC; --color-accent-faded:#B65C3833; --color-transparent:#ffffff00; --color-neutral-6:#2A2521; --color-neutral-5:#5F574C; --color-neutral-4:#5F574C; --color-neutral-1:#FAF9F5; --color-neutral-2:#F5F0E8; --color-neutral-3:#E7DDCF; --size-content-max:1140px; --space-inline:max(var(--space-edge), (100% - var(--size-content-max)) / 2); --space-edge:clamp(1rem, 3vw, 2rem); --space-section-hero:clamp(1.5rem, -0.2561rem + 8.7805vw, 6rem); --space-section-l:clamp(3rem, 1.8293rem + 5.8537vw, 6rem); --space-section-m:clamp(2rem, 1.2195rem + 3.9024vw, 4rem); --space-section-s:var(--space-l-xl); --e-gv-81aa986:clamp(1.25rem, 1rem + 1.25vw, 2rem); --e-gv-c26f626:clamp(1rem, 0.75rem + 1.25vw, 1.5rem); --space-xs:0.75rem; --space-s:1rem; --space-m:1.5rem; --space-l:2rem; --space-xl:3rem; --radius-s:0.5rem; --radius-m:1rem; --radius-l:1.5rem; --size-icon-xs:1rem; --size-icon-s:1.25rem; --size-icon-m:1.5rem; --size-icon-l:2.25rem; --size-icon-xl:3rem; --e-gv-fb94944:Roboto; --size-text-h1:clamp(2.0273rem, 1.6532rem + 1.8706vw, 2.986rem); --size-text-h2:clamp(1.802rem, 1.5342rem + 1.3391vw, 2.4883rem); --size-text-h3:clamp(1.6018rem, 1.4177rem + 0.9206vw, 2.0736rem); --size-text-h4:clamp(1.4238rem, 1.3051rem + 0.5935vw, 1.728rem); --size-text-h5:clamp(1.2656rem, 1.1976rem + 0.3402vw, 1.44rem); --size-text-h6:clamp(1.125rem, 1.0957rem + 0.1463vw, 1.2rem); --size-text-body:1rem; --size-text-body-s:0.889rem; --size-text-body-xs:0.79rem; --lh-h1:1.1; --lh-heading:1.25; --lh-body:1.6; --lh-ui:1.4; --lh-none:1; --font-family-sans:Dm Sans; --radius-full:9999px; --color-error:#D32F2F; --color-success:#5DB8A6; --color-boxshadow:#2a252114; --space-2xs:0.5rem; --space-3xs:0.25rem; --size-icon-2xl:3.5rem; --size-icon-2xs:0.375rem; --color-whatsapp:#25D366; --space-2xl:4rem; --Gold:#E8A55A; --e-gv-e381f52:clamp(0.75rem, 0.6rem + 0.75vw, 1rem); --e-gv-2472aaf:#c1558b; --size-header-h:clamp(4rem, 3.5rem + 1.5vw, 5rem); --e-gv-c3622f5:2rem; --space-3xl:6rem; --space-3xs-2xs:clamp(0.25rem, 0.1524rem + 0.4878vw, 0.5rem); --space-2xs-xs:clamp(0.5rem, 0.4024rem + 0.4878vw, 0.75rem); --space-xs-s:clamp(0.75rem, 0.6524rem + 0.4878vw, 1rem); --space-s-m:clamp(1rem, 0.8049rem + 0.9756vw, 1.5rem); --space-m-l:clamp(1.5rem, 1.3049rem + 0.9756vw, 2rem); --space-l-xl:clamp(2rem, 1.6098rem + 1.9512vw, 3rem); --space-xl-2xl:clamp(3rem, 2.6098rem + 1.9512vw, 4rem); --space-2xl-3xl:clamp(4rem, 3.2195rem + 3.9024vw, 6rem); --space-card-xs:var(--space-2xs-xs); --space-card-s:var(--space-s-m); --space-card-m:var(--space-m-l); --btn-space-y-axis:0.8rem; --btn-space-x-axis:1.6rem; --color-glass:#faf9f5d9; --color-accent-ink:#A64F2B; --color-boxshadow-hover:#2a25211f; --space-two-column:clamp(3rem, 2.6098rem + 1.9512vw, 4rem); --icon-size-logo:1.9em; --space-icon-padding:0.2em; --libre-baskerville:Libre Baskerville; --Montserrat:Montserrat; }
/* Start custom CSS *//* --- ELEMENTOR FIXES --- */
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor-widget-heading .elementor-heading-title { margin: 0; }

/* v3 icon widgets */
.elementor-icon-wrapper { line-height: 0; }
.c-icon--outline svg {
  fill: none;
}
.c-icon--outline svg path:not([stroke="none"]) {
  fill: none;
  stroke: currentColor;
}

/* ============ Aceternity backgrounds ============ */
.u-bg-dots,
.u-bg-grid {
  --pattern-color: var(--color-neutral-3);
  --pattern-opacity: 0.6;
  position: relative;
  isolation: isolate;
}
.u-bg-dots::before,
.u-bg-grid::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: var(--pattern-opacity);
  -webkit-mask-image: radial-gradient(ellipse at center, #000 20%, transparent 100%);
          mask-image: radial-gradient(ellipse at center, #000 20%, transparent 100%);
}
.u-bg-dots::before {
  background-image: radial-gradient(var(--pattern-color) 1px, transparent 1px);
  background-size: 20px 20px;
}
.u-bg-grid::before {
  background-image:
    linear-gradient(to right,  var(--pattern-color) 1px, transparent 1px),
    linear-gradient(to bottom, var(--pattern-color) 1px, transparent 1px);
  background-size: 40px 40px;
}

/* Background-specific overrides */
.u-bg-dots--on-grey,
.u-bg-grid--on-grey {
  --pattern-opacity: 0.8;
}
.u-bg-dots--on-accent,
.u-bg-grid--on-accent {
  --pattern-color: var(--color-neutral-1);
  --pattern-opacity: 0.25;
}

/* Color transitions for interactive elements.
   Transform/movement transitions live with their own component classes
   (e.g. .u-float handles its own transition). */
   
a,
button,
input,
select,
textarea,
.c-btn,
[class*="elementor-button"] {
  transition:
    color 180ms ease-in-out,
    background-color 180ms ease-in-out,
    border-color 180ms ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition-duration: 0ms !important;
    animation-duration: 0ms !important;
  }
}

:root {
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-bold: 700;
}

.elementor-icon-list-items.elementor-inline-items {
  row-gap: var(--space-s);
}

.elementor .e-flexbox { padding: 0; }
.elementor .e-div-block { padding: 0; }

/* ============ General Paragraphs ============ */

/* Paragraphs with nothing under have no margin */
.elementor-widget-text-editor p {
  margin-block-end: 0;
}

/* Those with another paragraph have a margin of var(--space-xs) */
.elementor-widget-text-editor p + p {
  margin-block-start: var(--space-xs);
}

/* ============ Elementor Text Editor Lists (Essentials Only) ============ */

/* Spacing between list items */
.elementor-widget-text-editor li {
  margin-block-end: var(--space-xs);
}

.elementor-widget-text-editor li:last-child {
  margin-block-end: 0;
}

/* Marker color — accent blue */
.elementor-widget-text-editor li::marker {
  color: var(--color-accent);
  font-weight: var(--font-weight-bold);
}

/* Spacing for nested lists */
.elementor-widget-text-editor li > ul,
.elementor-widget-text-editor li > ol {
  margin-block-start: var(--space-xs);
  margin-block-end: 0;
}

/* * ABSOLUTELY NECESSARY FIX: 
 * Prevents Elementor's default paragraph margins from ruining your list spacing 
 */
.elementor-widget-text-editor li > p {
  margin: 0;
}
.elementor-widget-text-editor li > p + p {
  margin-block-start: var(--space-xs);
}

.zoom-frame {
  overflow: hidden;
  border-radius: var(--radius-m);   /* 1rem */
}

.zoom-frame img {
  transition: transform 900ms cubic-bezier(0.33, 0, 0.2, 1);
  will-change: transform;
}

.zoom-frame:hover img {
  transform: scale(1.06);
}

/* WCAG 2.2 AA — 2.3.3; honor reduced-motion (real constraint for the firm) */
@media (prefers-reduced-motion: reduce) {
  .zoom-frame img { transition: none; }
  .zoom-frame:hover img { transform: none; }
}

html { scroll-padding-top: var(--size-header-h); }

/* ==========================================================================
   Accessibility — in-text content links
   Added 2026-08-11. Audit Issue 4 (WCAG 1.4.1) + focus ring (WCAG 2.4.7).

   Two paragraph systems coexist on this site and BOTH carry content links:
     .e-paragraph-base            Elementor 4 atomic paragraphs (16 on home)
     .elementor-widget-text-editor  classic Text Editor widget   (4 on home)
   Underlining only one of them would be worse than doing nothing: it teaches
   readers that "no underline" means "not a link".

   Why it's needed: elementor-frontend-inline-css contains
       .e-heading-base a, .e-paragraph-base a { all: unset; cursor: pointer; }
   which strips the underline AND the keyboard focus ring. Verified live:
   link #cc785c vs body text #8b8375 = 1.14:1, i.e. no visible difference.

   Scope: nav menus are deliberately NOT matched (menus are not text blocks).
   Buttons such as "Conoce nuestra historia" are anchors that WRAP a
   paragraph rather than sit inside one, so they keep their button styling.
   ========================================================================== */

.e-paragraph-base a[href],
.elementor-widget-text-editor a[href] {
	text-decoration-line: underline !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 0.18em !important;
	text-decoration-skip-ink: auto !important;
}

.e-paragraph-base a[href]:hover,
.elementor-widget-text-editor a[href]:hover {
	text-decoration-thickness: 2px !important;
}

/* Keyboard focus indicator. `all: unset` removed the browser default —
   confirmed under real :focus-visible, outline-style computed as "none".
   currentColor is deliberate: it inherits the link colour, so when the
   terracotta token is darkened (audit Issue 3) this indicator gains
   contrast automatically. No new colour is introduced. */
.e-paragraph-base a[href]:focus-visible,
.elementor-widget-text-editor a[href]:focus-visible {
	outline: 2px solid currentColor !important;
	outline-offset: 2px !important;
	border-radius: 2px;
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Dm Sans';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://agenciaasilo.se/wp-content/uploads/2026/05/dm-sans-v17-latin-regular.woff2') format('woff2');
}
@font-face {
	font-family: 'Dm Sans';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://agenciaasilo.se/wp-content/uploads/2026/05/dm-sans-v17-latin-500.woff2') format('woff2');
}
@font-face {
	font-family: 'Dm Sans';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://agenciaasilo.se/wp-content/uploads/2026/05/dm-sans-v17-latin-700.woff2') format('woff2');
}
@font-face {
	font-family: 'Dm Sans';
	font-style: italic;
	font-weight: normal;
	font-display: auto;
	src: url('https://agenciaasilo.se/wp-content/uploads/2026/05/dm-sans-v17-latin-italic.woff2') format('woff2');
}
/* End Custom Fonts CSS */