body
{
   background-color: #FFFFFF;
   color: #000000;
   font-family: "Open Sans";
   font-weight: 400;
   font-weight: 400;
   font-size: 16px;
   line-height: 1.1875;
   margin: 0;
   padding: 0;
}
#wb_headerGrid
{
   clear: both;
   position: relative;
   table-layout: fixed;
   display: table;
   text-align: center;
   width: 100%;
   background-color: #2F5FA8;
   background-image: none;
   border: 0px solid transparent;
   border-radius: 0px;
   box-sizing: border-box;
   margin: 0 0 30px 0 ;
}
#headerGrid
{
   box-sizing: border-box;
   display: flex;
   flex-direction: row;
   flex-wrap: wrap;
   padding: 5px 0 10px 0;
   margin-right: auto;
   margin-left: auto;
   max-width: 1140px;
}
#headerGrid > .col-1
{
   box-sizing: border-box;
   font-size: 0;
   min-height: 1px;
   padding-right: 15px;
   padding-left: 15px;
   position: relative;
}
#headerGrid > .col-1
{
   flex: 0 0 auto;
}
#headerGrid > .col-1
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #FFFFFF;
   border-radius: 0px;
   flex-basis: 100%;
   max-width: 100%;
   display: flex;
   flex-wrap: wrap;
   align-content: center;
   align-self: stretch;
   align-items: center;
   justify-content: center;
   text-align: center;
}
@media (max-width: 480px)
{
#headerGrid > .col-1
{
   flex-basis: 100% !important;
   max-width: 100% !important;
}
}
#wb_LayoutGrid8
{
   clear: both;
   position: -webkit-sticky;
   position: sticky;
   top: 0;
   z-index: 7776;
   table-layout: fixed;
   display: table;
   text-align: center;
   width: 100%;
   background-color: #2F5FA8;
   background-image: none;
   border: 0px solid #CCCCCC;
   border-radius: 0px;
   box-sizing: border-box;
   margin: 0 0 30px 0 ;
}
#LayoutGrid8
{
   box-sizing: border-box;
   display: flex;
   flex-direction: row;
   flex-wrap: wrap;
   padding: 0;
   margin-right: auto;
   margin-left: auto;
   max-width: 1140px;
}
#LayoutGrid8 > .col-1
{
   box-sizing: border-box;
   font-size: 0;
   min-height: 1px;
   padding-right: 15px;
   padding-left: 15px;
   position: relative;
}
#LayoutGrid8 > .col-1
{
   flex: 0 0 auto;
}
#LayoutGrid8 > .col-1
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #FFFFFF;
   border-radius: 0px;
   flex-basis: 100%;
   max-width: 100%;
   display: flex;
   flex-wrap: wrap;
   align-content: center;
   align-self: stretch;
   align-items: center;
   justify-content: flex-end;
   text-align: right;
}
@media (max-width: 480px)
{
#LayoutGrid8 > .col-1
{
   flex-basis: 100% !important;
   max-width: 100% !important;
}
}
#wb_LayoutGrid2
{
   clear: both;
   position: relative;
   table-layout: fixed;
   display: table;
   text-align: center;
   width: 100%;
   background-color: #FFFFFF;
   background-image: none;
   border: 0px solid #DEE2E6;
   border-radius: 0px;
   box-sizing: border-box;
   margin: 0;
}
#LayoutGrid2
{
   box-sizing: border-box;
   display: flex;
   flex-direction: row;
   flex-wrap: wrap;
   padding: 5px 0 5px 0;
   margin-right: auto;
   margin-left: auto;
}
#LayoutGrid2 > .col-1
{
   box-sizing: border-box;
   font-size: 0;
   min-height: 1px;
   padding-right: 15px;
   padding-left: 15px;
   position: relative;
}
#LayoutGrid2 > .col-1
{
   flex: 0 0 auto;
}
#LayoutGrid2 > .col-1
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #FFFFFF;
   border-radius: 0px;
   flex-basis: 100%;
   max-width: 100%;
   display: flex;
   flex-wrap: wrap;
   align-content: center;
   align-self: stretch;
   align-items: center;
   justify-content: center;
   text-align: center;
}
@media (max-width: 768px)
{
#LayoutGrid2 > .col-1
{
   flex-basis: 100% !important;
   max-width: 100% !important;
}
}
#wb_featuresGrid
{
   clear: both;
   position: relative;
   table-layout: fixed;
   display: table;
   text-align: center;
   width: 100%;
   background-color: transparent;
   background-image: none;
   border: 0px solid #CCCCCC;
   border-radius: 0px;
   box-sizing: border-box;
   margin: 50px 0 20px 0 ;
}
#featuresGrid
{
   box-sizing: border-box;
   display: flex;
   flex-direction: row;
   flex-wrap: wrap;
   padding: 5px 0 5px 0;
   margin-right: auto;
   margin-left: auto;
   max-width: 1140px;
}
#featuresGrid > .col-1
{
   box-sizing: border-box;
   font-size: 0;
   min-height: 1px;
   padding-right: 15px;
   padding-left: 15px;
   position: relative;
}
#featuresGrid > .col-1
{
   flex: 0 0 auto;
}
#featuresGrid > .col-1
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #FFFFFF;
   border-radius: 0px;
   flex-basis: 100%;
   max-width: 100%;
   display: flex;
   flex-wrap: wrap;
   align-content: flex-start;
   align-self: stretch;
   align-items: flex-start;
   justify-content: center;
   text-align: center;
}
@media (max-width: 768px)
{
#featuresGrid > .col-1
{
   flex-basis: 100% !important;
   max-width: 100% !important;
}
}
#wb_LayoutGrid7
{
   clear: both;
   position: relative;
   table-layout: fixed;
   display: table;
   text-align: center;
   width: 100%;
   background-color: transparent;
   background-image: none;
   border: 0px solid #CCCCCC;
   border-radius: 0px;
   box-sizing: border-box;
   margin: 50px 0 20px 0 ;
}
#LayoutGrid7
{
   box-sizing: border-box;
   display: flex;
   flex-direction: row;
   flex-wrap: wrap;
   padding: 5px 0 5px 0;
   margin-right: auto;
   margin-left: auto;
   max-width: 1140px;
}
#LayoutGrid7 > .col-1
{
   box-sizing: border-box;
   font-size: 0;
   min-height: 1px;
   padding-right: 15px;
   padding-left: 15px;
   position: relative;
}
#LayoutGrid7 > .col-1
{
   flex: 0 0 auto;
}
#LayoutGrid7 > .col-1
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #FFFFFF;
   border-radius: 0px;
   flex-basis: 100%;
   max-width: 100%;
   display: flex;
   flex-wrap: wrap;
   align-content: flex-start;
   align-self: stretch;
   align-items: flex-start;
   justify-content: center;
   text-align: center;
}
@media (max-width: 768px)
{
#LayoutGrid7 > .col-1
{
   flex-basis: 100% !important;
   max-width: 100% !important;
}
}
#wb_LayoutGrid4
{
   clear: both;
   position: relative;
   table-layout: fixed;
   display: table;
   text-align: center;
   width: 100%;
   background-color: #FFFFFF;
   background-image: none;
   border: 0px solid #DEE2E6;
   border-radius: 0px;
   box-sizing: border-box;
   margin: 0;
}
#LayoutGrid4
{
   box-sizing: border-box;
   display: flex;
   flex-direction: row;
   flex-wrap: wrap;
   padding: 5px 0 5px 0;
   margin-right: auto;
   margin-left: auto;
}
#LayoutGrid4 > .col-1
{
   box-sizing: border-box;
   font-size: 0;
   min-height: 1px;
   padding-right: 15px;
   padding-left: 15px;
   position: relative;
}
#LayoutGrid4 > .col-1
{
   flex: 0 0 auto;
}
#LayoutGrid4 > .col-1
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #FFFFFF;
   border-radius: 0px;
   flex-basis: 100%;
   max-width: 100%;
   display: flex;
   flex-wrap: wrap;
   align-content: center;
   align-self: stretch;
   align-items: center;
   justify-content: center;
   text-align: center;
}
@media (max-width: 768px)
{
#LayoutGrid4 > .col-1
{
   flex-basis: 100% !important;
   max-width: 100% !important;
}
}
#wb_beachesGrid1
{
   clear: both;
   position: relative;
   table-layout: fixed;
   display: table;
   text-align: center;
   width: 100%;
   background-color: #F6F1D7;
   background-image: none;
   border: 0px solid #CCCCCC;
   border-radius: 0px;
   box-sizing: border-box;
   margin: 0;
}
#beachesGrid1
{
   box-sizing: border-box;
   display: flex;
   flex-direction: row;
   flex-wrap: wrap;
   padding: 5px 0 5px 0;
   margin-right: auto;
   margin-left: auto;
   max-width: 1140px;
}
#beachesGrid1 > .col-1
{
   box-sizing: border-box;
   font-size: 0;
   min-height: 1px;
   padding-right: 15px;
   padding-left: 15px;
   position: relative;
}
#beachesGrid1 > .col-1
{
   flex: 0 0 auto;
}
#beachesGrid1 > .col-1
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #FFFFFF;
   border-radius: 0px;
   flex-basis: 100%;
   max-width: 100%;
   display: flex;
   flex-wrap: wrap;
   align-content: center;
   align-self: stretch;
   align-items: center;
   justify-content: center;
   text-align: center;
}
#beachesGrid1 > .col-1 > .col-1-padding
{
   box-sizing: border-box;
   width: 100%;
   padding: 8px 8px 8px 8px;
}
@media (max-width: 768px)
{
#beachesGrid1 > .col-1
{
   flex-basis: 100% !important;
   max-width: 100% !important;
}
}
#wb_LayoutGrid5
{
   clear: both;
   position: relative;
   table-layout: fixed;
   display: table;
   text-align: center;
   width: 100%;
   background-color: transparent;
   background-image: none;
   border: 0px solid #CCCCCC;
   border-radius: 0px;
   box-sizing: border-box;
   margin: 50px 0 20px 0 ;
}
#LayoutGrid5
{
   box-sizing: border-box;
   display: flex;
   flex-direction: row;
   flex-wrap: wrap;
   padding: 5px 0 5px 0;
   margin-right: auto;
   margin-left: auto;
   max-width: 1140px;
}
#LayoutGrid5 > .col-1
{
   box-sizing: border-box;
   font-size: 0;
   min-height: 1px;
   padding-right: 15px;
   padding-left: 15px;
   position: relative;
}
#LayoutGrid5 > .col-1
{
   flex: 0 0 auto;
}
#LayoutGrid5 > .col-1
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #FFFFFF;
   border-radius: 0px;
   flex-basis: 100%;
   max-width: 100%;
   display: flex;
   flex-wrap: wrap;
   align-content: flex-start;
   align-self: stretch;
   align-items: flex-start;
   justify-content: center;
   text-align: center;
}
@media (max-width: 768px)
{
#LayoutGrid5 > .col-1
{
   flex-basis: 100% !important;
   max-width: 100% !important;
}
}
#wb_Card2
{
   position: relative;
   display: flex;
   flex-direction: column;
   box-sizing: border-box;
   margin: 0;
   background-color: #FFFFFF;
   background-image: none;
   border: 1px solid #DEE2E6;
   border-radius: 3px;
   text-align: center;
}
#Card2-card-body
{
   padding: 0;
   flex: 1 1 auto;
   font-size: 0;
}
#Card2-card-item0
{
   box-sizing: border-box;
   border-radius: 3px 3px 0 0 !important;
   margin: 0;
   width: 100%;
   height: auto;
}
#wb_Card4
{
   position: relative;
   display: flex;
   flex-direction: column;
   box-sizing: border-box;
   margin: 0;
   background-color: #FFFFFF;
   background-image: none;
   border: 1px solid #DEE2E6;
   border-radius: 3px;
   text-align: center;
}
#Card4-card-body
{
   padding: 0;
   flex: 1 1 auto;
   font-size: 0;
}
#Card4-card-item0
{
   box-sizing: border-box;
   border-radius: 3px 3px 0 0 !important;
   margin: 0;
   width: 100%;
   height: auto;
}
#wb_Card6
{
   position: relative;
   display: flex;
   flex-direction: column;
   box-sizing: border-box;
   margin: 0;
   background-color: #FFFFFF;
   background-image: none;
   border: 1px solid #DEE2E6;
   border-radius: 3px;
   text-align: center;
}
#Card6-card-body
{
   padding: 0;
   flex: 1 1 auto;
   font-size: 0;
}
#Card6-card-item0
{
   box-sizing: border-box;
   border-radius: 3px 3px 0 0 !important;
   margin: 0;
   width: 100%;
   height: auto;
}
#wb_Card7
{
   position: relative;
   display: flex;
   flex-direction: column;
   box-sizing: border-box;
   margin: 0;
   background-color: #FFFFFF;
   background-image: none;
   border: 1px solid #DEE2E6;
   border-radius: 3px;
   text-align: center;
}
#Card7-card-body
{
   padding: 0;
   flex: 1 1 auto;
   font-size: 0;
}
#Card7-card-item0
{
   box-sizing: border-box;
   border-radius: 3px 3px 0 0 !important;
   margin: 0;
   width: 100%;
   height: auto;
}
#wb_ResponsiveMenu1
{
   display: block;
   font-family: Play;
   font-weight: normal;
   text-align: center;
   width: 100%;
   margin: 0;
   z-index: 1111 !important;
}
#ResponsiveMenu1
{
   display: inline-block;
   height: 66px;
}
#wb_ResponsiveMenu1 ul
{
   list-style: none;
   margin: 0;
   padding: 0;
   position: relative;
}
#wb_ResponsiveMenu1 ul:after
{
   clear: both;
   content: "";
   display: block;
}
#wb_ResponsiveMenu1 ul li
{
   border-radius: 0;
   display: list-item;
   float: left;
   list-style: none;
   z-index: 9999;
}
#wb_ResponsiveMenu1 ul li i
{
   font-size: 19px;
   width: 19px;
   margin-bottom: 2px;
}
#wb_ResponsiveMenu1 ul li a
{
   background-color: rgba(246,246,246,0.00);
   color: #FFFFFF;
   font-family: Play;
   font-weight: normal;
   font-size: 12px;
   font-style: normal;
   text-decoration: none;
   text-transform: none;
   padding: 15px 30px 15px 30px;
   text-align: center;
}
#wb_ResponsiveMenu1 > ul > li > a 
{
   margin-right: 1px;
   height: 36px;
}
.ResponsiveMenu1 a 
{
   display: block;
}
#wb_ResponsiveMenu1 li:hover > a, #wb_ResponsiveMenu1 li .active
{
   background-color: rgba(237,237,237,0.00);
   color: #F5FFFA;
}
#wb_ResponsiveMenu1 ul ul
{
   display: none;
   position: absolute;
   top: 66px;
}
#wb_ResponsiveMenu1 ul li:hover > ul
{
   display: list-item;
}
#wb_ResponsiveMenu1 ul ul li 
{
   float: none;
   position: relative;
   width: 128px;
}
#wb_ResponsiveMenu1 ul ul li a
{
   background-color: #F6F6F6;
   border: 0px solid #C5C5C5;
   color: #454545;
}
#wb_ResponsiveMenu1 ul ul li:hover > a, #wb_ResponsiveMenu1 ul ul li .active
{
   background-color: #EDEDED;
   color: #2B2B2B;
}
#wb_ResponsiveMenu1 ul ul li i 
{
   margin-right: 6px;
   vertical-align: middle;
}
#wb_ResponsiveMenu1 ul ul li a 
{
   padding-top: 15px;
   padding-right: 20px;
   padding-bottom: 15px;
   text-align: left;
   vertical-align: middle;
}
#wb_ResponsiveMenu1 ul ul ul li 
{
   left: 128px;
   position: relative;
   top: -66px;
}
#wb_ResponsiveMenu1 .arrow-down 
{
   display: inline-block;
   width: 0;
   height: 0;
   margin-left: 3px;
   vertical-align: middle;
   border-top: 4px solid #FFFFFF;
   border-right: 4px solid transparent;
   border-left: 4px solid transparent;
   border-bottom: 0 dotted;
}
#wb_ResponsiveMenu1 .arrow-left 
{
   display: inline-block;
   width: 0;
   height: 0;
   margin-left: 3px;
   vertical-align: middle;
   border-left: 4px solid #454545;
   border-top: 4px solid transparent;
   border-bottom: 4px solid transparent;
   border-right: 0 dotted;
}
#wb_ResponsiveMenu1 li:hover > a .arrow-down, #wb_ResponsiveMenu1 li .active .arrow-down
{ 
   border-top-color: #F5FFFA;
}
#wb_ResponsiveMenu1 ul ul li:hover > a .arrow-left, #wb_ResponsiveMenu1 ul ul li .active .arrow-left
{ 
   border-left-color: #2B2B2B;
}
#wb_ResponsiveMenu1 .toggle,[id^=ResponsiveMenu1-submenu]
{
   display: none;
}
@media all and (max-width:768px) 
{
#wb_ResponsiveMenu1
{
   margin: 0;
   text-align: left;
}
#wb_ResponsiveMenu1 ul li a, #wb_ResponsiveMenu1 .toggle
{
   font-size: 12px;
   font-weight: normal;
   font-style: normal;
   text-decoration: none;
   text-transform: none;
   padding: 15px 20px 15px 20px;
}
#wb_ResponsiveMenu1 .toggle + a
{
   display: none !important;
}
.ResponsiveMenu1 
{
   display: none;
   z-index: 9999;
}
#ResponsiveMenu1 
{
   background-color: transparent;
   display: none;
}
#wb_ResponsiveMenu1 > ul > li > a 
{
   height: auto !important;
   margin: 0;
}
#wb_ResponsiveMenu1 .toggle 
{
   display: block;
   background-color: rgba(246,246,246,0.00);
   color: #FFFFFF;
   padding: 0 20px 0 20px;
   line-height: 49px;
   text-decoration: none;
   border: none;
   position: relative;
}
#wb_ResponsiveMenu1 .toggle:hover
{
   background-color: rgba(237,237,237,0.00);
   color: #F5FFFA;
}
[id^=ResponsiveMenu1-submenu]:checked + ul 
{
   display: block !important;
}
#ResponsiveMenu1-title
{
   height: 66px !important;
   line-height: 66px !important;
   text-align: center;
}
#wb_ResponsiveMenu1 ul li 
{
   display: block;
   width: 100% !important;
   text-align: left;
}
#wb_ResponsiveMenu1 ul ul .toggle,
#wb_ResponsiveMenu1 ul ul a 
{
   padding: 0 40px;
}
#wb_ResponsiveMenu1 a:hover,
#wb_ResponsiveMenu1 ul ul ul a 
{
   background-color: #F6F6F6;
   color: #454545;
}
#wb_ResponsiveMenu1 ul li ul li .toggle,
#wb_ResponsiveMenu1 ul ul a 
{
   background-color: #F6F6F6;
   color: #454545;
}
#wb_ResponsiveMenu1 ul ul ul a 
{
   padding: 15px 20px 15px 60px;
}
#wb_ResponsiveMenu1 ul li a 
{
   text-align: left;
}
#wb_ResponsiveMenu1 ul li a br 
{
   display: none;
}
#wb_ResponsiveMenu1 ul li i 
{
   margin-right: 6px;
}
#wb_ResponsiveMenu1 ul ul 
{
   float: none;
   position: static;
}
#wb_ResponsiveMenu1 ul ul li:hover > ul,
#wb_ResponsiveMenu1 ul li:hover > ul 
{
   display: none;
}
#wb_ResponsiveMenu1 ul ul li 
{
   display: block;
   width: 100%;
}
#wb_ResponsiveMenu1 ul ul ul li 
{
   position: static;
}
#ResponsiveMenu1-icon 
{
   display: block;
   position: absolute;
   left: 30px;
   top: 21px;
   user-select: none;
}
#ResponsiveMenu1-icon span 
{
   display: block;
   margin-top: 4px;
   height: 2px;
   background-color: #FFFFFF;
   color: #FFFFFF;
   width: 24px;
}
#wb_ResponsiveMenu1 ul li ul li .toggle:hover
{
   background-color: #EDEDED;
   color: #2B2B2B;
}
#wb_ResponsiveMenu1 .toggle .arrow-down 
{
   border-top-color: #FFFFFF;
}
#wb_ResponsiveMenu1 .toggle:hover .arrow-down, #wb_ResponsiveMenu1 li .active .arrow-down
{
   border-top-color: #F5FFFA;
}
#wb_ResponsiveMenu1 ul li ul li .toggle .arrow-down 
{
   border-top-color: #454545;
}
#wb_ResponsiveMenu1 ul li ul li .toggle:hover .arrow-down, #wb_ResponsiveMenu1 ul li ul li .active .arrow-down
{
   border-top-color: #2B2B2B;
}
}
#wb_ResponsiveMenu2
{
   display: block;
   font-family: Play;
   font-weight: normal;
   text-align: center;
   width: 100%;
   margin: 0;
   z-index: 1111 !important;
}
#ResponsiveMenu2
{
   display: inline-block;
   height: 66px;
}
#wb_ResponsiveMenu2 ul
{
   list-style: none;
   margin: 0;
   padding: 0;
   position: relative;
}
#wb_ResponsiveMenu2 ul:after
{
   clear: both;
   content: "";
   display: block;
}
#wb_ResponsiveMenu2 ul li
{
   border-radius: 0;
   display: list-item;
   float: left;
   list-style: none;
   z-index: 9999;
}
#wb_ResponsiveMenu2 ul li i
{
   font-size: 19px;
   width: 19px;
   margin-bottom: 2px;
}
#wb_ResponsiveMenu2 ul li a
{
   background-color: rgba(246,246,246,0.00);
   color: #FFFFFF;
   font-family: Play;
   font-weight: normal;
   font-size: 12px;
   font-style: normal;
   text-decoration: none;
   text-transform: none;
   padding: 15px 30px 15px 30px;
   text-align: center;
}
#wb_ResponsiveMenu2 > ul > li > a 
{
   margin-right: 1px;
   height: 36px;
}
.ResponsiveMenu2 a 
{
   display: block;
}
#wb_ResponsiveMenu2 li:hover > a, #wb_ResponsiveMenu2 li .active
{
   background-color: rgba(237,237,237,0.00);
   color: #F5FFFA;
}
#wb_ResponsiveMenu2 ul ul
{
   display: none;
   position: absolute;
   top: 66px;
}
#wb_ResponsiveMenu2 ul li:hover > ul
{
   display: list-item;
}
#wb_ResponsiveMenu2 ul ul li 
{
   float: none;
   position: relative;
   width: 128px;
}
#wb_ResponsiveMenu2 ul ul li a
{
   background-color: #F6F6F6;
   border: 0px solid #C5C5C5;
   color: #454545;
}
#wb_ResponsiveMenu2 ul ul li:hover > a, #wb_ResponsiveMenu2 ul ul li .active
{
   background-color: #EDEDED;
   color: #2B2B2B;
}
#wb_ResponsiveMenu2 ul ul li i 
{
   margin-right: 6px;
   vertical-align: middle;
}
#wb_ResponsiveMenu2 ul ul li a 
{
   padding-top: 15px;
   padding-right: 20px;
   padding-bottom: 15px;
   text-align: left;
   vertical-align: middle;
}
#wb_ResponsiveMenu2 ul ul ul li 
{
   left: 128px;
   position: relative;
   top: -66px;
}
#wb_ResponsiveMenu2 .arrow-down 
{
   display: inline-block;
   width: 0;
   height: 0;
   margin-left: 3px;
   vertical-align: middle;
   border-top: 4px solid #FFFFFF;
   border-right: 4px solid transparent;
   border-left: 4px solid transparent;
   border-bottom: 0 dotted;
}
#wb_ResponsiveMenu2 .arrow-left 
{
   display: inline-block;
   width: 0;
   height: 0;
   margin-left: 3px;
   vertical-align: middle;
   border-left: 4px solid #454545;
   border-top: 4px solid transparent;
   border-bottom: 4px solid transparent;
   border-right: 0 dotted;
}
#wb_ResponsiveMenu2 li:hover > a .arrow-down, #wb_ResponsiveMenu2 li .active .arrow-down
{ 
   border-top-color: #F5FFFA;
}
#wb_ResponsiveMenu2 ul ul li:hover > a .arrow-left, #wb_ResponsiveMenu2 ul ul li .active .arrow-left
{ 
   border-left-color: #2B2B2B;
}
#wb_ResponsiveMenu2 .toggle,[id^=ResponsiveMenu2-submenu]
{
   display: none;
}
@media all and (max-width:768px) 
{
#wb_ResponsiveMenu2
{
   margin: 0;
   text-align: left;
}
#wb_ResponsiveMenu2 ul li a, #wb_ResponsiveMenu2 .toggle
{
   font-size: 12px;
   font-weight: normal;
   font-style: normal;
   text-decoration: none;
   text-transform: none;
   padding: 15px 20px 15px 20px;
}
#wb_ResponsiveMenu2 .toggle + a
{
   display: none !important;
}
.ResponsiveMenu2 
{
   display: none;
   z-index: 9999;
}
#ResponsiveMenu2 
{
   background-color: transparent;
   display: none;
}
#wb_ResponsiveMenu2 > ul > li > a 
{
   height: auto !important;
   margin: 0;
}
#wb_ResponsiveMenu2 .toggle 
{
   display: block;
   background-color: rgba(246,246,246,0.00);
   color: #FFFFFF;
   padding: 0 20px 0 20px;
   line-height: 49px;
   text-decoration: none;
   border: none;
   position: relative;
}
#wb_ResponsiveMenu2 .toggle:hover
{
   background-color: rgba(237,237,237,0.00);
   color: #F5FFFA;
}
[id^=ResponsiveMenu2-submenu]:checked + ul 
{
   display: block !important;
}
#ResponsiveMenu2-title
{
   height: 66px !important;
   line-height: 66px !important;
   text-align: center;
}
#wb_ResponsiveMenu2 ul li 
{
   display: block;
   width: 100% !important;
   text-align: left;
}
#wb_ResponsiveMenu2 ul ul .toggle,
#wb_ResponsiveMenu2 ul ul a 
{
   padding: 0 40px;
}
#wb_ResponsiveMenu2 a:hover,
#wb_ResponsiveMenu2 ul ul ul a 
{
   background-color: #F6F6F6;
   color: #454545;
}
#wb_ResponsiveMenu2 ul li ul li .toggle,
#wb_ResponsiveMenu2 ul ul a 
{
   background-color: #F6F6F6;
   color: #454545;
}
#wb_ResponsiveMenu2 ul ul ul a 
{
   padding: 15px 20px 15px 60px;
}
#wb_ResponsiveMenu2 ul li a 
{
   text-align: left;
}
#wb_ResponsiveMenu2 ul li a br 
{
   display: none;
}
#wb_ResponsiveMenu2 ul li i 
{
   margin-right: 6px;
}
#wb_ResponsiveMenu2 ul ul 
{
   float: none;
   position: static;
}
#wb_ResponsiveMenu2 ul ul li:hover > ul,
#wb_ResponsiveMenu2 ul li:hover > ul 
{
   display: none;
}
#wb_ResponsiveMenu2 ul ul li 
{
   display: block;
   width: 100%;
}
#wb_ResponsiveMenu2 ul ul ul li 
{
   position: static;
}
#ResponsiveMenu2-icon 
{
   display: block;
   position: absolute;
   left: 30px;
   top: 21px;
   user-select: none;
}
#ResponsiveMenu2-icon span 
{
   display: block;
   margin-top: 4px;
   height: 2px;
   background-color: #FFFFFF;
   color: #FFFFFF;
   width: 24px;
}
#wb_ResponsiveMenu2 ul li ul li .toggle:hover
{
   background-color: #EDEDED;
   color: #2B2B2B;
}
#wb_ResponsiveMenu2 .toggle .arrow-down 
{
   border-top-color: #FFFFFF;
}
#wb_ResponsiveMenu2 .toggle:hover .arrow-down, #wb_ResponsiveMenu2 li .active .arrow-down
{
   border-top-color: #F5FFFA;
}
#wb_ResponsiveMenu2 ul li ul li .toggle .arrow-down 
{
   border-top-color: #454545;
}
#wb_ResponsiveMenu2 ul li ul li .toggle:hover .arrow-down, #wb_ResponsiveMenu2 ul li ul li .active .arrow-down
{
   border-top-color: #2B2B2B;
}
}
#wb_Card5
{
   position: relative;
   display: flex;
   flex-direction: column;
   box-sizing: border-box;
   margin: 0;
   background-color: #FFFFFF;
   background-image: none;
   border: 1px solid #DEE2E6;
   border-radius: 3px;
   text-align: center;
}
#Card5-card-body
{
   padding: 0;
   flex: 1 1 auto;
   font-size: 0;
}
#Card5-card-item0
{
   box-sizing: border-box;
   border-radius: 3px 3px 0 0 !important;
   margin: 0;
   width: 100%;
   height: auto;
}
#wb_Card1
{
   position: relative;
   display: flex;
   flex-direction: column;
   box-sizing: border-box;
   margin: 0;
   background-color: #FFFFFF;
   background-image: none;
   border: 1px solid transparent;
   border-radius: 3px;
   text-align: center;
}
#Card1-card-body
{
   padding: 0;
   flex: 1 1 auto;
   font-size: 0;
}
#Card1-card-item0
{
   box-sizing: border-box;
   border-radius: 3px 3px 0 0 !important;
   margin: 0;
   width: 100%;
   height: auto;
}
#wb_LayoutGrid1
{
   clear: both;
   position: relative;
   table-layout: fixed;
   display: table;
   text-align: center;
   width: 100%;
   background-color: #F0F8FF;
   background-image: none;
   border: 0px solid #CCCCCC;
   border-radius: 0px;
   box-sizing: border-box;
   margin: 0;
}
#LayoutGrid1
{
   box-sizing: border-box;
   padding: 3px 15px 3px 15px;
   margin-right: auto;
   margin-left: auto;
   max-width: 1140px;
}
#LayoutGrid1 > .row
{
   margin-right: -15px;
   margin-left: -15px;
}
#LayoutGrid1 > .row > .col-1
{
   box-sizing: border-box;
   font-size: 0;
   min-height: 1px;
   padding-right: 15px;
   padding-left: 15px;
   position: relative;
}
#LayoutGrid1 > .row > .col-1
{
   float: left;
}
#LayoutGrid1 > .row > .col-1
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #FFFFFF;
   border-radius: 0px;
   width: 100%;
   text-align: center;
}
#LayoutGrid1 > .row > .col-1 > .col-1-padding
{
   box-sizing: border-box;
   width: 100%;
   padding: 16px 16px 16px 16px;
}
#LayoutGrid1:before,
#LayoutGrid1:after,
#LayoutGrid1 .row:before,
#LayoutGrid1 .row:after
{
   display: table;
   content: " ";
}
#LayoutGrid1:after,
#LayoutGrid1 .row:after
{
   clear: both;
}
@media (max-width: 768px)
{
#LayoutGrid1 > .row > .col-1
{
   float: none;
   width: 100% !important;
}
}
#wb_LayoutGrid3
{
   clear: both;
   position: relative;
   table-layout: fixed;
   display: table;
   text-align: center;
   width: 100%;
   background-color: #000080;
   background-image: none;
   border: 0px solid #CCCCCC;
   border-radius: 6px;
   box-sizing: border-box;
   margin: 0;
}
#LayoutGrid3
{
   box-sizing: border-box;
   display: flex;
   flex-direction: row;
   flex-wrap: wrap;
   padding: 100px 0 100px 0;
   margin-right: auto;
   margin-left: auto;
   max-width: 1140px;
}
#LayoutGrid3 > .col-1, #LayoutGrid3 > .col-2, #LayoutGrid3 > .col-3, #LayoutGrid3 > .col-4
{
   box-sizing: border-box;
   font-size: 0;
   min-height: 1px;
   padding-right: 15px;
   padding-left: 15px;
   position: relative;
}
#LayoutGrid3 > .col-1, #LayoutGrid3 > .col-2, #LayoutGrid3 > .col-3, #LayoutGrid3 > .col-4
{
   flex: 0 0 auto;
}
#LayoutGrid3 > .col-1
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #FFFFFF;
   border-radius: 0px;
   flex-basis: 25%;
   max-width: 25%;
   display: flex;
   flex-wrap: wrap;
   align-content: center;
   align-self: stretch;
   align-items: center;
   justify-content: flex-start;
   text-align: left;
}
#LayoutGrid3 > .col-2
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #FFFFFF;
   border-radius: 0px;
   flex-basis: 25%;
   max-width: 25%;
   display: flex;
   flex-wrap: wrap;
   align-content: flex-start;
   align-self: stretch;
   align-items: flex-start;
   justify-content: flex-start;
   text-align: left;
}
#LayoutGrid3 > .col-3
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #FFFFFF;
   border-radius: 0px;
   flex-basis: 25%;
   max-width: 25%;
   display: flex;
   flex-wrap: wrap;
   align-content: flex-start;
   align-self: stretch;
   align-items: flex-start;
   justify-content: flex-start;
   text-align: left;
}
#LayoutGrid3 > .col-4
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #FFFFFF;
   border-radius: 0px;
   flex-basis: 25%;
   max-width: 25%;
   display: flex;
   flex-wrap: wrap;
   align-content: flex-start;
   align-self: stretch;
   align-items: flex-start;
   justify-content: flex-start;
   text-align: left;
}
@media (max-width: 768px)
{
#LayoutGrid3 > .col-1, #LayoutGrid3 > .col-2, #LayoutGrid3 > .col-3, #LayoutGrid3 > .col-4
{
   flex-basis: 100% !important;
   max-width: 100% !important;
}
}
#wb_Card3
{
   position: relative;
   display: flex;
   flex-direction: column;
   box-sizing: border-box;
   margin: 0 0 40px 0 ;
   background-color: transparent;
   background-image: none;
   border: 0px solid #CCCCCC;
   border-radius: 0px;
   text-align: left;
}
#Card3-card-body
{
   padding: 0;
   flex: 1 1 auto;
   font-size: 0;
}
#Card3-card-item0
{
   box-sizing: border-box;
   margin: 0 0 6px 0 ;
   padding: 0;
   color: #FFFFFF;
   font-family: Arial;
   font-weight: bold;
   font-style: normal;
   font-size: 27px;
}
#Card3-card-item1
{
   box-sizing: border-box;
   margin: 0;
   padding: 16px 0 16px 0;
   background-color: transparent;
   background-image: none;
   color: #BBBBBB;
   font-family: Arial;
   font-weight: normal;
   font-style: normal;
   font-size: 19px;
}
#Card3-card-item1 a
{
   color: inherit;
   text-decoration: none;
}
#Card3-card-item2
{
   box-sizing: border-box;
   margin: 0;
   padding: 0 0 16px 0;
   background-color: transparent;
   background-image: none;
   color: #BBBBBB;
   font-family: Arial;
   font-weight: normal;
   font-style: normal;
   font-size: 19px;
}
#Card3-card-item2 a
{
   color: inherit;
   text-decoration: none;
}
#Card3-card-item3
{
   box-sizing: border-box;
   margin: 0;
   padding: 0 0 16px 0;
   background-color: transparent;
   background-image: none;
   color: #BBBBBB;
   font-family: Arial;
   font-weight: normal;
   font-style: normal;
   font-size: 19px;
}
#Card3-card-item3 a
{
   color: inherit;
   text-decoration: none;
}
#Card3-card-item4
{
   box-sizing: border-box;
   margin: 0;
   padding: 0 0 16px 0;
   background-color: transparent;
   background-image: none;
   color: #BBBBBB;
   font-family: Arial;
   font-weight: normal;
   font-style: normal;
   font-size: 19px;
}
#Card3-card-item4 a
{
   color: inherit;
   text-decoration: none;
}
#Card3-card-item5
{
   box-sizing: border-box;
   margin: 0;
   padding: 0 0 16px 0;
   background-color: transparent;
   background-image: none;
   color: #BBBBBB;
   font-family: Arial;
   font-weight: normal;
   font-style: normal;
   font-size: 19px;
}
#Card3-card-item5 a
{
   color: inherit;
   text-decoration: none;
}
#Card3-card-item6
{
   box-sizing: border-box;
   margin: 0;
   padding: 0 0 16px 0;
   background-color: transparent;
   background-image: none;
   color: #BBBBBB;
   font-family: Arial;
   font-weight: normal;
   font-style: normal;
   font-size: 19px;
}
#Card3-card-item6 a
{
   color: inherit;
   text-decoration: none;
}
#Card3-card-item7
{
   box-sizing: border-box;
   margin: 0;
   padding: 0 0 16px 0;
   background-color: transparent;
   background-image: none;
   color: #BBBBBB;
   font-family: Arial;
   font-weight: normal;
   font-style: normal;
   font-size: 19px;
}
#Card3-card-item7 a
{
   color: inherit;
   text-decoration: none;
}
#wb_Card8
{
   position: relative;
   display: flex;
   flex-direction: column;
   box-sizing: border-box;
   margin: 0 0 40px 0 ;
   background-color: transparent;
   background-image: none;
   border: 0px solid #CCCCCC;
   border-radius: 0px;
   text-align: left;
}
#Card8-card-body
{
   padding: 0;
   flex: 1 1 auto;
   font-size: 0;
}
#Card8-card-item0
{
   box-sizing: border-box;
   margin: 0 0 6px 0 ;
   padding: 0;
   color: #FFFFFF;
   font-family: Arial;
   font-weight: bold;
   font-style: normal;
   font-size: 27px;
}
#Card8-card-item1
{
   box-sizing: border-box;
   margin: 0;
   padding: 16px 0 16px 0;
   background-color: transparent;
   background-image: none;
   color: #BBBBBB;
   font-family: Arial;
   font-weight: normal;
   font-style: normal;
   font-size: 19px;
}
#Card8-card-item1 a
{
   color: inherit;
   text-decoration: none;
}
#Card8-card-item2
{
   box-sizing: border-box;
   margin: 0;
   padding: 0 0 16px 0;
   background-color: transparent;
   background-image: none;
   color: #BBBBBB;
   font-family: Arial;
   font-weight: normal;
   font-style: normal;
   font-size: 19px;
}
#Card8-card-item2 a
{
   color: inherit;
   text-decoration: none;
}
#Card8-card-item3
{
   box-sizing: border-box;
   margin: 0;
   padding: 0 0 16px 0;
   background-color: transparent;
   background-image: none;
   color: #BBBBBB;
   font-family: Arial;
   font-weight: normal;
   font-style: normal;
   font-size: 19px;
}
#Card8-card-item3 a
{
   color: inherit;
   text-decoration: none;
}
#Card8-card-item4
{
   box-sizing: border-box;
   margin: 0;
   padding: 0 0 16px 0;
   background-color: transparent;
   background-image: none;
   color: #BBBBBB;
   font-family: Arial;
   font-weight: normal;
   font-style: normal;
   font-size: 19px;
}
#Card8-card-item4 a
{
   color: inherit;
   text-decoration: none;
}
#wb_Card9
{
   position: relative;
   display: flex;
   flex-direction: column;
   box-sizing: border-box;
   margin: 0 0 40px 0 ;
   background-color: transparent;
   background-image: none;
   border: 0px solid #CCCCCC;
   border-radius: 0px;
   text-align: left;
}
#Card9-card-body
{
   padding: 0;
   flex: 1 1 auto;
   font-size: 0;
}
#Card9-card-item0
{
   box-sizing: border-box;
   margin: 0 0 6px 0 ;
   padding: 0;
   color: #FFFFFF;
   font-family: Arial;
   font-weight: bold;
   font-style: normal;
   font-size: 27px;
}
#Card9-card-item1
{
   box-sizing: border-box;
   margin: 20px 0 0 0 ;
   padding: 0;
   color: #BBBBBB;
   font-family: Arial;
   font-weight: normal;
   font-style: normal;
   font-size: 19px;
}
#wb_Heading1
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #000000;
   border-radius: 0px;
   box-sizing: border-box;
   vertical-align: top;
   margin: 0 0 15px 0 ;
   padding: 0;
   text-align: left;
}
#Heading1
{
   color: #FFFFFF;
   font-family: Arial;
   font-weight: bold;
   font-style: normal;
   font-size: 27px;
   margin: 0;
   text-align: left;
   text-transform: none;
}
#wb_Image2
{
   margin: 0;
   vertical-align: top;
}
#Image2
{
   border: 0px solid #000000;
   border-radius: 0px;
   box-sizing: border-box;
   padding: 0;
   display: block;
   width: 100%;
   height: auto;
   max-width: 197px;
   margin-left: auto;
   margin-right: auto;
   vertical-align: top;
}
#wb_Icon1
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #245580;
   border-radius: 0px;
   text-align: center;
   margin: 0;
   padding: 0;
   vertical-align: top;
   display:inline-block;
   position:relative;
}
#wb_Icon1 a
{
   text-decoration: none;
}
#wb_Icon1 a::after
{
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   z-index: 1;
   pointer-events: auto;
   content: "";
}
#Icon1
{
   height: 41px;
   width: 52px;
   display: flex;
   flex-wrap: nowrap;
   justify-content: center;
}
#Icon1 i
{
   color: #0D6EFD;
   display: inline-block;
   font-size: 41px;
   line-height: 41px;
   vertical-align: middle;
}
#wb_Icon1:hover #Icon1 i
{
   color: #0D6EFD;
}
#wb_Icon2
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #245580;
   border-radius: 0px;
   text-align: center;
   margin: 0;
   padding: 0;
   vertical-align: top;
   display:inline-block;
   position:relative;
}
#Icon2
{
   height: 41px;
   width: 52px;
   display: flex;
   flex-wrap: nowrap;
   justify-content: center;
}
#Icon2 i
{
   color: #0D6EFD;
   display: inline-block;
   font-size: 41px;
   line-height: 41px;
   vertical-align: middle;
}
#wb_Icon2:hover #Icon2 i
{
   color: #0D6EFD;
}
#wb_LayoutGrid9
{
   clear: both;
   position: relative;
   table-layout: fixed;
   display: table;
   text-align: center;
   width: 100%;
   background-color: #000000;
   background-image: none;
   border: 0px solid #DEE2E6;
   border-radius: 0px;
   box-sizing: border-box;
   margin: 0;
}
#LayoutGrid9
{
   box-sizing: border-box;
   display: flex;
   flex-direction: row;
   flex-wrap: wrap;
   padding: 0;
   margin-right: auto;
   margin-left: auto;
}
#LayoutGrid9 > .col-1
{
   box-sizing: border-box;
   font-size: 0;
   min-height: 1px;
   padding-right: 15px;
   padding-left: 15px;
   position: relative;
}
#LayoutGrid9 > .col-1
{
   flex: 0 0 auto;
}
#LayoutGrid9 > .col-1
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #FFFFFF;
   border-radius: 0px;
   flex-basis: 100%;
   max-width: 100%;
   display: flex;
   flex-wrap: wrap;
   align-content: center;
   align-self: stretch;
   align-items: center;
   justify-content: center;
   text-align: center;
}
@media (max-width: 768px)
{
#LayoutGrid9 > .col-1
{
   flex-basis: 100% !important;
   max-width: 100% !important;
}
}
#wb_Text2 
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #000000;
   border-radius: 0px;
   padding: 0;
   margin: 0;
   text-align: center;
}
#wb_Text2
{
   color: #FFFFFF;
   font-family: "Open Sans";
   font-weight: bold;
   font-size: 16px;
   line-height: 23px;
}
#wb_Text2 p, #wb_Text2 ul
{
   margin: 0;
   padding: 0;
   list-style-position: inside;
}
#wb_Text2
{
   display: block;
   margin: 0;
   box-sizing: border-box;
   width: 100%;
}
#wb_contactPlaces
{
   z-index: 7777 !important;
}
  .than-header {
    width: 100%;
    background: linear-gradient(135deg, #3f5f9f, #4969aa);
    color: #ffffff;
    padding: 16px 24px;
    box-sizing: border-box;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  }

  .than-header__inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    position: relative;
  }

  .than-header__logo {
    position: absolute;
    left: 0;
    display: flex;
    align-items: center;
    text-decoration: none;
  }

  .than-header__logo img {
    width: 82px;
    height: auto;
    display: block;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.25));
  }

  .than-header__text {
    text-align: center;
    line-height: 1.1;
  }

  .than-header__text h1 {
    margin: 0;
    font-size: clamp(22px, 4vw, 42px);
    font-weight: 800;
    letter-spacing: 16px;
    color: #ffffff;
  }

  .than-header__text p {
    margin: 6px 0 0;
    font-size: clamp(18px, 3vw, 36px);
    font-weight: 800;
    letter-spacing: 14px;
    color: #ffffff;
  }

  @media (max-width: 768px) {
    .than-header {
      padding: 18px 16px;
    }

    .than-header__inner {
      flex-direction: column;
      gap: 10px;
    }

    .than-header__logo {
      position: static;
    }

    .than-header__logo img {
      width: 72px;
    }

    .than-header__text h1 {
      letter-spacing: 7px;
    }

    .than-header__text p {
      letter-spacing: 6px;
    }
  }

  @media (max-width: 480px) {
    .than-header__logo img {
      width: 62px;
    }

    .than-header__text h1 {
      font-size: 20px;
      letter-spacing: 5px;
    }

    .than-header__text p {
      font-size: 17px;
      letter-spacing: 4px;
    }
  }
    .programas-section {
      font-family: 'Poppins', Arial, sans-serif;
      padding: 80px 20px;
      background: #f7f9fd;
      color: #172657;
      position: relative;
      z-index: 1;
    }

    .programas-container {
      max-width: 1200px;
      margin: auto;
      text-align: center;
    }

    .programas-badge {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      width: fit-content;
      margin: 0 auto 25px;
      background: #eef2f8;
      color: #172657;
      padding: 10px 22px;
      border-radius: 30px;
      font-weight: 700;
      font-size: 14px;
    }

    .programas-badge span {
      width: 10px;
      height: 10px;
      background: #d2ad47;
      border-radius: 50%;
      display: inline-block;
    }

    .programas-title {
      font-size: clamp(34px, 5vw, 58px);
      line-height: 1.05;
      margin: 0;
      font-weight: 900;
      color: #172657;
    }

    .programas-subtitle {
      max-width: 780px;
      margin: 25px auto 40px;
      font-size: 20px;
      line-height: 1.8;
      color: #66708c;
    }

    .programas-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 28px;
      margin-top: 35px;
    }

    .programa-card {
      background: #fff;
      border-radius: 24px;
      padding: 34px 26px 28px;
      box-shadow: 0 18px 45px rgba(20, 35, 80, 0.10);
      border: 1px solid rgba(23, 38, 87, 0.08);
      transition: 0.3s ease;
    }

    .programa-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 24px 55px rgba(20, 35, 80, 0.16);
    }

    .programa-icono {
      width: 68px;
      height: 68px;
      margin: 0 auto 16px;
      border-radius: 22px;
      background: linear-gradient(135deg, #eef3fb, #ffffff);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 34px;
      box-shadow: 0 14px 30px rgba(20, 35, 80, 0.10);
      border: 1px solid rgba(23, 38, 87, 0.08);
    }

    .programa-tag {
      display: inline-block;
      background: #eef3fb;
      color: #172657;
      padding: 8px 18px;
      border-radius: 20px;
      font-size: 13px;
      font-weight: 800;
      margin-bottom: 18px;
    }

    .programa-card h3 {
      font-size: 25px;
      line-height: 1.15;
      margin: 0 0 18px;
      font-weight: 900;
      color: #14265c;
    }

    .programa-card p {
      font-size: 16px;
      line-height: 1.75;
      color: #66708c;
      margin-bottom: 28px;
    }

    .btn-conocer {
      width: 100%;
      border: 1px solid #dce3f0;
      background: #f4f7fd;
      color: #14265c;
      padding: 15px 20px;
      border-radius: 14px;
      font-weight: 900;
      font-size: 15px;
      cursor: pointer;
      transition: 0.3s ease;
    }

    .btn-conocer:hover {
      background: #172657;
      color: #fff;
    }

    .modal-programa {
      position: fixed !important;
      inset: 0 !important;
      width: 100vw !important;
      height: 100vh !important;
      background: rgba(9, 15, 40, 0.86) !important;
      backdrop-filter: blur(10px);
      display: none;
      justify-content: center;
      align-items: center;
      padding: 40px 22px;
      z-index: 2147483647 !important;
      isolation: isolate;
    }

    .modal-programa.active {
      display: flex !important;
    }

    .modal-content {
      width: min(980px, 100%);
      max-height: 88vh;
      background: #fff;
      border-radius: 30px;
      overflow: hidden;
      position: relative !important;
      z-index: 2147483647 !important;
      box-shadow: 0 35px 100px rgba(0, 0, 0, 0.45);
      display: grid;
      grid-template-columns: 43% 57%;
      animation: modalEntrada 0.35s ease;
    }

    @keyframes modalEntrada {
      from {
        opacity: 0;
        transform: translateY(25px) scale(0.96);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    .modal-img-wrap {
      min-height: 520px;
      background: #eaf0f9;
      overflow: hidden;
    }

    .modal-img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      filter: saturate(1.08) contrast(1.03);
    }

    .modal-body {
      padding: 46px 46px 42px;
      text-align: left;
      overflow-y: auto;
      max-height: 88vh;
    }

    .chip-animal {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      background: linear-gradient(135deg, #ff7a18, #ffb347);
      color: #fff;
      padding: 13px 24px;
      border-radius: 999px;
      font-weight: 950;
      font-size: 15px;
      margin-bottom: 18px;
      text-decoration: none;
      box-shadow: 0 14px 32px rgba(255, 122, 24, 0.38);
      transition: 0.3s ease;
      border: 1px solid rgba(255,255,255,.55);
    }

    .chip-animal:hover {
      transform: translateY(-3px) scale(1.03);
      box-shadow: 0 18px 42px rgba(255, 122, 24, 0.5);
      color: #fff;
    }

    .modal-tag {
      display: inline-block;
      background: #eef3fb;
      color: #172657;
      padding: 9px 20px;
      border-radius: 22px;
      font-size: 14px;
      font-weight: 900;
      margin-bottom: 20px;
    }

    .modal-body h2 {
      font-size: clamp(34px, 4vw, 50px);
      line-height: 1.05;
      margin: 0 0 22px;
      color: #14265c;
      font-weight: 950;
      letter-spacing: -1.2px;
    }

    .modal-body p {
      color: #5f6a87;
      font-size: 18px;
      line-height: 1.75;
      margin: 0 0 18px;
    }

    .modal-list {
      margin: 26px 0 0;
      padding: 0;
      list-style: none;
      display: grid;
      gap: 12px;
    }

    .modal-list li {
      background: #f5f8fd;
      border: 1px solid #e3e9f4;
      color: #53607d;
      font-size: 16px;
      line-height: 1.55;
      padding: 14px 16px 14px 46px;
      border-radius: 16px;
      position: relative;
      font-weight: 600;
    }

    .modal-list li::before {
      content: "✓";
      position: absolute;
      left: 16px;
      top: 12px;
      width: 22px;
      height: 22px;
      border-radius: 50%;
      background: #5dbb63;
      color: #fff;
      display: grid;
      place-items: center;
      font-size: 13px;
      font-weight: 900;
    }

    .modal-close {
      position: absolute;
      top: 18px;
      right: 18px;
      width: 52px;
      height: 52px;
      border-radius: 50%;
      border: none;
      background: rgba(255, 255, 255, 0.96);
      color: #172657;
      font-size: 32px;
      font-weight: 900;
      cursor: pointer;
      z-index: 30;
      box-shadow: 0 12px 30px rgba(0,0,0,.25);
      transition: 0.25s ease;
    }

    .modal-close:hover {
      background: #172657;
      color: #fff;
      transform: rotate(90deg);
    }

    @media (max-width: 920px) {
      .programas-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .modal-content {
        grid-template-columns: 1fr;
        max-height: 86vh;
        overflow-y: auto;
      }

      .modal-img-wrap {
        min-height: 280px;
        height: 280px;
      }

      .modal-body {
        padding: 34px 28px;
        overflow: visible;
        max-height: none;
      }
    }

    @media (max-width: 650px) {
      .programas-section {
        padding: 60px 16px;
      }

      .programas-grid {
        grid-template-columns: 1fr;
      }

      .programas-subtitle {
        font-size: 17px;
      }

      .modal-programa {
        padding: 80px 14px 20px;
        align-items: flex-start;
        overflow-y: auto;
      }

      .modal-content {
        border-radius: 24px;
        max-height: none;
      }

      .modal-img-wrap {
        height: 230px;
        min-height: 230px;
      }

      .modal-body h2 {
        font-size: 30px;
      }

      .modal-body p {
        font-size: 16px;
      }

      .modal-close {
        width: 46px;
        height: 46px;
        font-size: 28px;
      }

      .chip-animal {
        width: 100%;
        text-align: center;
      }
    }
    .thn-proyectos-wrap{
    --thn-card:#ffffff;
    --thn-text:#1c2f5c;
    --thn-muted:#6d7891;
    --thn-border:#e6eaf2;
    --thn-accent:#1e3a70;
    --thn-accent-2:#d8b45c;
    --thn-donation:#1e3a70;
    --thn-donation-dark:#14284f;
    --thn-shadow:0 14px 35px rgba(22,34,68,.07);
    background:linear-gradient(180deg,#fbfbfd 0%, #f4f6fa 100%);
    padding:90px 20px;
    font-family:"Inter","Segoe UI",Arial,sans-serif;
    position:relative;
    overflow:hidden;
  }

  .thn-proyectos-wrap *{
    box-sizing:border-box;
  }

  .thn-proyectos-container{
    max-width:1180px;
    margin:0 auto;
  }

  .thn-proyectos-head{
    text-align:center;
    max-width:840px;
    margin:0 auto 30px;
  }

  .thn-proyectos-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 16px;
    border-radius:999px;
    background:#eef2f7;
    color:var(--thn-accent);
    font-size:14px;
    font-weight:700;
    margin-bottom:18px;
    box-shadow:inset 0 0 0 1px #e5e9f2;
  }

  .thn-proyectos-badge::before{
    content:"";
    width:10px;
    height:10px;
    border-radius:50%;
    background:var(--thn-accent-2);
    box-shadow:0 0 0 4px rgba(216,180,92,.14);
  }

  .thn-proyectos-title{
    margin:0 0 16px;
    font-size:clamp(30px,4vw,50px);
    line-height:1.08;
    font-weight:900;
    letter-spacing:-1px;
    color:var(--thn-text);
  }

  .thn-proyectos-text{
    margin:0 auto;
    max-width:760px;
    font-size:clamp(16px,2vw,22px);
    line-height:1.7;
    color:var(--thn-muted);
  }

  .thn-proyectos-filters{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    justify-content:center;
    margin:0 0 34px;
  }

  .thn-filter-btn{
    border:none;
    background:#ffffff;
    color:var(--thn-accent);
    padding:12px 20px;
    border-radius:999px;
    font-size:14px;
    font-weight:800;
    cursor:pointer;
    border:1px solid var(--thn-border);
    box-shadow:0 8px 20px rgba(16,25,51,.05);
    transition:all .25s ease;
  }

  .thn-filter-btn:hover,
  .thn-filter-btn.active{
    background:var(--thn-accent);
    color:#fff;
    border-color:var(--thn-accent);
    transform:translateY(-2px);
  }

  .thn-proyectos-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:22px;
  }

  .thn-proyecto-card{
    background:linear-gradient(180deg,#ffffff 0%, #fbfcfe 100%);
    border:1px solid var(--thn-border);
    border-radius:24px;
    padding:24px;
    box-shadow:var(--thn-shadow);
    transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, opacity .25s ease;
    display:flex;
    flex-direction:column;
    min-height:100%;
  }

  .thn-proyecto-card:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 42px rgba(22,34,68,.12);
    border-color:#d8e2f0;
  }

  .thn-proyecto-card.hidden{
    display:none;
  }

  .thn-proyecto-top{
    margin-bottom:14px;
  }

  .thn-proyecto-tag{
    display:inline-flex;
    align-items:center;
    padding:8px 14px;
    border-radius:999px;
    background:#eff4fb;
    color:var(--thn-accent);
    font-size:13px;
    font-weight:800;
  }

  .thn-proyecto-card h3{
    margin:0 0 12px;
    font-size:22px;
    line-height:1.3;
    color:var(--thn-text);
    font-weight:800;
  }

  .thn-proyecto-card p{
    margin:0 0 22px;
    color:var(--thn-muted);
    line-height:1.75;
    font-size:15.5px;
    flex-grow:1;
  }

  .thn-proyecto-actions{
    margin-top:auto;
    display:flex;
    flex-direction:column;
    gap:12px;
  }

  .thn-more-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:46px;
    padding:13px 18px;
    border:none;
    border-radius:14px;
    background:#f3f6fb;
    color:var(--thn-accent);
    font-size:15px;
    font-weight:800;
    cursor:pointer;
    box-shadow:inset 0 0 0 1px #e1e8f2;
    transition:transform .22s ease, background .22s ease, box-shadow .22s ease;
  }

  .thn-more-btn:hover{
    transform:translateY(-2px);
    background:#eaf0f8;
    box-shadow:inset 0 0 0 1px #d6e0ee, 0 10px 20px rgba(16,25,51,.06);
  }

  .thn-wa-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:48px;
    padding:14px 18px;
    border-radius:14px;
    text-decoration:none;
    background:linear-gradient(180deg,var(--thn-donation) 0%, var(--thn-donation-dark) 100%);
    color:#fff;
    font-size:15px;
    font-weight:800;
    letter-spacing:.2px;
    box-shadow:0 12px 24px rgba(30,58,112,.22);
    transition:transform .22s ease, box-shadow .22s ease, opacity .22s ease;
  }

  .thn-wa-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 16px 28px rgba(30,58,112,.28);
    opacity:.96;
  }

  .thn-wa-btn::before{
    content:"❤";
    font-size:16px;
    margin-right:10px;
  }

  .thn-proyecto-modal{
    position:fixed;
    inset:0;
    background:rgba(12,18,33,.72);
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .28s ease, visibility .28s ease;
    z-index:99999;
  }

  .thn-proyecto-modal.active{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  .thn-proyecto-modal-dialog{
    width:min(980px, 100%);
    background:#fff;
    border-radius:26px;
    overflow:hidden;
    box-shadow:0 25px 60px rgba(0,0,0,.25);
    position:relative;
    display:grid;
    grid-template-columns:1.05fr 1fr;
    transform:translateY(24px) scale(.98);
    transition:transform .28s ease;
  }

  .thn-proyecto-modal.active .thn-proyecto-modal-dialog{
    transform:translateY(0) scale(1);
  }

  .thn-proyecto-modal-image-wrap{
    min-height:460px;
    background:#eef2f7;
  }

  .thn-proyecto-modal-image-wrap img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:flex;
  }

  .thn-proyecto-modal-body{
    padding:42px 34px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }

  .thn-proyecto-modal-badge{
    display:inline-flex;
    width:max-content;
    padding:8px 14px;
    border-radius:999px;
    background:#eef2f7;
    color:var(--thn-accent);
    font-size:13px;
    font-weight:800;
    margin-bottom:18px;
  }

  .thn-proyecto-modal-body h3{
    margin:0 0 16px;
    font-size:clamp(28px,3vw,40px);
    line-height:1.08;
    font-weight:900;
    color:var(--thn-text);
  }

  .thn-proyecto-modal-body p{
    margin:0 0 24px;
    font-size:17px;
    line-height:1.85;
    color:var(--thn-muted);
  }

  .thn-proyecto-modal-close{
    position:absolute;
    top:14px;
    right:14px;
    width:46px;
    height:46px;
    border:none;
    border-radius:50%;
    background:rgba(255,255,255,.95);
    color:#162244;
    font-size:30px;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 8px 20px rgba(0,0,0,.12);
    z-index:3;
    transition:transform .2s ease, background .2s ease;
  }

  .thn-proyecto-modal-close:hover{
    transform:scale(1.05);
    background:#fff;
  }

  body.thn-proyecto-modal-open{
    overflow:hidden;
  }

  @media (max-width: 991px){
    .thn-proyectos-wrap{
      padding:70px 18px;
    }

    .thn-proyectos-grid{
      grid-template-columns:1fr;
    }

    .thn-proyecto-modal-dialog{
      grid-template-columns:1fr;
      max-height:90vh;
      overflow:auto;
    }

    .thn-proyecto-modal-image-wrap{
      min-height:300px;
    }
  }

  @media (max-width: 640px){
    .thn-proyecto-card{
      padding:22px;
      border-radius:20px;
    }

    .thn-proyectos-filters{
      justify-content:flex-start;
    }

    .thn-filter-btn{
      padding:11px 16px;
      font-size:13px;
    }

    .thn-more-btn,
    .thn-wa-btn{
      font-size:14px;
      min-height:46px;
    }

    .thn-proyecto-modal{
      padding:14px;
    }

    .thn-proyecto-modal-dialog{
      border-radius:22px;
    }

    .thn-proyecto-modal-body{
      padding:26px 22px 28px;
    }

    .thn-proyecto-modal-body p{
      font-size:15.5px;
      line-height:1.75;
    }

    .thn-proyecto-modal-close{
      width:40px;
      height:40px;
      font-size:24px;
    }

    .thn-proyecto-modal-image-wrap{
      min-height:240px;
    }
  }
  * {
    box-sizing: border-box;
  }

  .thn-donaciones {
    position: relative;
    overflow: hidden;
    padding: 90px 20px;
    background:
      radial-gradient(circle at 15% 20%, rgba(113, 132, 219, 0.10), transparent 28%),
      radial-gradient(circle at 85% 85%, rgba(90, 110, 200, 0.08), transparent 30%),
      linear-gradient(180deg, #f9fbff 0%, #eef2f9 100%);
  }

  .thn-donaciones__shape {
    position: absolute;
    border-radius: 50%;
    filter: blur(14px);
    pointer-events: none;
  }

  .thn-donaciones__shape--1 {
    width: 280px;
    height: 280px;
    top: -90px;
    left: -90px;
    background: rgba(118, 132, 214, 0.10);
  }

  .thn-donaciones__shape--2 {
    width: 340px;
    height: 340px;
    right: -120px;
    bottom: -120px;
    background: rgba(88, 104, 183, 0.10);
  }

  .thn-donaciones__container {
    position: relative;
    z-index: 2;
    max-width: 1320px;
    margin: 0 auto;
    padding: 62px 34px 38px;
    border-radius: 32px;
    background: rgba(255,255,255,0.90);
    border: 1px solid rgba(95, 110, 170, 0.10);
    box-shadow: 0 24px 70px rgba(24, 38, 85, 0.08);
    backdrop-filter: blur(8px);
  }

  .thn-donaciones__header {
    max-width: 900px;
    margin: 0 auto 52px;
    text-align: center;
  }

  .thn-donaciones__badge {
    display: inline-block;
    margin-bottom: 18px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 3px;
    color: #7382c8;
    text-transform: uppercase;
  }

  .thn-donaciones__title {
    margin: 0 0 18px;
    font-size: clamp(34px, 5vw, 60px);
    line-height: 1.04;
    font-weight: 900;
    letter-spacing: -1px;
    color: #20346d;
  }

  .thn-donaciones__description {
    max-width: 760px;
    margin: 0 auto;
    font-size: clamp(16px, 1.7vw, 21px);
    line-height: 1.75;
    color: #667085;
  }

  .thn-donaciones__actions {
    margin-top: 32px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
  }

  .thn-btn {
    appearance: none;
    border: none;
    cursor: pointer;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 220px;
    padding: 16px 28px;
    border-radius: 999px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: .2px;
    transition: all .28s ease;
  }

  .thn-btn--primary {
    color: #fff;
    background: linear-gradient(135deg, #5d72c9 0%, #4158a7 100%);
    box-shadow: 0 18px 32px rgba(65, 88, 167, 0.26);
  }

  .thn-btn--primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 22px 36px rgba(65, 88, 167, 0.34);
  }

  .thn-btn--secondary {
    color: #4459a8;
    background: rgba(255,255,255,0.96);
    border: 2px solid #6d7dc4;
    box-shadow: 0 12px 24px rgba(37, 52, 104, 0.08);
  }

  .thn-btn--secondary:hover {
    transform: translateY(-3px);
    background: #edf1ff;
    box-shadow: 0 18px 28px rgba(37, 52, 104, 0.12);
  }

  .thn-donaciones__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
  }

  .thn-donacion-card {
    min-height: 100%;
    height: 100%;
    padding: 30px 24px 28px;
    border-radius: 28px;
    text-align: center;
    text-decoration: none;
    background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(247,249,255,0.98) 100%);
    border: 1px solid rgba(93, 109, 188, 0.10);
    box-shadow: 0 16px 40px rgba(31, 47, 90, 0.07);
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .thn-donacion-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 24px 46px rgba(31, 47, 90, 0.12);
    border-color: rgba(93, 109, 188, 0.22);
  }

  .thn-donacion-card__icon {
    width: 74px;
    height: 74px;
    margin: 0 auto 20px;
    border-radius: 22px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 32px;
    background: linear-gradient(135deg, #eef2ff 0%, #e1e8ff 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.9);
  }

  .thn-donacion-card h3 {
    margin: 0 0 14px;
    font-size: clamp(20px, 1.9vw, 30px);
    line-height: 1.14;
    font-weight: 800;
    color: #243974;
    min-height: 1.2em;
    display: flex;
    align-items: center;
    justify-content: center;
    text-wrap: balance;
  }

  .thn-donacion-card p {
    margin: 0;
    font-size: 15px;
    line-height: 1.75;
    color: #697384;
    max-width: 100%;
  }

  .thn-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .28s ease, visibility .28s ease;
  }

  .thn-modal.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .thn-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(17, 24, 50, 0.64);
    backdrop-filter: blur(6px);
  }

  .thn-modal__dialog {
    position: relative;
    z-index: 2;
    width: min(760px, 100%);
    max-height: 90vh;
    overflow-y: auto;
    padding: 32px 28px 26px;
    border-radius: 28px;
    background: #ffffff;
    box-shadow: 0 30px 80px rgba(14, 23, 51, 0.24);
    transform: translateY(20px) scale(.98);
    opacity: 0;
    transition: all .28s ease;
  }

  .thn-modal.is-active .thn-modal__dialog {
    transform: translateY(0) scale(1);
    opacity: 1;
  }

  .thn-modal__close {
    position: absolute;
    top: 14px;
    right: 16px;
    width: 42px;
    height: 42px;
    border: none;
    border-radius: 50%;
    background: #f1f4fb;
    color: #40528f;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    transition: all .25s ease;
  }

  .thn-modal__close:hover {
    background: #e7edff;
    transform: rotate(90deg);
  }

  .thn-modal__header {
    padding-right: 36px;
    margin-bottom: 16px;
  }

  .thn-modal__badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 12px;
    border-radius: 999px;
    background: #edf2ff;
    color: #5d72c8;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.8px;
    text-transform: uppercase;
  }

  .thn-modal__header h3 {
    margin: 0 0 12px;
    font-size: clamp(28px, 4vw, 40px);
    line-height: 1.08;
    font-weight: 900;
    color: #1f346c;
  }

  .thn-modal__header p {
    margin: 0;
    font-size: 16px;
    line-height: 1.75;
    color: #687487;
  }

  .thn-modal__content {
    display: grid;
    gap: 14px;
    margin-top: 24px;
  }

  .thn-modal__item {
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: 16px;
    align-items: start;
    padding: 18px 16px;
    border-radius: 20px;
    background: #f8faff;
    border: 1px solid rgba(94, 108, 185, 0.08);
  }

  .thn-modal__icon {
    width: 64px;
    height: 64px;
    border-radius: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 28px;
    background: linear-gradient(135deg, #edf2ff 0%, #dfe7ff 100%);
  }

  .thn-modal__text h4 {
    margin: 4px 0 8px;
    font-size: 20px;
    line-height: 1.2;
    font-weight: 800;
    color: #243974;
  }

  .thn-modal__text p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: #687487;
  }

  .thn-modal__footer {
    margin-top: 24px;
    display: flex;
    justify-content: flex-end;
  }

  .thn-btn--modal {
    min-width: 210px;
  }

  body.thn-modal-open {
    overflow: hidden;
  }

  @media (max-width: 1199px) {
    .thn-donaciones__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 767px) {
    .thn-donaciones {
      padding: 64px 14px;
    }

    .thn-donaciones__container {
      padding: 42px 18px 28px;
      border-radius: 24px;
    }

    .thn-donaciones__header {
      margin-bottom: 34px;
    }

    .thn-donaciones__badge {
      font-size: 11px;
      letter-spacing: 2px;
    }

    .thn-donaciones__description {
      font-size: 16px;
      line-height: 1.7;
    }

    .thn-btn {
      width: 100%;
      min-width: unset;
      padding: 15px 20px;
    }

    .thn-donaciones__grid {
      grid-template-columns: 1fr;
      gap: 18px;
    }

    .thn-donacion-card {
      padding: 26px 18px 22px;
      border-radius: 22px;
    }

    .thn-donacion-card h3 {
      font-size: 22px;
    }

    .thn-modal {
      padding: 14px;
    }

    .thn-modal__dialog {
      padding: 24px 18px 20px;
      border-radius: 22px;
    }

    .thn-modal__header {
      padding-right: 28px;
    }

    .thn-modal__item {
      grid-template-columns: 1fr;
    }

    .thn-modal__icon {
      width: 56px;
      height: 56px;
      border-radius: 16px;
    }

    .thn-modal__footer {
      justify-content: stretch;
    }

    .thn-btn--modal {
      width: 100%;
    }
  }
.thn-contacto{
  width: 100%;
  padding: 90px 20px;
  background: linear-gradient(180deg, #f7f8fc 0%, #f2f4f9 100%);
}

.thn-contacto *{
  box-sizing: border-box;
}

.thn-contacto__wrap{
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(280px, 0.75fr);
  gap: 34px;
  align-items: start;
}

.thn-contacto__form-col{
  background: rgba(255,255,255,0.72);
  border: 1px solid rgba(81,99,172,0.08);
  border-radius: 30px;
  padding: 38px;
  box-shadow: 0 20px 55px rgba(41,53,95,0.08);
}

.thn-contacto__badge{
  display: inline-block;
  margin-bottom: 16px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #7b88c5;
}

.thn-contacto__form-col h2{
  margin: 0 0 14px;
  font-size: clamp(34px, 4vw, 56px);
  line-height: 1.05;
  color: #24335f;
  font-weight: 800;
}

.thn-contacto__intro{
  margin: 0 0 28px;
  max-width: 820px;
  color: #636a79;
  font-size: 18px;
  line-height: 1.6;
}

.thn-formulario-contacto{
  display: grid;
  gap: 18px;
}

.thn-field{
  display: grid;
  gap: 10px;
}

.thn-field label{
  font-size: 16px;
  font-weight: 700;
  color: #1f2e57;
}

.thn-field input,
.thn-field select,
.thn-field textarea{
  width: 100%;
  border: 1.5px solid #d8ddea;
  border-radius: 16px;
  padding: 16px 18px;
  font-size: 16px;
  color: #364055;
  background: #ffffff;
  outline: none;
  transition: all .25s ease;
}

.thn-field textarea{
  min-height: 150px;
  resize: vertical;
}

.thn-field input:focus,
.thn-field select:focus,
.thn-field textarea:focus{
  border-color: #6478bf;
  box-shadow: 0 0 0 4px rgba(100,120,191,0.12);
}

.thn-check{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 4px;
  font-size: 15px;
  color: #4d5568;
  line-height: 1.5;
}

.thn-check input{
  margin-top: 3px;
  width: 18px;
  height: 18px;
  accent-color: #556cb4;
}

.thn-formulario-contacto__actions{
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.thn-btn-contacto{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  padding: 16px 24px;
  border-radius: 999px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  font-size: 16px;
  font-weight: 800;
  transition: all .28s ease;
}

.thn-btn-contacto--mail{
  background: linear-gradient(135deg, #586eb8 0%, #4860aa 100%);
  color: #fff;
  box-shadow: 0 16px 32px rgba(72,96,170,0.28);
}

.thn-btn-contacto--mail:hover{
  transform: translateY(-3px);
  box-shadow: 0 20px 38px rgba(72,96,170,0.34);
}

.thn-btn-contacto--whatsapp{
  background: #ffffff;
  color: #2b3b75;
  border: 2px solid #6679bf;
  box-shadow: 0 12px 26px rgba(41,53,95,0.08);
}

.thn-btn-contacto--whatsapp:hover{
  transform: translateY(-3px);
  background: #f1f4fc;
}

.thn-contacto__info-col{
  position: relative;
}

.thn-contact-card{
  background: linear-gradient(180deg, #ece7c7 0%, #e5dfba 100%);
  border-radius: 26px;
  padding: 34px 28px;
  box-shadow: 0 20px 50px rgba(70,63,28,0.10);
  position: sticky;
  top: 20px;
}

.thn-contact-card__lead{
  margin: 0 0 24px;
  font-size: 16px;
  line-height: 1.6;
  color: #4e513f;
  text-align: center;
  font-style: italic;
}

.thn-contact-card__block{
  text-align: center;
  margin-bottom: 26px;
}

.thn-contact-card__block:last-child{
  margin-bottom: 0;
}

.thn-contact-card__block h3{
  margin: 0 0 10px;
  font-size: 16px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #5066b0;
}

.thn-contact-card__block a{
  display: inline-block;
  margin-bottom: 8px;
  color: #2f3c77;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.2px;
  text-decoration: none;
  word-break: break-word;
  line-height: 1.35;
}

.thn-contact-card__block a:hover{
  opacity: .88;
}

.thn-contact-card__block p{
  margin: 0;
  color: #4e513f;
  font-size: 15px;
  line-height: 1.6;
}

.thn-contact-card__block ul{
  list-style: none;
  padding: 0;
  margin: 0;
}

.thn-contact-card__block li{
  color: #4e513f;
  font-size: 15px;
  line-height: 1.7;
}

@media (max-width: 991px){
  .thn-contacto__wrap{
    grid-template-columns: 1fr;
  }

  .thn-contact-card{
    position: static;
  }
}

@media (max-width: 767px){
  .thn-contacto{
    padding: 60px 14px;
  }

  .thn-contacto__form-col{
    padding: 24px 18px;
    border-radius: 22px;
  }

  .thn-contact-card{
    padding: 26px 18px;
    border-radius: 22px;
  }

  .thn-contacto__intro{
    font-size: 16px;
  }

  .thn-btn-contacto{
    width: 100%;
    min-width: unset;
  }

  .thn-contact-card__block a{
    font-size: 19px;
  }
}
