/* Parvekelasihuolto PT: sivuston ilme. Värit vanhalta sivulta (grafiitti, kivi, vihreä painike). */
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/bricolage-grotesque-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/bricolage-grotesque-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:800;font-display:swap;src:url(fonts/bricolage-grotesque-latin-800-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:600 800;font-display:swap;src:url(fonts/bricolage-grotesque-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Figtree";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/figtree-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Figtree";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/figtree-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Figtree";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/figtree-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Figtree";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/figtree-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Figtree";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/figtree-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --pt-ink:#15181B;--pt-ink-2:#22262A;--pt-stone:#514D4D;--pt-text:#2A2E33;--pt-muted:#5E6369;
  --pt-paper:#F4F2EC;--pt-mist:#E6EAE8;--pt-line:#DCD8CE;--pt-white:#fff;
  --pt-go:#5BB512;--pt-go-hi:#6CCB1E;--pt-go-ink:#0F1A05;
  --pt-hf:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;
  --pt-bf:"Figtree",ui-sans-serif,system-ui,sans-serif;
  --pt-r:14px;--pt-r-sm:10px;
  --pt-shadow:0 1px 2px rgba(21,24,27,.06),0 12px 32px -12px rgba(21,24,27,.18);
  /* parvekelasin pystysaumat: tunnuskuvio */
  --pt-panes:repeating-linear-gradient(90deg,transparent 0,transparent calc(16.666% - 1px),rgba(255,255,255,.09) calc(16.666% - 1px),rgba(255,255,255,.09) 16.666%);
}
body{font-family:var(--pt-bf);color:var(--pt-text);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:#fff}
body .elementor-widget-text-editor,body .elementor-widget-text-editor p{font-family:var(--pt-bf)}
body a{color:inherit}
.pt-text a,.pt-intro a,.pt-prose a{color:var(--pt-ink);text-decoration:underline;text-decoration-color:var(--pt-go);text-decoration-thickness:2px;text-underline-offset:3px}
.pt-text a:hover,.pt-intro a:hover,.pt-prose a:hover{text-decoration-color:var(--pt-ink)}
.elementor-widget:not(:last-child){margin-block-end:0}

/* ---------- osiot ---------- */
.pt-sec{position:relative}
.pt-sec > .e-con-inner{gap:40px}
.pt-sec--white{background:#fff}
.pt-sec--paper{background:var(--pt-paper)}
.pt-sec--mist{background:var(--pt-mist)}
.pt-sec--dark{background:var(--pt-ink);color:#E9EAEB}
.pt-sec--dark::before{content:"";position:absolute;inset:0;background:var(--pt-panes);pointer-events:none;opacity:.5}
.pt-sec--dark > .e-con-inner{position:relative}

/* ---------- typografia ---------- */
body .pt-eyebrow p,body .pt-eyebrow{font-family:var(--pt-bf);font-size:15px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--pt-stone);margin:0 0 12px;display:flex;align-items:center;gap:10px}
.pt-eyebrow p::before{content:"";width:22px;height:2px;background:var(--pt-go);display:inline-block;flex:none}
.pt-sec--dark .pt-eyebrow p,.pt-hero .pt-eyebrow p{color:#C9CDD1}
body .pt-h1 .elementor-heading-title{font-family:var(--pt-hf);font-weight:800;font-size:clamp(38px,5.2vw,68px);line-height:1.02;letter-spacing:-.025em;color:#fff;margin:0;text-wrap:balance}
body .pt-h1--dark .elementor-heading-title{color:var(--pt-ink);font-size:clamp(34px,4.4vw,56px)}
body .pt-h2 .elementor-heading-title{font-family:var(--pt-hf);font-weight:700;font-size:clamp(28px,3.2vw,44px);line-height:1.08;letter-spacing:-.02em;color:var(--pt-ink);margin:0;text-wrap:balance}
body .pt-h2--light .elementor-heading-title,.pt-sec--dark .pt-h2 .elementor-heading-title{color:#fff}
body .pt-h3 .elementor-heading-title{font-family:var(--pt-hf);font-weight:700;font-size:22px;line-height:1.2;letter-spacing:-.01em;color:var(--pt-ink);margin:0}
body .pt-lead,body .pt-lead p{font-size:clamp(18px,1.5vw,21px);line-height:1.55;color:#E3E5E7;max-width:640px;margin:0}
body .pt-lead--dark,body .pt-lead--dark p{color:var(--pt-text)}
body .pt-intro p{font-size:19px;line-height:1.6;color:var(--pt-muted);max-width:720px;margin:0}
body .pt-text p{margin:0 0 14px}
body .pt-text p:last-child{margin-bottom:0}
body .pt-text--light p{color:#D5D8DB}
.pt-head{gap:14px;max-width:820px}
.pt-head .pt-intro{margin-top:4px}

/* ---------- painikkeet ---------- */
.pt-btns{gap:12px;flex-wrap:wrap;margin-top:8px}
.pt-btns > .elementor-widget{width:auto;flex:none}
body .pt-btn .elementor-button{font-family:var(--pt-bf);font-weight:700;font-size:16px;line-height:1;padding:17px 26px;border-radius:999px;border:2px solid transparent;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease;letter-spacing:.005em}
body .pt-btn .elementor-button:active{transform:translateY(1px)}
body .pt-btn--go .elementor-button{background:var(--pt-go);color:var(--pt-go-ink)}
body .pt-btn--go .elementor-button:hover{background:var(--pt-go-hi);color:var(--pt-go-ink)}
body .pt-btn--ghost .elementor-button{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.45)}
body .pt-btn--ghost .elementor-button:hover{background:#fff;color:var(--pt-ink);border-color:#fff}
body .pt-btn--dark .elementor-button{background:var(--pt-ink);color:#fff}
body .pt-btn--dark .elementor-button:hover{background:var(--pt-stone);color:#fff}
body .pt-btn--line .elementor-button{background:transparent;color:var(--pt-ink);border-color:var(--pt-ink)}
body .pt-btn--line .elementor-button:hover{background:var(--pt-ink);color:#fff}
body .pt-btn .elementor-button-icon{font-size:14px}
body .pt-btn .elementor-button-content-wrapper{gap:9px}

/* ---------- hero ---------- */
.pt-hero{position:relative;isolation:isolate;overflow:hidden}
.pt-hero::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(13,15,17,.88) 0%,rgba(13,15,17,.72) 38%,rgba(13,15,17,.25) 70%,rgba(13,15,17,.1) 100%),linear-gradient(0deg,rgba(13,15,17,.55) 0%,rgba(13,15,17,0) 45%)}
.pt-hero::after{content:"";position:absolute;inset:0;z-index:0;background:var(--pt-panes);opacity:.55;pointer-events:none}
.pt-hero > .e-con-inner{position:relative;z-index:1}
.pt-hero__inner{gap:20px;max-width:760px;animation:ptRise .7s cubic-bezier(.2,.7,.2,1) both}
.pt-hero--page{min-height:540px}
.pt-hero--page .pt-h1 .elementor-heading-title{font-size:clamp(34px,4.4vw,58px)}
.pt-chips .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:6px}
.pt-chips .elementor-icon-list-item{color:#DDE0E2;font-size:15px;font-weight:500;margin:0!important;padding:0!important}
.pt-chips .elementor-icon-list-item::after{display:none!important}
.pt-chips .elementor-icon-list-icon i{color:var(--pt-go);font-size:13px}
@keyframes ptRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* ---------- ruudukot ---------- */
.pt-grid{display:grid!important;gap:24px;width:100%}
.pt-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pt-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pt-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.pt-grid > .e-con{width:auto!important;max-width:none}

/* kortit */
.pt-card{background:#fff;border:1px solid var(--pt-line);border-radius:var(--pt-r);padding:28px!important;gap:12px;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.pt-sec--white .pt-card{background:var(--pt-paper);border-color:transparent}
.pt-card:hover{box-shadow:var(--pt-shadow);transform:translateY(-2px)}
.pt-card .pt-text p{color:var(--pt-muted);font-size:16px}
.pt-brand{gap:18px}
.pt-brandlogo img{height:40px;width:auto!important;max-width:180px;object-fit:contain}
.pt-models .pt-card .pt-h3 .elementor-heading-title{font-size:28px}

/* kuvakortit */
.pt-tile{position:relative;min-height:330px;border-radius:var(--pt-r);overflow:hidden;justify-content:flex-end!important;padding:24px!important;gap:6px;isolation:isolate;background-size:cover}
.pt-tile::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(13,15,17,.9) 0%,rgba(13,15,17,.55) 42%,rgba(13,15,17,.05) 75%);transition:background-color .3s ease}
.pt-tile::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--pt-panes);opacity:0;transition:opacity .35s ease}
.pt-tile:hover::after{opacity:.8}
.pt-tile .elementor-heading-title{font-family:var(--pt-hf);font-weight:700;font-size:24px;line-height:1.15;color:#fff;margin:0}
.pt-tile .elementor-heading-title a{color:#fff}
.pt-tile .elementor-heading-title a::after{content:"";position:absolute;inset:0;z-index:2}
.pt-tile .elementor-heading-title a::before{content:"→";display:inline-block;float:right;margin-left:10px;transition:transform .2s ease;color:var(--pt-go)}
.pt-tile:hover .elementor-heading-title a::before{transform:translateX(4px)}
.pt-tile__d p{color:#D9DCDF;font-size:15.5px;line-height:1.5;margin:0}
.pt-tile:focus-within{outline:3px solid var(--pt-go);outline-offset:3px}

/* faktat */
.pt-fact{gap:6px;border-left:2px solid var(--pt-go);padding:4px 0 4px 20px!important}
.pt-fact__big p{font-family:var(--pt-hf);font-weight:800;font-size:clamp(34px,3.6vw,48px);line-height:1;color:#fff;margin:0;letter-spacing:-.02em}
.pt-fact__small p{color:#BFC4C8;font-size:15.5px;line-height:1.5;margin:0}
.pt-facts--light .pt-fact__big p{color:var(--pt-ink)}
.pt-facts--light .pt-fact__small p{color:var(--pt-muted)}

/* jaettu kuva + teksti */
.pt-split{gap:56px;align-items:center;flex-wrap:nowrap!important}
.pt-split > .e-con{flex:1 1 50%;width:auto!important}
.pt-split__body{gap:16px}
.pt-photo img{width:100%!important;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--pt-r);display:block;box-shadow:var(--pt-shadow)}
.pt-split__media{position:relative}
.pt-split__media::after{content:"";position:absolute;right:-14px;bottom:-14px;width:46%;height:46%;border-right:2px solid var(--pt-go);border-bottom:2px solid var(--pt-go);border-radius:0 0 var(--pt-r) 0;pointer-events:none}
.pt-split--rev .pt-split__media::after{right:auto;left:-14px;border-right:0;border-left:2px solid var(--pt-go);border-radius:0 0 0 var(--pt-r)}

/* listat */
.pt-list .elementor-icon-list-item{align-items:flex-start!important;padding:7px 0!important;font-size:16.5px;color:var(--pt-text)}
.pt-list .elementor-icon-list-icon{margin-top:4px}
.pt-list .elementor-icon-list-icon i{color:var(--pt-ink);background:var(--pt-go);border-radius:50%;width:20px;height:20px;font-size:10px;display:inline-flex;align-items:center;justify-content:center}
.pt-list .elementor-icon-list-text{padding-left:10px}

/* vaiheet */
.pt-steps{counter-reset:none}
.pt-step{gap:10px;padding:26px 24px 28px!important;border-top:2px solid var(--pt-ink);background:transparent}
.pt-sec--paper .pt-step{background:#fff;border-radius:0 0 var(--pt-r) var(--pt-r)}
.pt-step__n p{font-family:var(--pt-hf);font-weight:800;font-size:40px;line-height:1;color:var(--pt-go);margin:0;letter-spacing:-.02em}
.pt-step .pt-text p{color:var(--pt-muted);font-size:16px}

/* paikkakunnat */
.pt-pills .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:10px}
.pt-pills .elementor-icon-list-item{display:inline-flex!important;align-items:center;gap:8px;margin:0!important;padding:10px 16px!important;border-radius:999px;border:1px solid var(--pt-line);background:#fff;font-weight:600;font-size:15.5px;color:var(--pt-text);transition:background-color .15s ease,color .15s ease}
.pt-pills .elementor-icon-list-item::after{display:none!important}
.pt-pills .elementor-icon-list-item:has(a){border-color:var(--pt-ink)}
.pt-pills .elementor-icon-list-item > a{display:inline-flex;align-items:center;gap:8px;color:var(--pt-ink)}
.pt-pills .elementor-icon-list-item:has(a):hover{background:var(--pt-ink)}
.pt-pills .elementor-icon-list-item:has(a):hover a,.pt-pills .elementor-icon-list-item:has(a):hover .elementor-icon-list-text{color:#fff}
.pt-pills .elementor-icon-list-item:has(a):hover .elementor-icon-list-icon i{color:var(--pt-go)}
.pt-pills .elementor-icon-list-icon i{font-size:12px;color:var(--pt-stone)}
.pt-pills .elementor-icon-list-text{padding:0!important;color:inherit}

/* rahoitusnauha */
.pt-band{align-items:center;justify-content:space-between;flex-wrap:nowrap!important}
.pt-band__body{gap:8px;max-width:760px}
.pt-band__body .pt-h2 .elementor-heading-title{font-size:clamp(24px,2.4vw,32px)}
.pt-band__act{width:auto!important;flex:none}

/* UKK */
.pt-faqrow{flex-wrap:nowrap!important;align-items:flex-start}
.pt-faq__head{flex:0 0 34%!important;width:auto!important;gap:14px;position:sticky;top:110px}
.pt-faq__body{flex:1 1 auto!important;width:auto!important}
body .pt-faq .elementor-accordion-item{border:0;border-bottom:1px solid var(--pt-line);background:transparent}
body .pt-faq .elementor-accordion-item:first-child{border-top:1px solid var(--pt-line)}
body .pt-faq .elementor-tab-title{padding:22px 4px;display:flex;align-items:center;gap:16px}
body .pt-faq .elementor-tab-title a,body .pt-faq .elementor-accordion-title{font-family:var(--pt-hf);font-weight:700;font-size:19px;line-height:1.3;color:var(--pt-ink)}
body .pt-faq .elementor-accordion-icon{order:2;margin-left:auto;font-size:14px;color:var(--pt-ink);width:32px;height:32px;border-radius:50%;border:1px solid var(--pt-line);display:inline-flex!important;align-items:center;justify-content:center;flex:none}
body .pt-faq .elementor-tab-title.elementor-active .elementor-accordion-icon{background:var(--pt-go);border-color:var(--pt-go)}
body .pt-faq .elementor-tab-content{border:0;padding:0 4px 24px;color:var(--pt-muted);font-size:16.5px}
body .pt-faq .elementor-tab-content p{margin:0}
body .pt-faq .elementor-tab-title.elementor-active a,body .pt-faq .elementor-tab-title.elementor-active .elementor-accordion-title,body .pt-faq .elementor-tab-title:hover a{color:var(--pt-ink)!important}
body .pt-faq .elementor-accordion-icon i,body .pt-faq .elementor-accordion-icon svg{color:var(--pt-ink);fill:var(--pt-ink);font-size:12px}

/* arvostelut */
.pt-reviews{width:100%}

/* CTA + lomake */
.pt-cta{background:var(--pt-ink)}
.pt-ctarow{flex-wrap:nowrap!important}
.pt-cta__body{flex:1 1 42%!important;width:auto!important;gap:16px}
.pt-cta__form{flex:1 1 58%!important;width:auto!important;background:#fff;border-radius:var(--pt-r);padding:32px!important;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.pt-contact .elementor-icon-list-item{padding:6px 0!important;font-size:17px}
.pt-contact .elementor-icon-list-item a,.pt-contact .elementor-icon-list-text{color:#fff}
.pt-contact .elementor-icon-list-icon i{color:var(--pt-go);font-size:15px;width:18px}
.pt-contact .elementor-icon-list-text{padding-left:10px}
.pt-contact--big .elementor-icon-list-item a,.pt-contact--big .elementor-icon-list-text{color:var(--pt-ink);font-weight:600;font-size:19px}
body .pt-form .elementor-field-group{margin-bottom:14px}
body .pt-form .elementor-field-label{font-family:var(--pt-bf);font-weight:600;font-size:14.5px;color:var(--pt-ink);margin-bottom:6px}
body .pt-form .elementor-field-textual{font-family:var(--pt-bf);font-size:16px;color:var(--pt-ink);background:#FAFAF8;border:1px solid #CFCBC1;border-radius:var(--pt-r-sm);padding:12px 14px;min-height:48px}
body .pt-form .elementor-field-textual:focus{border-color:var(--pt-ink);box-shadow:0 0 0 3px rgba(91,181,18,.35);outline:0;background:#fff}
body .pt-form .elementor-field-subgroup{gap:8px 10px;display:flex;flex-wrap:wrap}
body .pt-form .elementor-field-subgroup .elementor-field-option{margin:0}
body .pt-form .elementor-field-option label{display:inline-flex;align-items:center;padding:8px 13px;border:1px solid #CFCBC1;border-radius:999px;font-size:14.5px;cursor:pointer;color:var(--pt-text);transition:background-color .15s ease,border-color .15s ease}
body .pt-form .elementor-field-option input{position:absolute;opacity:0;width:1px;height:1px}
body .pt-form .elementor-field-option input:checked + label{background:var(--pt-ink);border-color:var(--pt-ink);color:#fff}
body .pt-form .elementor-field-option input:focus-visible + label{outline:3px solid var(--pt-go);outline-offset:2px}
body .pt-form .elementor-button{font-family:var(--pt-bf);font-weight:700;font-size:17px;background:var(--pt-go);color:var(--pt-go-ink);border-radius:999px;padding:18px 26px;width:100%;transition:background-color .18s ease}
body .pt-form .elementor-button:hover{background:var(--pt-go-hi)}
body .pt-form .elementor-mark-required .elementor-field-label::after{color:#B3261E}
body .pt-form .elementor-message{font-size:15.5px;margin-top:12px}
body .pt-form .elementor-message-success{color:#2E6B05}

/* yhteystiedot */
.pt-ytrow{flex-wrap:nowrap!important}
.pt-yt__info{flex:1 1 46%!important;width:auto!important;gap:18px}
.pt-yt__form{flex:1 1 54%!important;width:auto!important;background:#fff;border-radius:var(--pt-r);padding:32px!important;gap:18px;box-shadow:var(--pt-shadow)}
.pt-social .elementor-social-icon{background:var(--pt-ink)!important;font-size:16px}
.pt-social .elementor-social-icon:hover{background:var(--pt-stone)!important}
.pt-map iframe{border-radius:var(--pt-r);filter:grayscale(.35)}

/* tietosuoja */
.pt-legal > .e-con-inner{gap:18px}
.pt-prose h2{font-family:var(--pt-hf);font-weight:700;font-size:24px;color:var(--pt-ink);margin:34px 0 10px}
.pt-prose p,.pt-prose li{font-size:16.5px;color:var(--pt-text)}
.pt-evasteet{width:100%;border-collapse:collapse;font-size:15px;margin-top:12px;background:#fff}
.pt-evasteet th,.pt-evasteet td{border:1px solid var(--pt-line);padding:10px 12px;text-align:left;vertical-align:top}
.pt-evasteet th{background:var(--pt-mist);font-weight:600}

/* ---------- header ---------- */
.elementor-location-header{position:sticky;top:0;z-index:999}
.admin-bar .elementor-location-header{top:32px}
.pt-header{background:var(--pt-ink)!important;border-bottom:1px solid rgba(255,255,255,.08)}
.pt-hdr{flex-wrap:nowrap!important;justify-content:space-between}
.pt-hdr > .elementor-widget{width:auto;flex:none}
.pt-hdr > .pt-nav{flex:1 1 auto;display:flex;justify-content:center}
.pt-brand{display:inline-flex;align-items:center}
.pt-brand img{height:46px;width:auto;display:block}
body .pt-nav .elementor-nav-menu--main .elementor-item{font-family:var(--pt-bf);font-weight:600;font-size:15.5px;color:#E7E9EA;padding:12px 14px}
body .pt-nav .elementor-nav-menu--main .elementor-item:hover,body .pt-nav .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#fff}
body .pt-nav .elementor-nav-menu--main .elementor-item.elementor-item-active{box-shadow:inset 0 -2px 0 var(--pt-go)}
body .pt-nav .elementor-nav-menu--dropdown{background:#fff;border-radius:var(--pt-r-sm);box-shadow:var(--pt-shadow);overflow:hidden}
body .pt-nav .elementor-nav-menu--main .elementor-nav-menu--dropdown{min-width:260px!important;padding:6px 0}
body .pt-nav .elementor-nav-menu--dropdown a{color:var(--pt-ink)!important;font-family:var(--pt-bf);font-weight:500;font-size:15.5px;padding:12px 18px!important;background:transparent!important}
body .pt-nav .elementor-nav-menu--dropdown a:hover,body .pt-nav .elementor-nav-menu--dropdown a.elementor-item-active{background:var(--pt-paper)!important}
body .pt-nav .elementor-menu-toggle{background:transparent;color:#fff;font-size:24px;border:1px solid rgba(255,255,255,.3);border-radius:10px;padding:8px}
body .pt-nav .elementor-menu-toggle svg{fill:#fff}
.pt-hdr__act{display:flex;align-items:center;gap:16px}
.pt-hdr__tel{display:inline-flex;align-items:center;gap:8px;color:#fff!important;font-weight:700;font-size:16px;white-space:nowrap}
.pt-ico--tel{width:16px;height:16px;background:var(--pt-go);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E") center/contain no-repeat}
.pt-hdr__cta{display:inline-flex;align-items:center;background:var(--pt-go);color:var(--pt-go-ink)!important;font-weight:700;font-size:15.5px;padding:12px 20px;border-radius:999px;white-space:nowrap;transition:background-color .18s ease}
.pt-hdr__cta:hover{background:var(--pt-go-hi)}

/* ---------- footer ---------- */
.pt-footer{background:#0F1113!important;color:#C3C7CB}
.pt-ft{flex-wrap:nowrap!important;align-items:flex-start}
.pt-ft > .e-con{flex:1 1 0!important;width:auto!important}
.pt-ft__col--yr{flex:1.3 1 0!important}
.pt-ft__h{font-family:var(--pt-hf)!important;font-weight:700;font-size:18px!important;color:#fff!important;margin:6px 0 16px!important}
.pt-footer ul{list-style:none;margin:0;padding:0}
.pt-footer li{margin:0 0 9px;font-size:15.5px;line-height:1.45}
.pt-footer a{color:#E3E5E7;text-decoration:none}
.pt-footer a:hover{color:var(--pt-go-hi);text-decoration:underline}
.pt-brand--ft img{height:54px}
.pt-ft__lead{margin:16px 0 14px;font-size:15.5px;color:#C3C7CB;max-width:320px}
.pt-ft__nap li{color:#C3C7CB}
.pt-ft__some{display:flex;gap:16px;margin:14px 0 0;font-weight:600}
.pt-ft__cities{font-size:15.5px;line-height:1.8;color:#C3C7CB;margin:0}
.pt-ft__bot{display:flex;flex-wrap:wrap;gap:8px 26px;border-top:1px solid rgba(255,255,255,.1);margin-top:44px;padding-top:22px;font-size:14.5px;color:#9AA0A5}
.pt-ft__bot a{color:#C3C7CB}

/* ---------- liike ---------- */
@media (prefers-reduced-motion:no-preference){
  .pt-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
  .pt-reveal.is-in{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){.pt-hero__inner{animation:none}}

/* ---------- tabletti ---------- */
@media (max-width:1024px){
  .pt-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pt-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pt-ft{flex-wrap:wrap!important}
  .pt-ft > .e-con{flex:1 1 calc(50% - 40px)!important}
  .pt-hdr__tel{display:none}
  .pt-hdr > .pt-nav{order:3;flex:none;justify-content:flex-end}
  .pt-faq__head{flex-basis:38%!important}
}
/* ---------- mobiili ---------- */
@media (max-width:767px){
  body{font-size:16.5px}
  body .pt-sec{--padding-top:64px!important;--padding-bottom:64px!important;--padding-left:18px!important;--padding-right:18px!important}
  .pt-sec > .e-con-inner{gap:28px}
  body .pt-hero{--padding-top:110px!important;--padding-bottom:56px!important;--min-height:0px!important;min-height:0!important}
  .pt-hero::before{background:linear-gradient(0deg,rgba(13,15,17,.92) 0%,rgba(13,15,17,.7) 55%,rgba(13,15,17,.35) 100%)}
  .pt-hero .pt-btns > .elementor-widget{width:100%}
  .pt-hero .pt-btn .elementor-button{width:100%;justify-content:center}
  .pt-grid--2,.pt-grid--3,.pt-grid--4{grid-template-columns:minmax(0,1fr)}
  .pt-facts.pt-grid--4{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}
  .pt-tile{min-height:250px}
  .pt-split,.pt-faqrow,.pt-ctarow,.pt-ytrow,.pt-band{flex-wrap:wrap!important;gap:28px}
  .pt-split > .e-con,.pt-faq__head,.pt-faq__body,.pt-cta__body,.pt-cta__form,.pt-yt__info,.pt-yt__form,.pt-band__body,.pt-band__act{flex:1 1 100%!important;width:100%!important;position:static}
  .pt-split--rev .pt-split__media{order:-1}
  .pt-split__media::after{display:none}
  .pt-cta__form,.pt-yt__form{padding:22px!important}
  .pt-ft > .e-con{flex:1 1 100%!important}
  .pt-hdr__cta{padding:10px 14px;font-size:14.5px}
  .pt-brand img{height:38px}
  body .pt-faq .elementor-tab-title a,body .pt-faq .elementor-accordion-title{font-size:17.5px}
}

/* oppaat */
.pt-guide{position:relative;gap:10px;background:#fff;border:1px solid var(--pt-line);border-radius:var(--pt-r);padding:22px 22px 24px!important;transition:border-color .2s ease,transform .2s ease}
.pt-sec--white .pt-guide{background:var(--pt-paper);border-color:transparent}
.pt-guide:hover{transform:translateY(-2px);border-color:var(--pt-ink)}
.pt-guide__l p{font-size:13.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pt-stone);margin:0}
.pt-guide__t .elementor-heading-title{font-family:var(--pt-hf);font-weight:700;font-size:19px;line-height:1.25;color:var(--pt-ink);margin:0}
.pt-guide__t .elementor-heading-title a{color:var(--pt-ink)}
.pt-guide__t .elementor-heading-title a::after{content:"";position:absolute;inset:0}

/* Trustindex-karuselli ei saa leventää sivua mobiilissa */
.pt-reviews,.pt-reviews .elementor-shortcode{max-width:100%;min-width:0;overflow:hidden}
.pt-sec{overflow-x:clip}

/* Ikonilistojen tekstiväri: Elementorin oletus (kivenharmaa) ei saa periytyä tummalle pohjalle */
body .pt-chips .elementor-icon-list-text{color:#EEF0F1;text-shadow:0 1px 2px rgba(0,0,0,.55);padding-left:6px}
body .pt-list .elementor-icon-list-text{color:var(--pt-text)}
body .pt-contact .elementor-icon-list-text,body .pt-contact .elementor-icon-list-item a{color:#fff}
body .pt-contact--big .elementor-icon-list-text,body .pt-contact--big .elementor-icon-list-item a{color:var(--pt-ink)}
