/* =========================
ROOT
========================= */

:root{
--bg:#050505;
--secondary:#0b0b0b;
--card:#101010;
--border:#1d1d1d;
--text:#ffffff;
--muted:#9f9f9f;
--radius:26px;
--transition:0.4s ease;
}

/* =========================
RESET
========================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
scroll-behavior:smooth;
}

body{
font-family:'Inter',sans-serif;
background:var(--bg);
color:var(--text);
overflow-x:hidden;
line-height:1.7;
-webkit-font-smoothing:antialiased;
text-rendering:optimizeLegibility;
}

img{
max-width:100%;
display:block;
}
/* =========================
SCROLLBAR
========================= */

::-webkit-scrollbar{
width:10px;
}

::-webkit-scrollbar-track{
background:#090909;
}

::-webkit-scrollbar-thumb{
background:#2a2a2a;
border-radius:20px;
}

::selection{
background:white;
color:black;
}

/* =========================
GLOBAL
========================= */

.container{
width:min(1180px,100%);
margin:auto;
padding-inline:24px;
}

section{
padding:110px 0;
position:relative;
}

.section-title{
font-size:clamp(30px,4vw,46px);
font-weight:800;
line-height:1.2;
text-align:center;
margin-bottom:20px;
letter-spacing:-1px;
}

.section-desc{
max-width:780px;
margin:auto;
text-align:center;
color:var(--muted);
font-size:18px;
line-height:1.9;
}

a{
transition:0.3s;
}

/* =========================
BACKGROUND GLOW
========================= */

.blur{
position:absolute;
border-radius:50%;
filter:blur(120px);
z-index:0;
opacity:0.12;
pointer-events:none;
}

.blur.one{
width:500px;
height:500px;
background:white;
top:-150px;
left:-150px;
}

.blur.two{
width:400px;
height:400px;
background:#777;
bottom:-150px;
right:-150px;
}

/* =========================
NAVBAR
========================= */

.navbar{
position:fixed;
top:0;
left:0;
width:100%;
padding:18px 0;
z-index:999;
background:rgba(0,0,0,0.72);
backdrop-filter:blur(18px);
border-bottom:1px solid rgba(255,255,255,0.05);
}

.nav-container{
display:flex;
align-items:center;
justify-content:space-between;
}

.logo{
font-size:24px;
font-weight:800;
letter-spacing:-0.5px;
}

.nav-links{
display:flex;
gap:30px;
}

.nav-links a{
text-decoration:none;
color:white;
font-size:15px;
font-weight:500;
position:relative;
transition:0.3s;
}

.nav-links a::after{
content:'';
position:absolute;
left:0;
bottom:-7px;
width:0%;
height:2px;
background:white;
transition:0.3s;
}

.nav-links a:hover::after{
width:100%;
}

/* =========================
MOBILE MENU
========================= */

.menu-toggle{
display:none;
font-size:28px;
cursor:pointer;
transition:0.3s;
}

.menu-toggle:hover{
opacity:0.7;
}

/* =========================
HERO
========================= */

.hero{
min-height:100vh;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
overflow:hidden;
padding-top:140px;
background:
radial-gradient(circle at top right, rgba(255,255,255,0.08), transparent 30%),
radial-gradient(circle at bottom left, rgba(255,255,255,0.05), transparent 30%),
var(--bg);
}

.blogs-hero{
min-height:58vh;
}

.hero-content{
position:relative;
z-index:2;
}

.hero-image{
width:145px;
height:145px;
border-radius:50%;
overflow:hidden;
margin:0 auto 35px;
border:3px solid rgba(255,255,255,0.08);
box-shadow:0 10px 40px rgba(255,255,255,0.08);
animation:float 5s ease-in-out infinite;
}

.hero-image img{
width:100%;
height:100%;
object-fit:cover;
}

@keyframes float{
0%{transform:translateY(0);}
50%{transform:translateY(-10px);}
100%{transform:translateY(0);}
}

.badge{
display:inline-flex;
align-items:center;
gap:10px;
padding:12px 22px;
border:1px solid rgba(255,255,255,0.08);
background:rgba(255,255,255,0.03);
border-radius:100px;
font-size:14px;
margin-bottom:30px;
color:#d4d4d4;
backdrop-filter:blur(10px);
}

.hero h1{
font-size:clamp(34px,4.8vw,58px);
line-height:1.15;
font-weight:800;
max-width:850px;
margin:auto;
letter-spacing:-1px;
margin-bottom:24px;
}

.hero p{
max-width:780px;
margin:auto;
font-size:18px;
color:var(--muted);
line-height:1.9;
}



/* =========================
BUTTONS
========================= */

.btn-group{
margin-top:45px;
display:flex;
justify-content:center;
gap:18px;
flex-wrap:wrap;
}

.btn{
display:inline-block;
padding:17px 34px;
border-radius:16px;
font-weight:700;
text-decoration:none;
transition:var(--transition);
font-size:15px;
}

.btn-primary{
background:white;
color:black;
box-shadow:0 10px 40px rgba(255,255,255,0.12);
}

.btn-primary:hover{
transform:translateY(-5px);
}

.btn-secondary{
border:1px solid rgba(255,255,255,0.12);
background:rgba(255,255,255,0.03);
color:white;
}

.btn-secondary:hover{
background:rgba(255,255,255,0.08);
transform:translateY(-5px);
}

/* =========================
TOPICS
========================= */

.topics{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:18px;
margin-top:55px;
}

.topic{
padding:14px 22px;
border-radius:100px;
background:#101010;
border:1px solid rgba(255,255,255,0.06);
font-size:15px;
transition:0.3s;
}

.topic:hover{
transform:translateY(-5px);
background:#171717;
}

/* =========================
CARDS
========================= */

.grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:28px;
margin-top:65px;
}

.card{
background:linear-gradient(180deg,#101010,#0b0b0b);
padding:38px;
border-radius:var(--radius);
border:1px solid rgba(255,255,255,0.06);
transition:var(--transition);
}

.card:hover{
transform:translateY(-10px);
border-color:rgba(255,255,255,0.12);
box-shadow:0 20px 60px rgba(255,255,255,0.05);
}

.card-icon{
font-size:32px;
margin-bottom:20px;
}

.card h3{
font-size:22px;
margin-bottom:14px;
letter-spacing:-0.3px;
}

.card p{
color:var(--muted);
font-size:16px;
line-height:1.8;
}

/* =========================
BLOGS
========================= */

.blog-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:28px;
margin-top:65px;
}

.blog-card{
background:#0e0e0e;
border-radius:28px;
overflow:hidden;
border:1px solid rgba(255,255,255,0.05);
transition:0.4s;
}

.blog-card:hover{
transform:translateY(-10px);
}

.blog-image{
height:220px;
overflow:hidden;
}

.blog-image img{
width:100%;
height:100%;
object-fit:cover;
transition:0.5s;
}

.blog-featured-image{
margin-bottom:28px;
border-radius:24px;
overflow:hidden;
border:1px solid rgba(255,255,255,0.06);
aspect-ratio:16/9;
}

.blog-featured-image img{
width:100%;
height:100%;
display:block;
object-fit:cover;
}

.blog-card:hover img{
transform:scale(1.08);
}

.blog-content{
padding:30px;
}

.blog-tag{
display:inline-block;
padding:8px 14px;
border-radius:100px;
background:#171717;
font-size:13px;
margin-bottom:18px;
color:#d0d0d0;
}

.blog-card h2,
.blog-card h3{
font-size:22px;
margin-bottom:14px;
line-height:1.45;
letter-spacing:-0.3px;
min-height:64px;
}

.blog-card p{
color:var(--muted);
margin-bottom:22px;
line-height:1.8;
}

.read-more{
text-decoration:none;
color:white;
font-weight:600;
}

.read-more:hover{
opacity:0.7;
}

.empty{
margin-top:70px;
text-align:center;
padding:60px 30px;
border-radius:26px;
background:#101010;
border:1px solid rgba(255,255,255,0.06);
}

.empty h2{
font-size:32px;
margin-bottom:15px;
}

.empty p{
color:var(--muted);
max-width:700px;
margin:auto;
line-height:1.9;
}

/* =========================
CTA
========================= */

.cta-box{
padding:80px 35px;
border-radius:34px;
background:
linear-gradient(135deg,rgba(255,255,255,0.06),rgba(255,255,255,0.02));
border:1px solid rgba(255,255,255,0.08);
text-align:center;
}

.cta-box h2{
font-size:clamp(34px,5vw,52px);
line-height:1.15;
margin-bottom:22px;
letter-spacing:-1px;
}

.cta-box p{
max-width:760px;
margin:auto;
font-size:18px;
color:var(--muted);
margin-bottom:38px;
line-height:1.9;
}

/* =========================
FOOTER
========================= */

footer{
padding:80px 0 35px;
border-top:1px solid rgba(255,255,255,0.05);
background:#070707;
}

.footer-grid{
display:grid;
grid-template-columns:1.4fr 1fr 1fr 1fr;
gap:70px;
margin-bottom:50px;
align-items:flex-start;
}

.footer-logo{
font-size:26px;
font-weight:800;
margin-bottom:16px;
letter-spacing:-0.5px;
}

.footer-text{
color:var(--muted);
line-height:1.9;
}

.footer-links{
display:flex;
flex-direction:column;
gap:12px;
}

.footer-links a{
color:#d4d4d4;
text-decoration:none;
transition:0.3s;
}

.footer-links a:hover{
transform:translateX(5px);
}

.copyright{
text-align:center;
color:#666;
font-size:14px;
}

/* =========================
MOBILE
========================= */

@media(max-width:768px){

.footer-grid{
grid-template-columns:1fr;
gap:50px;
}

.nav-container{
flex-wrap:wrap;
}

.menu-toggle{
display:block;
}

.nav-links{
display:none;
width:100%;
flex-direction:column;
gap:18px;
padding-top:25px;
text-align:center;
}

.nav-links.active{
display:flex;
}

.hero{
padding-top:210px;
}

.hero h1{
font-size:38px;
line-height:1.2;
}

.hero p{
font-size:17px;
line-height:1.9;
}

.section-title{
font-size:34px;
}

.section-desc{
font-size:17px;
}

.btn-group{
flex-direction:column;
align-items:center;
}

.card{
padding:32px;
}

.cta-box{
padding:60px 24px;
}

}

/* =========================
BLOG ARTICLE DESIGN
========================= */

.blog-wrapper{
max-width:960px;
margin:auto;
}

.blog-article{
background:linear-gradient(180deg,#101010,#0b0b0b);
padding:56px;
border-radius:32px;
border:1px solid rgba(255,255,255,0.06);
box-shadow:0 20px 60px rgba(0,0,0,0.45);
}

.blog-article h2{
font-size:36px;
line-height:1.3;
margin-top:52px;
margin-bottom:18px;
font-weight:800;
letter-spacing:-1px;
}

.blog-article h3{
font-size:26px;
line-height:1.4;
margin-top:45px;
margin-bottom:18px;
font-weight:700;
}

.blog-article p{
font-size:18px;
line-height:1.85;
color:#dddddd;
font-weight:400;
margin-bottom:24px;
}

.blog-article ul,
.blog-article ol{
padding-left:24px;
margin-bottom:35px;
}

.blog-article li{
margin-bottom:16px;
color:#d0d0d0;
line-height:1.9;
font-size:17px;
}

.blog-article strong{
color:white;
font-weight:700;
}

.blog-article a{
color:white;
text-decoration:underline;
}

.blog-article table{
width:100%;
border-collapse:collapse;
margin:40px 0;
border-radius:20px;
display:block;
overflow-x:auto;
white-space:nowrap;
}

.blog-article th{
background:#151515;
padding:18px;
text-align:left;
font-size:15px;
border:1px solid #232323;
}

.blog-article td{
padding:18px;
border:1px solid #232323;
color:#cfcfcf;
line-height:1.8;
}

.blog-article blockquote{
border-left:4px solid white;
padding-left:24px;
margin:35px 0;
color:#d0d0d0;
font-size:20px;
line-height:1.9;
font-style:italic;
}

.blog-article hr{
border:none;
height:1px;
background:#222;
margin:50px 0;
}

.blog-meta{
display:flex;
flex-wrap:wrap;
gap:14px;
margin-bottom:40px;
}

.blog-meta span{
padding:10px 18px;
background:#151515;
border:1px solid rgba(255,255,255,0.06);
border-radius:100px;
font-size:14px;
color:#d0d0d0;
}

/* MOBILE */

@media(max-width:768px){

.blogs-hero{
min-height:50vh;
}
  
.blog-article{
padding:28px 20px;
border-radius:24px;
}

.blog-article h2{
font-size:30px;
margin-top:50px;
}

.blog-article h3{
font-size:23px;
}

.blog-article p{
font-size:16px;
line-height:1.8;
}

.blog-article li{
font-size:16px;
}

}

/* =========================
FAQ
========================= */

.faq-container{
margin-top:50px;
display:flex;
flex-direction:column;
gap:18px;
}

.faq-item{
background:linear-gradient(180deg,#111,#0c0c0c);
border:1px solid rgba(255,255,255,0.06);
border-radius:22px;
overflow:hidden;
transition:0.3s;
}

.faq-item:hover{
border-color:rgba(255,255,255,0.12);
transform:translateY(-2px);
}

.faq-question{
width:100%;
background:none;
border:none;
outline:none;
color:white;
padding:24px 28px;
font-size:20px;
font-weight:700;
display:flex;
align-items:center;
justify-content:space-between;
cursor:pointer;
text-align:left;
gap:20px;
}

.faq-icon{
font-size:28px;
font-weight:300;
transition:0.3s;
}

.faq-answer{
max-height:0;
overflow:hidden;
transition:max-height 0.4s ease;
}

.faq-answer p{
padding:0 28px 28px;
margin:0;
color:#d0d0d0;
line-height:1.9;
font-size:17px;
}

.faq-item.active .faq-answer{
max-height:500px;
}

.faq-item.active .faq-icon{
transform:rotate(45deg);
}

/* MOBILE */

@media(max-width:768px){

.faq-question{
font-size:17px;
padding:22px;
}

.faq-answer p{
padding:0 22px 24px;
font-size:16px;
line-height:1.8;
}

}

/* =========================
POPUP FORM
========================= */

.popup-overlay{
position:fixed;
inset:0;
background:rgba(0,0,0,0.7);
display:flex;
align-items:center;
justify-content:center;
z-index:9999;
opacity:0;
visibility:hidden;
transition:0.4s ease;
padding:20px;
}

.popup-overlay.active{
opacity:1;
visibility:visible;
}

.popup-box{
width:100%;
max-width:500px;
background:#0f0f0f;
border:1px solid rgba(255,255,255,0.08);
border-radius:28px;
padding:40px 30px;
position:relative;
box-shadow:0 20px 60px rgba(0,0,0,0.5);
animation:popupFade 0.5s ease;
overflow:hidden;
}

@keyframes popupFade{
from{
transform:translateY(30px);
opacity:0;
}
to{
transform:translateY(0);
opacity:1;
}
}

.popup-close{
position:absolute;
top:16px;
right:16px;
width:40px;
height:40px;
display:flex;
align-items:center;
justify-content:center;
background:transparent !important;
border:none !important;
box-shadow:none !important;
padding:0 !important;
margin:0 !important;
color:#ffffff !important;
font-size:28px;
font-weight:400;
line-height:1;
cursor:pointer;
z-index:10001;
border-radius:50%;
transition:0.3s ease;
}

.popup-close:hover{
background:rgba(255,255,255,0.08) !important;
transform:none !important;
}

/* BREVO FIXES */

#sib-container{
max-width:100% !important;
background:transparent !important;
border:none !important;
padding:0 !important;
}

.sib-form{
background:transparent !important;
}

.sib-form-container{
padding:0 !important;
}

.sib-form-block__button{
width:100% !important;
justify-content:center !important;
border:none !important;
}

.entry__field input{
width:100% !important;
}

@media(max-width:768px){

.popup-box{
padding:35px 24px;
max-width:100%;
}

}

/* ===== POPUP FIX ===== */

.popup-box input {
color: #000 !important;
background: #fff !important;
border: 1px solid #ccc !important;
font-size: 16px !important;
}

.popup-box input::placeholder {
color: #666 !important;
}

.popup-box .entry__label {
color: #fff !important;
font-weight: 600;
}

.popup-box .entry__specification {
color: #9ca3af !important;
}

.popup-box .sib-text-form-block p {
color: #d1d5db !important;
line-height: 1.6;
}

.popup-box form button {
width: 100%;
background: #fff !important;
color: #000 !important;
border: none;
padding: 14px;
font-weight: 700;
cursor: pointer;
transition: 0.3s ease;
border-radius:14px;
}

.popup-box form button:hover {
opacity: 0.9;
}

.popup-box .sib-form-block__button {
display: flex !important;
justify-content: center;
align-items: center;
}


.popup-overlay {
z-index: 9999;
}

.popup-box {
position: relative;
z-index: 10000;
}

.table-of-contents{
  background:#111;
  border:1px solid #222;
  padding:25px;
  border-radius:16px;
  margin-bottom:40px;
}

.table-of-contents h2{
  margin-bottom:18px;
}

.table-of-contents ul{
  padding-left:20px;
}

.table-of-contents li{
  margin-bottom:10px;
}

.table-of-contents a{
  color:white;
  text-decoration:none;
}

.table-of-contents a:hover{
  color:#7c3aed;
}

.blog-content h2 a,
.blog-content h3 a{
  color: inherit;
  text-decoration: none;
}

.blog-content h2 a:hover,
.blog-content h3 a:hover{
  text-decoration: underline;
}

.popup-box h2{
font-size:38px;
margin-bottom:14px;
line-height:1.2;
}

.popup-box p{
color:#cfcfcf;
line-height:1.8;
margin-bottom:24px;
font-size:16px;
}

/* FIX EXTRA WHITE BOX */

.sib-form-message-panel,
.sib-loading-block,
.entry__error,
.sib-form-message-panel--active,
.sib-form-block__button-with-loader .form__loader,
input.input--hidden {
display:none !important;
}

/* FIX RANDOM EXTRA INPUT */

.popup-box iframe,
.popup-box .sib-form-message-panel,
.popup-box .sib-loader,
.popup-box .form__loader {
display:none !important;
}
