/* ===========================================================
   WEIMANN CYBERSECURITY
   Premium Coming Soon Landing Page
   Apple-inspired • Original Color Palette
   =========================================================== */

*,
*::before,
*::after{
    box-sizing:border-box;
}

:root{
    --bg:#07111b;
    --bg-dark:#050b11;
    --bg-light:#091522;
    --bg-bottom:#06101a;

    --text:#f4f7fa;
    --text-secondary:#aeb9c3;
    --muted:#607080;

    --accent:#8db5d2;
    --accent-soft:#7ba9ca;
}

html,body{
    margin:0;
    min-height:100%;
    font-family:Arial,Helvetica,sans-serif;
}

body{
    min-height:100vh;
    display:flex;
    flex-direction:column;
    overflow-x:hidden;
    color:var(--text);
    background:var(--bg);
    position:relative;
}

/* ===========================================================
   Cinematic Background
   =========================================================== */

body::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:-3;

    background:

        radial-gradient(
            ellipse 1800px 900px at 50% -320px,
            rgba(255,255,255,.08) 0%,
            rgba(141,181,210,.04) 28%,
            transparent 68%
        ),

        radial-gradient(
            circle at 75% 75%,
            rgba(44,126,184,.15),
            transparent 34%
        ),

        linear-gradient(
            180deg,
            var(--bg-dark) 0%,
            var(--bg-light) 58%,
            var(--bg-bottom) 100%
        );
}

/* vignette */
body::after{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:-2;
    background:
      radial-gradient(circle at center,
        transparent 55%,
        rgba(0,0,0,.18) 100%);
}

.grid{
    position:fixed;
    inset:0;
    z-index:-1;
    opacity:.06;
    background-image:
        linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);
    background-size:64px 64px;
    mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 75%,transparent);
}

/* ===========================================================
   Layout
   =========================================================== */

main{
    flex:1;
    width:min(900px,90vw);
    margin:auto;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    padding:80px 24px 60px;
}

/* ===========================================================
   Apple Style Logo Stage
   =========================================================== */

.logo{
    width:min(720px,90vw);
    height:auto;

    position:relative;
    z-index:5;

    transition:
        transform .45s ease,
        filter .45s ease;

    filter:
        drop-shadow(0 10px 24px rgba(0,0,0,.45));
}

.logo:hover{

    transform:translateY(-2px);

    filter:
        drop-shadow(0 14px 30px rgba(0,0,0,.55));

}
/* ===========================================================
   Typography
   =========================================================== */

.eyebrow{
    font-size:12px;
    letter-spacing:.34em;
    text-transform:uppercase;
    color:var(--accent-soft);
    margin-bottom:22px;
}

h1{
    margin:0;
    font-size:clamp(40px,6vw,72px);
    font-weight:300;
    line-height:1.05;
    letter-spacing:.02em;
}

.accent{
    color:var(--accent);
}

.line{
    width:56px;
    height:1px;
    margin:42px auto;
    background:linear-gradient(to right,transparent,var(--accent-soft),transparent);
}

p{
    max-width:620px;
    margin:0;
    color:var(--text-secondary);
    font-size:clamp(16px,2vw,19px);
    line-height:1.8;
    font-weight:300;
}

footer{
    padding:28px;
    text-align:center;
    color:var(--muted);
    font-size:11px;
    letter-spacing:.18em;
    text-transform:uppercase;
}

/* ===========================================================
   Animations
   =========================================================== */

@keyframes lightMove{
    0%,100%{
        transform:translateY(0) scale(.98);
        opacity:.65;
    }
    50%{
        transform:translateY(18px) scale(1.03);
        opacity:.95;
    }
}

/* ===========================================================
   Responsive
   =========================================================== */

@media (max-width:768px){

    main{
        padding:60px 20px;
    }

    .logo-stage{
        height:260px;
        margin-bottom:55px;
    }

    .logo-stage::before{
        width:92%;
        height:170px;
    }

    .logo{
        width:min(460px,90vw);
    }

    h1{
        font-size:clamp(34px,9vw,52px);
    }

    p{
        font-size:17px;
        line-height:1.7;
    }
}

@media (max-width:480px){

    .logo-stage{
        height:210px;
    }

    .logo{
        width:90vw;
    }

    .eyebrow{
        font-size:11px;
        letter-spacing:.28em;
    }

    h1{
        font-size:32px;
    }

    p{
        font-size:16px;
    }

    footer{
        font-size:10px;
    }
}
