*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{--bg:#0a0f1a;--card:#111827;--blue:#3b82f6;--cyan:#06b6d4;--w:#fff;--muted:#94a3b8;--r:12px}
html{scroll-behavior:smooth}
body{font-family:Inter,sans-serif;background:var(--bg);color:var(--w);line-height:1.6;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.ctn{max-width:1100px;margin:0 auto;padding:0 1.5rem}

/* Sections */
.sec{padding:5rem 0;opacity:0;transform:translateY(20px);transition:all .6s}
.sec.vis{opacity:1;transform:none}
.sec-alt{background:rgba(17,24,39,.5)}
.sec-head{text-align:center;margin-bottom:3rem}
.sec-head h2{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;margin-bottom:.5rem}
.sec-head h2 em{font-style:normal;color:var(--blue)}
.sec-head p{color:var(--muted);font-size:.95rem;max-width:520px;margin:0 auto}

/* Badge */
.badge{display:inline-block;padding:.3rem .9rem;border:1px solid rgba(59,130,246,.15);border-radius:50px;font-size:.7rem;color:var(--muted);margin-bottom:1.25rem}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:.8rem 1.75rem;border:none;border-radius:8px;font-family:inherit;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .3s}
.btn-p{background:var(--blue);color:var(--w);box-shadow:0 4px 15px rgba(59,130,246,.2)}
.btn-p:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(59,130,246,.3)}
.btn-o{border:1px solid rgba(255,255,255,.15);color:var(--w);background:0}
.btn-o:hover{border-color:rgba(255,255,255,.4);transform:translateY(-2px)}
.btn-sm{padding:.5rem 1rem;font-size:.75rem}

/* Nav */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1rem 0;transition:all .3s}
nav.scrolled{background:rgba(10,15,26,.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.05);padding:.7rem 0}
nav .ctn{display:flex;align-items:center;justify-content:space-between}
.logo{font-size:1.15rem;font-weight:700}
.logo span{color:var(--blue)}
.nav-links{display:flex;gap:1.75rem;list-style:none}
.nav-links a{color:var(--muted);font-size:.8rem;font-weight:500;transition:color .2s}
.nav-links a:hover{color:var(--w)}
.nav-cta{font-size:.72rem;padding:.5rem 1.1rem}

/* Hamburger */
.ham{display:none;background:0;border:0;width:22px;height:14px;position:relative;cursor:pointer;z-index:101}
.ham span{display:block;width:100%;height:1.5px;background:var(--w);position:absolute;transition:all .3s}
.ham span:nth-child(1){top:0}
.ham span:nth-child(2){top:50%;transform:translateY(-50%)}
.ham span:nth-child(3){bottom:0}
.ham.on span:nth-child(1){top:50%;transform:translateY(-50%) rotate(45deg)}
.ham.on span:nth-child(2){opacity:0}
.ham.on span:nth-child(3){bottom:50%;transform:translateY(50%) rotate(-45deg)}

/* Mobile menu */
.mob{position:fixed;inset:0;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;z-index:99;opacity:0;visibility:hidden;transition:all .3s}
.mob.on{opacity:1;visibility:visible}
.mob a{font-size:1.2rem;font-weight:500}

/* Hero */
.hero{min-height:90vh;display:flex;align-items:center;padding-top:5rem;position:relative;overflow:hidden;opacity:0;transform:translateY(20px);transition:all .6s}
.hero.vis{opacity:1;transform:none}
.hero::before{content:'';position:absolute;top:-20%;right:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(59,130,246,.08),transparent 70%);pointer-events:none}
.hero h1{font-size:clamp(2.25rem,5vw,3.5rem);font-weight:800;line-height:1.1;letter-spacing:-1px;margin-bottom:1.25rem}
.hero h1 em{font-style:normal;color:var(--blue)}
.hero-sub{color:var(--muted);font-size:1rem;max-width:480px;margin-bottom:2rem;line-height:1.7}
.hero-btns{display:flex;gap:.75rem;flex-wrap:wrap}

/* Services */
.srv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem}
.srv{background:var(--card);border:1px solid rgba(255,255,255,.05);border-radius:var(--r);padding:1.75rem;transition:all .3s}
.srv:hover{border-color:rgba(59,130,246,.15);transform:translateY(-3px)}
.srv-icon{width:40px;height:40px;background:rgba(59,130,246,.08);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;color:var(--blue)}
.srv-icon svg{width:18px;height:18px}
.srv h3{font-size:.95rem;font-weight:600;margin-bottom:.35rem}
.srv p{font-size:.8rem;color:var(--muted);line-height:1.6}

/* Cases */
.cases-grid{display:grid;gap:1.5rem}
.case{background:var(--card);border:1px solid rgba(255,255,255,.05);border-radius:var(--r);overflow:hidden;transition:all .3s}
.case:hover{border-color:rgba(59,130,246,.15)}
.case-preview{aspect-ratio:16/8;background:linear-gradient(135deg,#1e3a5f,#0f172a);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:rgba(255,255,255,.7)}
.case-body{padding:1.75rem}
.case-body h3{font-size:1.1rem;font-weight:600;margin-bottom:.4rem}
.case-body p{font-size:.82rem;color:var(--muted);margin-bottom:1rem;line-height:1.6}
.case-tags{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin-bottom:1.25rem}
.case-tags li{font-size:.6rem;padding:.2rem .5rem;background:rgba(59,130,246,.08);border-radius:4px;color:var(--blue)}

/* Concepts */
.concepts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.concept-card{background:var(--card);border:1px solid rgba(255,255,255,.05);border-radius:var(--r);padding:2rem;text-align:center;transition:all .3s}
.concept-card:hover{border-color:rgba(59,130,246,.15);transform:translateY(-3px)}
.concept-icon{font-size:2.5rem;margin-bottom:1rem}
.concept-card h3{font-size:1rem;font-weight:600;margin-bottom:.5rem}
.concept-card p{font-size:.8rem;color:var(--muted);line-height:1.6}

/* Reviews placeholder */
.reviews-placeholder{text-align:center;padding:3rem 2rem;background:var(--card);border:1px dashed rgba(255,255,255,.1);border-radius:var(--r);max-width:600px;margin:0 auto}
.reviews-icon{font-size:2.5rem;margin-bottom:1rem}
.reviews-placeholder h3{font-size:1.1rem;font-weight:600;margin-bottom:.5rem}
.reviews-placeholder p{font-size:.85rem;color:var(--muted);line-height:1.6}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.step{text-align:center}
.step-n{font-size:1.75rem;font-weight:800;color:var(--blue);opacity:.4;margin-bottom:.5rem}
.step h4{font-size:.9rem;font-weight:600;margin-bottom:.3rem}
.step p{font-size:.75rem;color:var(--muted)}

/* Why */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.why{padding:1.5rem;background:var(--card);border:1px solid rgba(255,255,255,.05);border-radius:var(--r);transition:all .3s}
.why:hover{border-color:rgba(59,130,246,.1)}
.why h4{font-size:.9rem;font-weight:600;margin-bottom:.3rem}
.why p{font-size:.78rem;color:var(--muted)}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start}
.contact-info{display:flex;flex-direction:column;gap:1.25rem}
.ci{display:flex;gap:.75rem;align-items:center}
.ci svg{width:18px;height:18px;color:var(--blue);flex-shrink:0}
.ci span{font-size:.6rem;color:var(--muted);display:block;text-transform:uppercase;letter-spacing:.5px}
.ci a{font-size:.85rem;transition:color .2s}
.ci a:hover{color:var(--blue)}

/* Lead form */
.lead-form{display:flex;flex-direction:column;gap:.75rem}
.lead-form input,.lead-form textarea{padding:.75rem 1rem;background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:8px;color:var(--w);font-family:inherit;font-size:.85rem;outline:0;transition:border-color .2s;resize:none}
.lead-form input:focus,.lead-form textarea:focus{border-color:var(--blue)}
.lead-form input::placeholder,.lead-form textarea::placeholder{color:var(--muted)}
.form-msg{font-size:.8rem;margin-top:.5rem}
.form-msg.ok{color:#10b981}
.form-msg.err{color:#ef4444}

/* Footer */
footer{padding:2.5rem 0;border-top:1px solid rgba(255,255,255,.05)}
.f-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.f-links{display:flex;gap:1.25rem}
.f-links a{font-size:.75rem;color:var(--muted);transition:color .2s}
.f-links a:hover{color:var(--w)}
.f-copy{font-size:.65rem;color:rgba(255,255,255,.3)}

/* ============================================================
   TABLET (max-width: 1024px)
   ============================================================ */
@media(max-width:1024px){
    .why-grid,.steps{grid-template-columns:repeat(2,1fr)}
    .concepts-grid{grid-template-columns:repeat(2,1fr)}
    .contact-grid{grid-template-columns:1fr}
}

/* ============================================================
   MOBILE (max-width: 768px)
   ============================================================ */
@media(max-width:768px){
    .nav-links,.nav-cta{display:none}
    .ham{display:block}

    .ctn{padding:0 1.25rem}

    /* Hero — compact, not full-height */
    .hero{min-height:auto;padding:6rem 0 3rem}
    .hero h1{font-size:1.85rem;letter-spacing:-.5px;line-height:1.15}
    .hero-sub{font-size:.9rem;margin-bottom:1.5rem;line-height:1.6}
    .hero-btns{flex-direction:column;gap:.6rem}
    .hero-btns .btn{width:100%;padding:.85rem;font-size:.85rem}

    /* Sections — less padding */
    .sec{padding:3rem 0}
    .sec-head{margin-bottom:2rem}
    .sec-head h2{font-size:1.5rem}
    .sec-head p{font-size:.85rem}

    /* Services — single col, less padding */
    .srv-grid{grid-template-columns:1fr;gap:1rem}
    .srv{padding:1.25rem}
    .srv h3{font-size:.9rem}
    .srv p{font-size:.78rem}

    /* Cases */
    .case-preview{aspect-ratio:16/9;font-size:1.25rem}
    .case-body{padding:1.25rem}
    .case-body h3{font-size:1rem}
    .case-body p{font-size:.8rem}
    .case-tags li{font-size:.6rem;padding:.2rem .4rem}
    .case-body .btn{width:100%;justify-content:center}

    /* Concepts — single col */
    .concepts-grid{grid-template-columns:1fr;gap:1rem}
    .concept-card{padding:1.5rem}
    .concept-icon{font-size:2rem;margin-bottom:.75rem}
    .concept-card h3{font-size:.9rem}
    .concept-card p{font-size:.78rem}

    /* Reviews */
    .reviews-placeholder{padding:2rem 1.5rem}
    .reviews-placeholder h3{font-size:1rem}
    .reviews-placeholder p{font-size:.8rem}

    /* Steps — 2 col */
    .steps{grid-template-columns:repeat(2,1fr);gap:1rem}
    .step-n{font-size:1.5rem}
    .step h4{font-size:.85rem}
    .step p{font-size:.72rem}

    /* Why — 2 col */
    .why-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}
    .why{padding:1.25rem}
    .why h4{font-size:.85rem}
    .why p{font-size:.75rem}

    /* Contact — single col */
    .contact-grid{grid-template-columns:1fr;gap:1.5rem}
    .ci a{font-size:.85rem}

    /* Form */
    .lead-form input,.lead-form textarea{padding:.7rem .9rem;font-size:.85rem}
    .lead-form .btn{width:100%;padding:.85rem;font-size:.85rem}

    /* Footer */
    .f-top{flex-direction:column;gap:.75rem;text-align:center}
    .f-links{justify-content:center;gap:1rem}
    .f-links a{font-size:.8rem}
    .f-copy{text-align:center;margin-top:.5rem}

    /* Badge */
    .badge{font-size:.65rem}
}

/* ============================================================
   SMALL MOBILE (max-width: 390px) — iPhone SE, compact Androids
   ============================================================ */
@media(max-width:390px){
    .ctn{padding:0 1rem}

    .hero{padding:5.5rem 0 2.5rem}
    .hero h1{font-size:1.6rem}
    .hero-sub{font-size:.85rem}

    .sec{padding:2.5rem 0}
    .sec-head h2{font-size:1.35rem}
    .sec-head p{font-size:.8rem}

    .srv{padding:1rem}
    .srv-icon{width:34px;height:34px}
    .srv-icon svg{width:15px;height:15px}
    .srv h3{font-size:.85rem}
    .srv p{font-size:.75rem}

    .concept-card{padding:1.25rem}
    .concept-icon{font-size:1.75rem}
    .concept-card h3{font-size:.85rem}

    .steps{grid-template-columns:1fr 1fr;gap:.75rem}
    .step-n{font-size:1.25rem}
    .step h4{font-size:.8rem}

    .why-grid{grid-template-columns:1fr;gap:.75rem}
    .why{padding:1rem}
    .why h4{font-size:.85rem}

    .reviews-placeholder{padding:1.5rem 1rem}
    .reviews-icon{font-size:2rem}
    .reviews-placeholder h3{font-size:.9rem}

    footer{padding:1.5rem 0}
    .f-links a{font-size:.75rem}
}
