/* Z-Factory by Pencil: theme behaviour that the builder used to handle in JavaScript. */

/* Header dropdown menus (sizing matches the old menu script: 10em to 20em wide) */
.zf-nav-menu--main .zf-nav-menu li:hover > ul,
.zf-nav-menu--main .zf-nav-menu li:focus-within > ul {
	display: block;
}
.zf-nav-menu--main .zf-nav-menu ul {
	width: max-content;
	min-width: 10em;
}
.zf-nav-menu--main .zf-nav-menu ul a {
	white-space: nowrap;
}

/* Slide-in menu */
.zf-popup-modal[hidden] {
	display: none !important;
}
.zf-popup-modal .zf-location-popup {
	display: block;
}
.zf-popup-modal .dialog-widget-content.slideInRight {
	animation-duration: 0.5s;
}

/* Rich text that replaces a single paragraph keeps the paragraph spacing.
   A blank line inside the original paragraph becomes a paragraph break in Pencil,
   so paragraphs after the first are spaced by one line. */
.pencil-richtext.zf-rt-inline > p {
	margin: 0;
}
.pencil-richtext.zf-rt-inline > p + p {
	margin-top: 1lh;
}

/* Pienyrittäjän starttipaketti: blank line after the first list item. */
.zf-element-79c2c9d li:first-child {
	margin-bottom: 1lh;
}

/* Background images are Media Library images behind the content. */
.zf-has-bg-img {
	position: relative;
}
.zf-has-bg-img > img.zf-bg-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100% !important;
	max-width: none;
	border-radius: 0;
	z-index: 0;
	pointer-events: none;
}
.zf-has-bg-img > :not(.zf-bg-img) {
	position: relative;
	z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
	.zf-popup-modal .dialog-widget-content {
		animation: none !important;
	}
}

/* Bottom corner buttons on the same line: cookie settings icon bottom left, back-to-top bottom right, centred on the same line (the cookie plugin keeps its icon 96px from the bottom). */
body .zf-element.zf-element-dc4cb34.zf-fixed{bottom:88px !important;right:24px !important;left:auto !important}


/* Top contact bar (email and phone): lower, same text size. The bar is fixed, so the menu row below starts right under it. */
.zf-location-header .zf-element-1bb4762{padding-top:0 !important;padding-bottom:0 !important;min-height:0 !important}
.zf-location-header .zf-element-1bb4762 > .e-con > .e-con-inner{padding-top:6px !important;padding-bottom:6px !important}
.zf-location-header .zf-element-1bb4762 p{margin:0 !important}
@media (min-width:768px){
	.zf-location-header .zf-element-1bb4762{flex-direction:row !important;flex-wrap:nowrap !important}
	.zf-location-header .zf-element-bd710ba,
	.zf-location-header .zf-element-8cac64c{margin-top:54px !important}
}
@media (min-width:768px) and (max-width:1024px){
	.zf-location-header .zf-element-1bb4762 p,.zf-location-header .zf-element-1bb4762 a{font-size:20px !important;line-height:42px !important}
}
@media (max-width:767px){
	.zf-location-header .zf-element-1bb4762{height:auto !important;padding-top:8px !important;padding-bottom:8px !important}
	.zf-location-header .zf-element-1bb4762 > .e-con > .e-con-inner{padding-top:0 !important;padding-bottom:0 !important}
	
}

/* Mobile top bar: email and a "Soita" call button on one row; the phone number itself shows on larger screens. */
.zf-location-header .zf-call-button{display:none}
@media (max-width:767px){
	.zf-location-header .zf-element-1bb4762{flex-direction:row !important;flex-wrap:nowrap !important;justify-content:space-between !important;align-items:center !important;padding:8px 16px !important}
	.zf-location-header .zf-element-1bb4762 > .e-con{width:auto !important;flex:0 1 auto !important;padding:0 !important;--padding-left:0px;--padding-right:0px}
	.zf-location-header .zf-element-1bb4762 > .e-con > .e-con-inner{padding:0 !important}
	.zf-location-header .zf-element-5bfecbb p,.zf-location-header .zf-element-5bfecbb a{font-size:18px !important;line-height:28px !important}
	.zf-location-header .zf-element-4fd2571{display:none !important}
	.zf-location-header .zf-call-button{display:inline-flex;align-items:center;gap:6px;padding:6px 18px;border-radius:999px;background:#fff;color:#0c0d0e !important;font-size:16px;font-weight:600;line-height:24px;text-decoration:none !important;white-space:nowrap}
	.zf-location-header .zf-call-button svg{width:15px;height:15px;fill:currentColor}
	.zf-location-header .zf-element-8cac64c{margin-top:52px !important}
}

/* Top bar on very narrow phones: email stays on one line. */
@media (max-width:360px){.zf-location-header .zf-element-5bfecbb p,.zf-location-header .zf-element-5bfecbb a{font-size:15px !important}.zf-location-header .zf-call-button{padding:6px 14px}}

/* Mobile: cookie icon and back-to-top 30px lower (the cookie plugin moves its icon down 30px on mobile). */
@media (max-width:599px){body .zf-element.zf-element-dc4cb34.zf-fixed{bottom:58px !important}}

/* Mobile menu: the same "Soita" call button as in the header. */
.zf-location-popup .zf-menu-call{display:flex;justify-content:flex-end;width:100%;margin-top:12px}
.zf-location-popup .zf-call-button{display:inline-flex;align-items:center;gap:6px;padding:6px 18px;border-radius:999px;background:#fff;color:#0c0d0e !important;font-size:16px;font-weight:600;line-height:24px;text-decoration:none !important;white-space:nowrap}
.zf-location-popup .zf-call-button svg{width:15px;height:15px;fill:currentColor}

/* Mobile menu: submenu links aligned right, also when the text wraps to two lines. */
.zf-location-popup .sub-menu a.uael-sub-menu-item{text-align:right !important;justify-content:flex-end !important}

/* Mobile menu: content starts at the top, just below the close button (it was centred vertically). */
#zf-popup-modal-106 .dialog-message{align-items:flex-start !important}
#zf-popup-modal-106 .zf-location-popup{padding-top:76px;padding-bottom:24px}

/* Ota yhteyttä page, mobile: the phone number becomes a "Soita" call button. */
.zf-page-call{display:none}
@media (max-width:767px){
	.zf-element-f14d875 a[href^="tel:"],.zf-element-f14d875 br{display:none}
	.zf-page-call{display:flex;justify-content:center;width:100%;margin-top:14px}
	.zf-page-call .zf-call-button{display:inline-flex;align-items:center;gap:8px;padding:10px 26px;border-radius:999px;background:#D16078;color:#fff !important;font-size:18px;font-weight:600;line-height:26px;text-decoration:none !important;white-space:nowrap}
	.zf-page-call .zf-call-button svg{width:16px;height:16px;fill:currentColor}
}

/* Ota yhteyttä page: the phone link keeps the text colour on larger screens. */
.zf-element-f14d875 a[href^="tel:"]{color:inherit !important;text-decoration:none !important;font-size:inherit !important;font-family:inherit !important;font-weight:inherit !important;letter-spacing:inherit !important}

/* === HINTASIVU-KOKEILU START (kotisivujen-hinta: modern price cards) === */
.zf-35 .zf-element-ab12c09{padding:72px 24px !important}
.zf-35 .zf-element-190a49b{max-width:1200px !important;width:100% !important;margin:0 auto !important;align-items:center !important;padding-left:0 !important;padding-right:0 !important;--padding-left:0px !important;--padding-right:0px !important}
.zf-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;width:100%;align-items:stretch}
.zf-price-card{display:flex;flex-direction:column;gap:6px;background:#fff;border-radius:22px;padding:34px 30px 30px;box-shadow:0 18px 40px -18px rgba(0,0,0,.35);color:#272323;transition:transform .25s ease,box-shadow .25s ease}
.zf-price-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -18px rgba(0,0,0,.4)}
.zf-price-card .zf-element{width:100% !important;margin:0 !important;max-width:none !important}
.zf-price-card .zf-heading-title{color:#272323 !important;text-align:left !important}
/* size label as a chip */
.zf-price-card > .zf-element:nth-child(1) .zf-heading-title{display:inline-block;width:auto;padding:6px 14px;border-radius:999px;background:#e9f2f5;color:#2f6f86 !important;font-size:14px !important;letter-spacing:.12em;line-height:1.2 !important;margin-bottom:10px !important}
/* tagline */
.zf-price-card > .zf-element:nth-child(2) .zf-heading-title{font-size:22px !important;line-height:1.3 !important;letter-spacing:.02em;text-transform:none !important;font-weight:600;margin-bottom:8px !important}
/* description and list */
.zf-price-card .zf-widget-text-editor,.zf-price-card .zf-widget-text-editor p,.zf-price-card .zf-widget-text-editor li{color:#4a4545 !important;font-size:17px !important;line-height:1.6 !important}
.zf-price-card .zf-widget-text-editor p{margin:0 0 14px !important}
.zf-price-card .zf-widget-text-editor ul{list-style:none !important;margin:6px 0 18px !important;padding:16px 0 0 !important;border-top:1px solid #ece7e4}
.zf-price-card .zf-widget-text-editor li{position:relative;padding:0 0 10px 30px !important;margin:0 !important}
.zf-price-card .zf-widget-text-editor li::before{content:"";position:absolute;left:0;top:.35em;width:18px;height:18px;border-radius:50%;background:#e9f2f5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%232f6f86' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat}
/* price at the bottom */
.zf-price-card > .zf-element:last-child{margin-top:auto !important;padding-top:18px;border-top:1px solid #ece7e4}
.zf-price-card > .zf-element:last-child .zf-heading-title{font-size:24px !important;line-height:1.3 !important;letter-spacing:.02em;color:#272323 !important}
/* ask button */
.zf-35 .zf-element-524e4d8{width:100% !important;display:flex !important;justify-content:center !important;margin-top:40px !important}
.zf-35 .zf-element-524e4d8 .zf-button{border-radius:999px !important;padding:16px 38px !important;background:#272323 !important;color:#fff !important;letter-spacing:.1em;transition:background-color .2s}
.zf-35 .zf-element-524e4d8 .zf-button:hover{background:#D16078 !important}
@media (max-width:1024px){.zf-price-grid{grid-template-columns:1fr;max-width:620px;margin:0 auto}}
@media (max-width:767px){.zf-35 .zf-element-ab12c09{padding:48px 16px !important}.zf-price-card{padding:28px 22px 24px;border-radius:18px}.zf-price-card > .zf-element:nth-child(2) .zf-heading-title{font-size:20px !important}}
#kysy-lisaa{scroll-margin-top:90px}
html{scroll-behavior:smooth}
/* === HINTASIVU-KOKEILU END === */

/* Contact form (moved from the price page to Ota yhteyttä). */
.zf-43 .zf-element.zf-element-cd80d52{--display:flex;}
.zf-43 .zf-element.zf-element-1091f51{--display:flex;}
.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field input:not([type=submit]):not([type=image]):not([type=button]):not([type=file]):not([type=radio]):not([type=checkbox]),
						.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field textarea,
						.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field select,
						.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field input[type="checkbox"] + label:before,
						.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field-description.wpforms-disclaimer-description,
						.zf-43 .zf-element.zf-element-c77f0b0.uael-wpf-style-underline .wpforms-container-full .wpforms-form ul.wpforms-image-choices-modern label{border-radius:42px 42px 42px 42px;}
.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form button[type=submit], .zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form button[type=submit]:hover, .zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-page-button, .zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-page-button:hover{background-color:#050505;color:#FFFFFF;}
.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form button[type=submit], .zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-page-button{border-radius:57px 57px 57px 57px;font-family:"Alata", Sans-serif;text-transform:uppercase;}
.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field input:not([type=submit]):not([type=image]):not([type=button]):not([type=file]):not([type=radio]):not([type=checkbox]),
						.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field textarea,
						.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field select,
						.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field-description.wpforms-disclaimer-description,
						.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-container-full .wpforms-form ul.wpforms-image-choices-modern label,
						.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-container select option{background-color:#fafafa;}
.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field input[type="checkbox"] + label:before,
						.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style input[type="radio"] + label:before{background-color:#fafafa;}
.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style input[type="radio"]:checked + label:before{background-color:#7a7a7a;}
.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field input[type="radio"]:checked + label:before{box-shadow:inset 0px 0px 0px 4px #fafafa;}
.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field input:not([type=submit]):not([type=image]):not([type=button]):not([type=file]):not([type=radio]):not([type=checkbox]),
						.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field textarea,
						.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field select{border-style:solid;}
.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field input[type="checkbox"] + label:before,
						.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field input[type="radio"] + label:before,
						.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-container-full .wpforms-form ul.wpforms-image-choices-modern label,
						.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field-description.wpforms-disclaimer-description{border-style:solid;}
.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field input:not([type=submit]):not([type=image]):not([type=button]):not([type=file]):not([type=radio]):not([type=checkbox]),
						.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field textarea,
						.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field select,
						.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field-description.wpforms-disclaimer-description{border-width:1px 1px 1px 1px;border-color:#2D2D2D;}
.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field input[type="checkbox"] + label:before,
						.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field input[type="radio"] + label:before,
						.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form ul.wpforms-image-choices-modern label,
						.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form ul.wpforms-image-choices-modern label:hover,
						.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field-description.wpforms-disclaimer-description{border-width:1px 1px 1px 1px;}
.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field input[type="checkbox"] + label:before,
						.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field input[type="radio"] + label:before,
						.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form ul.wpforms-image-choices-modern label,
						.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form ul.wpforms-image-choices-modern label:hover,
						.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-page-indicator.circles{border-color:#2D2D2D;}
.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style label.wpforms-error{color:#ff0000;}
.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field-label,
									.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field-radio li label,
									.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field-checkbox li label,
									.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-page-indicator-steps,
									.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field-payment-multiple li label,
									.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-single-item-price,
									.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-payment-total,
									.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field-divider,
									.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field-html,
									.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field-divider h3,
									.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-page-indicator-steps,
									.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-page-indicator-page-title,
									.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field-captcha .wpforms-field-label,
									.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field-likert_scale .wpforms-field-label,
									.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field-file-upload input[type=file]{font-family:"Alata", Sans-serif;font-size:17px;text-transform:uppercase;letter-spacing:1.3px;word-spacing:0px;}
.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field-description,
									.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field-sublabel,
									.zf-43 .zf-element.zf-element-c77f0b0 .uael-wpf-style .wpforms-form .wpforms-field-likert_scale thead tr th{font-size:22px;}
.zf .e-3ad35dd{margin-block-start:4%;flex-direction:column;}
.zf .e-7af93b5{flex-direction:column;}
.zf-43 #lomake{margin-top:40px}

/* Contact form centred on the Ota yhteyttä page. */
.zf-43 .zf-element-8d44455 .zf-heading-title{text-align:center !important}
.zf-43 .zf-element-c77f0b0{width:100% !important;max-width:640px !important;margin-left:auto !important;margin-right:auto !important;align-self:center !important}
.zf-43 .zf-element-c77f0b0 .wpforms-field input:not([type=radio]):not([type=checkbox]),.zf-43 .zf-element-c77f0b0 .wpforms-field textarea,.zf-43 .zf-element-c77f0b0 .wpforms-field select{max-width:100% !important;width:100% !important}
.zf-43 .zf-element-c77f0b0 .wpforms-submit-container{text-align:center !important}
.zf-43 .zf-element-c77f0b0 .wpforms-submit-container button[type=submit]{margin-left:auto !important;margin-right:auto !important}

/* Contact form: space under the submit button. */
.zf-43 .zf-element-c77f0b0{padding-bottom:3% !important}

/* Contact form: stronger typed text and a clear active (focused) field. */
.zf-43 .zf-element-c77f0b0 .wpforms-form .wpforms-field input:not([type=submit]):not([type=radio]):not([type=checkbox]),
.zf-43 .zf-element-c77f0b0 .wpforms-form .wpforms-field textarea,
.zf-43 .zf-element-c77f0b0 .wpforms-form .wpforms-field select{font-family:"Alata",sans-serif !important;font-size:18px !important;font-weight:400 !important;color:#0c0d0e !important;letter-spacing:.02em;transition:border-color .15s,box-shadow .15s,background-color .15s}
.zf-43 .zf-element-c77f0b0 .wpforms-form .wpforms-field input:not([type=submit]):not([type=radio]):not([type=checkbox]):focus,
.zf-43 .zf-element-c77f0b0 .wpforms-form .wpforms-field textarea:focus,
.zf-43 .zf-element-c77f0b0 .wpforms-form .wpforms-field select:focus{outline:none !important;background-color:#fff !important;border-color:#D16078 !important;border-width:2px !important;box-shadow:0 0 0 4px rgba(209,96,120,.2) !important}
.zf-43 .zf-element-c77f0b0 .wpforms-form .wpforms-field input[type=radio]:focus-visible{outline:3px solid #D16078 !important;outline-offset:2px}
.zf-43 .zf-element-c77f0b0 .wpforms-form .wpforms-field:focus-within .wpforms-field-label{color:#D16078 !important}
.zf-43 .zf-element-c77f0b0 .wpforms-form .wpforms-field-description{font-size:17px !important;font-weight:400 !important;color:#3a3535 !important;margin-top:6px !important}

/* Kiitos viestistäsi page: modern thank-you card. */
.zf-3314 .zf-element-9d3868b{min-height:calc(100vh - 160px);display:flex !important;align-items:center !important;justify-content:center !important;padding:64px 20px !important}
.zf-3314 .zf-element-7ca8853,.zf-3314 .zf-element-7ca8853 > .e-con-inner{width:100% !important;max-width:none !important;padding:0 !important;display:flex !important;justify-content:center !important;align-items:center !important}
.zf-thanks-card{position:relative;z-index:1;width:100%;max-width:620px;margin:0 auto;background:#fff;border-radius:24px;box-shadow:0 30px 60px -25px rgba(0,0,0,.35);padding:52px 48px 44px;text-align:center;animation:zfThanksIn .5s ease-out both}
.zf-thanks-check{width:72px;height:72px;margin:0 auto 22px;border-radius:50%;background:#D16078;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 10px rgba(209,96,120,.15);animation:zfThanksPop .6s .15s cubic-bezier(.2,1.4,.4,1) both}
.zf-thanks-check svg{width:34px;height:34px}
.zf-thanks-card .zf-thanks-title{margin:0 0 18px !important;font-family:"Playfair Display",serif !important;font-size:40px !important;line-height:1.15 !important;font-weight:500 !important;color:#0c0d0e !important;text-transform:none !important;letter-spacing:0 !important}
.zf-thanks-card .zf-element-d5c7e2d,.zf-thanks-card .zf-element-d5c7e2d p{font-size:18px !important;line-height:1.65 !important;color:#3a3535 !important;text-align:center !important}
.zf-thanks-card .zf-element-d5c7e2d p{margin:0 0 12px !important}
.zf-thanks-card .zf-element-d5c7e2d p:first-child{font-weight:600;color:#0c0d0e !important}
.zf-thanks-card .zf-element-d5c7e2d a[href^="tel:"]{color:#0c0d0e !important;font-weight:600;font-size:inherit !important;font-family:inherit !important;white-space:nowrap;text-decoration:underline !important;text-underline-offset:3px}
.zf-thanks-card .zf-element-d5c7e2d p:last-child{margin:22px 0 0 !important;padding-top:18px;border-top:1px solid #eee;font-style:italic;color:#5c5650 !important}
.zf-thanks-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:30px}
.zf-thanks-actions a{display:inline-flex;align-items:center;gap:8px;padding:12px 26px;border-radius:999px;font-family:"Alata",sans-serif !important;font-size:15px !important;letter-spacing:.08em;text-transform:uppercase;text-decoration:none !important;transition:background-color .2s,color .2s,transform .2s}
.zf-thanks-actions a:hover{transform:translateY(-2px)}
.zf-thanks-actions .zf-thanks-call{background:#D16078;color:#fff !important;border:2px solid #D16078}
.zf-thanks-actions .zf-thanks-call:hover{background:#b94d65;border-color:#b94d65}
.zf-thanks-actions .zf-thanks-home{background:#fff;color:#0c0d0e !important;border:2px solid #0c0d0e}
.zf-thanks-actions .zf-thanks-home:hover{background:#0c0d0e;color:#fff !important}
.zf-thanks-actions svg{width:15px;height:15px;fill:currentColor}
@keyframes zfThanksIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes zfThanksPop{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.zf-thanks-card,.zf-thanks-check{animation:none}}
@media (max-width:767px){.zf-3314 .zf-element-9d3868b{padding:40px 14px !important;min-height:0}.zf-thanks-card{padding:40px 24px 32px;border-radius:20px}.zf-thanks-card .zf-thanks-title{font-size:32px !important}.zf-thanks-card .zf-element-d5c7e2d,.zf-thanks-card .zf-element-d5c7e2d p{font-size:17px !important}.zf-thanks-actions a{width:100%;justify-content:center}}

/* Contact form: more inner space in the fields so the text is not against the rounded edge. */
.zf-43 .zf-element-c77f0b0 .wpforms-form .wpforms-field input:not([type=submit]):not([type=radio]):not([type=checkbox]),.zf-43 .zf-element-c77f0b0 .wpforms-form .wpforms-field select{padding:14px 24px !important;min-height:52px}
.zf-43 .zf-element-c77f0b0 .wpforms-form .wpforms-field textarea{padding:18px 26px !important;border-radius:28px !important;min-height:140px}

/* Contact form: math question larger, answer field aligned with the other fields. */
.zf-43 .zf-element-c77f0b0 .wpforms-field-captcha .wpforms-captcha-equation{display:block;margin:2px 0 10px;font-family:"Alata",sans-serif !important;font-size:22px !important;line-height:1.3;color:#0c0d0e;letter-spacing:.04em}
.zf-43 .zf-element-c77f0b0 .wpforms-field-captcha .wpforms-captcha-equation span{font-size:inherit !important}
.zf-43 .zf-element-c77f0b0 .wpforms-field-captcha input{margin-left:0 !important}

/* Raportit, oppaat, esitteet: smaller captions under the images. */
.zf-11 p.e-paragraph-base,.zf-11 p.e-paragraph-base a{font-size:22px !important;line-height:1.45 !important}
.zf-11 p.e-paragraph-base{margin-top:10px !important}
@media (max-width:767px){.zf-11 p.e-paragraph-base,.zf-11 p.e-paragraph-base a{font-size:19px !important}}

/* Raportit, oppaat, esitteet: space under the last section and a light hover on the PDF caption links. */
.zf-11 .zf-element-181f807{padding-bottom:5% !important}
/* PDF caption links: light hover */
.zf-11 p.e-paragraph-base a[href*=".pdf"]{text-decoration:none !important;background-image:linear-gradient(#D16078,#D16078);background-repeat:no-repeat;background-position:0 100%;background-size:0 1px;padding-bottom:2px;transition:color .25s ease,background-size .3s ease}
.zf-11 p.e-paragraph-base a[href*=".pdf"]:hover,.zf-11 p.e-paragraph-base a[href*=".pdf"]:focus-visible{color:#D16078 !important;background-size:100% 1px}
@media (prefers-reduced-motion:reduce){.zf-11 p.e-paragraph-base a[href*=".pdf"]{transition:none}}

/* Top bar: text vertically centred, email and phone the same distance from the edges. */
@media (min-width:768px){.zf-location-header .zf-element-1bb4762{height:54px !important;align-items:center !important;justify-content:space-between !important;padding-left:24px !important;padding-right:24px !important}}
.zf-location-header .zf-element-1bb4762 > .e-con,.zf-location-header .zf-element-1bb4762 > .e-con > .e-con-inner{display:flex !important;align-items:center !important;padding-top:0 !important;padding-bottom:0 !important;padding-left:0 !important;padding-right:0 !important;--padding-left:0px;--padding-right:0px;min-height:0 !important}
.zf-location-header .zf-element-1bb4762 .zf-widget-text-editor,.zf-location-header .zf-element-1bb4762 .zf-widget-text-editor p{margin:0 !important;display:flex;align-items:center}
.zf-location-header .zf-element-1bb4762 .zf-widget-text-editor a{display:inline-block;line-height:1.2 !important}
@media (max-width:767px){.zf-location-header .zf-element-1bb4762{height:52px !important;align-items:center !important}}
@media (min-width:768px){
/* Top bar: email left, phone right, both 24px from the edge. */
.zf-location-header .zf-element-1bb4762 > .e-con{flex:1 1 0 !important;width:auto !important;max-width:none !important}
.zf-location-header .zf-element-1bb4762 > .e-con > .e-con-inner{max-width:none !important;width:100% !important;margin:0 !important;flex-direction:row !important}
.zf-location-header .zf-element-5290d4a > .e-con-inner{justify-content:flex-start !important}
.zf-location-header .zf-element-126bf79 > .e-con-inner{justify-content:flex-end !important}
}

/* Top bar: email and phone optically centred (the font's figures sit low, so the text is lifted 3px). */
.zf-location-header .zf-element-1bb4762 .zf-widget-text-editor a{position:relative;top:-3px}
/* smaller lift on smaller text */
@media (min-width:768px) and (max-width:1024px){.zf-location-header .zf-element-1bb4762 .zf-widget-text-editor a{top:-2px}}
@media (max-width:767px){.zf-location-header .zf-element-1bb4762 .zf-widget-text-editor a{top:-1.5px}}

/* Top bar (768px and up): email next to the phone on the right, a thin vertical line between them. */
@media (min-width:768px){
.zf-location-header .zf-element-1bb4762{justify-content:flex-end !important}
.zf-location-header .zf-element-1bb4762 > .e-con{flex:0 0 auto !important;width:auto !important}
.zf-location-header .zf-element-126bf79{display:flex !important;flex-direction:row !important;align-items:center !important}
.zf-location-header .zf-element-1bb4762 > .zf-element-126bf79.e-con > .e-con-inner{border-left:1px solid rgba(255,255,255,.7) !important;margin-left:18px !important;padding-left:18px !important;height:20px !important;align-items:center !important;overflow:visible !important}
}
