:root{
    --green:#72ff00;
    --green2:#00ff66;
    --dark:#020602;
    --beam-speed:20s;
}

*{box-sizing:border-box}

html,body{
    margin:0;
    padding:0;
    background:#020602;
    color:#fff;
    font-family:Arial, Helvetica, sans-serif;
}

.page{
    min-height:100vh;
    padding:10px;
    background:
        radial-gradient(circle at 50% 18%, rgba(93,255,0,.18), transparent 28%),
        linear-gradient(180deg,#020602,#031103 52%,#020602);
}

.nav{
    position:relative;
    z-index:20;
    min-height:92px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:12px 34px;
    border:1px solid rgba(114,255,0,.65);
    border-radius:22px;
    background:rgba(0,0,0,.84);
    box-shadow:0 0 20px rgba(114,255,0,.35);
}

.logo{
    display:flex;
    align-items:center;
    gap:13px;
}

.crown{
    color:#ffd700;
    font-size:45px;
    line-height:1;
    text-shadow:0 0 12px var(--green);
}

.logo-text strong{
    display:block;
    font-size:27px;
    letter-spacing:2px;
}

.logo-text span{
    display:block;
    font-size:16px;
    color:#e8ffe0;
    letter-spacing:2px;
    text-align:right;
}

.menu{
    display:flex;
    gap:28px;
    flex-wrap:wrap;
}

.menu a{
    color:#fff;
    text-decoration:none;
    font-weight:bold;
    padding:12px 4px;
    text-shadow:0 0 8px #000;
}

.menu a.active,
.menu a:hover{
    color:var(--green);
    border-bottom:3px solid var(--green);
}

.hero{
    position:relative;
    overflow:hidden;
    min-height:1000px;
    padding:1px 28px 28px;
    border-radius:0 0 22px 22px;
    background:
        linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.52) 54%, rgba(0,0,0,.82)),
        radial-gradient(circle at 52% 34%, rgba(114,255,0,.18), transparent 28%),
        radial-gradient(circle at 50% 66%, rgba(0,255,80,.15), transparent 38%),
        linear-gradient(135deg,#020602 0%,#062006 46%,#020602 100%);
}

.hero:before{
    content:"";
    position:absolute;
    inset:0;
    background:
        repeating-radial-gradient(circle at 72% 34%, rgba(0,255,80,.055) 0 1px, transparent 1px 18px),
        radial-gradient(circle at bottom, rgba(0,255,80,.18), transparent 46%);
    opacity:.8;
}

.hero:after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:250px;
    height:380px;
    background:
        linear-gradient(180deg, transparent 0%, rgba(0,255,80,.08) 42%, rgba(0,0,0,.35) 100%),
        repeating-linear-gradient(168deg, transparent 0 10px, rgba(0,255,80,.08) 11px 12px);
    opacity:.55;
}

.stars{
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 21% 10%, #caff00 0 1px, transparent 2px),
        radial-gradient(circle at 80% 14%, #caff00 0 1px, transparent 2px),
        radial-gradient(circle at 91% 24%, #caff00 0 1px, transparent 2px),
        radial-gradient(circle at 37% 19%, #dfff80 0 1px, transparent 2px),
        radial-gradient(circle at 62% 9%, #baff35 0 1px, transparent 2px);
    opacity:.8;
}

.lighthouse{
    position:absolute;
    z-index:5;
    left:12.5%;
    top:80px;
    width:210px;
    height:350px;
}

.light{
    position:absolute;
    left:76px;
    top:38px;
    width:54px;
    height:54px;
    border-radius:50%;
    background:#ecff94;
    box-shadow:0 0 20px #efff78, 0 0 55px var(--green), 0 0 100px var(--green);
    z-index:6;
}

.beam{
    position:absolute;
    left:104px;
    top:49px;
    width:980px;
    height:150px;
    transform-origin:left center;
    animation:lighthouseSweep var(--beam-speed) ease-in-out infinite alternate;
    clip-path:polygon(0 44%,100% 0,100% 100%,0 56%);
    pointer-events:none;
    mix-blend-mode:screen;
    z-index:4;
}

.beam-one{
    background:linear-gradient(90deg, rgba(230,255,80,.9), rgba(114,255,0,.42), rgba(114,255,0,.12), transparent);
    filter:blur(4px);
    opacity:.86;
}

.beam-two{
    top:68px;
    height:115px;
    background:linear-gradient(90deg, rgba(230,255,80,.48), rgba(114,255,0,.25), transparent);
    filter:blur(12px);
    opacity:.65;
}

@keyframes lighthouseSweep{
    0%{
        transform:rotate(-8deg) scaleX(.92);
        opacity:.65;
    }
    45%{
        opacity:.95;
    }
    100%{
        transform:rotate(8deg) scaleX(1.06);
        opacity:.76;
    }
}

.tower{
    position:absolute;
    left:70px;
    top:84px;
    width:70px;
    height:255px;
    border:2px solid rgba(114,255,0,.75);
    border-radius:18px 18px 5px 5px;
    background:linear-gradient(90deg,#020402,#142814 50%,#020402);
    box-shadow:0 0 24px rgba(114,255,0,.48);
    z-index:3;
}

.window{
    width:22px;
    height:24px;
    margin:26px auto;
    border:1px solid rgba(114,255,0,.75);
    background:rgba(255,230,60,.45);
    box-shadow:0 0 10px rgba(255,230,60,.7);
}

.house{
    position:absolute;
    left:18px;
    bottom:0;
    width:170px;
    height:44px;
    background:linear-gradient(180deg,#0b210b,#020402);
    border:1px solid rgba(114,255,0,.35);
    box-shadow:0 0 18px rgba(114,255,0,.25);
    z-index:2;
}

.rock{
    position:absolute;
    left:-120px;
    bottom:-38px;
    width:430px;
    height:120px;
    background:radial-gradient(ellipse at center, rgba(0,40,8,.95), rgba(0,0,0,0) 70%);
    z-index:1;
}

.speed-box{
    position:absolute;
    z-index:10;
    top:35px;
    right:54px;
    width:420px;
    padding:19px 22px;
    border:1px solid var(--green);
    border-radius:18px;
    background:rgba(0,0,0,.70);
    box-shadow:0 0 22px rgba(114,255,0,.45);
    text-align:center;
}

.speed-box label{
    display:block;
    margin-bottom:13px;
    color:#d7ff00;
    font-weight:bold;
    font-size:18px;
}

.speed-row{
    display:flex;
    align-items:center;
    gap:14px;
}

.speed-row span{
    font-size:13px;
    color:#fff;
}

input[type="range"]{
    flex:1;
    accent-color:var(--green);
}

.headline{
    position:relative;
    z-index:8;
    text-align:center;
    margin-top:205px;
}

.headline h1{
    margin:0;
    font-size:clamp(52px, 8vw, 106px);
    color:var(--green);
    letter-spacing:5px;
    text-shadow:0 0 16px rgba(114,255,0,.95), 0 0 32px rgba(114,255,0,.5);
}

.headline h2{
    margin:0;
    font-size:clamp(42px, 5.5vw, 73px);
    letter-spacing:8px;
    color:#fff;
    text-shadow:0 0 16px #fff;
}

.headline p{
    margin:18px 0 0;
    color:#caff20;
    font-size:clamp(18px, 2.2vw, 28px);
    font-weight:bold;
}

.cards{
    position:relative;
    z-index:8;
    display:grid;
    grid-template-columns:repeat(3, minmax(240px, 1fr));
    gap:40px;
    width:min(1120px, 94vw);
    margin:80px auto 30px;
}

.card{
    min-height:300px;
    padding:34px 28px;
    text-align:center;
    border:1px solid var(--green);
    border-radius:19px;
    background:rgba(0,0,0,.76);
    box-shadow:0 0 24px rgba(114,255,0,.55), inset 0 0 35px rgba(0,255,80,.10);
    transition:.35s ease;
}

.card:hover{
    transform:translateY(-8px);
    box-shadow:0 0 42px rgba(114,255,0,.85), inset 0 0 36px rgba(0,255,80,.2);
}

.card-icon{
    font-size:66px;
    color:var(--green);
    text-shadow:0 0 22px var(--green);
}

.card h3{
    margin:17px 0 12px;
    font-size:33px;
}

.card p{
    min-height:56px;
    font-size:18px;
    line-height:1.5;
}

.card a{
    display:inline-block;
    margin-top:18px;
    padding:13px 32px;
    border:1px solid var(--green);
    border-radius:9px;
    color:var(--green);
    text-decoration:none;
    font-weight:bold;
    box-shadow:0 0 10px rgba(114,255,0,.18);
}

.intro{
    position:relative;
    z-index:8;
    width:min(820px,94vw);
    margin:22px auto 0;
    text-align:center;
}

.intro{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    column-gap:22px;
}

.intro p,
.intro .heart{
    grid-column:1 / -1;
}

.intro .line{
    height:2px;
    background:linear-gradient(90deg, transparent, var(--green), transparent);
}

.intro h2{
    margin:0;
    color:var(--green);
    font-size:32px;
    letter-spacing:4px;
    white-space:nowrap;
}

.intro p{
    margin:12px auto;
    font-size:18px;
    line-height:1.55;
}

.heart{
    color:var(--green);
    font-size:46px;
    text-shadow:0 0 16px var(--green);
}

.footer{
    position:relative;
    z-index:8;
    width:min(1180px, 96vw);
    margin:0 auto 22px;
    padding:24px 26px 18px;
    border:1px solid var(--green);
    border-radius:21px;
    background:rgba(0,0,0,.78);
    box-shadow:0 0 28px rgba(114,255,0,.44);
}

.footer h2{
    margin:0 0 18px;
    color:var(--green2);
    font-size:24px;
    letter-spacing:1px;
}

.footer-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
}

.footer-box{
    padding:16px;
    border:1px solid rgba(0,255,80,.48);
    border-radius:15px;
    background:rgba(0,25,10,.56);
}

.footer-head{
    color:var(--green2);
    font-weight:bold;
    text-align:center;
    font-size:17px;
    margin-bottom:12px;
}

.footer-head span{
    margin-left:8px;
}

.footer-box a{
    display:block;
    text-align:center;
    color:#fff;
    text-decoration:none;
    margin:8px 0;
    padding:9px 7px;
    border:1px solid rgba(0,255,80,.65);
    border-radius:8px;
    background:linear-gradient(180deg, rgba(0,255,80,.08), rgba(0,0,0,.28));
}

.footer-box a:hover{
    color:var(--green);
    box-shadow:0 0 12px rgba(114,255,0,.45);
}

.footer-bottom{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:34px;
    margin-top:18px;
    color:var(--green2);
    font-size:18px;
}

.footer-bottom span{
    color:var(--green);
    font-size:30px;
    text-shadow:0 0 12px var(--green);
}

@media(max-width:1050px){
    .nav{align-items:flex-start;flex-direction:column}
    .speed-box{position:relative;top:auto;right:auto;margin:22px auto 0}
    .headline{margin-top:60px}
    .cards{grid-template-columns:1fr}
    .lighthouse{left:3%;transform:scale(.78)}
    .footer-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:650px){
    .page{padding:5px}
    .nav{padding:14px}
    .menu{gap:10px}
    .hero{padding:1px 12px 22px}
    .speed-box{width:94vw}
    .lighthouse{opacity:.6;left:-50px}
    .headline h1{font-size:48px}
    .footer-grid{grid-template-columns:1fr}
    .intro{display:block}
    .intro .line{display:none}
}

.content-page{
    width:min(1000px,94vw);
    margin:50px auto;
    padding:38px;
    border:1px solid var(--green);
    border-radius:20px;
    background:rgba(0,0,0,.76);
    box-shadow:0 0 24px rgba(114,255,0,.45);
}
.content-page h1{
    color:var(--green);
    font-size:42px;
    margin-top:0;
}
.content-page p{
    font-size:19px;
    line-height:1.6;
}
.back{
    display:inline-block;
    margin-top:20px;
    color:var(--green);
    text-decoration:none;
    border:1px solid var(--green);
    border-radius:10px;
    padding:12px 22px;
}
