/* ==========================================
HERO
========================================== */

.hero{

    min-height:100vh;

    display:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

    padding-top:120px;

}

.hero-content{

    max-width:900px;

    margin:auto;

}

.hero-badge{

    display:inline-block;

    margin-bottom:28px;

    padding:10px 18px;

    border-radius:999px;

    background:rgba(37,99,235,.12);

    border:1px solid rgba(96,165,250,.25);

    color:var(--primary-light);

    font-size:13px;

    font-weight:700;

    letter-spacing:2px;

}

.hero h1{

    font-size:clamp(58px,8vw,96px);

    line-height:.95;

    letter-spacing:-4px;

}

.hero h1 span{

    display:block;

    color:var(--primary-light);

}

.hero p{

    max-width:760px;

    margin:40px auto;

    color:var(--text-secondary);

    font-size:22px;

    line-height:1.8;

}

.hero-btn{

    margin-top:10px;

}

/* ==========================================
HERO CHECKER
========================================== */

.hero-checker{

    max-width:760px;

    margin:50px auto 0;

}

.hero-checker h3{

    font-size:24px;

    margin-bottom:20px;

    font-weight:700;

}

.checker{

    position:relative;

    display:flex;

    align-items:center;

    overflow:hidden;

    border-radius:18px;

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.08);

    transition:.35s;

}

.checker:hover{

    border-color:rgba(96,165,250,.25);

}

.checker input{

    flex:1;

    height:64px;

    border:none;

    background:none;

    color:#fff;

    padding:0 24px;

    font-size:16px;

}

.checker input::placeholder{

    color:#7E8EA7;

}

.checker button{

    width:140px;

    height:64px;

    border:none;

    background:linear-gradient(135deg,#2563EB,#3B82F6);

    color:#fff;

    font-weight:700;

    transition:.3s;

}

.checker button:hover{

    background:linear-gradient(135deg,#1D4ED8,#2563EB);

}

.checker-overlay{

    position:absolute;

    inset:0;

    display:flex;

    justify-content:center;

    align-items:center;

    text-transform:uppercase;

    letter-spacing:1.2px;

    font-size:14px;

    font-weight:800;

    opacity:0;

    pointer-events:none;

    transform:translateY(10px);

    transition:.35s;

}

.checker-overlay.show{

    opacity:1;

    transform:translateY(0);

}

.checker-overlay.waiting{

    background:linear-gradient(135deg,#172554,#1E3A8A);

    color:#E0F2FE;

}

.checker-overlay.valid{

    background:linear-gradient(135deg,#7F1D1D,#991B1B);

    color:#FEE2E2;

}

.checker-overlay.invalid{

    background:linear-gradient(135deg,#1E293B,#334155);

    color:#E2E8F0;

}

.checker-action{

    margin-top:28px;

    text-align:center;

}

.checker-action p{

    margin-bottom:18px;

    color:var(--text-secondary);

    font-size:17px;

    line-height:1.7;

}

/* ==========================================
WHY
========================================== */

.why{

padding:120px 0;

}

.why-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:28px;

}

.why-card{

padding:40px;

}

.why-card h3{

font-size:24px;

margin-bottom:18px;

}

.why-card p{

color:var(--text-secondary);

line-height:1.8;

}

.why-card:hover{

transform:translateY(-10px);

}

/* ==========================================
WORKFLOW
========================================== */

.workflow{

padding:120px 0;

}

.workflow-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:24px;

}

.workflow-card{

padding:40px;

position:relative;

overflow:hidden;

}

.step{

font-size:54px;

font-weight:800;

color:rgba(96,165,250,.18);

margin-bottom:24px;

font-family:var(--font-heading);

}

.workflow-card h3{

font-size:24px;

margin-bottom:18px;

}

.workflow-card p{

line-height:1.8;

color:var(--text-secondary);

}

.workflow-card:hover .step{

color:var(--primary-light);

transition:.3s;

}

/* ==========================================
WHO WE WORK WITH
========================================== */

.clients{

padding:120px 0;

}

.clients-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:28px;

}

.client-card{

padding:40px;

text-align:center;

}

.client-card h3{

font-size:24px;

margin-bottom:18px;

}

.client-card p{

line-height:1.8;

color:var(--text-secondary);

}

.client-card:hover{

transform:translateY(-10px);

}

/* ==========================================
FAQ
========================================== */

.faq{

padding:120px 0;

}

.faq-list{

max-width:900px;

margin:auto;

display:flex;

flex-direction:column;

gap:18px;

}

.faq-item{

background:var(--card);

border:1px solid var(--border);

border-radius:22px;

overflow:hidden;

}

.faq-question{

width:100%;

padding:28px 30px;

display:flex;

justify-content:space-between;

align-items:center;

background:none;

border:none;

color:#fff;

font-size:20px;

font-weight:700;

text-align:left;

}

.faq-question span{

font-size:28px;

transition:.3s;

}

.faq-answer{

max-height:0;

overflow:hidden;

transition:.35s;

}

.faq-answer p{

padding:0 30px 28px;

color:var(--text-secondary);

line-height:1.8;

}

.faq-item.active .faq-answer{

max-height:250px;

}

.faq-item.active .faq-question span{

transform:rotate(45deg);

}

/* ==========================================
CALL TO ACTION
========================================== */

.cta{

padding:120px 0;

}

.cta-box{

padding:80px 60px;

text-align:center;

border-radius:36px;

}

.cta-box span{

display:inline-block;

margin-bottom:20px;

font-size:13px;

font-weight:700;

letter-spacing:2px;

color:var(--primary-light);

}

.cta-box h2{

font-size:clamp(38px,5vw,58px);

margin-bottom:28px;

line-height:1.1;

}

.cta-box p{

max-width:760px;

margin:0 auto 40px;

font-size:20px;

line-height:1.9;

color:var(--text-secondary);

}

.cta-buttons{

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

}

/* ==========================================
CONTACT
========================================== */

.contact{

padding:120px 0;

}

.contact-form{

max-width:850px;

margin:auto;

display:flex;

flex-direction:column;

gap:22px;

}

.form-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:22px;

}

textarea.input{

resize:vertical;

min-height:180px;

}

.contact-form button{

align-self:center;

}

/* ==========================================
FOOTER
========================================== */

.footer{

padding:60px 0 35px;

border-top:1px solid rgba(255,255,255,.08);

text-align:center;

}

.footer-brand{

max-width:700px;

margin:0 auto 50px;

}

.footer-brand .logo{

display:inline-block;

font-size:34px;

font-family:var(--font-heading);

font-weight:800;

color:#fff;

margin-bottom:22px;

}

.footer-brand .logo span{

color:var(--primary-light);

}

.footer-brand p{

max-width:560px;

margin:0 auto 34px;

color:var(--text-secondary);

line-height:1.9;

}

.footer-links{

display:flex;

justify-content:center;

flex-wrap:wrap;

gap:18px 34px;

margin-bottom:28px;

}

.footer-links a{

color:var(--text-secondary);

transition:.3s;

}

.footer-links a:hover{

color:#fff;

}

.footer-bottom{

margin-top:40px;

padding-top:30px;

border-top:1px solid rgba(255,255,255,.08);

}

.footer-bottom p{

color:var(--text-secondary);

}

