:root{--bg:#02090a;--panel:#071213;--text:#f2f0e9;--muted:#aab5b1;--gold:#e5b85d;--gold2:#f7d891;--cyan:#62d5c1;--line:#183536}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#02090a;color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.55;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;z-index:-3;background:radial-gradient(circle at 75% 9%,#0c3534 0,transparent 32%),radial-gradient(circle at 15% 70%,#102a25 0,transparent 30%),linear-gradient(#02090a,#030d0e)}#bg{position:fixed;inset:0;z-index:-2;opacity:.42}a{color:inherit}.eyebrow{color:var(--gold);letter-spacing:.34em;font-size:11px;font-weight:600}header{height:82px;padding:0 5vw;display:flex;align-items:center;gap:34px;border-bottom:1px solid #173132b5;background:#02090ae8;backdrop-filter:blur(15px);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;letter-spacing:.28em;font-size:19px;white-space:nowrap}.brandmark{color:var(--gold2);font-size:38px;line-height:1}.brand small{display:block;font-size:7px;letter-spacing:.36em;color:#9eaaa6;margin-top:2px}nav{display:flex;gap:27px;margin-left:auto}nav a{text-decoration:none;font-size:13px;color:#d8dedb;position:relative}nav a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:var(--gold);transition:.25s}nav a:hover:after{width:100%}.header-cta,.ghost,.btn{border:1px solid #b8893d;border-radius:4px;text-decoration:none;padding:11px 19px}.header-cta{font-size:12px}.menu{display:none;background:none;border:0;color:white;font-size:24px}.hero{min-height:720px;padding:90px 5vw 50px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;position:relative;border-bottom:1px solid var(--line);overflow:hidden}.hero:after{content:"";position:absolute;inset:auto 0 0;height:210px;background:linear-gradient(transparent,#031112cc);pointer-events:none}.hero-copy{position:relative;z-index:2}.hero h1{font-size:clamp(64px,8vw,118px);line-height:.85;letter-spacing:-.055em;margin:20px 0 22px}.hero h1 span{color:#fff}.hero h1{background:linear-gradient(100deg,#fff 45%,#e7b85d 78%);-webkit-background-clip:text;color:transparent}.hero h2{font-family:Georgia,serif;font-size:clamp(30px,3.4vw,51px);font-weight:400;line-height:1.08;margin:0 0 20px}.hero p{max-width:660px;color:#bdc7c3;font-size:17px}.actions{display:flex;gap:16px;margin:32px 0}.btn{background:linear-gradient(135deg,#f5d68b,#bd8335);border:0;color:#08100e;font-weight:750;cursor:pointer;box-shadow:0 8px 25px #c9933c22}.ghost{background:#06100fbb}.hero-values{display:flex;gap:32px;margin-top:48px;color:#aab5b1;font-size:10px;letter-spacing:.1em}.hero-values span:first-letter{color:var(--gold)}.hero-art{height:570px;position:relative;display:grid;place-items:center}.hero-art:before{content:"";position:absolute;width:720px;height:500px;background:radial-gradient(ellipse,#2a655742 0,transparent 62%);filter:blur(10px)}.orbit{position:absolute;border:1px solid #8fc7bb48;border-radius:50%;animation:spin 28s linear infinite}.orbit-a{width:430px;height:430px}.orbit-b{width:510px;height:510px;border-style:dashed;animation-direction:reverse;animation-duration:40s}.orbit:after,.orbit:before{content:"✦";position:absolute;color:var(--cyan);font-size:14px;filter:drop-shadow(0 0 7px var(--cyan))}.orbit:before{top:20px;left:95px}.orbit:after{right:25px;bottom:100px}.sigil{font-size:260px;color:#f0dfad;text-shadow:0 0 25px #e4c67666,0 0 80px #63d3b844;filter:drop-shadow(0 15px 20px #000);animation:pulse 4s ease-in-out infinite}.sidewords{position:absolute;right:-10px;top:70px;font-family:Georgia,serif;letter-spacing:.35em;font-size:11px;color:#c3ccc8;line-height:1.75}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{filter:drop-shadow(0 0 28px #e2c376)}}section:not(.hero){padding:75px 5vw;border-bottom:1px solid var(--line)}.section-head{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:40px;margin-bottom:30px}.section-head h2,.approach h2,.contact h2{font:400 clamp(32px,4vw,52px)/1.1 Georgia,serif;margin:8px 0}.section-head>p{color:var(--muted);max-width:470px}.cards{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.cards article{min-height:270px;padding:25px 20px;border:1px solid #1c3b3c;background:linear-gradient(145deg,#071617e8,#030b0ce8);transition:.3s}.cards article:hover{transform:translateY(-5px);border-color:#8b713e;box-shadow:0 16px 45px #0008}.cards b{display:block;color:var(--gold2);font-size:34px;margin-bottom:22px}.cards h3{font:400 20px/1.15 Georgia,serif}.cards p{color:#aeb9b5;font-size:13px}.tech-grid{display:grid;grid-template-columns:repeat(14,1fr);gap:12px;text-align:center}.tech-grid span{font-size:11px;color:#b9c2bf}.tech-grid b{display:grid;place-items:center;margin:0 auto 8px;width:42px;height:42px;font-size:18px;color:#f2f1e9}.approach{display:grid;grid-template-columns:1fr 1.5fr;gap:55px;align-items:center;padding-top:0!important;padding-bottom:0!important}.landscape{height:390px;margin-left:-5vw;position:relative;background:radial-gradient(circle at 75% 30%,#d1a8564a,transparent 12%),linear-gradient(0deg,#02090a44,#02090a22),url('img/hero-concept.png') 14% 48%/cover no-repeat;mask-image:linear-gradient(90deg,#000 75%,transparent)}.landmark{position:absolute;left:42%;top:35%;font-size:110px;color:#edcb78;text-shadow:0 0 35px #d4a950}.approach-copy{padding:55px 0}.approach-copy>p{color:var(--muted);max-width:690px}.principles{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;margin-top:20px;color:#d1d8d5}.numbers{display:grid;grid-template-columns:repeat(3,1fr) 1.5fr!important;padding-top:30px!important;padding-bottom:30px!important}.numbers div{padding:10px 35px;border-right:1px solid var(--line)}.numbers b{display:block;font:400 35px Georgia,serif}.numbers span{font-size:12px;color:#aeb9b5}.numbers blockquote{font:italic 18px Georgia,serif;color:#d6d9d5;text-align:center}.contact{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:radial-gradient(circle at 90% 30%,#0e343052,transparent 28%)}.contact>div>p{color:var(--muted)}.contact-data{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:32px}.contact-data p{line-height:2;color:#d9dfdc}.contact form{display:grid;gap:11px;align-self:center}.contact input,.contact textarea{width:100%;padding:14px;background:#061011e8;border:1px solid #244041;color:white;border-radius:4px;outline:none}.contact input:focus,.contact textarea:focus{border-color:#ad8948}.contact textarea{height:130px;resize:vertical}.consent{font-size:11px;color:#9facaa}.consent input{width:auto;margin-right:8px}.hp{position:absolute!important;left:-9999px}.ok{color:#a6e2b2}.err{color:#e5a8a8}footer{padding:30px 5vw;display:flex;align-items:center;justify-content:space-between;color:#8e9c98;border-top:1px solid #193233;font-size:12px}footer .brand{font-size:17px;color:#e9ece8}@media(max-width:1150px){.cards{grid-template-columns:repeat(3,1fr)}.tech-grid{grid-template-columns:repeat(7,1fr)}.hero-art{opacity:.65}.hero-values{flex-wrap:wrap}.header-cta{display:none}}@media(max-width:800px){header{height:70px}.menu{display:block;margin-left:auto}nav{display:none;position:absolute;top:70px;left:0;right:0;padding:25px 5vw;background:#02090af5;flex-direction:column}nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:65px}.hero-art{position:absolute;right:-250px;top:50px;opacity:.2}.hero h1{font-size:70px}.section-head,.approach,.contact{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.tech-grid{grid-template-columns:repeat(4,1fr)}.landscape{margin:0 -5vw;height:250px}.approach-copy{padding-top:0}.numbers{grid-template-columns:1fr 1fr!important}.numbers blockquote{grid-column:1/-1}.contact-data{grid-template-columns:1fr}footer{flex-direction:column;align-items:flex-start;gap:20px}}@media(max-width:520px){.hero h1{font-size:55px}.hero h2{font-size:31px}.cards{grid-template-columns:1fr}.tech-grid{grid-template-columns:repeat(3,1fr)}.section-head{display:block}.hero-values{gap:14px}.numbers{grid-template-columns:1fr!important}.numbers div{border-right:0;border-bottom:1px solid var(--line)}.principles{grid-template-columns:1fr}.actions{flex-direction:column;align-items:flex-start}}


/* KODASLAB visual layer: photographic technology/nature imagery */
.hero-art{background:linear-gradient(90deg,rgba(2,9,10,.92) 0%,rgba(2,9,10,.28) 30%,rgba(2,9,10,.08) 100%),url('img/hero-scene.jpg') center/cover no-repeat;border-radius:2px;box-shadow:inset 0 0 90px #02090a,0 0 80px #0a413833}
.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,9,10,.18),rgba(2,9,10,.05) 55%,rgba(2,9,10,.75));pointer-events:none}
.hero-art .orbit,.hero-art .sigil,.hero-art .sidewords{z-index:2}
.cards .service-card{position:relative;overflow:hidden;padding-right:22px;background-color:#061112}
.cards .service-card:after{content:"";position:absolute;right:0;top:0;width:58%;height:100%;background-size:cover;background-position:center;opacity:.38;filter:saturate(.8) contrast(1.08);transition:.35s;z-index:0;mask-image:linear-gradient(90deg,transparent,#000 35%)}
.cards .service-card:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#061112 0%,#061112 43%,rgba(6,17,18,.72) 68%,rgba(6,17,18,.22));z-index:1;pointer-events:none}
.cards .service-card>*{position:relative;z-index:2;max-width:78%}
.cards .service-card:hover:after{opacity:.58;transform:scale(1.04)}
.cards .business:after{background-image:url('img/service-business.jpg')}.cards .automation:after{background-image:url('img/service-automation.jpg')}.cards .integration:after{background-image:url('img/service-integration.jpg')}.cards .ai:after{background-image:url('img/service-ai.jpg')}.cards .realtime:after{background-image:url('img/service-realtime.jpg')}.cards .custom:after{background-image:url('img/service-custom.jpg')}
.landscape{background:linear-gradient(90deg,rgba(2,9,10,.08),rgba(2,9,10,.1)),url('img/approach-scene.jpg') center/cover no-repeat;mask-image:linear-gradient(90deg,#000 78%,transparent)}
.contact{position:relative;overflow:hidden}.contact:after{content:"";position:absolute;right:0;top:0;width:34%;height:100%;background:linear-gradient(90deg,#02090a,transparent 55%),url('img/contact-scene.jpg') center/cover no-repeat;opacity:.25;z-index:0;pointer-events:none}.contact>*{position:relative;z-index:1}
@media(max-width:800px){.hero-art{background-position:center;opacity:.32}.cards .service-card:after{width:70%;opacity:.28}.cards .service-card>*{max-width:88%}.contact:after{width:65%;opacity:.16}}
/* ========================================
   KODASLAB IMAGE LAYERS
======================================== */


/* HERO */

.hero-art {
    position: relative;
    overflow: hidden;
    min-height: 600px;
}

.hero-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.hero-image-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(1,18,17,.92) 0%,
            rgba(1,18,17,.45) 40%,
            rgba(1,18,17,.10) 100%
        ),
        linear-gradient(
            0deg,
            rgba(1,18,17,.65),
            transparent 60%
        );
}


/* Animacijos turi būti VIRŠ paveikslėlio */

.hero-art .orbit {
    z-index: 3;
}

.hero-art .sigil {
    z-index: 4;
}

.hero-art .sidewords {
    z-index: 4;
}


/* ========================================
   SERVICE IMAGE
======================================== */

.service-with-image {
    position: relative;
    overflow: hidden;
    min-height: 300px;
}

.service-image {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    z-index: 0;

    transition:
        transform .8s ease,
        filter .8s ease;
}

.service-overlay {
    position: absolute;
    inset: 0;

    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(1,18,17,.96) 0%,
            rgba(1,18,17,.82) 45%,
            rgba(1,18,17,.25) 100%
        );
}

.service-content {
    position: relative;
    z-index: 2;
}


/* Gražus efektas užvedus pele */

.service-with-image:hover .service-image {
    transform: scale(1.07);
    filter: brightness(1.12);
}


/* ========================================
   APPROACH LANDSCAPE
======================================== */

.landscape {
    position: relative;
    overflow: hidden;
    min-height: 450px;
}

.landscape-image {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    z-index: 0;
}

.landscape-overlay {
    position: absolute;
    inset: 0;

    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(1,18,17,.15),
            rgba(1,18,17,.75)
        );
}

.landmark {
    position: relative;
    z-index: 3;
}

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

@media (max-width: 768px) {

    .hero {
        display: flex;
        flex-direction: column;
        width: 100%;
        overflow: hidden;
    }

    .hero-copy {
        width: 100%;
        max-width: 100%;
        position: relative;
        z-index: 5;
    }

    .hero-art {
        position: relative;
        width: 100%;
        max-width: 100%;
        min-height: 360px;
        height: 360px;

        margin: 30px 0 0 0;

        left: auto;
        right: auto;
        top: auto;

        overflow: hidden;
    }

    .hero-image {
        position: absolute;

        width: 100%;
        height: 100%;

        left: 0;
        top: 0;

        object-fit: cover;

        /* parenkame gražiausią nuotraukos vietą telefone */
        object-position: center center;

        transform: none;

        z-index: 0;
    }

    .hero-image-overlay {
        position: absolute;
        inset: 0;

        background:
            linear-gradient(
                180deg,
                rgba(1,18,17,.55) 0%,
                rgba(1,18,17,.10) 45%,
                rgba(1,18,17,.65) 100%
            );

        z-index: 1;
    }

    .hero-art .orbit {
        z-index: 2;
    }

    .hero-art .sigil {
        z-index: 3;
    }

    .hero-art .sidewords {
        z-index: 3;
    }
}

