.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Work Sans;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Work Sans;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS *//* RJV header 10206: Custom CSS (D-045). Osa 1 on kopio V4-paikallistyyleistä, koska Elementor ei lataa niitä, kun Elementor-header on sivulla (D-023). Älä muokkaa osaa 1 käsin: aja tools/elementor/build-custom-css.py. */

/* Osa 1: V4-paikallistyylien kopio */
.elementor .e-5db851fc-ef70{width:auto;padding:0px;margin-inline-end:auto;display:flex;gap:1.75rem;align-items:center;& p { text-transform: uppercase; }
}.elementor .e-197175e9-3369{min-height:41px;max-width:90rem;padding-block-start:0.75rem;padding-block-end:0.75rem;padding-inline-start:clamp(1.25rem, 0.781rem + 1.91vw, 2.5rem);padding-inline-end:clamp(1.25rem, 0.781rem + 1.91vw, 2.5rem);margin-block-start:0px;margin-block-end:0px;margin-inline-start:auto;margin-inline-end:auto;display:flex;gap:1.75rem;justify-content:flex-start;align-items:center;& p { margin: 0 !important; font-family: var(--font-primary, Manrope), sans-serif !important; font-size: 11px !important; font-weight: 600 !important; line-height: 17px !important; letter-spacing: 0.08em; color: #000000 !important; white-space: nowrap; } & a { color: #000000 !important; text-decoration: none; text-underline-offset: 3px; } & a:hover { text-decoration: underline; } & a:focus-visible { outline: 2px solid #06232E !important; outline-offset: 2px; text-decoration: underline; }
}.elementor .e-2410b2cd-9159{position:relative;z-index:3;padding:0px;background-color:#F0F0EE;}.elementor .e-53809569-4664{min-width:48px;min-height:48px;color:#F8F8F4;cursor:pointer;padding:0px;margin-inline-start:-12px;display:flex;justify-content:center;align-items:center;list-style: none; &::-webkit-details-marker { display: none; } &::before { content: ''; position: static !important; display: block; width: 24px; height: 18px; background: linear-gradient(#F8F8F4, #F8F8F4) 0 0 / 100% 2px no-repeat, linear-gradient(#F8F8F4, #F8F8F4) 0 50% / 100% 2px no-repeat, linear-gradient(#F8F8F4, #F8F8F4) 0 100% / 100% 2px no-repeat; } & .e-accordion-item-title-base { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } & .e-accordion-item-icon-base { display: none; } &:focus-visible { outline: 2px solid #F8F8F4 !important; outline-offset: 2px; }
}.elementor .e-498cfbbe-6d75{padding:0px;margin-block-end:1.5rem;display:flex;flex-direction:column;}.elementor .e-5fb88b21-1d8f:hover,.elementor .e-5fb88b21-1d8f:focus-visible{background-color:#5BC6EE;}.elementor .e-5fb88b21-1d8f{width:100%;font-family:var(--font-primary);font-weight:700;font-size:15px;line-height:20px;text-align:center;text-decoration:none;padding-block-start:14px;padding-block-end:14px;padding-inline-start:20px;padding-inline-end:20px;border-radius:0px;background-color:#28B4E8;display:block;color: #06232E !important; &:focus-visible { outline: 2px solid #F8F8F4 !important; outline-offset: 3px; }
}.elementor .e-4a92a7ea-31b3{position:absolute;inset-block-start:100%;inset-inline-end:0px;inset-inline-start:0px;z-index:100;padding-block-start:0.5rem;padding-block-end:2rem;padding-inline-start:clamp(1.25rem, 0.781rem + 1.91vw, 2.5rem);padding-inline-end:clamp(1.25rem, 0.781rem + 1.91vw, 2.5rem);background-color:#08232E;box-shadow:0px 12px 24px 0px rgba(0, 0, 0, 0.25);border-block-start-width: 1px; border-top-style: solid; border-top-color: rgba(248, 248, 244, 0.16); & > p { margin: 0 !important; font-family: var(--font-primary, Manrope), sans-serif !important; font-size: 13px !important; font-weight: 500; line-height: 18px !important; color: #AAA9A4 !important; } & > p a { color: inherit !important; text-decoration: none; } & > p a:focus-visible { outline: 2px solid #F8F8F4 !important; outline-offset: 2px; } & > p:nth-last-child(2) { margin-top: 1.25rem !important; font-size: 14px !important; font-weight: 600; line-height: 20px !important; color: #FFFFFF !important; } & > p:last-child { margin-top: 0.375rem !important; }
}.elementor .e-1907d544-5efd{position:static;&[open] > summary::before { position: static !important; width: 22px; height: 22px; background: linear-gradient(45deg, transparent calc(50% - 1px), #F8F8F4 calc(50% - 1px), #F8F8F4 calc(50% + 1px), transparent calc(50% + 1px)), linear-gradient(-45deg, transparent calc(50% - 1px), #F8F8F4 calc(50% - 1px), #F8F8F4 calc(50% + 1px), transparent calc(50% + 1px)); }
}.elementor .e-3acb7b59-e1b7{width:auto;position:static;display:none;}.elementor .e-57c816a2-9f3a{width:114px;height:auto;margin-block-start:-9px;margin-block-end:-13px;margin-inline-start:-13.5px;margin-inline-end:0px;max-width: none; justify-self: start; & img { display: block; width: 100%; height: auto; } &:focus-visible { outline: 2px solid #F8F8F4 !important; outline-offset: 4px; }
}.elementor .e-1e0dc15b-9404{width:auto;padding:0px;display:flex;align-items:center;justify-self: center;
}.elementor .e-6668f988-8dab:hover,.elementor .e-6668f988-8dab:focus-visible{background-color:#5BC6EE;}.elementor .e-6668f988-8dab{min-height:44px;font-family:var(--font-primary);font-weight:700;font-size:14px;line-height:20px;text-decoration:none;padding-block-start:12px;padding-block-end:12px;padding-inline-start:20px;padding-inline-end:20px;border-radius:0px;background-color:#28B4E8;display:inline-flex;justify-content:center;align-items:center;justify-self: end; color: #06232E !important; white-space: nowrap; &:focus-visible { outline: 2px solid #F8F8F4 !important; outline-offset: 3px; }
}.elementor .e-33c9577c-6dae{min-height:96px;max-width:90rem;position:relative;padding-block-start:0px;padding-block-end:0px;padding-inline-start:clamp(1.25rem, 0.781rem + 1.91vw, 2.5rem);padding-inline-end:clamp(1.25rem, 0.781rem + 1.91vw, 2.5rem);margin-block-start:0px;margin-block-end:0px;margin-inline-start:auto;margin-inline-end:auto;display:grid;gap:1.5rem;grid-template-columns:auto 1fr auto;align-items:center;}.elementor .e-78732d32-eea4{position:relative;z-index:2;padding:0px;background-color:var(--color-navy-header);}.elementor .e-264ccb67-aa4b{position:relative;z-index:100;padding:0px;}
@media(max-width:991px){.elementor .e-3acb7b59-e1b7{display:flex;justify-self: start;
}}@media(max-width:991px){.elementor .e-57c816a2-9f3a{margin-inline-start:0px;justify-self: center;
}}@media(max-width:991px){.elementor .e-1e0dc15b-9404{display:none;}}@media(max-width:991px){.elementor .e-6668f988-8dab{order:1;}}@media(max-width:991px){.elementor .e-33c9577c-6dae{min-height:72px;gap:1rem;grid-template-columns:1fr auto 1fr;}}
@media(max-width:767px){.elementor .e-5db851fc-ef70{gap:1rem;& > p:first-child { display: none; }
}}@media(max-width:767px){.elementor .e-197175e9-3369{gap:1rem;}}@media(max-width:767px){.elementor .e-4a92a7ea-31b3{padding-block-start:0.5rem;padding-block-end:1.5rem;padding-inline-start:1.25rem;padding-inline-end:1.25rem;}}@media(max-width:767px){.elementor .e-57c816a2-9f3a{width:104px;margin-block-start:-8px;margin-block-end:-12px;margin-inline-start:0px;margin-inline-end:0px;justify-self: center;
}}@media(max-width:767px){.elementor .e-6668f988-8dab{min-height:40px;padding-block-start:10px;padding-block-end:10px;padding-inline-start:14px;padding-inline-end:14px;}}@media(max-width:767px){.elementor .e-33c9577c-6dae{min-height:72px;gap:0.75rem;grid-template-columns:1fr auto 1fr;}}

/* Osa 2 */
/* Kriittiset Nav Menu -perussäännöt (etusivun loppu-QA 22.10., CLS 1,03 → korjattu).
   Elementor Pron widget-CSS (custom-pro-widget-nav-menu.min.css) latautuu sivun rungosta vasta kuvien jälkeen, ja siihen asti valikot
   näkyivät tyylittöminä listoina (header 1966 px → 137 px). Nämä ovat samat perussäännöt headeriin rajattuina, joten ne ovat voimassa
   ensimmäisestä piirrosta. :where() pitää tarkkuuden samana kuin Elementorin omissa säännöissä, joten alempana olevat
   osan 2 säädöt (esim. nuolen sisennys 6 px) voittavat edelleen. Lopputulos ei muutu, kun widget-CSS latautuu. */
:where(.elementor-10206) .elementor-nav-menu, :where(.elementor-10206) .elementor-nav-menu li, :where(.elementor-10206) .elementor-nav-menu ul { display: block; line-height: normal; list-style: none; margin: 0; padding: 0; }
:where(.elementor-10206) .elementor-nav-menu ul { display: none; }
:where(.elementor-10206) .elementor-nav-menu a, :where(.elementor-10206) .elementor-nav-menu li { position: relative; }
:where(.elementor-10206) .elementor-nav-menu a { display: flex; align-items: center; }
:where(.elementor-10206) .elementor-nav-menu--main .elementor-nav-menu ul { position: absolute; width: 12em; border-style: solid; border-width: 0; padding: 0; }
:where(.elementor-10206) .elementor-nav-menu--layout-horizontal { display: flex; }
:where(.elementor-10206) .elementor-nav-menu--layout-horizontal .elementor-nav-menu { display: flex; flex-wrap: wrap; }
:where(.elementor-10206) .elementor-nav-menu--layout-horizontal .elementor-nav-menu > li { display: flex; }
:where(.elementor-10206) .elementor-nav-menu--layout-horizontal .elementor-nav-menu a { flex-grow: 1; white-space: nowrap; }
:where(.elementor-10206) .elementor-nav-menu--layout-horizontal .elementor-nav-menu > li ul { top: 100% !important; }
:where(.elementor-10206) .elementor-nav-menu .sub-arrow { display: flex; align-items: center; line-height: 1; margin-block: -10px; padding: 10px; padding-inline-end: 0; }
:where(.elementor-10206) .elementor-nav-menu .sub-arrow .e-font-icon-svg { width: 1em; height: 1em; }
:where(.elementor-10206) .elementor-nav-menu .sub-arrow .e-font-icon-svg.fa-svg-chevron-down { width: 0.7em; height: 0.7em; }
:where(.elementor-10206) .elementor-nav-menu--dropdown-none .elementor-menu-toggle, :where(.elementor-10206) .elementor-nav-menu--dropdown-none .elementor-nav-menu--dropdown { display: none; }

/* RJV header 10206: Nav Menu -widgettien tyylit (D-043). Ylläpidetään vain täällä. */
/* Desktop (710f0cb). Valitsimet ovat tarkempia kuin Elementor Pron omat (a:hover, a:focus, a.highlighted),
   jotta padding ei muutu tilan mukaan eikä valikko liiku (Janin huomio 22.10.). */
.elementor-element-710f0cb .elementor-nav-menu--main .elementor-nav-menu a.elementor-item,
.elementor-element-710f0cb .elementor-nav-menu--main .elementor-nav-menu a.elementor-item:hover,
.elementor-element-710f0cb .elementor-nav-menu--main .elementor-nav-menu a.elementor-item:focus,
.elementor-element-710f0cb .elementor-nav-menu--main .elementor-nav-menu a.elementor-item.highlighted { font-family: var(--font-primary, "Work Sans"), sans-serif; font-size: 16px; font-weight: 400; line-height: 1.4; color: #F8F8F4 !important; padding: 12px 15px; text-decoration: underline; text-decoration-color: transparent; text-decoration-thickness: 1px; text-underline-offset: 6px; }
.elementor-element-710f0cb .elementor-nav-menu--main .elementor-nav-menu a.elementor-item:hover,
.elementor-element-710f0cb .elementor-nav-menu--main .elementor-nav-menu a.elementor-item.highlighted { color: #FFFFFF !important; text-decoration-color: currentColor; }
.elementor-element-710f0cb .elementor-item:focus-visible, .elementor-element-710f0cb .elementor-sub-item:focus-visible { outline: 2px solid #F8F8F4 !important; outline-offset: 2px; }
.elementor-element-710f0cb .sub-arrow { padding-inline-start: 6px; font-size: 10px; line-height: 1; }
.elementor-element-710f0cb .sub-arrow svg { width: 10px; height: 10px; fill: currentColor; }
.elementor-element-710f0cb .elementor-item.highlighted .sub-arrow svg { transform: rotate(180deg); }
.elementor-element-710f0cb .elementor-nav-menu--main .elementor-nav-menu--dropdown { background-color: #08232E; border-top: 2px solid #28B4E8; box-shadow: 0 12px 24px rgba(0, 0, 0, 0.25); min-width: 260px !important; padding: 8px 0; }
.elementor-element-710f0cb .elementor-nav-menu--dropdown a.elementor-sub-item,
.elementor-element-710f0cb .elementor-nav-menu--dropdown a.elementor-sub-item:hover,
.elementor-element-710f0cb .elementor-nav-menu--dropdown a.elementor-sub-item:focus,
.elementor-element-710f0cb .elementor-nav-menu--dropdown a.elementor-sub-item.highlighted { font-family: var(--font-primary, "Work Sans"), sans-serif; font-size: 15px; font-weight: 400; line-height: 1.4; color: #F8F8F4 !important; padding: 10px 20px; background-color: transparent; text-decoration: none; }
.elementor-element-710f0cb .elementor-nav-menu--dropdown a.elementor-sub-item:hover,
.elementor-element-710f0cb .elementor-nav-menu--dropdown a.elementor-sub-item:focus-visible,
.elementor-element-710f0cb .elementor-nav-menu--dropdown a.elementor-sub-item.highlighted { background-color: #12394A; color: #FFFFFF !important; }
/* Mobiilipaneeli (819d292) */
.elementor-element-819d292 .elementor-nav-menu--main .elementor-nav-menu a.elementor-item,
.elementor-element-819d292 .elementor-nav-menu--main .elementor-nav-menu a.elementor-item:hover,
.elementor-element-819d292 .elementor-nav-menu--main .elementor-nav-menu a.elementor-item:focus,
.elementor-element-819d292 .elementor-nav-menu--main .elementor-nav-menu a.elementor-item.highlighted { display: flex; justify-content: space-between; align-items: center; font-family: var(--font-primary, "Work Sans"), sans-serif; font-size: 18px; font-weight: 400; line-height: 24px; color: #FFFFFF !important; padding: 18px 0; border-bottom: 1px solid #1E3D49; text-decoration: none; }
.elementor-element-819d292 .sub-arrow { padding: 8px; margin: -8px -8px -8px 8px; font-size: 12px; line-height: 1; }
.elementor-element-819d292 .sub-arrow svg { width: 12px; height: 12px; fill: #AAA9A4; }
.elementor-element-819d292 .elementor-item.highlighted .sub-arrow svg { transform: rotate(180deg); }
.elementor-element-819d292 .elementor-nav-menu--main .elementor-nav-menu--dropdown { position: static; background-color: transparent; border: 0; box-shadow: none; padding: 4px 0 12px 16px; }
.elementor-element-819d292 .elementor-nav-menu--dropdown a.elementor-sub-item,
.elementor-element-819d292 .elementor-nav-menu--dropdown a.elementor-sub-item:hover,
.elementor-element-819d292 .elementor-nav-menu--dropdown a.elementor-sub-item:focus,
.elementor-element-819d292 .elementor-nav-menu--dropdown a.elementor-sub-item.highlighted { font-family: var(--font-primary, "Work Sans"), sans-serif; font-size: 16px; font-weight: 400; line-height: 22px; color: #E9E9E4 !important; padding: 10px 0; background-color: transparent !important; border: 0; text-decoration: none; }
.elementor-element-819d292 .elementor-item:focus-visible, .elementor-element-819d292 .elementor-sub-item:focus-visible { outline: 2px solid #F8F8F4 !important; outline-offset: 2px; }
/* Preheaderin valikko (35596e2): Yritys ja Yhteystiedot alavalikkoineen (D-046) */
.elementor-element-35596e2 .elementor-nav-menu--main .elementor-nav-menu a.elementor-item,
.elementor-element-35596e2 .elementor-nav-menu--main .elementor-nav-menu a.elementor-item:hover,
.elementor-element-35596e2 .elementor-nav-menu--main .elementor-nav-menu a.elementor-item:focus,
.elementor-element-35596e2 .elementor-nav-menu--main .elementor-nav-menu a.elementor-item.highlighted { font-family: var(--font-primary, "Work Sans"), sans-serif; font-size: 11px; font-weight: 400; letter-spacing: 0.08em; line-height: 17px; color: #000000 !important; padding: 0; text-decoration: underline; text-decoration-color: transparent; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.elementor-element-35596e2 .elementor-nav-menu--main .elementor-nav-menu a.elementor-item:hover,
.elementor-element-35596e2 .elementor-nav-menu--main .elementor-nav-menu a.elementor-item.highlighted { text-decoration-color: currentColor; }
.elementor-element-35596e2 .elementor-nav-menu--main > .elementor-nav-menu > li + li { margin-inline-start: 1.75rem; }
.elementor-element-35596e2 .sub-arrow { padding-inline-start: 4px; font-size: 8px; line-height: 1; }
.elementor-element-35596e2 .sub-arrow svg { width: 8px; height: 8px; fill: currentColor; }
.elementor-element-35596e2 .elementor-item.highlighted .sub-arrow svg { transform: rotate(180deg); }
.elementor-element-35596e2 .elementor-nav-menu--main .elementor-nav-menu--dropdown { background-color: #FFFFFF; border: 1px solid #DADAD5; border-top: 2px solid #28B4E8; box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12); min-width: 240px !important; padding: 8px 0; }
.elementor-element-35596e2 .elementor-nav-menu--dropdown a.elementor-sub-item,
.elementor-element-35596e2 .elementor-nav-menu--dropdown a.elementor-sub-item:hover,
.elementor-element-35596e2 .elementor-nav-menu--dropdown a.elementor-sub-item:focus,
.elementor-element-35596e2 .elementor-nav-menu--dropdown a.elementor-sub-item.highlighted { font-family: var(--font-primary, "Work Sans"), sans-serif; font-size: 14px; font-weight: 400; letter-spacing: 0; line-height: 1.4; color: #06232E !important; padding: 9px 18px; background-color: transparent; text-decoration: none; }
.elementor-element-35596e2 .elementor-nav-menu--dropdown a.elementor-sub-item:hover,
.elementor-element-35596e2 .elementor-nav-menu--dropdown a.elementor-sub-item:focus-visible,
.elementor-element-35596e2 .elementor-nav-menu--dropdown a.elementor-sub-item.highlighted { background-color: #F0F0EE; }
.elementor-element-35596e2 .elementor-item:focus-visible, .elementor-element-35596e2 .elementor-sub-item:focus-visible { outline: 2px solid #06232E !important; outline-offset: 2px; }
/* Piilossa mobiilissa (samat linkit ovat mobiilipaneelin valikossa 8a20482). Tarkempi valitsin kuin Elementor Pron
   .elementor-widget-nav-menu:not(:has(.elementor-widget-container)), joka muuten voittaa. */
@media (max-width: 767px) { .elementor-10206 .elementor-element.elementor-element-35596e2 { display: none; } }
/* Mobiilipaneelin toissijainen valikko (8a20482) */
.elementor-element-8a20482 { margin-top: 0.75rem; }
.elementor-element-8a20482 .elementor-nav-menu--main .elementor-nav-menu a.elementor-item,
.elementor-element-8a20482 .elementor-nav-menu--main .elementor-nav-menu a.elementor-item:hover,
.elementor-element-8a20482 .elementor-nav-menu--main .elementor-nav-menu a.elementor-item:focus,
.elementor-element-8a20482 .elementor-nav-menu--main .elementor-nav-menu a.elementor-item.highlighted { display: flex; justify-content: space-between; align-items: center; font-family: var(--font-primary, "Work Sans"), sans-serif; font-size: 16px; font-weight: 400; line-height: 22px; color: #E9E9E4 !important; padding: 10px 0; border: 0; text-decoration: none; }
.elementor-element-8a20482 .sub-arrow { padding: 8px; margin: -8px -8px -8px 8px; font-size: 12px; line-height: 1; }
.elementor-element-8a20482 .sub-arrow svg { width: 12px; height: 12px; fill: #AAA9A4; }
.elementor-element-8a20482 .elementor-item.highlighted .sub-arrow svg { transform: rotate(180deg); }
.elementor-element-8a20482 .elementor-nav-menu--main .elementor-nav-menu--dropdown { position: static; background-color: transparent; border: 0; box-shadow: none; padding: 0 0 8px 16px; }
.elementor-element-8a20482 .elementor-nav-menu--dropdown a.elementor-sub-item,
.elementor-element-8a20482 .elementor-nav-menu--dropdown a.elementor-sub-item:hover,
.elementor-element-8a20482 .elementor-nav-menu--dropdown a.elementor-sub-item:focus,
.elementor-element-8a20482 .elementor-nav-menu--dropdown a.elementor-sub-item.highlighted { font-family: var(--font-primary, "Work Sans"), sans-serif; font-size: 15px; font-weight: 400; line-height: 21px; color: #E9E9E4 !important; padding: 8px 0; background-color: transparent !important; border: 0; text-decoration: none; }
.elementor-element-8a20482 .elementor-item:focus-visible, .elementor-element-8a20482 .elementor-sub-item:focus-visible { outline: 2px solid #F8F8F4 !important; outline-offset: 2px; }
/* Mobiilipalkki (D-047, Jan 22.10.): tasavälit. Hampurilainen | logo | Varaa huolto, ja logo on kuvakkeen ja
   painikkeen puolivälissä (ei koko palkin keskellä). Hampurilaisen 48 px:n kosketusalue jatkuu 12 px kuvakkeen
   molemmin puolin (negatiiviset marginaalit), joten välit mitataan näkyvästä kuvakkeesta. "Valikko" vain ruudunlukijalle. */
@media (max-width: 991px) {
  .elementor-10206 .elementor-element.elementor-element-4eed53e6 { grid-template-columns: auto 1fr auto; }
  .elementor-10206 .elementor-element.elementor-element-59d2de7b { margin-right: -12px; }
  /* X on 22 px ja hampurilainen 24 px: logo ei liiku valikkoa avattaessa */
  .elementor-10206 .e-accordion-item-base[open] > .elementor-element-59d2de7b::before { margin-inline: 1px; }
}
/* Logo yhtä korkea kuin Varaa huolto -painike (tabletti 44 px, mobiili 40 px, Jan 22.10.). Kuvassa on läpinäkyvää reunaa: näkyvä logo on
   x 35–279 ja y 24–106 kuvan 300 × 141 px:stä. Negatiiviset marginaalit rajaavat reunat pois, joten kuvan laatikko
   on sama kuin näkyvä logo ja välit mitataan siitä. --rjv-logo-h = näkyvän logon korkeus (tarkistuskoukusta alareunaan). */
@media (max-width: 991px) {
  .elementor-10206 .e-image-base[data-id="7bb03b11"] { --rjv-logo-h: 44px; width: calc(var(--rjv-logo-h) * 300 / 82) !important; height: auto; max-width: none;
    margin: calc(var(--rjv-logo-h) * -24 / 82) calc(var(--rjv-logo-h) * -21 / 82) calc(var(--rjv-logo-h) * -35 / 82) calc(var(--rjv-logo-h) * -35 / 82); }
}
@media (max-width: 767px) {
  .elementor-10206 .e-image-base[data-id="7bb03b11"] { --rjv-logo-h: 40px; }
  .elementor-10206 .e-button-base[data-id="e2f9650"] { padding-inline: 10px; }
}
/* Alle 370 px logo pienenee tasaisesti leveyden mukana: 370 px → 40 px, 320 px → 32 px (loppu-QA 22.10.) */
@media (max-width: 369px) {
  .elementor-10206 .e-image-base[data-id="7bb03b11"] { --rjv-logo-h: clamp(32px, calc(16vw - 19.2px), 40px); }
}
@media (max-width: 339px) {
  .elementor-10206 .elementor-element.elementor-element-4eed53e6 { column-gap: 8px; }
}
/* Logolinkki logon levyiseksi ja fokusrengas linkkiin. Paikallistyylin :focus-visible on kuvassa, joka ei saa fokusta. */
@media (max-width: 991px) { .elementor-10206 .elementor-element-4eed53e6 > .e-image-link-base { justify-self: center; } }
.elementor-10206 .elementor-element-4eed53e6 > .e-image-link-base:focus-visible { outline: 2px solid #F8F8F4 !important; outline-offset: 4px; }
/* Mobiilivalikon haitari avautuu ja sulkeutuu heti. Elementorin oletus animoi ::details-content-korkeutta 0,3 s. */
.elementor-10206 .e-accordion-item-base::details-content { transition: none !important; }
/* Puhelin- ja WhatsApp-kuvakkeet (D-049, Jan 22.10.): ero soittonumeron ja WhatsAppin välillä näkyy kuvakkeesta.
   Preheaderissa myös sijainti 47a3bed1 (linkki) ja aukioloaika 46b7058d (teksti), jotta kaikilla neljällä on kuvake (D-051).
   Kuvakkeet ovat koristeita (CSS-maskit tekstin värillä). Linkkien nimet ovat "010 425 0100" ja "WhatsApp".
   Preheader: 3bf49569 puhelin, 56087e2 WhatsApp. Mobiilipaneeli: 7067bb25 puhelin, ea4165f WhatsApp. */
.elementor-10206 [data-id="3bf49569"] a::before, .elementor-10206 [data-id="7067bb25"] a::before,
.elementor-10206 [data-id="56087e2"] a::before, .elementor-10206 [data-id="ea4165f"] a::before,
.elementor-10206 [data-id="47a3bed1"] a::before, .elementor-10206 p[data-id="46b7058d"]::before,
.elementor-10206 [data-id="6ab733cf"] a::before, .elementor-10206 p[data-id="9622b5d"]::before {
  content: ""; display: inline-block; width: 1.2em; height: 1.2em; margin-inline-end: 0.45em; vertical-align: -0.22em;
  background-color: currentColor; -webkit-mask: var(--rjv-icon) no-repeat center / contain; mask: var(--rjv-icon) no-repeat center / contain; }
.elementor-10206 [data-id="3bf49569"] a::before, .elementor-10206 [data-id="7067bb25"] a::before { --rjv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E"); }
.elementor-10206 [data-id="56087e2"] a::before, .elementor-10206 [data-id="ea4165f"] a::before { --rjv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z'/%3E%3C/svg%3E"); }
/* Linkkien sisällä on välilyönti ennen tekstiä (Elementorin HTML), jolloin linkkirivien teksti oli 3 px kauempana kuvakkeesta kuin aukioloajassa.
   inline-flex poistaa välilyönnin. vertical-align: top pitää rivin korkeuden ennallaan. */
.elementor-10206 [data-id="47a3bed1"] a, .elementor-10206 [data-id="3bf49569"] a, .elementor-10206 [data-id="56087e2"] a,
.elementor-10206 [data-id="7067bb25"] a, .elementor-10206 [data-id="ea4165f"] a, .elementor-10206 [data-id="6ab733cf"] a { display: inline-flex; align-items: center; vertical-align: top; }
.elementor-10206 p[data-id="46b7058d"], .elementor-10206 p[data-id="9622b5d"] { display: flex; align-items: center; }
.elementor-10206 [data-id="47a3bed1"] a::before, .elementor-10206 [data-id="3bf49569"] a::before, .elementor-10206 [data-id="56087e2"] a::before,
.elementor-10206 [data-id="7067bb25"] a::before, .elementor-10206 [data-id="ea4165f"] a::before, .elementor-10206 p[data-id="46b7058d"]::before,
.elementor-10206 [data-id="6ab733cf"] a::before, .elementor-10206 p[data-id="9622b5d"]::before { flex: none; }
/* Material Icons location_on ja schedule (Apache 2.0), sama kuvakeperhe kuin puhelimessa */
.elementor-10206 [data-id="47a3bed1"] a::before, .elementor-10206 [data-id="6ab733cf"] a::before { --rjv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E"); }
.elementor-10206 p[data-id="46b7058d"]::before, .elementor-10206 p[data-id="9622b5d"]::before { --rjv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z'/%3E%3C/svg%3E"); }
/* Mobiilipaneelin yhteystiedot: paikallistyyli kohdistaa järjestyksellä (p:nth-last-child(2) = valkoinen 14 px).
   WhatsAppin lisäyksen jälkeen puhelin ja WhatsApp kohdistetaan tunnisteilla, osoite pysyy harmaana. */
/* Mobiilipaneelin yhteystiedot yhtenäisenä kuvakelistana (D-054): puhelin, WhatsApp, osoite 6ab733cf ja aukioloaika 9622b5d.
   Paneelin paikallistyylin järjestyssäännöt (p:nth-last-child(2), p:last-child) ohitetaan tunnisteilla. */
.elementor-10206 .elementor-element.elementor-element-5655157 > p[data-id="7067bb25"], .elementor-10206 .elementor-element.elementor-element-5655157 > p[data-id="ea4165f"],
.elementor-10206 .elementor-element.elementor-element-5655157 > p[data-id="6ab733cf"], .elementor-10206 .elementor-element.elementor-element-5655157 > p[data-id="9622b5d"] { font-size: 14px !important; font-weight: 400 !important; line-height: 20px !important; color: #FFFFFF !important; margin-top: 0.5rem !important; }
.elementor-10206 .elementor-element.elementor-element-5655157 > p[data-id="7067bb25"] { margin-top: 1.25rem !important; }
/* Preheader piiloon mobiilissa (Jan 22.10.): samat tiedot ovat hampurilaisvalikossa. */
@media (max-width: 767px) { .elementor-10206 .elementor-element.elementor-element-5ead3003 { display: none; } }
/* Headerissa ei siirtymiä eikä häivytyksiä (D-048, Jan 22.10.). Ohittaa Elementorin oletukset: Nav Menu -linkit
   (color, background-color, border-color 0.2s; pointer-efektit 0.3s) ja V4-linkit ja -painikkeet (0.2s). */
.elementor-10206 a, .elementor-10206 a::before, .elementor-10206 a::after,
.elementor-10206 .elementor-nav-menu .sub-arrow { transition: none !important; animation: none !important; }
/* Myös Elementorin säiliöiden ja widgettien oletussiirtymät (background, border, box-shadow, transform 0.3–0.4 s) pois (loppu-QA 22.10.) */
.elementor-10206 .elementor-element, .elementor-10206 nav { transition: none !important; }
/* Preheaderin alavalikot tasataan oikealta ylävalikon kohtaan. SmartMenus siirsi ne ruudun reunaan kiinni (loppu-QA 22.10.) */
.elementor-10206 .elementor-element-35596e2 .elementor-nav-menu--main > ul > li > ul.sub-menu { left: auto !important; right: 0 !important; margin-left: 0 !important; }
/* Groweo-ponnahdusikkunan iframe: ei tyhjää riviä sivun yläreunaan (K-28). Ilman !importantia, jotta Groweon omat tyylit voittavat aktivoituessa. */
body > iframe[id$="-popup"] { display: block; }
/* Kapea desktop 992–1199 px: viisi kohtaa mahtuu yhdelle riville */
@media (min-width: 992px) and (max-width: 1199px) {
  .elementor-element-710f0cb .elementor-nav-menu--main .elementor-nav-menu a.elementor-item,
  .elementor-element-710f0cb .elementor-nav-menu--main .elementor-nav-menu a.elementor-item:hover,
  .elementor-element-710f0cb .elementor-nav-menu--main .elementor-nav-menu a.elementor-item:focus,
  .elementor-element-710f0cb .elementor-nav-menu--main .elementor-nav-menu a.elementor-item.highlighted { font-size: 15px; padding: 12px 9px; }
}
/* 992–1023 px vierityspalkillisessa selaimessa valikko rivittyi (loppu-QA 22.10.; Work Sans D-055: 6 px) */
@media (min-width: 992px) and (max-width: 1023px) {
  .elementor-element-710f0cb .elementor-nav-menu--main .elementor-nav-menu a.elementor-item,
  .elementor-element-710f0cb .elementor-nav-menu--main .elementor-nav-menu a.elementor-item:hover,
  .elementor-element-710f0cb .elementor-nav-menu--main .elementor-nav-menu a.elementor-item:focus,
  .elementor-element-710f0cb .elementor-nav-menu--main .elementor-nav-menu a.elementor-item.highlighted { padding-inline: 6px; }
}
/* Preheaderin kohtien väli kapenee tasaisesti 1100 px:stä (28 px) 768 px:iin (10 px), jotta rivi kuvakkeineen mahtuu myös vierityspalkin kanssa (D-050, D-051, Work Sans D-055) */
@media (min-width: 768px) {
  .elementor-10206 .elementor-element.elementor-element-305694e9 { column-gap: clamp(10px, calc(5.42vw - 31.6px), 28px); }
  .elementor-10206 .elementor-element.elementor-element-7cdaf617 { column-gap: clamp(16px, calc(4.22vw - 18.4px), 28px); }
}
/* Brändiohjeen painot 200/300/400/700 (D-057): preheaderin infotekstien 600 tulee osan 1 paikallistyylistä (e-197175e9-3369 & p), joten ohitetaan tässä. */
.elementor-10206 .elementor-element.elementor-element-305694e9 > p { font-weight: 400 !important; }/* End custom CSS */