.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS *//* RJV footer 10193: 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-15c10884-ef44{width:120px;height:auto;margin-block-start:-6px;margin-block-end:8px;margin-inline-start:-14px;margin-inline-end:0px;& img { display: block; width: 100%; height: auto; } &:focus-visible { outline: 2px solid #F8F8F4; outline-offset: 4px; }
}.elementor .e-19d4bfdf-d302{min-width:0px;padding:0px;}.elementor .e-2744a9d6-fb15{min-width:0px;padding:0px;}.elementor .e-7ea97ace-51d7{min-width:0px;padding:0px;}.elementor .e-588e443-199f{min-width:0px;padding:0px;}.elementor .e-41bceca5-7ca3{max-width:90rem;padding-block-start:4rem;padding-block-end:5rem;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:2.5rem;grid-template-columns:repeat(4, minmax(0, 1fr));& h2 { margin: 0 0 1.375rem !important; font-family: var(--font-label, 'DM Mono'), monospace !important; font-size: 12px !important; font-weight: 500 !important; line-height: 1.4 !important; letter-spacing: 0.12em !important; text-transform: uppercase; color: #AAA9A4 !important; } & p { margin: 0 !important; font-family: var(--font-primary, Manrope), sans-serif !important; font-size: 15px !important; font-weight: 400; line-height: 1.4 !important; color: #F8F8F4 !important; } & p + p { margin-top: 0.6875rem !important; } & .elementor-widget-html { margin: 0.6875rem 0 0 !important; } & .elementor-widget-html + p { margin-top: 0.6875rem !important; } & a { color: #F8F8F4 !important; text-decoration: none; text-underline-offset: 4px; } & a:hover { text-decoration: underline; } & a:focus-visible { outline: 2px solid #F8F8F4 !important; outline-offset: 3px; text-decoration: underline; }
}.elementor .e-585e5f59-c8ac{min-width:0px;padding:0px;}.elementor .e-4abb173c-f55c{min-width:0px;padding:0px;}.elementor .e-3b4bc696-110e{padding-block-start:2.5rem;padding-block-end:3rem;padding-inline-start:max(clamp(1.25rem, 0.781rem + 1.91vw, 2.5rem), calc((100% - 90rem) / 2 + clamp(1.25rem, 0.781rem + 1.91vw, 2.5rem)));padding-inline-end:max(clamp(1.25rem, 0.781rem + 1.91vw, 2.5rem), calc((100% - 90rem) / 2 + clamp(1.25rem, 0.781rem + 1.91vw, 2.5rem)));margin:0px;border-block-start-width:1px;display:grid;gap:2.5rem;grid-template-columns:repeat(2, minmax(0, 1fr));align-items:start;border-top-style: solid; border-top-color: #454545; & h2 { margin: 0 0 0.75rem !important; font-family: var(--font-label, 'DM Mono'), monospace !important; font-size: 12px !important; font-weight: 500 !important; line-height: 1.4 !important; letter-spacing: 0.12em !important; text-transform: uppercase; color: #AAA9A4 !important; } & p { margin: 0 !important; font-family: var(--font-primary, Manrope), sans-serif !important; font-size: 15px !important; font-weight: 400; line-height: 1.4 !important; color: #F8F8F4 !important; } & form.tnp-subscription { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 0; row-gap: 1rem; width: 100%; max-width: none; margin: 0; } & .tnp-field { margin: 0; padding: 0; } & .tnp-field-email { grid-column: 1; grid-row: 1; } & .tnp-field-email label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } & .tnp-email { width: 100%; height: 48px; margin: 0; padding: 0 16px; background-color: #F5F5F2; border: 1px solid #5B7580; border-radius: 0; box-shadow: none; color: #06232E; font-family: var(--font-primary, Manrope), sans-serif; font-size: 16px; line-height: 24px; } & .tnp-email::placeholder { color: #3C3C3C; opacity: 1; } & .tnp-email:focus-visible { outline: 2px solid #28B4E8; outline-offset: 2px; } & .tnp-field-button { grid-column: 2; grid-row: 1; } & .tnp-submit { width: auto; height: 48px; margin: 0; padding: 0 24px; background-color: #28B4E8; color: #06232E; border: 0; border-radius: 0; font-family: var(--font-primary, Manrope), sans-serif; font-size: 14px; font-weight: 700; line-height: 20px; cursor: pointer; } & .tnp-submit:hover { background-color: #5BC6EE; } & .tnp-submit:focus-visible { outline: 2px solid #F8F8F4; outline-offset: 3px; } & .tnp-field-privacy { grid-column: 1 / -1; grid-row: 2; display: flex; align-items: flex-start; gap: 12px; } & .tnp-privacy { width: 18px; height: 18px; max-width: none; margin: 1px 0 0; flex: none; accent-color: #28B4E8; } & .tnp-privacy:focus-visible { outline: 2px solid #28B4E8; outline-offset: 2px; } & .tnp-field-privacy label { display: block; margin: 0; padding: 0; font-family: var(--font-primary, Manrope), sans-serif; font-size: 13px; line-height: 20px; color: #E9E9E4; } & .tnp-field-privacy a { color: #E9E9E4 !important; text-decoration: underline; text-underline-offset: 3px; } & .tnp-field-privacy a:hover { color: #FFFFFF !important; } & .tnp-field-privacy a:focus-visible { outline: 2px solid #F8F8F4 !important; outline-offset: 3px; }
}.elementor .e-62ed2f57-c12f{padding-block-start:1.375rem;padding-block-end:1.375rem;padding-inline-start:max(clamp(1.25rem, 0.781rem + 1.91vw, 2.5rem), calc((100% - 90rem) / 2 + clamp(1.25rem, 0.781rem + 1.91vw, 2.5rem)));padding-inline-end:max(clamp(1.25rem, 0.781rem + 1.91vw, 2.5rem), calc((100% - 90rem) / 2 + clamp(1.25rem, 0.781rem + 1.91vw, 2.5rem)));display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;border-block-start-width: 1px; gap: 0.5rem 2rem; border-top-style: solid; border-top-color: rgba(248, 248, 244, 0.16); & p { display: block; margin: 0 !important; padding: 0; font-family: var(--font-label, 'DM Mono'), monospace !important; font-size: 11px !important; line-height: 1.5 !important; letter-spacing: 0.12em; text-transform: uppercase; color: #AAA9A4 !important; } & a { color: #AAA9A4 !important; text-decoration: none; text-underline-offset: 3px; } & a:hover { text-decoration: underline; color: #F8F8F4 !important; } & a:focus-visible { outline: 2px solid #F8F8F4 !important; outline-offset: 3px; text-decoration: underline; }
}.elementor .e-f23eb21-5130{color:#F8F8F4;padding:0px;background-color:var(--color-navy-header);}
@media(max-width:991px){.elementor .e-41bceca5-7ca3{padding-block-start:3.5rem;padding-block-end:4rem;grid-template-columns:repeat(2, minmax(0, 1fr));}}
@media(max-width:767px){.elementor .e-19d4bfdf-d302{grid-column:1 / -1;}}@media(max-width:767px){.elementor .e-41bceca5-7ca3{padding-block-start:3rem;padding-block-end:3rem;gap: 2rem 1.5rem;
}}@media(max-width:767px){.elementor .e-3b4bc696-110e{padding-block-start:2rem;padding-block-end:2.5rem;gap:1.25rem;grid-template-columns:minmax(0, 1fr);& form.tnp-subscription { grid-template-columns: minmax(0, 1fr); row-gap: 12px; } & .tnp-field-button { grid-column: 1; grid-row: 2; } & .tnp-submit { width: 100%; } & .tnp-field-privacy { grid-row: 3; margin-top: 4px; }
}}@media(max-width:767px){.elementor .e-62ed2f57-c12f{padding-block-start:1.25rem;padding-block-end:1.25rem;flex-direction:column;align-items:flex-start;}}

/* Osa 2 */
/* Yhteystietojen kuvakkeet (D-052, Jan 22.10.: "Kuvakkeet kaikille"). Samat kuvakkeet ja mitat kuin headerissa (D-049, D-051).
   Kuvakkeet ovat koristeita: CSS-maskit tekstin värillä, linkkien nimet eivät muutu.
   20a3991d osoite, 454ba717 puhelin, 3398027c WhatsApp, 367b1712 sähköposti (linkit) ja 5039c559 aukioloaika (teksti). */
.elementor-10193 [data-id="20a3991d"] a::before, .elementor-10193 [data-id="454ba717"] a::before,
.elementor-10193 [data-id="3398027c"] a::before, .elementor-10193 [data-id="367b1712"] a::before,
.elementor-10193 p[data-id="5039c559"]::before {
  content: ""; display: inline-block; width: 1.2em; height: 1.2em; margin-inline-end: 0.5em; 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-10193 [data-id="20a3991d"] 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-10193 [data-id="454ba717"] 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-10193 [data-id="3398027c"] 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"); }
.elementor-10193 [data-id="367b1712"] 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='M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E"); }
.elementor-10193 p[data-id="5039c559"]::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"); }
/* Linkkien sisällä on välilyönti ennen tekstiä, joten ilman tätä linkkirivien teksti olisi 3 px kauempana kuvakkeesta kuin aukioloajassa.
   inline-flex poistaa välilyönnin, ja vertical-align: top pitää rivin korkeuden ennallaan (21 px). */
.elementor-10193 [data-id="20a3991d"] a, .elementor-10193 [data-id="454ba717"] a,
.elementor-10193 [data-id="3398027c"] a, .elementor-10193 [data-id="367b1712"] a { display: inline-flex; align-items: center; vertical-align: top; }
.elementor-10193 p[data-id="5039c559"] { display: flex; align-items: center; }
.elementor-10193 [data-id] a::before, .elementor-10193 p[data-id="5039c559"]::before { flex: none; }
/* Brändiohjeen nostotyyli (D-057): versaalit ja harvennus 0,26 em, Regular 400 (ohjeen Light on mitoitettu 20 pt:lle, 11–12 px:ssä Regular pysyy luettavana).
   Ohittaa paikallistyylien & h2 / & p -säännöt (500, 0,12 em): sarakeotsikot 32857041, uutiskirjeen otsikko 772a9fb, alapalkki 698e5434. */
.elementor-10193 .elementor-element.elementor-element-32857041 h2,
.elementor-10193 .elementor-element.elementor-element-772a9fb h2 { font-weight: 400 !important; letter-spacing: 0.26em !important; }
.elementor-10193 .elementor-element.elementor-element-698e5434 p { letter-spacing: 0.26em; }/* End custom CSS */