@import url('');
:root{--site-navy:#082744;--site-blue:#0b5f9d;--site-blue2:#eaf4fb;--site-ink:#14283b;--site-muted:#536678;--site-paper:#fbfaf7;--site-gold:#d5a84b;--site-line:#dce5ec;--site-radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--site-paper);color:var(--site-ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}h1,h2,h3,h4{color:var(--site-navy);line-height:1.18;letter-spacing:-.02em}h1,h2{font-family:Georgia,'Times New Roman',serif}h1{font-size:clamp(2.15rem,4.4vw,3.8rem)}h2{font-size:clamp(1.65rem,3vw,2.45rem)}h3{font-size:1.2rem}p{color:var(--site-muted)}a{color:var(--site-blue);text-underline-offset:3px}a:hover{color:var(--site-navy)}img{max-width:100%;height:auto}.site-skip-link{position:absolute;left:-9999px;top:8px;background:white;padding:10px 16px;z-index:10000}.site-skip-link:focus{left:8px}.menu{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);box-shadow:0 2px 16px #092a4514}.menu .navbar{padding:10px 0}.menu .navbar-brand{display:flex;align-items:center;gap:12px}.menu .navbar-logo img{height:46px!important;width:46px;object-fit:cover;border-radius:50%}.menu .navbar-caption{font-family:Georgia,serif;color:var(--site-navy)!important;font-size:1.35rem!important;font-weight:700}.menu .nav-link{color:var(--site-ink)!important;font-weight:600;padding:12px 16px!important}.menu .nav-link:hover,.menu .nav-link:focus{color:var(--site-blue)!important}.btn,.btn-primary{border-radius:999px!important;padding:12px 24px!important;font-weight:700!important;letter-spacing:0!important;background:var(--site-blue)!important;border-color:var(--site-blue)!important;color:white!important;box-shadow:none!important}.btn:hover,.btn-primary:hover{background:var(--site-navy)!important;border-color:var(--site-navy)!important}.header02{min-height:490px;display:flex;align-items:center;background-color:var(--site-navy);background-size:cover;background-position:center}.header02 .site-overlay,.header02 .site-overlay{display:none}.header02 .container{padding-top:80px;padding-bottom:80px}.header02 .content-wrapper{max-width:620px;padding:28px 34px;background:rgba(5,31,54,.78);border-radius:var(--site-radius)}.header02 h1,.header02 h2,.header02 p{color:#fff}.header02 h2{font-size:clamp(2.3rem,4.5vw,4rem);max-width:600px}.header02 p{font-size:1.08rem}.pricing01,.features01,.features02,.features03,.features04,.features05,.features06,.article01,.article02,.article03,.article04,.article05,.article06,.contacts01,.form01,.list01,.gallery01,.gallery02,.tabs01,.slider02,.slider03,.slider04,.map01{padding-top:64px!important;padding-bottom:64px!important}.pricing01 .item-wrapper,.features01 .card-wrapper,.features02 .card-wrapper,.features03 .card-wrapper{border:1px solid var(--site-line);border-radius:var(--site-radius);overflow:hidden;background:white;box-shadow:0 10px 28px #0827440b;height:100%}.pricing01 .item-img img{width:100%;height:210px;object-fit:cover}.pricing01 .card-box{padding:24px}.pricing01 .item-title{color:var(--site-navy)}.gallery02 img,.gallery01 img{border-radius:14px}.features01 .item-wrapper,.features02 .item-wrapper,.features03 .item-wrapper{padding:22px;border-radius:var(--site-radius);background:#fff;border:1px solid var(--site-line)}.article03 .site-text,.article01 .site-text{max-width:850px}.slider03 .item-wrapper,.slider04 .item-wrapper{background:#fff;border:1px solid var(--site-line);border-radius:var(--site-radius);padding:22px}.list01 .card-header{background:#fff;border:1px solid var(--site-line);border-radius:12px!important}.list01 .panel-body{padding:20px}.form01 form,.contacts01 .card-wrapper{background:#fff;border:1px solid var(--site-line);border-radius:var(--site-radius);padding:26px;box-shadow:0 10px 28px #0827440b}.form01 input,.form01 textarea,.form01 select{border:1px solid #cbd8e2!important;border-radius:10px!important;padding:13px!important}.form01 label{color:var(--site-ink);font-weight:600}.site-form-status{color:#145c36;font-weight:700;padding:12px;background:#e9f6ee;border-radius:10px}.footer01,footer{background:var(--site-navy)!important;color:#fff!important;padding:44px 0 22px!important}.footer01 p,.footer01 a,.footer01 h2,footer p,footer a,footer h2{color:#fff!important}.site-footer-inner{display:grid;grid-template-columns:1.5fr 1fr 1.3fr 1fr;gap:30px}.site-footer-inner h2{font:700 1rem Arial,sans-serif;color:#fff!important}.site-footer-inner a{display:block;margin:5px 0;text-decoration:none}.site-brand{font-family:Georgia,serif;font-size:1.35rem;font-weight:700;color:#fff!important;text-decoration:none}.site-brand span{display:block;font:600 .65rem Arial,sans-serif;letter-spacing:.22em;color:#d9e8f3}.site-footer-brand p{max-width:300px;color:#d5e0e9!important}.site-footer-bottom{grid-column:1/-1;border-top:1px solid #ffffff38;padding-top:18px;margin-top:12px;color:#dce8f0;font-size:.88rem}.site-policy-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px max(5vw,24px);background:white;border-bottom:1px solid var(--site-line)}.site-policy-header .site-brand{color:var(--site-navy)!important}.site-policy-header nav,.site-policy-footer nav{display:flex;gap:22px;flex-wrap:wrap}.site-policy-header nav a,.site-policy-footer nav a{text-decoration:none;font-weight:600}.site-policy-main{max-width:980px;margin:56px auto 80px;padding:0 24px}.site-policy-kicker{font-size:.76rem;letter-spacing:.2em;font-weight:700;color:var(--site-blue)}.site-policy-main h1{margin:12px 0}.site-policy-updated{margin-bottom:36px;color:#66798a}.site-policy-main h2{font:700 1.35rem Georgia,serif;margin:34px 0 10px}.site-policy-main p{font-size:1rem;line-height:1.8;color:#334b60}.site-policy-contact{margin-top:42px;padding:26px 30px;background:var(--site-blue2);border-left:4px solid var(--site-blue);border-radius:12px}.site-policy-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:24px max(5vw,24px);background:var(--site-navy);color:white}.site-policy-footer a,.site-policy-footer span{color:white}.site-policy-footer nav a{font-size:.9rem}.site-policy-footer>span{font-size:.86rem}.site-policy-main strong{color:var(--site-navy)}.site-policy-main a{font-weight:600}.site-policy-main ul{padding-left:24px}.site-policy-main li{margin:8px 0}@media(max-width:991px){.menu .navbar{padding:8px 14px}.header02{min-height:430px}.header02 .container{padding:48px 22px}.header02 .content-wrapper{padding:24px}.site-footer-inner{grid-template-columns:1fr 1fr}.site-policy-header{align-items:flex-start;flex-direction:column}.site-policy-main{margin:38px auto 55px}}@media(max-width:575px){body{font-size:15px}.menu .navbar-caption{font-size:1.1rem!important}.header02{min-height:500px;background-position:58% center}.header02 .container{padding:28px 14px}.header02 .content-wrapper{padding:20px;background:rgba(5,31,54,.84)}.header02 h2{font-size:2.2rem}.header02 p{font-size:1rem}.pricing01,.features01,.features02,.features03,.features04,.features05,.features06,.article01,.article02,.article03,.article04,.article05,.article06,.contacts01,.form01,.list01,.gallery01,.gallery02,.tabs01,.slider02,.slider03,.slider04,.map01{padding-top:42px!important;padding-bottom:42px!important}.site-footer-inner{grid-template-columns:1fr;gap:18px}.site-footer-bottom{grid-column:auto}.site-policy-header nav{gap:12px}.site-policy-header nav a{font-size:.9rem}.site-policy-main{padding:0 18px}.site-policy-main h1{font-size:2rem}.site-policy-main h2{font-size:1.2rem}.site-policy-contact{padding:20px}.site-policy-footer{align-items:flex-start;flex-direction:column}.site-policy-footer nav{gap:14px}}

.site-expanded-copy{max-width:1080px;margin:30px auto 0;padding:26px 30px;background:#eef5fa;border-radius:16px;border:1px solid #dce8f0}.site-expanded-copy h3{font-family:Georgia,serif;font-size:1.45rem;margin-bottom:12px}.site-expanded-copy p{max-width:900px;margin:0;line-height:1.8}@media(max-width:575px){.site-expanded-copy{margin:20px 12px 0;padding:20px}}

.header02 h1{font-size:clamp(2.15rem,4vw,3.55rem)!important;line-height:1.12;max-width:620px;margin-bottom:20px}.header02 .content-wrapper{max-width:680px}.site-brand-mark{display:inline-flex;width:46px;height:46px;align-items:center;justify-content:center;border:2px solid var(--site-gold);border-radius:12px;color:var(--site-blue);font:700 1.8rem Georgia,serif;background:#f5f9fc}.menu .navbar-logo{display:inline-flex;align-items:center}.menu .navbar-brand{gap:12px}.header02 .site-overlay{display:none!important}@media(max-width:575px){.header02 h1{font-size:2.25rem!important;line-height:1.12}.menu .navbar-caption{font-size:1.05rem!important}}
/* Final visual normalization across retained source sections. */
header.menu{background:#fff!important;background-image:none!important}
main>section:not(.header02){background-color:#fff!important;background-image:none!important}
main>section.header01,main>section.article02,main>section.article05{background-color:var(--site-navy)!important;color:#fff!important}
main>section.header01 h1,main>section.header01 h2,main>section.header01 p,main>section.article02 h1,main>section.article02 h2,main>section.article02 p,main>section.article05 h1,main>section.article05 h2,main>section.article05 p{color:#fff!important}
main>section .container{max-width:1200px}
main>section .title-wrapper h2{font-size:clamp(1.7rem,3vw,2.5rem)!important}
main>section .display-1{font-size:clamp(2rem,4vw,3.4rem)!important;line-height:1.15}
.menu{background:#fff!important;background-image:none!important}
@media(max-width:575px){html,body{max-width:100%;overflow-x:hidden}.container,.container-fluid{max-width:100%;}.menu .navbar-brand{max-width:calc(100% - 70px)}.menu .navbar-caption{white-space:normal;line-height:1.15}.header02 .content-wrapper{max-width:100%;}.pricing01 .items-wrapper{display:block}.pricing01 .item{width:100%;max-width:100%}}
/* Card and carousel surfaces: remove decorative generator gradients while preserving imagery and layout. */
main .pricing01 .item-wrapper,main .pricing01 .card-box,main .features01 .item-wrapper,main .features02 .item-wrapper,main .features03 .item-wrapper,main .slider02 .item-wrapper,main .slider03 .item-wrapper,main .slider04 .item-wrapper,main .slide-content,main .item-content,main .card-wrapper{background:#fff!important;background-image:none!important;color:var(--site-ink)!important;border:1px solid var(--site-line);border-radius:16px}
main .pricing01 .item-wrapper p,main .features01 .item-wrapper p,main .features02 .item-wrapper p,main .features03 .item-wrapper p,main .slide-content p,main .item-content p{color:var(--site-muted)!important}
main .pricing01 .item-title,main .features01 h3,main .features02 h3,main .features03 h3,main .slide-content h3{color:var(--site-navy)!important}
main .embla__viewport{overflow:hidden!important;max-width:100%}main .embla__container{max-width:100%}
html,body{width:100%;max-width:100%;overflow-x:clip!important}
@media(max-width:575px){main .embla__slide{max-width:calc(100vw - 40px)}main .embla__container{gap:12px}.menu .navbar-caption{max-width:210px}}
.menu .navbar,.menu .navbar-dropdown{background:#fff!important;background-image:none!important;color:var(--site-ink)!important}
.menu .navbar-caption{color:var(--site-navy)!important}.menu .navbar-nav .nav-link{color:var(--site-ink)!important}
@media(max-width:575px){html,body{width:100vw!important;max-width:100vw!important;overflow-x:hidden!important}.menu,.menu .navbar{width:100vw!important;max-width:100vw!important;overflow-x:hidden!important}main .embla__viewport{width:100%;overflow:hidden!important}}
.menu .navbar.opacityScroll{background:#fff!important;background-image:none!important}
.menu .navbar-nav,.menu .navbar-collapse,.menu .nav-dropdown{background:#fff!important;background-image:none!important;box-shadow:none!important}
.menu .navbar-nav .nav-link{color:var(--site-navy)!important}.menu .navbar-nav .nav-link:hover{color:var(--site-blue)!important}
.pricing01 .title-wrapper h2,.pricing01 .mbr-section-title{color:var(--site-navy)!important}
.header02{background-image:linear-gradient(90deg,rgba(6,30,53,.72),rgba(6,30,53,.12)),url('../images/photo-1522202176988-66273c2fd55f.webp')!important}

/* Center the hero panel within its Bootstrap column at every breakpoint. */
#etusivu-hero .content-wrapper{margin-inline:auto;background:#082744}
#etusivu-hero h1{margin-inline:auto}
#etusivu-hero::before{background-image:none}

/* Retained template text must follow the light and dark section surfaces. */
main>section:not(.header02):not(.header01):not(.article02):not(.article05) :is(h1,h2,h3,h4,h5,h6){color:var(--site-navy)!important}
main>section:not(.header02):not(.header01):not(.article02):not(.article05) :is(p,li,label){color:var(--site-muted)!important}
main :is(h1,h2,h3,h4,h5,h6),main :is(h1,h2,h3,h4,h5,h6) :is(strong,span){background-image:none!important;-webkit-text-fill-color:currentColor!important}
main>section:is(.header02,.header01,.article02,.article05) :is(h1,h2,h3,h4,h5,h6,p,li){color:#fff!important}
main>section .site-expanded-copy :is(h3,p){color:var(--site-ink)!important}
main .site-form-status{color:#145c36!important}

/* Give nested cards and controls explicit surfaces instead of inherited template colors. */
main :is(.features04 .item-wrapper,.features04 .item-wrap,.list01 .card-wrap,.tabs01 .tabs-wrapper,.form01 .form-wrapper){background:#fff!important;background-image:none!important;color:var(--site-ink)!important}
main .features04 .item-wrap{background:var(--site-blue2)!important}
main .features04 .iconfont-wrapper .site-iconfont{color:var(--site-blue)!important;border-color:var(--site-blue)!important;opacity:1!important}
main .tabs01 .nav-link{color:var(--site-navy)!important;-webkit-text-fill-color:currentColor!important;background:#fff!important;background-image:none!important}
main .tabs01 .nav-link:is(.active,:hover,:focus-visible){color:#fff!important;background:var(--site-blue)!important}
main .form01 .form-control{background:#fff!important;color:var(--site-ink)!important}
main .form01 .form-control::placeholder{color:var(--site-muted)!important;opacity:1!important}
.site-policy-header .site-brand span{color:var(--site-muted)}
:is(a,button,input,textarea,select):focus-visible{outline:3px solid #0b5f9d;outline-offset:4px}
main>section:is(.header02,.header01,.article02,.article05) :focus-visible,footer :focus-visible{outline-color:#ffd355}
main :is(p,li,label),main :is(p,li,label) :is(strong,span,a){background-image:none!important;-webkit-text-fill-color:currentColor!important}
main .slider02 .tabs-wrapper .item-wrap{background:var(--site-blue2)!important}

/* Use readable badge surfaces wherever retained template labels appear. */
main :is(.tag-wrapper .item-wrap,.label-wrapper .item-label,.label-wrapper .site-label){
  background-color:var(--site-blue2)!important;
  background-image:none!important;
  -webkit-background-clip:border-box!important;
  background-clip:border-box!important;
  -webkit-text-fill-color:currentColor!important;
  opacity:1!important;
}
/* Dark call-to-action sections need dark text inside their light badges too. */
main>section:is(.header02,.header01,.article02,.article05) .label-wrapper .site-label{color:var(--site-navy)!important}
/* Marquee text lives in generated div/span elements, outside heading rules. */
main .features05 .loop-container .item,
main .features05 .loop-container .item *{
  background-image:none!important;
  -webkit-background-clip:border-box!important;
  background-clip:border-box!important;
  -webkit-text-fill-color:currentColor!important;
  color:var(--site-navy)!important;
}


/* Keep carousel cards within the viewport and draw one border per card. */
main .site-embla .embla__container{gap:0!important;max-width:none}
main .site-embla .embla__viewport{margin-inline:0}
main .site-embla .embla__slide{min-width:0;flex-shrink:0;margin-inline:0!important;padding-inline:10px;box-sizing:border-box}
main .site-embla .slide-content,
main .site-embla .item-content{border:0!important;border-radius:0!important;box-shadow:none!important}
main .site-embla .slide-content{padding:0;background:transparent!important}
main .site-embla .item-content{padding:0;background:transparent!important}
main .site-embla .item-wrapper::before{display:none!important}
main .site-embla .embla__button{background:var(--site-blue)!important;color:#fff!important;box-shadow:none!important}
main .site-embla .embla__button:hover{background:var(--site-navy)!important}
main .slider04 .embla__slide{flex:0 0 33.333333%;width:33.333333%;min-width:0;max-width:33.333333%}
main .slider04 .item-content .site-iconfont{color:var(--site-blue)!important;background-image:none!important;-webkit-text-fill-color:currentColor!important}
main .slider02 .embla__slide{flex:0 0 100%;width:100%;min-width:0;max-width:100%}
main .slider02 .item-wrapper{padding:28px;gap:28px;align-items:center}
main .slider02 .item-label{padding:6px 10px;border-radius:8px}
main .slider02 .embla::before{display:none}
@media(max-width:991px){main .slider04 .embla__slide{flex-basis:50%;width:50%;max-width:50%}}
@media(max-width:575px){
  main .slider04 .embla__slide{flex-basis:100%;width:100%;max-width:100%}
  main .slider02 .item-wrapper{padding:20px}
}

/* Override the generic footer padding on all three policy pages. */
footer.site-policy-footer{
  padding:28px max(24px,calc((100% - 1152px)/2))!important;
  gap:20px 32px;
}
footer.site-policy-footer>span{min-width:0;overflow-wrap:anywhere}
footer.site-policy-footer nav{gap:12px 22px}
footer.site-policy-footer nav a{display:inline-block;padding-block:6px}
@media(max-width:575px){
  footer.site-policy-footer{padding:24px 18px!important;align-items:flex-start;flex-direction:column}
}
