/* ==========================================================
   PEKw Landing Page
   style.css
   PART 1
========================================================== */

/* ==========================================================
   VARIABLES
========================================================== */

:root{

    --primary:#0F4C81;
    --primary-dark:#0A355A;
    --secondary:#E3A72F;

    --text:#1E293B;
    --text-light:#64748B;

    --white:#ffffff;
    --light:#F8FAFC;
    --border:#E2E8F0;

    --success:#2E8B57;
    --danger:#DC2626;

    --radius:18px;
    --radius-sm:12px;

    --shadow:
        0 20px 60px rgba(0,0,0,.08);

    --transition:.35s ease;

    --container:1200px;

}


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

*,
*::before,
*::after{

    margin:0;
    padding:0;

    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:"Inter",sans-serif;

    color:var(--text);

    background:#fff;

    line-height:1.65;

    -webkit-font-smoothing:antialiased;

}

img{

    display:block;

    max-width:100%;

    height:auto;

}

a{

    text-decoration:none;

    color:inherit;

}

ul{

    list-style:none;

}

button,
input,
textarea{

    font:inherit;

}

section{

    padding:110px 0;

}

.container{

    width:min(92%,var(--container));

    margin:auto;

}



/* ==========================================================
   TYPOGRAPHY
========================================================== */

h1{

    font-size:clamp(44px,6vw,72px);

    line-height:1.05;

    font-weight:800;

    letter-spacing:-2px;

    margin-bottom:30px;

}

h1 span{

    color:var(--primary);

}

h2{

    font-size:clamp(34px,4vw,52px);

    line-height:1.15;

    margin-bottom:22px;

}

h3{

    font-size:26px;

    margin-bottom:18px;

}

p{

    font-size:18px;

    color:var(--text-light);

}

.section-heading{

    text-align:center;

    margin-bottom:70px;

}

.section-intro{

    max-width:760px;

    margin:0 auto;

}



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

.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:18px 34px;

    border:none;

    border-radius:999px;

    cursor:pointer;

    font-weight:600;

    transition:var(--transition);

    position:relative;

    overflow:hidden;

}

.btn-primary{

    background:var(--primary);

    color:#fff;

    box-shadow:

        0 15px 35px rgba(15,76,129,.25);

}

.btn-primary:hover{

    background:var(--primary-dark);

    transform:translateY(-3px);

}

.btn-secondary{

    background:#fff;

    border:2px solid var(--border);

}

.btn-secondary:hover{

    border-color:var(--primary);

    color:var(--primary);

}

.btn.success{

    background:var(--success);

}



/* ==========================================================
   HEADER
========================================================== */

.header{

    position:fixed;

    inset:0 0 auto 0;

    height:88px;

    background:rgba(255,255,255,.92);

    backdrop-filter:blur(16px);

    border-bottom:1px solid rgba(0,0,0,.05);

    z-index:1000;

    transition:.35s;

}

.header.scrolled{

    height:74px;

    box-shadow:

        0 15px 45px rgba(0,0,0,.08);

}

.header .container{

    height:100%;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:40px;

}

.logo img{

    height:44px;

    width:auto;

}



/* ==========================================================
   NAVIGATION
========================================================== */

.navigation{

    display:flex;

    gap:36px;

}

.navigation a{

    position:relative;

    font-weight:500;

}

.navigation a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-6px;

    width:0;

    height:2px;

    background:var(--secondary);

    transition:.3s;

}

.navigation a:hover::after,

.navigation a.active::after{

    width:100%;

}

.navigation a.active{

    color:var(--primary);

    font-weight:600;

}



/* ==========================================================
   HAMBURGER
========================================================== */

.mobile-menu{

    display:none;

    width:46px;

    height:46px;

    border:none;

    background:none;

    cursor:pointer;

    position:relative;

}

.mobile-menu span{

    position:absolute;

    left:9px;

    width:28px;

    height:3px;

    border-radius:3px;

    background:var(--text);

    transition:.35s;

}

.mobile-menu span:nth-child(1){

    top:13px;

}

.mobile-menu span:nth-child(2){

    top:21px;

}

.mobile-menu span:nth-child(3){

    top:29px;

}

.mobile-menu.open span:nth-child(1){

    top:21px;

    transform:rotate(45deg);

}

.mobile-menu.open span:nth-child(2){

    opacity:0;

}

.mobile-menu.open span:nth-child(3){

    top:21px;

    transform:rotate(-45deg);

}



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

.hero{

    padding-top:170px;

    overflow:hidden;

    background:

        radial-gradient(circle at top right,

        rgba(227,167,47,.12),

        transparent 45%),

        linear-gradient(

            180deg,

            #fff,

            #f8fafc

        );

}

.hero-grid{

    display:grid;

    grid-template-columns:1.05fr .95fr;

    gap:70px;

    align-items:center;

}

.eyebrow{

    display:inline-block;

    margin-bottom:22px;

    color:var(--primary);

    text-transform:uppercase;

    letter-spacing:1px;

    font-weight:700;

    font-size:14px;

}

.hero-text{

    margin-bottom:40px;

    max-width:620px;

}

.hero-buttons{

    display:flex;

    flex-wrap:wrap;

    gap:20px;

    margin-bottom:45px;

}

.hero-features{

    display:flex;

    flex-wrap:wrap;

    gap:14px;

}

.hero-features li{

    background:#fff;

    padding:12px 18px;

    border-radius:999px;

    box-shadow:var(--shadow);

    font-size:15px;

    font-weight:600;

}

.hero-image{

    position:relative;

}

.hero-image img{

    border-radius:28px;

    box-shadow:

        0 35px 70px rgba(0,0,0,.18);

}

.hero-image::before{

    content:"";

    position:absolute;

    width:420px;

    height:420px;

    border-radius:50%;

    background:rgba(227,167,47,.18);

    right:-80px;

    top:-80px;

    z-index:-1;

}

.hero-image::after{

    content:"";

    position:absolute;

    width:260px;

    height:260px;

    border-radius:50%;

    background:rgba(15,76,129,.10);

    left:-70px;

    bottom:-70px;

    z-index:-1;

}

/* ==========================================================
   PROBLEM
========================================================== */

.problem{

    background:#fff;

}

.problem-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:42px;

    align-items:stretch;

}

.problem-card{

    background:#fff;

    padding:46px;

    border-radius:24px;

    border:1px solid var(--border);

    box-shadow:0 10px 35px rgba(0,0,0,.05);

    transition:var(--transition);

}

.problem-card:hover{

    transform:translateY(-8px);

    box-shadow:0 30px 70px rgba(0,0,0,.08);

}

.problem-card h3{

    color:var(--primary);

    margin-bottom:28px;

}

.problem-card ul{

    display:flex;

    flex-direction:column;

    gap:18px;

}

.problem-card li{

    position:relative;

    padding-left:34px;

    color:var(--text-light);

}

.problem-card li::before{

    content:"✕";

    position:absolute;

    left:0;

    top:0;

    color:#dc2626;

    font-weight:700;

}

.problem-card.success{

    background:linear-gradient(
        135deg,
        var(--primary),
        #1A6AA8
    );

    color:#fff;

    border:none;

}

.problem-card.success h3{

    color:#fff;

}

.problem-card.success li{

    color:rgba(255,255,255,.92);

}

.problem-card.success li::before{

    content:"✓";

    color:var(--secondary);

}


/* ==========================================================
   BENEFITS
========================================================== */

.benefits{

    background:var(--light);

}

.benefit-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:34px;

}

.benefit{

    background:#fff;

    padding:42px;

    border-radius:24px;

    border:1px solid transparent;

    transition:var(--transition);

    position:relative;

    overflow:hidden;

    box-shadow:0 10px 35px rgba(0,0,0,.04);

}

.benefit:hover{

    transform:translateY(-8px);

    border-color:var(--border);

    box-shadow:0 25px 60px rgba(0,0,0,.08);

}

.benefit::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:5px;

    height:100%;

    background:var(--secondary);

    transform:scaleY(0);

    transform-origin:top;

    transition:.35s;

}

.benefit:hover::before{

    transform:scaleY(1);

}

.benefit h3{

    color:var(--primary);

    margin-bottom:18px;

}

.benefit p{

    margin-bottom:28px;

}

.benefit::after{

    content:"";

    display:block;

    width:58px;

    height:58px;

    border-radius:18px;

    background:linear-gradient(
        135deg,
        rgba(15,76,129,.12),
        rgba(227,167,47,.18)
    );

}

/* různé akcenty */

.benefit:nth-child(1)::after{

    background:
        linear-gradient(135deg,#dbeafe,#bfdbfe);

}

.benefit:nth-child(2)::after{

    background:
        linear-gradient(135deg,#dcfce7,#bbf7d0);

}

.benefit:nth-child(3)::after{

    background:
        linear-gradient(135deg,#fef3c7,#fde68a);

}

.benefit:nth-child(4)::after{

    background:
        linear-gradient(135deg,#ede9fe,#ddd6fe);

}

.benefit:nth-child(5)::after{

    background:
        linear-gradient(135deg,#fee2e2,#fecaca);

}

.benefit:nth-child(6)::after{

    background:
        linear-gradient(135deg,#cffafe,#a5f3fc);

}

/* ==========================================================
   MODULES
========================================================== */

.modules{

    background:#ffffff;

}

.modules-grid{

    display:grid;

    grid-template-columns:repeat(5,1fr);

    gap:24px;

}

.modules-grid article{

    background:#fff;

    border:1px solid var(--border);

    border-radius:22px;

    padding:34px 22px;

    text-align:center;

    font-weight:600;

    font-size:18px;

    transition:var(--transition);

    position:relative;

    overflow:hidden;

    cursor:default;

}

.modules-grid article::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        135deg,
        rgba(15,76,129,.06),
        rgba(227,167,47,.12)
    );

    opacity:0;

    transition:.35s;

}

.modules-grid article:hover{

    transform:translateY(-8px);

    border-color:var(--primary);

    box-shadow:0 25px 55px rgba(0,0,0,.08);

}

.modules-grid article:hover::before{

    opacity:1;

}

.modules-grid article:nth-child(odd){

    background:#fff;

}

.modules-grid article:nth-child(even){

    background:#fcfdff;

}



/* ==========================================================
   WHY
========================================================== */

.why{

    background:linear-gradient(
        180deg,
        #f8fafc,
        #ffffff
    );

}

.why-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:36px;

}

.why-grid article{

    background:#fff;

    border-radius:24px;

    padding:42px;

    border:1px solid var(--border);

    transition:var(--transition);

    position:relative;

    overflow:hidden;

}

.why-grid article:hover{

    transform:translateY(-8px);

    box-shadow:0 30px 70px rgba(0,0,0,.08);

}

.why-grid article::before{

    content:"";

    width:72px;

    height:72px;

    display:block;

    margin-bottom:26px;

    border-radius:20px;

    background:linear-gradient(
        135deg,
        var(--primary),
        #2b7cbc
    );

    box-shadow:
        0 15px 30px rgba(15,76,129,.25);

}

.why-grid article::after{

    position:absolute;

    top:60px;

    left:62px;

    color:#fff;

    font-weight:700;

    font-size:22px;

}

.why-grid article:nth-child(1)::after{

    content:"30+";

}

.why-grid article:nth-child(2)::after{

    content:"⚙";

}

.why-grid article:nth-child(3)::after{

    content:"CZ";

}

.why-grid article:nth-child(4)::after{

    content:"◧";

}

.why-grid h3{

    color:var(--primary);

    margin-bottom:16px;

}

.why-grid p{

    margin:0;

}



/* ==========================================================
   SECTION DIVIDER
========================================================== */

.problem,
.benefits,
.modules,
.why,
.references{

    position:relative;

}

.problem::after,
.benefits::after,
.modules::after,
.why::after{

    content:"";

    position:absolute;

    left:50%;

    bottom:0;

    width:120px;

    height:2px;

    transform:translateX(-50%);

    background:linear-gradient(
        90deg,
        transparent,
        var(--secondary),
        transparent
    );

}

/* ==========================================================
   REFERENCES
========================================================== */

.references{

    background:var(--light);

    text-align:center;

}

.logos{
    display:grid;
    grid-template-columns:repeat(4,180px);
    justify-content:center;
    gap:40px;
    margin:0 auto;
}
.logo-item {
    width: 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.logo-item img {
    max-width: 180px;
    width: 100%;
    filter: grayscale(100%);
    opacity: .65;
    transition: .35s;
}

.logo-item:hover img {
    filter: none;
    opacity: 1;
    transform: scale(1.05);
}

.logo-item span {

    margin-top: 14px;

    font-family: "Manrope", sans-serif;

    font-size: 16px;

    font-weight: 700;

    color: var(--primary);

    line-height: 1.35;

    letter-spacing: .2px;

}

@media (max-width: 900px) {
    .logos {
        grid-template-columns: repeat(2, 180px);
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .logos {
        grid-template-columns: 180px;
        justify-content: center;
    }
}
/* ==========================================================
   CTA
========================================================== */

.cta{

    position:relative;

    overflow:hidden;

    text-align:center;

    color:#fff;

    background:linear-gradient(
        135deg,
        var(--primary),
        #1A6AA8
    );

}

.cta::before{

    content:"";

    position:absolute;

    width:520px;

    height:520px;

    border-radius:50%;

    background:rgba(255,255,255,.05);

    top:-220px;

    right:-180px;

}

.cta::after{

    content:"";

    position:absolute;

    width:340px;

    height:340px;

    border-radius:50%;

    background:rgba(255,255,255,.04);

    left:-120px;

    bottom:-150px;

}

.cta .container{

    position:relative;

    z-index:2;

}

.cta h2{

    color:#fff;

}

.cta p{

    color:rgba(255,255,255,.9);

    max-width:760px;

    margin:25px auto 45px;

}

.cta .btn{

    background:#fff;

    color:var(--primary);

}

.cta .btn:hover{

    background:var(--secondary);

    color:#fff;

}



/* ==========================================================
   CONTACT
========================================================== */

.contact{

    background:#fff;

}

.contact-grid{

    display:grid;

    grid-template-columns:420px 1fr;

    gap:80px;

    align-items:start;

}

.contact-content p{

    margin-bottom:35px;

}

.contact-info{

    display:flex;

    flex-direction:column;

    gap:24px;

}

.contact-info div{

    display:flex;

    flex-direction:column;

    gap:6px;

}

.contact-info strong{

    color:var(--primary);

}

.contact-info a{

    transition:.3s;

}

.contact-info a:hover{

    color:var(--primary);

}



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

.contact-form{

    background:#fff;

    padding:50px;

    border-radius:28px;

    border:1px solid var(--border);

    box-shadow:0 25px 70px rgba(0,0,0,.06);

}

.form-group{

    margin-bottom:24px;

}

.form-group label{

    display:block;

    margin-bottom:10px;

    font-weight:600;

}

.contact-form input,
.contact-form textarea{

    width:100%;

    padding:18px 22px;

    border:1px solid var(--border);

    border-radius:14px;

    transition:var(--transition);

    background:#fff;

}

.contact-form textarea{

    resize:vertical;

    min-height:180px;

}

.contact-form input:focus,
.contact-form textarea:focus{

    outline:none;

    border-color:var(--primary);

    box-shadow:

        0 0 0 5px rgba(15,76,129,.08);

}



/* ==========================================================
   FORM VALIDATION
========================================================== */

.invalid{

    border-color:var(--danger)!important;

}

.error{

    display:block;

    margin-top:8px;

    color:var(--danger);

    font-size:.9rem;

}



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

footer{

    background:#0F172A;

    color:#fff;

    padding:55px 0;

}

.footer{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:40px;

}

.footer-left{

    display:flex;

    flex-direction:column;

    gap:20px;

}

.footer-left p{

    color:rgba(255,255,255,.65);

    max-width:320px;

}

.footer-right{

    text-align:right;

}

.footer-right p{

    color:rgba(255,255,255,.65);

}



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

.sticky-cta{

    position:fixed;

    left:50%;

    bottom:24px;

    transform:translateX(-50%);

    z-index:999;

    opacity:0;

    pointer-events:none;

    transition:.4s;

}

.sticky-cta.show{

    opacity:1;

    pointer-events:auto;

}

.sticky-cta a{

    display:flex;

    align-items:center;

    justify-content:center;

    padding:18px 34px;

    border-radius:999px;

    background:var(--secondary);

    color:#fff;

    font-weight:700;

    box-shadow:

        0 18px 45px rgba(0,0,0,.25);

}

.sticky-cta a:hover{

    transform:translateY(-3px);

}



/* ==========================================================
   REVEAL
========================================================== */

.reveal{

    opacity:0;

    transform:translateY(40px);

    transition:

        opacity .8s ease,

        transform .8s ease;

}

.reveal.visible{

    opacity:1;

    transform:none;

}

/* ==========================================================
   RESPONSIVE 1200 px
========================================================== */

@media (max-width:1200px){

    section{

        padding:90px 0;

    }

    .hero-grid{

        gap:50px;

    }

    .contact-grid{

        gap:60px;

    }

    .modules-grid{

        grid-template-columns:repeat(4,1fr);

    }

}



/* ==========================================================
   RESPONSIVE 992 px
========================================================== */

@media (max-width:992px){

    h1{

        font-size:56px;

    }

    h2{

        font-size:42px;

    }

    p{

        font-size:17px;

    }

    .header .btn{

        display:none;

    }

    .mobile-menu{

        display:block;

    }

    .navigation{

        position:fixed;

        top:88px;

        left:0;

        width:100%;

        background:#fff;

        flex-direction:column;

        gap:0;

        border-top:1px solid var(--border);

        box-shadow:0 20px 50px rgba(0,0,0,.08);

        max-height:0;

        overflow:hidden;

        transition:.35s;

    }

    .navigation.active{

        max-height:420px;

    }

    .navigation a{

        padding:22px 32px;

        border-bottom:1px solid #edf2f7;

    }

    .hero{

        padding-top:140px;

    }

    .hero-grid{

        grid-template-columns:1fr;

    }

    .hero-image{

        order:-1;

    }

    .hero-text{

        max-width:100%;

    }

    .problem-grid{

        grid-template-columns:1fr;

    }

    .benefit-grid{

        grid-template-columns:repeat(2,1fr);

    }

    .modules-grid{

        grid-template-columns:repeat(3,1fr);

    }

    .why-grid{

        grid-template-columns:1fr;

    }

   

    .contact-grid{

        grid-template-columns:1fr;

    }

}



/* ==========================================================
   RESPONSIVE 768 px
========================================================== */

@media (max-width:768px){

    section{

        padding:70px 0;

    }

    .header{

        height:78px;

    }

    h1{

        font-size:42px;

        letter-spacing:-1px;

    }

    h2{

        font-size:34px;

    }

    h3{

        font-size:24px;

    }

    p{

        font-size:16px;

    }

    .hero{

        padding-top:120px;

    }

    .hero-buttons{

        flex-direction:column;

    }

    .btn{

        width:100%;

    }

    .hero-features{

        flex-direction:column;

    }

    .hero-features li{

        width:100%;

        text-align:center;

    }

    .benefit-grid{

        grid-template-columns:1fr;

    }

    .modules-grid{

        grid-template-columns:repeat(2,1fr);

    }

    .contact-form{

        padding:34px;

    }

    .footer{

        flex-direction:column;

        text-align:center;

    }

    .footer-right{

        text-align:center;

    }

    .sticky-cta{

        width:calc(100% - 30px);

        bottom:18px;

    }

    .sticky-cta a{

        width:100%;

    }

}



/* ==========================================================
   RESPONSIVE 576 px
========================================================== */

@media (max-width:576px){

    .container{

        width:92%;

    }

    h1{

        font-size:36px;

    }

    h2{

        font-size:30px;

    }

    .modules-grid{

        grid-template-columns:1fr;

    }

  

    .hero-image::before,
    .hero-image::after{

        display:none;

    }

}



/* ==========================================================
   PLACEHOLDER
========================================================== */

::placeholder{

    color:#94A3B8;

}



/* ==========================================================
   AUTOFILL
========================================================== */

input:-webkit-autofill,
textarea:-webkit-autofill{

    -webkit-box-shadow:
        0 0 0 1000px #fff inset;

}



/* ==========================================================
   TEXT SELECTION
========================================================== */

::selection{

    background:var(--secondary);

    color:#fff;

}



/* ==========================================================
   IMAGE FADE
========================================================== */

img{

    animation:fadeImage .7s ease;

}

@keyframes fadeImage{

    from{

        opacity:0;

    }

    to{

        opacity:1;

    }

}



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

.hero-image{

    animation:float 8s ease-in-out infinite;

}

@keyframes float{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-8px);

    }

    100%{

        transform:translateY(0);

    }

}



/* ==========================================================
   UTILITIES
========================================================== */

.text-center{

    text-align:center;

}

.hidden{

    display:none;

}

.shadow{

    box-shadow:var(--shadow);

}



/* ==========================================================
   PRINT
========================================================== */

@media print{

    .header,
    .sticky-cta,
    .mobile-menu{

        display:none;

    }

    section{

        padding:30px 0;

    }

}

/* M.C. software – společná horní hlavička pro integraci PEKw do / */
.mc-global-header{
    position:sticky;
    top:0;
    z-index:1001;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(14px);
    border-bottom:1px solid rgba(226,232,240,.9);
}
.mc-global-header-inner{
    width:min(92%,1200px);
    min-height:82px;
    margin:0 auto;
    display:flex;
    align-items:center;
}
.mc-global-header a{display:inline-flex;align-items:center}
.mc-global-header img{display:block;width:185px;height:auto;max-width:100%}
@media(max-width:520px){
    .mc-global-header-inner{min-height:72px}
    .mc-global-header img{width:155px}
}

/* M.C. software – jednotná drobečková navigace stejně jako na ostatních podstránkách */
.mc-pekw-breadcrumb{
    background:#fff;
    color:#64748b;
    font-size:13px;
    line-height:1.4;
}
.mc-pekw-breadcrumb-inner{
    width:min(92%,1200px);
    margin:0 auto;
    padding:22px 0 0;
}
.mc-pekw-breadcrumb a{
    color:#64748b;
    text-decoration:none;
    transition:color .2s ease;
}
.mc-pekw-breadcrumb a:hover{color:#1769d1}
.mc-pekw-breadcrumb span{margin:0 8px;color:#a0a8b4}
@media(max-width:520px){
    .mc-pekw-breadcrumb-inner{padding:18px 0 0;font-size:12px}
}
