@font-face{font-family:Concept Figtree;src:url('/assets/9379207946969ce4543d.ttf') format('truetype');font-weight:300 900;font-display:swap}
:root{color-scheme:only light;--tuuma-accent:#b43a1d;--tuuma-ink:#202522;--tuuma-muted:#555d57;--tuuma-line:#a5aea6;--tuuma-surface:#f3f3f6;--fx-gradient:none;--concept-space:clamp(22px,4.2vw,80px)}
html,body.concept-inner{background:#ffffff!important;color:#202522!important}
body.concept-inner,body.concept-inner:is(#concept-theme,body) :is(h1,h2,h3,h4,h5,h6,p,a,button,input,textarea,select,summary,span,li,label){font-family:Concept Figtree,Arial,sans-serif}
body.concept-inner{font-size:17px;line-height:1.65}
.concept-inner:is(#concept-theme,body) :is(h1,h2,h3,h4){letter-spacing:-.045em;line-height:1.05;text-wrap:balance;overflow-wrap:anywhere}
.concept-inner:is(#concept-theme,body) :is(h1,.section-title,.section-title-italic){font-family:Concept Figtree,Arial,sans-serif!important;font-style:normal!important;font-weight:600!important;text-transform:none!important}
.concept-inner:is(#concept-theme,body) h1{font-size:clamp(44px,6.1vw,94px)!important;max-width:1100px}
.concept-inner:is(#concept-theme,body) h1 :is(.section-title,.section-title-italic){font-size:inherit!important;line-height:1.05!important;letter-spacing:-.055em!important}
.concept-inner:is(#concept-theme,body) .section-title-italic{color:#b43a1d!important}
.concept-inner:is(#concept-theme,body) :is(h2,.section-title,.section-title-italic){font-size:clamp(30px,3.4vw,54px);line-height:1.1}
.concept-inner:is(#concept-theme,body) h3{font-size:clamp(23px,2vw,30px)}
.concept-inner:is(#concept-theme,body) :is(.section-top-title,.fx-eyebrow){font-size:11px!important;letter-spacing:.14em;text-transform:uppercase;font-weight:750;color:#555d57!important}
.concept-inner:is(#concept-theme,body) :is(.container,.seo-wrap){width:100%;max-width:1600px;padding-left:var(--concept-space);padding-right:var(--concept-space);margin-inline:auto;box-sizing:border-box}
.concept-inner:is(#concept-theme,body) .seo-header{background:#fffffff5!important;border-bottom:1px solid #a5aea6;backdrop-filter:blur(16px)}
.concept-inner:is(#concept-theme,body) .seo-nav-wrap{min-height:76px;max-width:1600px;padding-inline:var(--concept-space);gap:24px}
.concept-inner:is(#concept-theme,body) .seo-brand img{filter:brightness(0);width:143px;height:auto}
.concept-inner:is(#concept-theme,body) .seo-nav{gap:20px}
.concept-inner:is(#concept-theme,body) .seo-nav :is(a,summary){font-size:11px;font-weight:700;letter-spacing:.045em;text-transform:uppercase;color:#202522!important}
.concept-inner:is(#concept-theme,body) .seo-nav .fx-nav-description{font-size:12px;text-transform:none;letter-spacing:0;font-weight:400;color:#555d57!important}
.concept-inner:is(#concept-theme,body) .fx-dropdown{background:#f3f3f6!important;border:1px solid #a5aea6;border-radius:3px;box-shadow:0 24px 50px #20252215!important}
.concept-inner:is(#concept-theme,body) .fx-dropdown a:hover{background:#f3f3f6!important}
.concept-inner:is(#concept-theme,body) :is(.seo-menu,.seo-nav-cta){border:1px solid #a5aea6;border-radius:3px;background:transparent!important;color:#202522!important}
.concept-inner:is(#concept-theme,body) :is(.fx-web-hero,.fx-editorial-hero,.fx-people-hero,.fx-reference-hero,.fx-batch-hero,.fx-seo-hero,.fx-page-hero,.seo-hero,.fx-commerce-hero){background:#ffffff!important;border-bottom:1px solid #a5aea6;padding-block:clamp(44px,7vw,112px)}
.concept-inner:is(#concept-theme,body) :is(.fx-web-section,.fx-people-section,.fx-batch-section){padding-block:clamp(48px,6vw,96px)}
.concept-inner:is(#concept-theme,body) :is(.seo-breadcrumbs,.fx-reading-meta){font-size:12px;color:#555d57!important}
.concept-inner:is(#concept-theme,body) :is(.fx-text-panel,.seo-card,.fx-web-card,.fx-batch-check,.fx-faq-contact,.fx-contact-form,.fx-price-card,.fx-package,.fx-choice){background:#f3f3f6!important;border:1px solid #a5aea6!important;border-radius:3px!important;box-shadow:none!important}
.concept-inner:is(#concept-theme,body) .fx-text-panel{padding:clamp(24px,3vw,42px)}
.concept-inner:is(#concept-theme,body) :is(.seo-card,.fx-web-card){padding:clamp(24px,2.5vw,38px);transition:background .25s,border-color .25s,transform .25s}
.concept-inner:is(#concept-theme,body) :is(.seo-card,.fx-web-card):hover{border-color:#b43a1d!important;background:#f3f3f6!important}
.concept-inner:is(#concept-theme,body) :is(.seo-button,button[type=submit]){border-radius:3px!important;background:#202522!important;color:#f3f3f6!important;border:1px solid #202522!important;min-height:50px;font-size:13px;font-weight:650;letter-spacing:0;transition:background .25s,transform .25s}
.concept-inner:is(#concept-theme,body) :is(.seo-button,button[type=submit]):hover{background:#b43a1d!important;border-color:#b43a1d!important;transform:translateY(-2px)}
.concept-inner:is(#concept-theme,body) .seo-button.secondary{background:transparent!important;color:#202522!important;border-color:#778378!important}
.concept-inner:is(#concept-theme,body) .seo-button.secondary:hover{background:#f3f3f6!important}
.concept-inner:is(#concept-theme,body) :is(input,textarea,select){background:#ffffff!important;color:#202522!important;border:1px solid #778378!important;border-radius:3px!important;font-size:16px;max-width:100%;box-sizing:border-box}
.concept-inner:is(#concept-theme,body) :is(input,textarea)::placeholder{color:#626b63!important;opacity:1}
.concept-inner:is(#concept-theme,body) :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid #b43a1d!important;outline-offset:4px}
.concept-inner:is(#concept-theme,body) .fx-choice{color:#202522!important;padding:22px;text-align:left}
.concept-inner:is(#concept-theme,body) .fx-choice strong{font-size:18px;line-height:1.3}
.concept-inner:is(#concept-theme,body) .fx-choice span{color:#555d57!important;font-size:15px}
.concept-inner:is(#concept-theme,body) .fx-choice[aria-pressed=true]{background:#f3f3f6!important;border:2px solid #b43a1d!important;box-shadow:inset 4px 0 #b43a1d!important}
.concept-inner:is(#concept-theme,body) button:disabled{opacity:.5;transform:none!important}
.concept-inner:is(#concept-theme,body) :is(.fx-calculator,.fx-calc-stage){background:#ffffff!important;color:#202522!important}
.concept-inner:is(#concept-theme,body) :is(.fx-back,.fx-filter){color:#202522!important}
.concept-inner:is(#concept-theme,body) :is(.seo-faq details,.fx-reading-toc){background:transparent!important;border:0!important;border-bottom:1px solid #a5aea6!important;border-radius:0!important;box-shadow:none!important}
.concept-inner:is(#concept-theme,body) .seo-faq summary{font-weight:600;font-size:20px;padding-block:23px}
.concept-inner:is(#concept-theme,body) .fx-faq-contact-intro{padding:28px!important}
.concept-inner:is(#concept-theme,body) .fx-faq-contact-body{padding:28px!important}
.concept-inner:is(#concept-theme,body) .fx-reading-layout{gap:clamp(32px,6vw,100px);padding-block:64px}
.concept-inner:is(#concept-theme,body) .fx-reading-body{min-width:0}
.concept-inner:is(#concept-theme,body) .fx-reading-body p{line-height:1.8;max-width:72ch}
.concept-inner:is(#concept-theme,body) .fx-reading-body .fx-text-panel{margin-bottom:24px}
.concept-inner:is(#concept-theme,body) :is(.fx-batch-table,.fx-batch-table th,.fx-batch-table td){background:#f3f3f6!important;color:#202522!important;border-color:#a5aea6!important}
.concept-inner:is(#concept-theme,body) .fx-batch-table th{background:#f3f3f6!important}
.concept-inner:is(#concept-theme,body) :is(.fx-reference-card,.fx-case-comparison,.fx-pilot-work-card){background:transparent!important;box-shadow:none!important}
.concept-inner:is(#concept-theme,body) :is(.fx-pilot-icon,.fx-web-icon) :is(path,rect,line,circle){stroke:#69776a!important}
.concept-inner:is(#concept-theme,body) .seo-footer{background:#f3f3f6!important;border-top:1px solid #a5aea6;padding-top:64px;color:#202522!important}
.concept-inner:is(#concept-theme,body) .seo-footer :is(p,a,h2,h3){color:#202522!important}
.concept-inner:is(#concept-theme,body) .seo-footer img{filter:brightness(0)}
.concept-inner:is(#concept-theme,body) .seo-footer-bottom{border-top:1px solid #a5aea6!important}
.concept-inner:is(#concept-theme,body) .seo-mobile-actions{background:#fffffff5!important;border-top:1px solid #a5aea6!important;backdrop-filter:blur(12px)}
.concept-inner:is(#concept-theme,body) .seo-mobile-actions a{background:#202522!important;color:#f3f3f6!important;border-radius:3px!important;border-color:#202522!important}
@media(min-width:992px){.concept-inner:is(#concept-theme,body) .fx-reading-sidebar{top:108px}.concept-inner:is(#concept-theme,body) .fx-editorial-hero h1{max-width:1000px}}
@media(max-width:1100px) and (min-width:992px){.concept-inner:is(#concept-theme,body) .seo-nav{gap:10px}.concept-inner:is(#concept-theme,body) .seo-nav-wrap{gap:16px;padding-inline:22px}.concept-inner:is(#concept-theme,body) .seo-brand img{width:120px}}
@media(max-width:991px){.concept-inner:is(#concept-theme,body) .seo-nav-wrap{min-height:70px}.concept-inner:is(#concept-theme,body) .seo-brand img{width:126px}.concept-inner:is(#concept-theme,body) .seo-nav{background:#ffffff!important}.concept-inner:is(#concept-theme,body) .seo-nav :is(a,summary){font-size:14px}.concept-inner:is(#concept-theme,body) .fx-dropdown{box-shadow:none!important}.concept-inner:is(#concept-theme,body) .fx-reading-layout{padding-block:36px}}
@media(max-width:600px){.concept-inner:is(#concept-theme,body) h1{font-size:clamp(36px,10vw,54px)!important}.concept-inner:is(#concept-theme,body) h2{font-size:30px}.concept-inner:is(#concept-theme,body) .fx-text-panel{padding:22px}.concept-inner:is(#concept-theme,body) :is(.fx-web-card,.seo-card){padding:24px}.concept-inner:is(#concept-theme,body) .fx-choice{padding:18px}.concept-inner:is(#concept-theme,body) .seo-faq summary{font-size:18px}.concept-inner:is(#concept-theme,body) .fx-faq-contact-intro,.concept-inner:is(#concept-theme,body) .fx-faq-contact-body{padding:24px!important}.concept-inner:is(#concept-theme,body) .seo-footer{padding-top:42px}}
@media(prefers-reduced-motion:reduce){.concept-inner:is(#concept-theme,body) *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Fit long Finnish service names without splitting the word across lines. */
.concept-inner:is(#concept-theme,body) .fx-service-hero-copy h1{font-size:clamp(36px,4.35vw,72px)!important}
.concept-inner:is(#concept-theme,body) :is(h1,h2,h3) em{font-style:normal;color:#b43a1d!important}
.concept-inner:is(#concept-theme,body) :is(.fx-pilot-showcase,.fx-service-art){background:transparent!important;border-radius:3px}
.concept-inner:is(#concept-theme,body) .fx-progress{background:#bec5bd!important}
.concept-inner:is(#concept-theme,body) .fx-progress-bar{background:#b43a1d!important}
.concept-inner:is(#concept-theme,body) .fx-error{color:#a32616!important}
@media(max-width:991px){.concept-inner:is(#concept-theme,body) .fx-service-hero-copy h1{font-size:clamp(30px,7.9vw,64px)!important}}

html:has(body.concept-inner){scroll-padding-top:100px;scroll-padding-bottom:110px}
