.elementor-kit-51{--e-global-color-primary:#06A7DE;--e-global-color-secondary:#000000;--e-global-color-text:#FFFFFF;--e-global-color-accent:#CFCFCF;--e-global-color-b885d54:#181818;--e-global-color-a21d9ad:#CFCFCF;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;font-family:"Inter", Sans-serif;font-size:18px;font-weight:400;background-color:#000000;}.elementor-kit-51 h1{font-family:"Inter", Sans-serif;font-size:80px;font-weight:900;}.elementor-kit-51 h2{font-family:"Inter", Sans-serif;font-size:36px;font-weight:900;text-transform:uppercase;}.elementor-kit-51 h3{font-family:"Inter", Sans-serif;font-size:36px;font-weight:900;text-transform:uppercase;letter-spacing:0.04em;}.elementor-kit-51 button,.elementor-kit-51 input[type="button"],.elementor-kit-51 input[type="submit"],.elementor-kit-51 .elementor-button{font-family:"Inter", Sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.35em;text-shadow:0px 0px 10px rgba(0,0,0,0.3);}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-kit-51 e-page-transition{background-color:#FFBC7D;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */<style>

/* 1. HERO GRADIENTTI (Varmista että herolla on luokka: hero-osion-luokka) */

html body .hero-osion-luokka::after {

    content: "" !important;

    position: absolute !important;

    bottom: -1px !important;

    left: 0 !important;

    width: 100% !important;

    height: 65vh !important;

    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.4) 40%, rgba(0,0,0,0.9) 85%, #000000 100%) !important;

    pointer-events: none !important;

    z-index: 1 !important;

}



/* 2. PALVELUKORTIN TYYLI (Glassmorphism) */

html body .premium-service-card.elementor-widget-icon-box {

    background: rgba(15, 15, 18, 0.4) !important;

    backdrop-filter: blur(20px) !important;

    -webkit-backdrop-filter: blur(20px) !important;

    border: 1px solid rgba(255, 255, 255, 0.08) !important;

    border-radius: 40px !important;

    padding: 50px 40px !important;

    transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;

}



/* Otsikon ja tekstien tyylit */

html body .premium-service-card .elementor-icon-box-title,

html body .premium-service-card .elementor-icon-box-title a {

    font-family: 'Inter', sans-serif !important;

    font-weight: 900 !important;

    font-style: italic !important;

    text-transform: uppercase !important;

    color: #ffffff !important;

}



html body .premium-service-card .elementor-icon-box-description {

    color: #9ca3af !important;

    font-weight: 500 !important;

}



/* Ikonin oletusulkoasu */

html body .premium-service-card .elementor-icon {

    background-color: rgba(24, 24, 27, 0.8) !important;

    color: #06a7de !important;

    border: 1px solid rgba(255, 255, 255, 0.03) !important;

    transition: all 0.4s ease !important;

}



/* HINTATIEDOT (Uusi lisäys) */

html body .premium-service-card .price-container {

    display: flex !important;

    justify-content: space-between !important;

    align-items: center !important;

    margin-top: 25px !important;

    padding-top: 20px !important;

    border-top: 1px solid rgba(255, 255, 255, 0.05) !important;

}



html body .premium-service-card .service-price {

    color: #06a7de !important;

    font-weight: 900 !important;

    text-transform: uppercase !important;

    font-size: 13px !important;

    letter-spacing: -0.02em !important;

    

}



html body .premium-service-card .price-arrow {

    color: #3f3f46 !important;

    font-size: 18px !important;

    transition: color 0.3s ease !important;

}



/* HOVER-EFEKTI: Pyöreä ja himmeä hohto oikeassa yläkulmassa */

html body .premium-service-card:hover {

    background: radial-gradient(circle at top right, rgba(6, 167, 222, 0.12) 0%, rgba(15, 15, 18, 0.95) 55%) !important;

    border-color: rgba(6, 167, 222, 0.25) !important;

    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4) !important;

}



html body .premium-service-card:hover .elementor-icon {

    background-color: #06a7de !important;

    color: #ffffff !important;

    transform: rotate(8deg) scale(1.05) !important;

    box-shadow: 0 0 20px rgba(6, 167, 222, 0.3) !important;

}



html body .premium-service-card:hover .price-arrow {

    color: #06a7de !important;

}



/* Mobiilisäädöt */

@media (max-width: 768px) {

    html body .premium-service-card {

        padding: 40px 30px !important;

        border-radius: 30px !important;

    }

}





html body .portfolio-section-fades::after {

    content: "" !important;

    position: absolute !important;

    bottom: -1px !important;

    left: 0 !important;

    width: 100% !important;

    height: 65vh !important;

    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.4) 40%, rgba(0,0,0,0.9) 85%, #000000 100%) !important;

    pointer-events: none !important;

    z-index: 1 !important;

}



html body .portfolio-section-fades::after {

    content: "" !important;

    position: absolute !important;

    top: -1px !important;

    left: 0 !important;

    width: 100% !important;

    height: 65vh !important;

    background: linear-gradient(to top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.4) 40%, rgba(0,0,0,0.9) 85%, #000000 100%) !important;

    pointer-events: none !important;

    z-index: 1 !important;

}



</style>







<style>





/* --- PREMIUM PORTFOLIO-KORTIT --- */

html body .premium-portfolio-card {

    position: relative !important;

    overflow: hidden !important;

    border-radius: 40px !important;

    border: 1px solid rgba(255, 255, 255, 0.05) !important;

    transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;

    background: #000000 !important;

}



/* Kuva: Aluksi tumma (brightness 0.4) */

html body .premium-portfolio-card img {

    transition: all 1s cubic-bezier(0.16, 1, 0.3, 1) !important;

    filter: brightness(0.9) grayscale(20%) !important;

    transform: scale(1.02) !important;

}



/* Kuva hoverissa: Kirkas ja kevyt zoom */

html body .premium-portfolio-card:hover img {

    filter: brightness(1) grayscale(0%) !important;

    transform: scale(1.1) !important;

}



/* Musta häivytys tekstin alle (näkyy vain hoverissa) */

html body .premium-portfolio-card::after {

    content: "" !important;

    position: absolute !important;

    inset: 0 !important;

    background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, transparent 60%) !important;

    opacity: 0 !important;

    transition: opacity 0.6s ease !important;

    z-index: 3 !important;

}



html body .premium-portfolio-card:hover::after {

    opacity: 1 !important;

}



/* Tekstikerros (Caption) */

html body .premium-portfolio-card .widget-image-caption {

    position: absolute !important;

    bottom: 0 !important;

    left: 0 !important;

    width: 100% !important;

    padding: 40px !important;

    z-index: 4 !important;

    text-align: left !important;

    opacity: 0 !important;

    transform: translateY(30px) !important;

    transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;

}



html body .premium-portfolio-card:hover .widget-image-caption {

    opacity: 1 !important;

    transform: translateY(0) !important;

}



/* Tekstien tyylit kuvatekstin sisällä */

html body .premium-portfolio-card .widget-image-caption span {

    color: #06a7de !important;

    font-size: 10px !important;

    font-weight: 900 !important;

    text-transform: uppercase !important;

    letter-spacing: 0.3em !important;

    display: block !important;

    margin-bottom: 8px !important;

}



html body .premium-portfolio-card .widget-image-caption h3 {

    color: #ffffff !important;

    font-size: 22px !important;

    font-weight: 900 !important;

    font-style: italic !important;

    text-transform: uppercase !important;

    margin: 0 !important;

    line-height: 1.1 !important;

}

</style>



TAUUSTA



<style>

/* 1. Taustakuvan lukitus ja osion asetukset */

html body .parallax-fade-section {

    position: relative !important;

    z-index: 1 !important;

    background-attachment: fixed !important;

    background-position: center center !important;

    background-size: cover !important;

    background-repeat: no-repeat !important;

    background-color: transparent !important;

}



/* 2. TUPLAGRADIENTTI (Ylä ja Ala samassa elementissä) */

html body .parallax-fade-section::before {

    content: "" !important;

    position: absolute !important;

    inset: 0 !important; /* Täyttää koko osion */

    

    /* Luodaan kaksi gradienttia: yksi ylös ja yksi alas */

    /* Keskikohta jää läpinäkyväksi */

    background: 

        /* YLÄREUNA: Mustasta läpinäkyvään (25% matkalla) */

        linear-gradient(to bottom, 

            #000000 0%, 

            rgba(0,0,0,0.8) 10%, 

            rgba(0,0,0,0) 35%

        ),

        /* ALAREUNA: Mustasta läpinäkyvään ylöspäin (25% matkalla) */

        linear-gradient(to top, 

            #000000 0%, 

            rgba(0,0,0,0.8) 10%, 

            rgba(0,0,0,0) 35%

        ) !important;

        

    z-index: 2 !important;

    pointer-events: none !important;

}



/* 3. Sisällön nosto häivytysten päälle */

html body .parallax-fade-section > .elementor-container,

html body .parallax-fade-section > .elementor-widget-wrap {

    position: relative !important;

    z-index: 5 !important;

}



/* Mobiiliyhteensopivuus */

@media (max-width: 1024px) {

    html body .parallax-fade-section {

        background-attachment: scroll !important;

    }

}

</style>





WHY US <style>

/* 1. KUVAN SÄILIÖ JA PAKOTETTU PYÖRISTYS */

html body .premium-why-us-image {

    position: relative !important;

    z-index: 1 !important;

    /* Pakotetaan koko widget 20% pienemmäksi (80% leveys) */

    max-width: 70% !important; 

    margin-left: auto !important; 

    margin-right: auto !important;

}



html body .premium-why-us-image .elementor-widget-container {

    border-radius: 80px !important; 

    overflow: hidden !important; 

    /* isolation: isolate korjaa selaimen overflow-ongelmat animoinnin aikana */

    isolation: isolate !important;

    border: 1px solid rgba(255, 255, 255, 0.1) !important;

    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5) !important;

    /* Pakotetaan pyöristys pysymään maskilla */

    -webkit-mask-image: -webkit-radial-gradient(white, black);

}



/* 2. KUVA: Oletuksena harmaa ja tumma */

html body .premium-why-us-image img {

    transition: all 1s cubic-bezier(0.16, 1, 0.3, 1) !important;

    filter: grayscale(100%) brightness(0.7) !important;

    transform: scale(1) !important;

    width: 100% !important;

    height: auto !important;

    display: block !important;

    border-radius: 80px !important;

}



/* KUVA HOVERISSA: Suurennusefekti poistettu (scale pidetty arvossa 1) */

html body .premium-why-us-image:hover img {

    filter: grayscale(0%) brightness(1) !important;

    transform: scale(1) !important;

}



/* 3. TEKSTIKERROS JA GRADIENTTI (Tiukennettu pohjaan ja leikattu pyöreäksi) */

html body .premium-why-us-image .widget-image-caption {

    position: absolute !important;

    bottom: 0 !important; 

    left: 0 !important;

    right: 0 !important;

    width: 100% !important;

    padding: 40px !important;

    text-align: left !important;

    /* Syvä musta gradientti */

    background: linear-gradient(to top, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.6) 50%, transparent 100%) !important;

    z-index: 5 !important;

    color: #ffffff !important;

    margin: 0 !important;

    /* Pakotetaan myös tekstikerroksen alareunat pyöreiksi, ettei se "vuoda" yli */

    border-bottom-left-radius: 80px !important;

    border-bottom-right-radius: 80px !important;

}



/* Tag-teksti (pieni sininen) */

html body .premium-why-us-image .overlay-tag {

    color: #06a7de !important;

    font-family: 'Inter', sans-serif !important;

    font-weight: 900 !important;

    text-transform: uppercase !important;

    font-size: 10px !important;

    letter-spacing: 0.3em !important;

    display: block !important;

    margin-bottom: 10px !important;

}



/* Otsikko (Iso valkoinen) */

html body .premium-why-us-image .overlay-title {

    color: #ffffff !important;

    font-family: 'Inter', sans-serif !important;

    font-weight: 900 !important;

    font-style: italic !important;

    text-transform: uppercase !important;

    font-size: clamp(20px, 3.5vw, 32px) !important;

    line-height: 0.9 !important;

    letter-spacing: -0.05em !important;

    margin: 0 !important;

}



/* 4. SININEN HOHDE KUVAN TAKANA */

html body .premium-why-us-image::before {

    content: "" !important;

    position: absolute !important;

    top: -40px;

    right: -40px;

    width: 200px;

    height: 200px;

    background: radial-gradient(circle, rgba(6, 167, 222, 0.15) 0%, transparent 70%) !important;

    z-index: -1 !important;

    pointer-events: none !important;

}

/* 1. Lisää luokka "autofix-parallax-fade" WordPress-osiosi lisäasetuksiin (CSS Classes).

   2. Varmista, että osiolla on asetettu taustakuva WordPressin omilla työkaluilla.

*/



.autofix-parallax-fade {

    position: relative !important;

    z-index: 1 !important;

    /* Aktivoi parallax-efektin */

    background-attachment: fixed !important;

    background-position: center center !important;

    background-size: cover !important;

    background-repeat: no-repeat !important;

    /* Varmistetaan, että taustaväri on musta */

    background-color: #000000 !important;

    overflow: hidden !important;

    /* Luodaan uusi pinoamisympäristö */

    isolation: isolate;

}



/* TUPLAGRADIENTTI (Maksimoitu blendaus mustaan taustaan) */

.autofix-parallax-fade::before {

    content: "" !important;

    position: absolute !important;

    /* Laajennetaan hieman yli rajojen varmuuden vuoksi */

    top: -2px !important;

    bottom: -2px !important;

    left: -1px !important;

    right: -1px !important;

    

    background: 

        /* YLÄREUNA: Aggressiivinen musta peitto */

        linear-gradient(to bottom, 

            #000000 0%, 

            #000000 15%,      /* Pidetään täysin mustana ensimmäiset 25% matkasta */

            rgba(0,0,0,0.8) 40%, 

            rgba(0,0,0,0) 70%   /* Pehmeä häivytys loppuu vasta 70% kohdalla */

        ),

        /* ALAREUNA: Aggressiivinen musta peitto */

        linear-gradient(to top, 

            #000000 0%, 

            #000000 15%,      /* Pidetään täysin mustana viimeiset 25% matkasta */

            rgba(0,0,0,0.8) 40%, 

            rgba(0,0,0,0) 70%

        ) !important;

    

    /* Nostetaan z-index erittäin korkeaksi suhteessa taustakuvaan */

    z-index: 2 !important; 

    pointer-events: none !important;

    opacity: 1 !important;

}



/* VARMISTUS: Sisältö gradientin päälle */

/* Nostetaan sisältö kaiken muun yläpuolelle */

.autofix-parallax-fade > * {

    position: relative !important;

    z-index: 10 !important;

}



/* 4. MOBIILIKORJAUS */

@media (max-width: 1024px) {

    html body .premium-parallax-fade {

        background-attachment: scroll !important;

    }

}

</style>/* End custom CSS */