.elementor-kit-129{--e-global-color-primary:#8B5CF6;--e-global-color-secondary:#3D4459;--e-global-color-text:#353535;--e-global-color-accent:#4F46E5;--e-global-color-889c05d:#E7E0FF;--e-global-color-b17eaf1:#EDE8FF;--e-global-color-43e86c6:#FFFFFF;--e-global-color-3c0d787:#FFFFFF00;--e-global-color-7cc218b:#18181826;--e-global-color-36967b6:#171717D9;--e-global-color-f898f31:#FFFEFE;--e-global-color-0d046a4:#E9E9E9;--e-global-color-c6c574f:#F9F9F9;--e-global-color-7ad78f4:#FFFFFFE6;--e-global-color-8630d9f:#7E222200;--e-global-color-b500f0a:#FFFFFF;--e-global-typography-primary-font-family:"Geist";--e-global-typography-primary-font-size:45px;--e-global-typography-primary-font-weight:300;--e-global-typography-primary-text-transform:none;--e-global-typography-primary-font-style:normal;--e-global-typography-primary-text-decoration:none;--e-global-typography-primary-line-height:1.2em;--e-global-typography-primary-letter-spacing:0px;--e-global-typography-primary-word-spacing:0px;--e-global-typography-secondary-font-family:"Geist";--e-global-typography-secondary-font-size:16px;--e-global-typography-secondary-font-weight:300;--e-global-typography-secondary-text-transform:none;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-text-decoration:none;--e-global-typography-secondary-line-height:45px;--e-global-typography-secondary-letter-spacing:0px;--e-global-typography-secondary-word-spacing:0px;--e-global-typography-text-font-family:"Geist";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:300;--e-global-typography-text-text-transform:none;--e-global-typography-text-font-style:normal;--e-global-typography-text-text-decoration:none;--e-global-typography-text-line-height:1.4em;--e-global-typography-text-letter-spacing:0px;--e-global-typography-text-word-spacing:0px;--e-global-typography-accent-font-family:"Geist";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-text-transform:none;--e-global-typography-accent-font-style:normal;--e-global-typography-accent-text-decoration:none;--e-global-typography-accent-line-height:1.2em;--e-global-typography-accent-letter-spacing:0px;--e-global-typography-accent-word-spacing:0px;--e-global-typography-3730a72-font-family:"Geist";--e-global-typography-3730a72-font-size:115px;--e-global-typography-3730a72-font-weight:400;--e-global-typography-3730a72-text-transform:none;--e-global-typography-3730a72-font-style:normal;--e-global-typography-3730a72-text-decoration:none;--e-global-typography-3730a72-line-height:110px;--e-global-typography-3730a72-letter-spacing:0px;--e-global-typography-3730a72-word-spacing:0px;--e-global-typography-1c2ffac-font-family:"Geist";--e-global-typography-1c2ffac-font-size:16px;--e-global-typography-1c2ffac-font-weight:500;--e-global-typography-1c2ffac-text-transform:uppercase;--e-global-typography-1c2ffac-font-style:normal;--e-global-typography-1c2ffac-text-decoration:underline;--e-global-typography-1c2ffac-line-height:1em;--e-global-typography-1c2ffac-letter-spacing:0px;--e-global-typography-1c2ffac-word-spacing:0px;--e-global-typography-55680cc-font-family:"Geist";--e-global-typography-55680cc-font-size:30px;--e-global-typography-55680cc-font-weight:700;--e-global-typography-55680cc-text-transform:none;--e-global-typography-55680cc-font-style:normal;--e-global-typography-55680cc-text-decoration:none;--e-global-typography-55680cc-line-height:1em;--e-global-typography-55680cc-letter-spacing:0px;--e-global-typography-55680cc-word-spacing:0px;--e-global-typography-8606eb9-font-family:"Geist";--e-global-typography-8606eb9-font-size:25px;--e-global-typography-8606eb9-font-weight:400;--e-global-typography-8606eb9-text-transform:none;--e-global-typography-8606eb9-font-style:normal;--e-global-typography-8606eb9-text-decoration:none;--e-global-typography-8606eb9-line-height:30px;--e-global-typography-8606eb9-letter-spacing:0px;--e-global-typography-8606eb9-word-spacing:0px;--e-global-typography-13447f2-font-family:"Geist";--e-global-typography-13447f2-font-size:16px;--e-global-typography-13447f2-font-weight:400;--e-global-typography-13447f2-text-transform:none;--e-global-typography-13447f2-font-style:normal;--e-global-typography-13447f2-text-decoration:underline;--e-global-typography-13447f2-line-height:26px;--e-global-typography-13447f2-letter-spacing:0px;--e-global-typography-13447f2-word-spacing:0px;--e-global-typography-8912556-font-family:"Geist";--e-global-typography-8912556-font-size:18px;--e-global-typography-8912556-font-weight:400;--e-global-typography-8912556-text-transform:none;--e-global-typography-8912556-font-style:normal;--e-global-typography-8912556-text-decoration:none;--e-global-typography-8912556-line-height:26px;--e-global-typography-8912556-letter-spacing:0px;--e-global-typography-8912556-word-spacing:0px;--e-global-typography-6ed476c-font-family:"Geist";--e-global-typography-6ed476c-font-size:20px;--e-global-typography-6ed476c-font-weight:400;--e-global-typography-6ed476c-text-transform:none;--e-global-typography-9525bd0-font-family:"Geist";--e-global-typography-9525bd0-font-size:20px;--e-global-typography-9525bd0-font-weight:300;--e-global-typography-9525bd0-text-transform:none;--e-global-typography-cdaaf6a-font-family:"Geist";--e-global-typography-cdaaf6a-font-size:16px;--e-global-typography-cdaaf6a-font-weight:300;--e-global-typography-cdaaf6a-text-transform:none;--e-global-typography-cdaaf6a-font-style:normal;--e-global-typography-0009af8-font-family:"Geist";--e-global-typography-0009af8-font-size:14px;--e-global-typography-0009af8-font-weight:400;--e-global-typography-0009af8-text-transform:none;--e-global-typography-0009af8-font-style:normal;--e-global-typography-0009af8-letter-spacing:0px;--e-global-typography-ef2c50b-font-family:"Geist";--e-global-typography-ef2c50b-font-size:16px;--e-global-typography-ef2c50b-font-weight:500;--e-global-typography-ef2c50b-text-transform:none;--e-global-typography-ef2c50b-letter-spacing:0px;--e-global-typography-f8a9e51-font-family:"Geist";--e-global-typography-f8a9e51-font-size:35px;--e-global-typography-f8a9e51-font-weight:300;--e-global-typography-f8a9e51-text-transform:none;--e-global-typography-f8a9e51-line-height:1.2em;--e-global-typography-ccc280a-font-family:"Geist";--e-global-typography-ccc280a-font-size:80px;--e-global-typography-ccc280a-font-weight:300;--e-global-typography-ccc280a-text-transform:none;--e-global-typography-ccc280a-line-height:1.2em;--e-global-typography-2c11d45-font-family:"Geist";--e-global-typography-2c11d45-font-size:50px;--e-global-typography-2c11d45-font-weight:500;--e-global-typography-2c11d45-text-transform:none;--e-global-typography-2c11d45-line-height:1.2em;background-color:var( --e-global-color-b500f0a );color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-129 e-page-transition{background-color:#FFBC7D;}.elementor-kit-129 a{color:var( --e-global-color-accent );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-129 a:hover{color:var( --e-global-color-36967b6 );}.elementor-kit-129 h1{font-family:"Geist", Sans-serif;}.elementor-kit-129 h2{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );font-style:var( --e-global-typography-primary-font-style );text-decoration:var( --e-global-typography-primary-text-decoration );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-129 h3{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );font-style:var( --e-global-typography-secondary-font-style );text-decoration:var( --e-global-typography-secondary-text-decoration );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-kit-129 h4{font-family:"Geist", Sans-serif;}.elementor-kit-129 h5{font-family:"Geist", Sans-serif;}.elementor-kit-129 h6{font-family:"Geist", Sans-serif;}.elementor-kit-129 input:not([type="button"]):not([type="submit"]),.elementor-kit-129 textarea,.elementor-kit-129 .elementor-field-textual{padding:0px 0px 0px 0px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1400px;}.e-con{--container-max-width:1400px;--container-default-padding-top:10px;--container-default-padding-right:10px;--container-default-padding-bottom:10px;--container-default-padding-left:10px;}.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);}@media(max-width:1024px){.elementor-kit-129{--e-global-typography-primary-font-size:32px;--e-global-typography-primary-letter-spacing:-2px;--e-global-typography-secondary-font-size:18px;--e-global-typography-secondary-line-height:1.1em;--e-global-typography-text-font-size:15px;--e-global-typography-accent-font-size:15px;--e-global-typography-3730a72-font-size:84px;--e-global-typography-3730a72-line-height:1.1em;--e-global-typography-3730a72-letter-spacing:-6px;--e-global-typography-1c2ffac-font-size:15px;--e-global-typography-55680cc-font-size:28px;--e-global-typography-55680cc-letter-spacing:-2px;--e-global-typography-8606eb9-font-size:22px;--e-global-typography-13447f2-font-size:15px;--e-global-typography-8912556-font-size:16px;--e-global-typography-6ed476c-font-size:18px;--e-global-typography-9525bd0-font-size:18px;--e-global-typography-cdaaf6a-font-size:15px;--e-global-typography-0009af8-font-size:14px;--e-global-typography-ef2c50b-font-size:15px;--e-global-typography-f8a9e51-font-size:25px;--e-global-typography-ccc280a-font-size:70px;--e-global-typography-2c11d45-font-size:45px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-129 a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-129 h2{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-129 h3{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-129{--e-global-typography-primary-font-size:30px;--e-global-typography-secondary-font-size:16px;--e-global-typography-text-font-size:15px;--e-global-typography-accent-font-size:15px;--e-global-typography-3730a72-font-size:52px;--e-global-typography-3730a72-line-height:1em;--e-global-typography-3730a72-letter-spacing:-3px;--e-global-typography-1c2ffac-font-size:14px;--e-global-typography-1c2ffac-line-height:1.8em;--e-global-typography-55680cc-letter-spacing:-1px;--e-global-typography-8606eb9-font-size:20px;--e-global-typography-8606eb9-line-height:1.4em;--e-global-typography-13447f2-font-size:14px;--e-global-typography-8912556-font-size:15px;--e-global-typography-6ed476c-font-size:20px;--e-global-typography-9525bd0-font-size:18px;--e-global-typography-cdaaf6a-font-size:15px;--e-global-typography-0009af8-font-size:14px;--e-global-typography-ef2c50b-font-size:15px;--e-global-typography-f8a9e51-font-size:25px;--e-global-typography-ccc280a-font-size:50px;--e-global-typography-2c11d45-font-size:35px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-129 a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-129 h2{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-129 h3{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* latin */
@font-face {
  font-family: 'Geist';
  font-display: swap;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  src: url(https://fonts.bunny.net/geist/files/geist-latin-400-normal.woff2) format('woff2'), url(https://fonts.bunny.net/geist/files/geist-latin-400-normal.woff) format('woff'); 
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* cyrillic */
@font-face {
  font-family: 'Geist';
  font-display: swap;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  src: url(https://fonts.bunny.net/geist/files/geist-cyrillic-400-normal.woff2) format('woff2'), url(https://fonts.bunny.net/geist/files/geist-cyrillic-400-normal.woff) format('woff'); 
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* latin-ext */
@font-face {
  font-family: 'Geist';
  font-display: swap;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  src: url(https://fonts.bunny.net/geist/files/geist-latin-ext-400-normal.woff2) format('woff2'), url(https://fonts.bunny.net/geist/files/geist-latin-ext-400-normal.woff) format('woff'); 
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* vietnamese */
@font-face {
  font-family: 'Geist';
  font-display: swap;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  src: url(https://fonts.bunny.net/geist/files/geist-vietnamese-400-normal.woff2) format('woff2'), url(https://fonts.bunny.net/geist/files/geist-vietnamese-400-normal.woff) format('woff'); 
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* cyrillic-ext */
@font-face {
  font-family: 'Geist';
  font-display: swap;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  src: url(https://fonts.bunny.net/geist/files/geist-cyrillic-ext-400-normal.woff2) format('woff2'), url(https://fonts.bunny.net/geist/files/geist-cyrillic-ext-400-normal.woff) format('woff'); 
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* latin */
@font-face {
  font-family: 'Geist';
  font-display: swap;
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  src: url(https://fonts.bunny.net/geist/files/geist-latin-500-normal.woff2) format('woff2'), url(https://fonts.bunny.net/geist/files/geist-latin-500-normal.woff) format('woff'); 
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* cyrillic */
@font-face {
  font-family: 'Geist';
  font-display: swap;
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  src: url(https://fonts.bunny.net/geist/files/geist-cyrillic-500-normal.woff2) format('woff2'), url(https://fonts.bunny.net/geist/files/geist-cyrillic-500-normal.woff) format('woff'); 
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* latin-ext */
@font-face {
  font-family: 'Geist';
  font-display: swap;
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  src: url(https://fonts.bunny.net/geist/files/geist-latin-ext-500-normal.woff2) format('woff2'), url(https://fonts.bunny.net/geist/files/geist-latin-ext-500-normal.woff) format('woff'); 
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* vietnamese */
@font-face {
  font-family: 'Geist';
  font-display: swap;
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  src: url(https://fonts.bunny.net/geist/files/geist-vietnamese-500-normal.woff2) format('woff2'), url(https://fonts.bunny.net/geist/files/geist-vietnamese-500-normal.woff) format('woff'); 
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* cyrillic-ext */
@font-face {
  font-family: 'Geist';
  font-display: swap;
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  src: url(https://fonts.bunny.net/geist/files/geist-cyrillic-ext-500-normal.woff2) format('woff2'), url(https://fonts.bunny.net/geist/files/geist-cyrillic-ext-500-normal.woff) format('woff'); 
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* latin */
@font-face {
  font-family: 'Geist';
  font-display: swap;
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  src: url(https://fonts.bunny.net/geist/files/geist-latin-600-normal.woff2) format('woff2'), url(https://fonts.bunny.net/geist/files/geist-latin-600-normal.woff) format('woff'); 
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* cyrillic */
@font-face {
  font-family: 'Geist';
  font-display: swap;
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  src: url(https://fonts.bunny.net/geist/files/geist-cyrillic-600-normal.woff2) format('woff2'), url(https://fonts.bunny.net/geist/files/geist-cyrillic-600-normal.woff) format('woff'); 
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* latin-ext */
@font-face {
  font-family: 'Geist';
  font-display: swap;
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  src: url(https://fonts.bunny.net/geist/files/geist-latin-ext-600-normal.woff2) format('woff2'), url(https://fonts.bunny.net/geist/files/geist-latin-ext-600-normal.woff) format('woff'); 
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* vietnamese */
@font-face {
  font-family: 'Geist';
  font-display: swap;
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  src: url(https://fonts.bunny.net/geist/files/geist-vietnamese-600-normal.woff2) format('woff2'), url(https://fonts.bunny.net/geist/files/geist-vietnamese-600-normal.woff) format('woff'); 
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* cyrillic-ext */
@font-face {
  font-family: 'Geist';
  font-display: swap;
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  src: url(https://fonts.bunny.net/geist/files/geist-cyrillic-ext-600-normal.woff2) format('woff2'), url(https://fonts.bunny.net/geist/files/geist-cyrillic-ext-600-normal.woff) format('woff'); 
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* latin */
@font-face {
  font-family: 'Geist';
  font-display: swap;
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  src: url(https://fonts.bunny.net/geist/files/geist-latin-700-normal.woff2) format('woff2'), url(https://fonts.bunny.net/geist/files/geist-latin-700-normal.woff) format('woff'); 
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* cyrillic */
@font-face {
  font-family: 'Geist';
  font-display: swap;
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  src: url(https://fonts.bunny.net/geist/files/geist-cyrillic-700-normal.woff2) format('woff2'), url(https://fonts.bunny.net/geist/files/geist-cyrillic-700-normal.woff) format('woff'); 
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* latin-ext */
@font-face {
  font-family: 'Geist';
  font-display: swap;
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  src: url(https://fonts.bunny.net/geist/files/geist-latin-ext-700-normal.woff2) format('woff2'), url(https://fonts.bunny.net/geist/files/geist-latin-ext-700-normal.woff) format('woff'); 
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* vietnamese */
@font-face {
  font-family: 'Geist';
  font-display: swap;
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  src: url(https://fonts.bunny.net/geist/files/geist-vietnamese-700-normal.woff2) format('woff2'), url(https://fonts.bunny.net/geist/files/geist-vietnamese-700-normal.woff) format('woff'); 
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* cyrillic-ext */
@font-face {
  font-family: 'Geist';
  font-display: swap;
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  src: url(https://fonts.bunny.net/geist/files/geist-cyrillic-ext-700-normal.woff2) format('woff2'), url(https://fonts.bunny.net/geist/files/geist-cyrillic-ext-700-normal.woff) format('woff'); 
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

body,button,input,select,textarea,p,a,li,span,label,h1,h2,h3,h4,h5,h6,.elementor-widget-heading .elementor-heading-title,.elementor-widget-text-editor,.elementor-widget-icon-box .elementor-icon-box-title,.elementor-widget-image-box .elementor-image-box-title,.elementor-button{font-family:"Geist",sans-serif !important;}



.elementor-element-744985fc img{filter:grayscale(1);opacity:.55;max-height:44px;width:auto;margin:0 auto;transition:filter .25s ease,opacity .25s ease;}
.elementor-element-744985fc img:hover{filter:grayscale(0);opacity:1;}
.elementor-element-744985fc .swiper-slide{display:flex;align-items:center;justify-content:center;}


/* kk-mesh */
body.elementor-kit-129{
  background-color:#FBFAFF !important;
  background-image:
    radial-gradient(circle at 10% 6%, rgba(139,92,246,.10), transparent 40%),
    radial-gradient(circle at 92% 14%, rgba(79,70,229,.08), transparent 38%),
    radial-gradient(circle at 50% 108%, rgba(139,92,246,.07), transparent 55%) !important;
  background-attachment:fixed !important;
  background-repeat:no-repeat !important;
}

/* kk-blog */

/* --- El header/pie del tema no van en el blog --------------------------- */
/* La plantilla Single trae los suyos, como las landings. Se excluyo Header 136
   y Footer 131 por condiciones, pero Elementor Pro cachea el mapa de
   condiciones en su propia opcion y la REST API no la invalida, asi que hace
   falta ademas esta red de seguridad. */
body.single-post .elementor-location-header,
body.single-post .elementor-location-footer{ display:none !important; }

/* ============ Blog de Kaku ============================================ */
/* Portado de `Mockup blog de Kaku` (2026-09-19). Tokens del kit de landings. */

.kk-blog{ --sh-sm:0 1px 2px rgba(23,20,33,.05);
  --sh:0 1px 2px rgba(23,20,33,.04),0 8px 22px -14px rgba(23,20,33,.18);
  --sh-lg:0 2px 4px rgba(23,20,33,.04),0 18px 40px -18px rgba(23,20,33,.28);
  --sh-xl:0 4px 8px rgba(86,52,214,.06),0 40px 80px -30px rgba(86,52,214,.35);
  --bg:#EFEAFB; --card:#FFFFFF; --card-2:#F2EEFB;
  --line:#ECE9F5; --line-2:#F4F1FA;
  --ink:#171421; --ink-2:#615E6B; --ink-3:#77747F;
  --violet:#8B5CF6; --violet-deep:#5634D6; --violet-soft:#F2EEFB;
  --grad:linear-gradient(135deg,#8B5CF6,#4F46E5);
}

/* --- Rejilla del post: articulo + sidebar de 320 --------------------- */
.kk-post-main > .e-con-inner,
.kk-post-main{ max-width:1240px !important; }
/* El contenedor va a ancho completo, asi que NO tiene `.e-con-inner`: la
   rejilla se pone sobre el propio contenedor. Se cubren los dos casos por si
   alguien lo pasa a boxed desde el editor. */
.kk-post-grid, .kk-post-grid > .e-con-inner{
  display:grid !important; grid-template-columns:minmax(0,1fr) 320px !important;
  gap:clamp(28px,3.4vw,56px) !important; align-items:start !important;
}
@media(max-width:1024px){
  .kk-post-grid, .kk-post-grid > .e-con-inner{ grid-template-columns:1fr !important; }
  .kk-post-aside{ position:static !important; }
}

.kk-post-article{ min-width:0; gap:clamp(20px,2.4vw,32px) !important; }
.kk-post-aside{ position:sticky; top:90px; gap:18px !important; }

/* --- Cabecera del articulo ------------------------------------------- */
.kk-post-cover img{
  border-radius:20px; box-shadow:var(--sh-lg);
  aspect-ratio:16/7; object-fit:cover; width:100%;
}
.kk-post-meta .elementor-post-info__terms-list-item{
  padding:5px 11px; border-radius:999px;
  background:var(--violet-soft); color:var(--violet-deep);
  font-size:12px; font-weight:600;
}
.kk-post-meta .elementor-post-info__item{
  font-size:12px; font-weight:500; color:var(--ink-3);
}
.kk-post-title h1{
  margin:0; font-size:clamp(32px,4vw,56px); font-weight:700;
  line-height:1.03; letter-spacing:-.035em; max-width:22ch;
  text-wrap:balance; color:var(--ink) !important;
}
.kk-post-deck{
  font-size:clamp(17px,1.5vw,21px); line-height:1.5;
  color:var(--ink-2); max-width:60ch; text-wrap:pretty;
}
.kk-post-deck p{ margin:0; }

/* --- Firma del post --------------------------------------------------- */
/* El autor visible es la marca, no una persona, asi que en vez del avatar de
   Gravatar (que saldria como un circulo gris vacio) se pinta la K del logo. */
.kk-post-author .elementor-post-info__item{
  font-size:14px; line-height:1.35; color:var(--ink-2);
  text-transform:none; letter-spacing:0;
}
.kk-post-author .elementor-post-info__item-prefix,
.kk-post-author img.elementor-avatar{ display:none !important; }
.kk-post-author .elementor-post-info__item--type-author::before{
  content:"K"; flex:none; width:38px; height:38px; border-radius:11px;
  background:var(--grad); color:#FAF8F4; font-weight:700; font-size:19px;
  display:inline-flex; align-items:center; justify-content:center;
  margin-right:11px;
}
.kk-post-author .elementor-post-info__item--type-author{
  display:inline-flex !important; align-items:center;
  font-size:15px; font-weight:600; color:var(--ink) !important;
}

/* --- La tarjeta de prosa --------------------------------------------- */
.kk-post-card{
  background:var(--card); border:1px solid var(--line);
  border-radius:20px; box-shadow:var(--sh);
  padding:clamp(24px,3vw,52px) !important;
}
.kk-post-card .elementor-widget-theme-post-content{
  font-size:17.5px; line-height:1.75; color:var(--ink-2);
}
/* Espaciado por `gap`, como el diseno — no por margenes.
   Con margenes hacia falta acertar el de arriba Y el de abajo de cada bloque,
   y un `margin:34px 0 0` en los h2 dejaba el titular PEGADO a su parrafo
   (medido: gap=0). El diseno maqueta la prosa como columna flex con gap 22,
   asi que aqui se hace igual: los margenes se anulan y el aire lo pone el gap.
   El respiro extra de los titulares va en `padding-top`, que el reset no toca. */
/* ⚠ Elementor 3.x con «optimized markup» ACTIVADO no genera
   `.elementor-widget-container`: los bloques cuelgan directos del widget. Toda
   regla colgada de ese div no aplica y no avisa. Se cubren los dos markups. */
.kk-prose,
.kk-prose .elementor-widget-container{
  display:flex; flex-direction:column; gap:22px;
}
.kk-prose > *,
.kk-prose .elementor-widget-container > *{ margin:0 !important; }
.kk-prose h2{
  padding-top:10px; font-size:clamp(24px,2.4vw,32px);
  font-weight:700; line-height:1.15; letter-spacing:-.03em;
  color:var(--ink) !important; scroll-margin-top:96px;
}
.kk-prose h3{
  padding-top:4px; font-size:21px; font-weight:600;
  line-height:1.3; letter-spacing:-.015em;
  color:var(--ink) !important; scroll-margin-top:96px;
}
.kk-prose strong{ color:var(--ink); font-weight:600; }
.kk-prose a{
  color:var(--violet-deep) !important; text-decoration:underline;
  text-underline-offset:3px; text-decoration-thickness:1px;
}
.kk-prose a:hover{ color:var(--violet) !important; }
.kk-prose ul,.kk-prose ol{ padding-left:22px; }
.kk-prose li{ margin:0 0 9px; }
.kk-prose code{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.87em;
  background:var(--card-2); color:var(--violet-deep);
  padding:.12em .42em; border-radius:5px;
}
.kk-prose pre{
  border-radius:14px; background:var(--card-2); padding:18px 22px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:14px; line-height:1.7; color:var(--ink); overflow-x:auto;
}
.kk-prose blockquote{
  border-left:3px solid var(--violet); background:var(--violet-soft);
  border-radius:0 14px 14px 0; padding:18px 22px;
  font-size:16.5px; line-height:1.6; color:var(--ink);
}
.kk-prose blockquote p:last-child{ margin:0; }

/* --- Indice: el «In this guide» del diseno ---------------------------- */
.kk-prose .kk-toc{
  background:var(--bg); border:1px solid var(--line);
  border-radius:16px; padding:22px 26px;
}
.kk-prose .kk-toc > p{
  margin:0 0 12px !important; font-size:11px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3);
}
.kk-prose .kk-toc ul{
  margin:0; padding-left:20px; list-style:decimal;
  display:flex; flex-direction:column; gap:8px;
}
.kk-prose .kk-toc li{ margin:0; font-size:15.5px; line-height:1.5; }
.kk-prose .kk-toc a{
  color:var(--ink) !important; font-weight:500; text-decoration:none;
}
.kk-prose .kk-toc a:hover{ color:var(--violet-deep) !important; }

/* --- Destacados: el «Prerequisite» del diseno ------------------------- */
.kk-prose .kk-answer,.kk-prose .kk-note{
  border-radius:14px; padding:18px 22px;
  background:var(--violet-soft); border-left:3px solid var(--violet);
  font-size:16px; line-height:1.6; color:var(--ink);
}
.kk-prose .kk-answer p,.kk-prose .kk-note p{ margin:0; }
.kk-prose .kk-answer p{ font-size:17px; }
.kk-prose .kk-note{ background:#FEF9E9; border-left-color:#F0B429; }

/* --- Tablas (el diseno no trae ninguna; se derivan del sistema) ------- */
.kk-prose .wp-block-table{ overflow-x:auto; }
.kk-prose .wp-block-table table{
  width:100%; border-collapse:collapse; font-size:15px; line-height:1.55;
  background:var(--card); border:1px solid var(--line);
  border-radius:14px; overflow:hidden;
}
.kk-prose .wp-block-table th{
  background:var(--card-2); color:var(--ink); font-weight:600;
  text-align:left; padding:12px 15px; font-size:14px;
  border-bottom:1px solid var(--line);
}
.kk-prose .wp-block-table td{
  padding:12px 15px; border-bottom:1px solid var(--line-2);
  color:var(--ink-2); vertical-align:top;
}
.kk-prose .wp-block-table tr:last-child td{ border-bottom:0; }

/* --- FAQ -------------------------------------------------------------- */
.kk-prose .schema-faq-section{ border-bottom:1px solid var(--line); padding:17px 0; }
.kk-prose .schema-faq-section:last-child{ border-bottom:0; }
.kk-prose .schema-faq-question{
  display:block; color:var(--ink); font-size:17.5px; font-weight:600;
  line-height:1.4; margin-bottom:6px;
}
.kk-prose .schema-faq-answer{ margin:0 !important; color:var(--ink-2); font-size:16px; }

/* --- CTA a media altura ----------------------------------------------- */
.kk-prose .kk-cta-slim{
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  flex-wrap:wrap; background:var(--violet-soft); border:1px solid #E2D9FB;
  border-radius:14px; padding:16px 20px;
}
.kk-prose .kk-cta-slim p{ margin:0 !important; font-size:15.5px; line-height:1.55; color:var(--ink); }
.kk-prose .kk-cta-slim .kk-cta-slim-a{ flex:none; }
.kk-prose .kk-cta-slim a{
  font-weight:600; font-size:15px; color:var(--violet-deep) !important;
  text-decoration:none !important; white-space:nowrap;
}
.kk-prose .kk-cta-slim a:hover{ text-decoration:underline !important; }
@media(max-width:640px){ .kk-prose .kk-cta-slim{ gap:10px; } }

/* --- Cierre ----------------------------------------------------------- */
/* El gap uniforme de 22px es correcto para texto, pero deja el CTA de cierre
   pegado al bloque anterior: es una pieza grande y de color, y necesita
   separarse de la prosa. Como el reset anula los margenes con !important, esta
   regla tiene que ganarle por especificidad (0,3,0 contra 0,2,0). */
.kk-prose > .kk-cta,
.kk-prose .elementor-widget-container > .kk-cta{ margin-top:26px !important; }

.kk-prose .kk-cta{
  background:var(--grad); border-radius:20px;
  padding:32px 34px; box-shadow:var(--sh-xl);
}
.kk-prose .kk-cta h3{
  color:#fff !important; font-size:25px; line-height:1.2; font-weight:700;
  margin:0 0 10px !important; letter-spacing:-.025em;
}
.kk-prose .kk-cta p{ color:rgba(255,255,255,.88) !important; font-size:16px; margin:0 0 18px; }
.kk-prose .kk-cta .wp-block-button__link{
  background:#fff !important; color:var(--violet-deep) !important;
  border-radius:11px; padding:12px 18px; font-weight:600; font-size:15px;
  text-decoration:none !important; display:inline-block;
}

@media(max-width:640px){
  .kk-post-card .elementor-widget-theme-post-content{ font-size:16.5px; }
  .kk-prose .kk-cta{ padding:24px 22px; }
  .kk-prose .wp-block-table table{ font-size:14px; }
}

/* ============ Indice del blog (plantilla Archive 141) ================= */
body.blog .elementor-location-header,
body.blog .elementor-location-footer,
body.archive .elementor-location-header,
body.archive .elementor-location-footer,
body.search .elementor-location-header,
body.search .elementor-location-footer{ display:none !important; }

/* Rejilla de tarjetas: 3 / 2 / 1 en los breakpoints del sistema. */
.kk-archive .elementor-posts-container{
  display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:20px !important;
}
@media(max-width:1024px){
  .kk-archive .elementor-posts-container{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media(max-width:640px){
  .kk-archive .elementor-posts-container{ grid-template-columns:1fr !important; }
}

.kk-archive .elementor-post{
  background:var(--card); border:1px solid var(--line); border-radius:16px;
  box-shadow:var(--sh); overflow:hidden; display:flex; flex-direction:column;
  margin:0 !important; transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s;
}
.kk-archive .elementor-post:hover{ transform:translateY(-3px); box-shadow:var(--sh-lg); }
.kk-archive .elementor-post__thumbnail{
  aspect-ratio:16/9; background:var(--card-2); padding-bottom:0 !important;
}
.kk-archive .elementor-post__thumbnail img{
  width:100%; height:100%; object-fit:cover;
}
.kk-archive .elementor-post__text{
  padding:22px 24px 24px; display:flex; flex-direction:column; gap:10px; flex:1; margin:0;
}
/* El kit define la tipografia de h3 a nivel global y gana por especificidad,
   asi que el titulo de la tarjeta se fija sobre el h3 Y sobre su enlace. */
.kk-archive h3.elementor-post__title,
.kk-archive .elementor-post__title{
  font-size:18.5px !important; font-weight:700 !important; line-height:1.25 !important;
  letter-spacing:-.02em !important; margin:0 !important; text-transform:none !important;
}
.kk-archive h3.elementor-post__title a,
.kk-archive .elementor-post__title a{
  color:var(--ink) !important; text-decoration:none !important;
  font-size:18.5px !important; font-weight:700 !important; line-height:1.25 !important;
}
/* El diseno no muestra comentarios en la tarjeta. */
.kk-archive .elementor-post__meta-data span.elementor-post-date + span,
.kk-archive .elementor-post__comments{ display:none !important; }
.kk-archive .elementor-post__excerpt p{
  font-size:14.5px !important; line-height:1.55; color:var(--ink-2); margin:0;
}
/* Elementor pinta titulo -> meta -> extracto; el diseno quiere la fecha al
   final de la tarjeta. Se reordena con flex en vez de tocar el widget. */
.kk-archive .elementor-post__title{ order:1; }
.kk-archive .elementor-post__excerpt{ order:2; }
.kk-archive .elementor-post__meta-data{
  order:3; margin:auto 0 0 !important; padding-top:8px;
  font-size:12.5px; color:var(--ink-3); border:0;
}
.kk-archive .elementor-post__read-more{ display:none !important; }

/* Boton «Load more» del diseno */
.kk-archive .elementor-button.elementor-size-md,
.kk-archive .e-load-more-anchor + a,
.kk-archive .elementor-pagination a{
  background:var(--card) !important; color:var(--ink) !important;
  font-size:16px; font-weight:600; padding:15px 28px; border-radius:12px;
  border:1px solid var(--line); box-shadow:var(--sh-sm);
}

/* --- Piezas estaticas del indice -------------------------------------- */








.kkb-pills{ display:flex; flex-wrap:wrap; gap:10px; }
.kkb-pills a{
  padding:8px 15px; border-radius:999px; font-size:13.5px; font-weight:600;
  color:var(--ink-2) !important; background:var(--card); border:1px solid var(--line);
  text-decoration:none !important;
}
.kkb-pills a:hover{ border-color:var(--violet); color:var(--violet-deep) !important; }
.kkb-pills a.on{ color:#fff !important; background:var(--violet); border-color:var(--violet); }

.kkb-tools-rail{ display:flex; gap:18px; overflow-x:auto; padding:4px 0 8px; }
.kkb-tools-rail a{
  flex:0 0 clamp(248px,24vw,300px); background:var(--bg); border:1px solid var(--line);
  border-radius:18px; padding:24px; display:flex; flex-direction:column; gap:10px;
  text-decoration:none !important;
}
.kkb-tools-rail a:hover{ border-color:var(--violet); }
.kkb-tools-rail b{ font-size:17px; font-weight:700; letter-spacing:-.015em; color:var(--ink); }
.kkb-tools-rail span{ font-size:14px; line-height:1.55; color:var(--ink-2); }
.kkb-tools-rail em{ margin-top:auto; padding-top:6px; font-style:normal; font-size:13.5px;
  font-weight:600; color:var(--violet-deep); }

/* Banda a sangre: el violeta llega a los bordes y el contenido se limita a
   los 1240 del sistema, como el resto del sitio. */
.kkb-cta{
  background:var(--grad); width:100%;
  padding:clamp(40px,5vw,68px) 24px;
}
.kkb-cta-in{
  max-width:1240px; margin:0 auto; display:flex; align-items:center;
  justify-content:space-between; gap:28px; flex-wrap:wrap;
}
@media(max-width:640px){
  .kkb-cta-in{ flex-direction:column; align-items:flex-start; gap:20px; }
  .kkb-cta-in a{ width:100%; text-align:center; }
}
.kkb-cta h2{ margin:0 0 8px !important; font-size:clamp(24px,2.8vw,34px); font-weight:700;
  line-height:1.1; letter-spacing:-.03em; color:#fff !important; }
.kkb-cta p{ margin:0; font-size:16px; line-height:1.55; color:rgba(255,255,255,.88); }
.kkb-cta a{
  flex:none; background:#fff; color:var(--violet-deep) !important; font-size:16px;
  font-weight:600; padding:14px 26px; border-radius:12px; text-decoration:none !important;
}
.kkb-sec-h2{
  margin:0 0 6px !important; font-size:clamp(24px,2.8vw,34px); font-weight:700;
  line-height:1.1; letter-spacing:-.03em; color:var(--ink) !important;
}
.kkb-sec-p{ margin:0 0 22px; font-size:15.5px; color:var(--ink-2); }


/* --- Hero e indice alineados con la home (2026-09-20) --- */

.kkb-hero{position:relative;overflow:visible;border-radius:0;box-shadow:none;
  background:transparent;min-height:0;display:block;padding:54px 0 34px;text-align:center}
.kkb-hero::before{content:none}
.kkb-hero::after{content:none}
.kkb-hero-in{position:relative;z-index:2;max-width:880px;margin:0 auto;color:inherit}
.kkb-hero h1{margin:0 0 18px !important;font-size:clamp(38px,5.6vw,72px);font-weight:700;
  line-height:1.04;letter-spacing:-.032em;text-wrap:balance;color:var(--ink) !important}
.kkb-hero h1 span{color:var(--violet)}
.kkb-hero p{margin:0 auto;font-size:clamp(16px,1.3vw,19px);line-height:1.6;
  color:var(--ink-2);max-width:60ch;text-wrap:pretty}
.kkb-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;
  font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--violet-deep);background:var(--card);border:1px solid var(--line);
  padding:7px 14px;border-radius:999px}
.kkb-pills{justify-content:center}
.kkb-login{flex:none;font-size:14.5px;font-weight:500;color:#615E6B !important;
  text-decoration:none !important;margin-right:18px}
.kkb-login:hover{color:#171421 !important}
.kkb-lang{flex:none;position:relative;margin-right:18px}
.kkb-lang>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;
  font-size:13px;font-weight:500;color:#615E6B;padding:6px 10px;border-radius:9px}
.kkb-lang>summary::-webkit-details-marker{display:none}
.kkb-lang>summary:hover{color:#171421;background:var(--card)}
.kkb-lang-menu{position:absolute;right:0;top:calc(100% + 6px);display:flex;flex-direction:column;
  min-width:132px;background:var(--card);border:1px solid var(--line);border-radius:12px;
  box-shadow:var(--sh-lg);padding:6px;z-index:80}
.kkb-lang-menu a{padding:8px 10px;border-radius:8px;font-size:13.5px;font-weight:500;
  color:#615E6B !important;text-decoration:none !important}
.kkb-lang-menu a:hover{background:var(--violet-soft);color:var(--violet-deep) !important}
@media(max-width:860px){.kkb-login,.kkb-lang{display:none}}

/* --- Ajustes finales de unificacion (2026-09-20) --------------------------
   El rail de herramientas era un flex con overflow-x: con 6 tarjetas de ~300px
   desbordaba a 1890px en un contenedor de 1392 y se cortaba por la derecha sin
   ninguna pista de que hubiera mas. La home no usa carruseles: 6 piezas caben
   exactas en su rejilla de 3, que ademas es el patron del resto del sitio.
   El radio baja a 16px como las demas tarjetas, y `Log in` necesita !important
   porque la tipografia de enlaces del kit lo pisaba y salia a 16px. */
.kkb-tools-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;overflow:visible;padding:4px 0 8px}
.kkb-tools-rail a{flex:none;border-radius:16px}
@media(max-width:1024px){.kkb-tools-rail{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.kkb-tools-rail{grid-template-columns:1fr}}
.kkb-login{font-size:14.5px !important}

/* kk-hover */
/* La home eleva sus tarjetas con `[data-lift]:hover{transform:translateY(-3px);
   box-shadow:var(--sh-lg)}` y una transicion de `transform .3s
   cubic-bezier(.2,.7,.2,1), box-shadow .3s`. El blog hacia el mismo recorrido
   y la misma sombra, pero en .16s y con `ease`: al doble de velocidad y con
   otra curva, que es lo que se notaba distinto al pasar de una a otra.
   Nota: las tarjetas de la home son <div>, las del blog son <a>, asi que estas
   heredan ademas las transiciones de color de los enlaces del kit; por eso la
   propiedad se declara explicitamente en vez de dejarla en `all`. */
.kk-archive .elementor-post,
.kkb-tools-rail a,
.kkb-pills a,
.kkb-tnav button{transition:transform .3s cubic-bezier(.2,.7,.2,1),
  box-shadow .3s,border-color .3s,color .3s !important}
/* kk-tools */
/* --- Seccion «tools» del indice, con el lenguaje de la home -------------- */
/* Banda blanca, como el `#tools` de la home (`background:var(--card)`). Por
   defecto esta seccion era transparente y dejaba ver el mesh lila del kit
   (`/* kk-mesh *\/`), que es justo lo que se veia distinto.
   En la home la franja blanca no declara bordes: se los ponen las secciones de
   arriba y de abajo, que son lavanda. Aqui la de arriba es el mesh y la de
   abajo el CTA violeta a sangre, asi que las dos lineas van en esta misma.
   El padding pasa a la banda porque un fondo blanco a 8px del titulo se lee
   como un corte, no como una seccion. */
.kkb-tools-band{background:var(--card) !important;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding-top:clamp(52px,6.5vw,92px) !important;
  padding-bottom:clamp(52px,6.5vw,92px) !important}
.kkb-tools-eb{margin-bottom:18px}
.kkb-sec-h2{font-size:clamp(28px,3.4vw,44px) !important;line-height:1.1 !important;
  letter-spacing:-.03em !important;font-weight:700 !important;color:var(--ink) !important;
  margin:0 !important;text-wrap:balance}
.kkb-sec-h2 span{display:block;color:var(--violet) !important}
/* Cabecera con las flechas a la derecha, como en la home. */
.kkb-tools-top{display:flex;align-items:flex-end;justify-content:space-between;
  gap:24px;margin-bottom:26px}
.kkb-tnav{display:flex;gap:10px;flex:none;padding-bottom:4px}
.kkb-tnav button{width:46px;height:46px;border-radius:999px;border:1px solid var(--line);
  background:var(--card);color:var(--ink-2);cursor:pointer;display:inline-flex;
  align-items:center;justify-content:center;padding:0;
  transition:border-color .15s ease,color .15s ease,opacity .15s ease}
.kkb-tnav button svg{width:20px;height:20px}
.kkb-tnav button:hover:not([disabled]){border-color:var(--violet);color:var(--violet-deep)}
.kkb-tnav button[disabled]{opacity:.34;cursor:default}
/* Carrusel: scroll nativo con anclaje. El degradado del borde derecho dice que
   hay mas tarjetas, y desaparece al llegar al final. */
.kkb-tools-rail{display:flex !important;grid-template-columns:none !important;
  gap:18px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;
  padding:4px 0 12px;scrollbar-width:none;-ms-overflow-style:none}
.kkb-tools-rail::-webkit-scrollbar{display:none}
.kkb-tools-rail:focus-visible{outline:2px solid var(--violet);outline-offset:4px;
  border-radius:20px}
.kkb-tools-rail a{flex:0 0 clamp(290px,26vw,360px) !important;scroll-snap-align:start}
@media(max-width:640px){.kkb-tnav{display:none}
  .kkb-tools-rail a{flex:0 0 min(84vw,320px) !important}}
.kkb-sec-p{display:none}
/* Tarjeta con la arquitectura de las de la home: banda lavanda punteada arriba
   enmarcando una pieza blanca, zona de texto debajo. La version anterior era
   lavanda, plana y con el icono suelto sobre el titulo: se leia como un aviso,
   no como una tarjeta de producto. */
/* La transicion NO se declara aqui: vive en el bloque `/* kk-hover *\/`, que la
   iguala con la de la home. Tenerla en los dos sitios era una regla muerta que
   solo sobrevive por el `!important` del otro bloque. */
.kkb-tools-rail a{background:var(--card) !important;border:1px solid var(--line);
  border-radius:20px !important;box-shadow:var(--sh);padding:0 !important;gap:0;
  overflow:hidden}
.kkb-tools-rail a:hover{transform:translateY(-3px);box-shadow:var(--sh-lg)}
.kkb-tart{display:flex;align-items:center;justify-content:center;height:124px;
  background-color:var(--violet-soft);
  background-image:radial-gradient(rgba(86,52,214,.22) 1px,transparent 1px);
  background-size:14px 14px;border-bottom:1px solid var(--line)}
.kkb-tico{flex:none;width:58px;height:58px;border-radius:17px;background:var(--card);
  color:var(--violet-deep);display:inline-flex;align-items:center;justify-content:center;
  box-shadow:0 1px 2px rgba(23,20,33,.05),0 10px 24px -16px rgba(23,20,33,.30)}
.kkb-tico svg{width:26px;height:26px}
.kkb-tbody{display:flex;flex-direction:column;gap:10px;padding:22px 24px 24px;flex:1}
.kkb-tools-rail b{font-size:19px !important;line-height:1.2}
.kkb-tdesc{font-size:15px !important;line-height:1.6}
.kkb-tools-rail em{margin-top:auto;padding-top:8px;opacity:.82;transition:opacity .15s ease}
.kkb-tools-rail a:hover em{opacity:1}
/* kk-blog-end */

/* kk-sidebar */
/* Sidebar del post (2026-10-03): «Keep reading». Valores del mockup
   `Kaku Blog Post.dc.html`. La lista es el widget Posts de Elementor Pro en
   modo Related; con «optimized markup» no hay `.elementor-widget-container`,
   asi que se cuelga de las clases del propio widget. */
.kkb-related{
  border-radius:20px; background:var(--card); border:1px solid var(--line);
  box-shadow:var(--sh-sm); padding:24px !important;
}
/* El kit fija la tipografia de h3 Y la de los enlaces (tamano incluido), y gana
   por especificidad: por eso todo lleva !important y el tamano va tambien en
   el <a>, igual que en las tarjetas del indice (.kk-archive). */
.kkb-related-lbl{
  margin:0 !important; font-size:11px !important; font-weight:700 !important; line-height:1.2 !important;
  letter-spacing:.1em !important; text-transform:uppercase !important; color:var(--ink-3) !important;
}
.kkb-related-list .elementor-posts-container{ display:flex !important; flex-direction:column; gap:14px; }
.kkb-related-list .elementor-post{ margin:0 !important; padding:0 !important; }
.kkb-related-list .elementor-post__title,
.kkb-related-list .elementor-post__title a{
  margin:0 !important; font-size:14.5px !important; font-weight:600 !important; line-height:1.35 !important;
  letter-spacing:-.005em !important; text-transform:none !important;
}
.kkb-related-list .elementor-post__title a{ color:var(--ink) !important; text-decoration:none !important; }
.kkb-related-list .elementor-post__title a:hover{ color:var(--violet-deep) !important; }/* End custom CSS */