/* ==========================================================================
   SODION — Base
   Resets, base element styles, typography, and utility/helper classes.
   ========================================================================== */

*{box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;}
html,body,div,span,h1,h2,h3,h4,h5,h6,p,img,ul,li,form,label,nav,ul,button,input{margin:0;padding:0;border:0;outline:0;}
body{background:var(--black-color);font-family:var(--font-main);font-size:var(--text-base);overflow-x:hidden;line-height:var(--line-height);color:var(--white-color);width:100%;overflow-x:hidden;}
h1,h2,h3,h4,h5,h6{font-family:var(--heading-font);font-weight:bold;}
a,a:focus,a:hover{outline:none !important;text-decoration:none;}
img{max-width:100%;}
.site-section{padding-block:var(--space-12);}
.site-section-medium{padding-block:var(--space-8);}
.site-container{width:100%;max-width:1240px;padding-inline:var(--space-2);margin-inline:auto;}
ul{list-style-type:none;}
.site-divider{margin-block:var(--space-2);width:100%;height:1px;}
.index-1{position:relative;z-index:1;}
.index-2{position:relative;z-index:2;}
.index-5{position:relative;z-index:5;}
.img-full{width:100%;display:block;}
.text-center-desk{text-align:center;}

.site-loader { position: fixed; inset: 0; z-index: 9999; background: #000; display: flex; align-items: center; justify-content: center; }
.site-loader__logo { width: 120px; height: auto; animation: sodion-pulse 1.4s ease-in-out infinite; }
@keyframes sodion-pulse { 0%, 100% { opacity: .4; transform: scale(.94); } 50% { opacity: 1; transform: scale(1); } }
/* body.is-loading { overflow: hidden; }
html.is-loading { overflow: hidden; } */

/* Typography */
.site-title-h1{font-size:var(--h1);line-height:1;}
.site-title-h2{font-size:var(--h2);line-height:1.2;}
.site-title-h3{font-size:var(--h3);}
.body-text{font-size:var(--text-base);}
.small-text{font-size:var(--text-small);}
.head-caption{font-size:16px;font-family:var(--menu-font);text-transform:uppercase;}

/* Site grid system */
.grid{display:grid;}
.cols-1{grid-template-columns:repeat(1,1fr);}
.cols-2{grid-template-columns:repeat(2,1fr);}
.cols-3{grid-template-columns:repeat(3,1fr);}
.cols-4{grid-template-columns:repeat(4,1fr);}
.cols-5{grid-template-columns:repeat(5,1fr);}
.cols-6{grid-template-columns:repeat(6,1fr);}
.span-2{grid-column:span 2;}
.span-3{grid-column:span 3;}
.span-4{grid-column:span 4;}
@media(max-width:767px){.cols-m-1{grid-template-columns:repeat(1,1fr);}.cols-m-2{grid-template-columns:repeat(2,1fr);}.cols-m-3{grid-template-columns:repeat(3,1fr);}.m-wrap{flex-wrap:wrap;}.gap-m-1{gap:8px;}.gap-m-2{gap:16px;}.gap-m-3{gap:24px;}.gap-m-4{gap:32px;}.gap-m-5{gap:40px;}.gap-m-6{gap:48px;}.gap-m-8{gap:64px;}.gap-m-10{gap:80px;}}
@media(min-width:768px) and (max-width:1023px){.cols-t-2{grid-template-columns:repeat(2,1fr);}.cols-t-3{grid-template-columns:repeat(3,1fr);}}

/* Flex classes */
.flex{display:flex;}
.flex-col{display:flex;flex-direction:column;}
.inline-flex{display:inline-flex;}
.flex-row{flex-direction:row;}
.flex-row-reverse{flex-direction:row-reverse;}
.flex-col-reverse{flex-direction:column-reverse;}
.flex-wrap{flex-wrap:wrap;}
.flex-nowrap{flex-wrap:nowrap;}
.flex-wrap-reverse{flex-wrap:wrap-reverse;}
.items-start{align-items:flex-start;}
.items-center{align-items:center;}
.items-end{align-items:flex-end;}
.items-stretch{align-items:stretch;}
.items-baseline{align-items:baseline;}
.justify-start{justify-content:flex-start;}
.justify-center{justify-content:center;}
.justify-end{justify-content:flex-end;}
.justify-between{justify-content:space-between;}
.justify-around{justify-content:space-around;}
.justify-evenly{justify-content:space-evenly;}
.self-start{align-self:flex-start;}
.self-center{align-self:center;}
.self-end{align-self:flex-end;}
.self-stretch{align-self:stretch;}
.gap-1{gap:8px;}
.gap-2{gap:16px;}
.gap-3{gap:24px;}
.gap-4{gap:32px;}
.gap-5{gap:40px;}
.gap-6{gap:48px;}
.gap-8{gap:64px;}
.gap-10{gap:80px;}
.flex-1{flex:1;}
.flex-2{flex:2;}
.flex-3{flex:3;}
.flex-4{flex:4;}
.flex-5{flex:5;}
.flex-6{flex:6;}
.flex-7{flex:7;}
.flex-8{flex:8;}

/* Base zig-zag layout */
.zig-zag{display:flex;align-items:center;gap:var(--space-6);}
.zig-media{flex:5;}
.zig-content{flex:7;}
.zig-wrapper>.zig-zag:nth-child(even){flex-direction:row-reverse;}
.zig-img{width:100%;border-radius:var(--space-2);}
@media(max-width:767px){.zig-zag{flex-direction:column;}.zig-media{order:1;flex:unset;width:100%;}.zig-content{order:2;flex:unset;width:100%;}}

/* Site spacings Margin & Padding */
.m-0{margin:0;}.m-1{margin:8px;}.m-2{margin:16px;}.m-3{margin:24px;}.m-4{margin:32px;}.m-5{margin:40px;}.m-6{margin:48px;}.m-7{margin:56px;}.m-8{margin:64px;}.m-9{margin:72px;}.m-10{margin:80px;}.mt-0{margin-top:0;}.mt-1{margin-top:8px;}.mt-2{margin-top:16px;}.mt-3{margin-top:24px;}.mt-4{margin-top:32px;}.mt-5{margin-top:40px;}.mt-6{margin-top:48px;}.mt-7{margin-top:56px;}.mt-8{margin-top:64px;}.mt-9{margin-top:72px;}.mt-10{margin-top:80px;}.mb-0{margin-bottom:0;}.mb-1{margin-bottom:8px;}.mb-2{margin-bottom:16px;}.mb-3{margin-bottom:24px;}.mb-4{margin-bottom:32px;}.mb-5{margin-bottom:40px;}.mb-6{margin-bottom:48px;}.mb-7{margin-bottom:56px;}.mb-8{margin-bottom:64px;}.mb-9{margin-bottom:72px;}.mb-10{margin-bottom:80px;}.m-auto{margin:auto;}.mx-auto{margin-inline:auto;}.mx-0{margin-inline:0;}.mx-1{margin-inline:8px;}.mx-2{margin-inline:16px;}.mx-3{margin-inline:24px;}.mx-4{margin-inline:32px;}.mx-5{margin-inline:40px;}.mx-6{margin-inline:48px;}.mx-7{margin-inline:56px;}.mx-8{margin-inline:64px;}.mx-9{margin-inline:72px;}.mx-10{margin-inline:80px;}.my-0{margin-block:0;}.my-1{margin-block:8px;}.my-2{margin-block:16px;}.my-3{margin-block:24px;}.my-4{margin-block:32px;}.my-5{margin-block:40px;}.my-6{margin-block:48px;}.my-7{margin-block:56px;}.my-8{margin-block:64px;}.my-9{margin-block:72px;}.my-10{margin-block:80px;}.p-0{padding:0;}.p-1{padding:8px;}.p-2{padding:16px;}.p-3{padding:24px;}.p-4{padding:32px;}.p-5{padding:40px;}.p-6{padding:48px;}.p-7{padding:56px;}.p-8{padding:64px;}.p-9{padding:72px;}.p-10{padding:80px;}.pt-0{padding-top:0;}.pt-1{padding-top:8px;}.pt-2{padding-top:16px;}.pt-3{padding-top:24px;}.pt-4{padding-top:32px;}.pt-5{padding-top:40px;}.pt-6{padding-top:48px;}.pt-7{padding-top:56px;}.pt-8{padding-top:64px;}.pt-9{padding-top:72px;}.pt-10{padding-top:80px;}.pb-0{padding-bottom:0;}.pb-1{padding-bottom:8px;}.pb-2{padding-bottom:16px;}.pb-3{padding-bottom:24px;}.pb-4{padding-bottom:32px;}.pb-5{padding-bottom:40px;}.pb-6{padding-bottom:48px;}.pb-7{padding-bottom:56px;}.pb-8{padding-bottom:64px;}.pb-9{padding-bottom:72px;}.pb-10{padding-bottom:80px;}.px-0{padding-inline:0;}.px-1{padding-inline:8px;}.px-2{padding-inline:16px;}.px-3{padding-inline:24px;}.px-4{padding-inline:32px;}.px-5{padding-inline:40px;}.px-6{padding-inline:48px;}.px-7{padding-inline:56px;}.px-8{padding-inline:64px;}.px-9{padding-inline:72px;}.px-10{padding-inline:80px;}.py-0{padding-block:0;}.py-1{padding-block:8px;}.py-2{padding-block:16px;}.py-3{padding-block:24px;}.py-4{padding-block:32px;}.py-5{padding-block:40px;}.py-6{padding-block:48px;}.py-7{padding-block:56px;}.py-8{padding-block:64px;}.py-9{padding-block:72px;}.py-10{padding-block:80px;}
@media(max-width:767px){.m-m-0{margin:0;}.m-m-1{margin:8px;}.m-m-2{margin:16px;}.m-m-3{margin:24px;}.m-m-4{margin:32px;}.m-m-5{margin:40px;}.mt-m-0{margin-top:0;}.mt-m-1{margin-top:8px;}.mt-m-2{margin-top:16px;}.mt-m-3{margin-top:24px;}.mt-m-4{margin-top:32px;}.mt-m-5{margin-top:40px;}.mb-m-0{margin-bottom:0;}.mb-m-1{margin-bottom:8px;}.mb-m-2{margin-bottom:16px;}.mb-m-3{margin-bottom:24px;}.mb-m-4{margin-bottom:32px;}.mb-m-5{margin-bottom:40px;}.mx-m-0{margin-inline:0;}.mx-m-1{margin-inline:8px;}.mx-m-2{margin-inline:16px;}.mx-m-3{margin-inline:24px;}.mx-m-4{margin-inline:32px;}.mx-m-5{margin-inline:40px;}.my-m-0{margin-block:0;}.my-m-1{margin-block:8px;}.my-m-2{margin-block:16px;}.my-m-3{margin-block:24px;}.my-m-4{margin-block:32px;}.my-m-5{margin-block:40px;}.p-m-0{padding:0;}.p-m-1{padding:8px;}.p-m-2{padding:16px;}.p-m-3{padding:24px;}.p-m-4{padding:32px;}.p-m-5{padding:40px;}.pt-m-0{padding-top:0;}.pt-m-1{padding-top:8px;}.pt-m-2{padding-top:16px;}.pt-m-3{padding-top:24px;}.pt-m-4{padding-top:32px;}.pt-m-5{padding-top:40px;}.pb-m-0{padding-bottom:0;}.pb-m-1{padding-bottom:8px;}.pb-m-2{padding-bottom:16px;}.pb-m-3{padding-bottom:24px;}.pb-m-4{padding-bottom:32px;}.pb-m-5{padding-bottom:40px;}.px-m-0{padding-inline:0;}.px-m-1{padding-inline:8px;}.px-m-2{padding-inline:16px;}.px-m-3{padding-inline:24px;}.px-m-4{padding-inline:32px;}.px-m-5{padding-inline:40px;}.py-m-0{padding-block:0;}.py-m-1{padding-block:8px;}.py-m-2{padding-block:16px;}.py-m-3{padding-block:24px;}.py-m-4{padding-block:32px;}.py-m-5{padding-block:40px;}}

/* Site borders and radius */
.border-0{border:0;}.border-1{border:1px solid var(--site-border);}.border-2{border:2px solid var(--site-border);}
.radius-0{border-radius:0;}.radius-0-5{border-radius:var(--space-0-5);}.radius-1{border-radius:var(--space-1);}.radius-2{border-radius:var(--space-2);}.radius-3{border-radius:var(--space-3);}.radius-4{border-radius:var(--space-4);}.radius-5{border-radius:var(--space-5);}.radius-6{border-radius:var(--space-6);}.radius-7{border-radius:var(--space-7);}.radius-8{border-radius:var(--space-8);}.radius-9{border-radius:var(--space-9);}.radius-10{border-radius:var(--space-10);}.radius-11{border-radius:var(--space-11);}.radius-12{border-radius:var(--space-12);}.radius-full{border-radius:100vmax;}
@media(max-width:767px){.radius-m-0{border-radius:0;}.radius-m-0-5{border-radius:var(--space-0-5);}.radius-m-1{border-radius:var(--space-1);}.radius-m-2{border-radius:var(--space-2);}.radius-m-3{border-radius:var(--space-3);}.radius-m-4{border-radius:var(--space-4);}.radius-m-5{border-radius:var(--space-5);}.radius-m-6{border-radius:var(--space-6);}.radius-m-7{border-radius:var(--space-7);}.radius-m-8{border-radius:var(--space-8);}.radius-m-9{border-radius:var(--space-9);}.radius-m-10{border-radius:var(--space-10);}.radius-m-11{border-radius:var(--space-11);}.radius-m-12{border-radius:var(--space-12);}}

/* Site Colors */
.bg-primary{background:var(--primary-color);}.bg-secondary{background:var(--secondary-color);}.bg-black{background:var(--black-color);}.bg-white{background:var(--white-color);}.bg-yellow{background:var(--yellow-color);}
.text-primary{color:var(--primary-color);}.text-secondary{color:var(--secondary-color);}.text-black{color:var(--black-color);}.text-white{color:var(--white-color);}.text-yellow{color:var(--yellow-color);}
.text-green{color:#2ecc71 !important;}

/* ================== Reusable content blocks ================== */
.site-common-content{display:flex;flex-direction:column;gap:var(--space-2);}
.site-common-content .subtitle-text{margin-bottom:-15px;}
.site-list{display:flex;flex-direction:column;gap:var(--space-2);list-style-type:disc;padding-left:20px;}
.site-common-content .site-list{margin-top:-10px;}
.text-center{text-align:center;}
.text-right{text-align:right;}
.text-left{text-align:left;}
.site-card-wrap{display:flex;gap:16px;}
.site-card{border-radius:8px;padding:12px;flex:1;position:relative;}
.site-card .site-common-content{gap:12px;}
.site-card .site-common-content h3{margin-bottom:-5px;line-height:1.2;}
.site-card .card-img{border-radius:8px;width:100%;}
.site-card .card-btn{display:inline-flex;gap:5px;border-bottom:2px solid var(--primary-color);color:var(--primary-color);font-size:14px;font-weight:700;font-family:var(--heading-font);align-self:flex-start;position:absolute;bottom:12px;left:12px;}
.site-card:has(.card-btn){padding-bottom:100px;}
.site-tag{display:inline-flex;border:1px solid var(--primary-color);border-radius:100vmax;padding:6px 24px;align-self:flex-start;font-size:18px;font-weight:500;font-family:var(--heading-font);color:var(--primary-color);}
.text-center .site-tag,.text-center .site-btn{align-self:center;}
.site-btn{font-size:16px;font-family:var(--menu-font);color:var(--black-color);background:var(--white-color);padding:16px 36px;font-weight:700;align-self:flex-start;cursor:pointer;border:none;transition:all .3s;}
.site-btn:hover{background:var(--primary-color);color:var(--white-color);}
.site-cta-section{background:var(--white-color);background:linear-gradient(180deg, var(--white-color) 0%, rgba(220, 229, 247, 1) 100%);}
.site-cta-section h2{font-size:56px;font-weight:400;color:var(--primary-color);line-height:1.1;}
.site-cta-section p{color:var(--primary-color);}
.cta-wrap{display:flex;align-items:center;}
