/* PDH-Lattiat vedos: sivuston yhteiset tyylit */
html{scroll-behavior:smooth}
body{color:#3A3A3A}
.elementor-location-header{position:sticky;top:0;z-index:50;box-shadow:0 1px 0 rgba(20,20,20,.08)}
.ds-logo img{width:150px;height:auto;display:block}
.ds-eyebrow p{font-family:Poppins,sans-serif;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin:0;color:#8A5A2B}
.ds-lead p,.ds-lead{font-size:18px;line-height:1.6}
.ds-small p{font-size:14px;color:#555;margin:0}
.elementor-widget-text-editor p:last-child{margin-bottom:0}
.ds-center>.e-con-inner>.elementor-widget-heading,.ds-center>.e-con-inner>.elementor-widget-text-editor{text-align:center}
.ds-center>.e-con-inner>.elementor-widget-text-editor{max-width:720px;margin-left:auto;margin-right:auto}

/* otsikkokoot tagin mukaan (heading-widget käyttää muuten globaalia kokoa) */
.elementor-widget-heading h1.elementor-heading-title{font-size:44px;line-height:1.15}
.elementor-widget-heading h2.elementor-heading-title{font-size:32px;line-height:1.2}
.elementor-widget-heading h3.elementor-heading-title{font-size:20px;line-height:1.3}
@media (max-width:767px){.elementor-widget-heading h1.elementor-heading-title{font-size:30px}.elementor-widget-heading h2.elementor-heading-title{font-size:26px}.elementor-widget-heading h3.elementor-heading-title{font-size:18px}}

/* napit */
.ds-btns{width:auto}
.ds-btn .elementor-button{border:2px solid #CF945F;transition:background .2s,color .2s,border-color .2s}
.ds-btn .elementor-button:hover,.ds-btn .elementor-button:focus{border-color:#141414}
.elementor-widget-button.ds-btn-ghost .elementor-button,.elementor-widget-button.ds-btn-outline .elementor-button{background:transparent;color:#141414;border-color:#141414}
.elementor-widget-button.ds-btn-ghost .elementor-button:hover,.elementor-widget-button.ds-btn-outline .elementor-button:hover{background:#141414;color:#fff}
.elementor-widget-button.ds-btn-light .elementor-button{background:transparent;color:#fff;border-color:#fff}
.elementor-widget-button.ds-btn-light .elementor-button:hover{background:#fff;color:#141414;border-color:#fff}

/* flex-tasaukset (varmistus) */
.ds-grid{justify-content:center}
.ds-hero,.ds-split{align-items:center}
.ds-head{justify-content:space-between;align-items:center}
.ds-head-right{justify-content:flex-end;align-items:center}
.ds-center>.e-con-inner>.ds-btns,.ds-dark .ds-btns{justify-content:center}
.ds-dark>.e-con-inner{align-items:center}
.ds-certs,.ds-fbottom{align-items:center}
.ds-fbottom{justify-content:space-between}
.ds-fact br{display:none}
.ds-flogo{text-align:left}

/* hero ja split */
.ds-hero>.e-con,.ds-split>.e-con,.ds-two>.e-con{flex:1 1 0;min-width:0}
.ds-hero-img img,.ds-split-img img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;display:block}
.ds-hero .elementor-widget-heading h1{margin:0}

/* ruudukot: leveys calc((100% - välit) / sarakkeet), vajaa rivi keskelle */
.elementor .ds-grid{--ds-gap:24px;width:100%}
.elementor .ds-grid>.e-con{--ds-w:calc((100% - (var(--ds-cols) - 1) * var(--ds-gap)) / var(--ds-cols));width:var(--ds-w)!important;flex:0 0 var(--ds-w)!important;max-width:var(--ds-w)}
.ds-cols-2{--ds-cols:2}.ds-cols-3{--ds-cols:3}.ds-cols-4{--ds-cols:4}
@media (max-width:1024px){.ds-cols-3,.ds-cols-4{--ds-cols:2}}
@media (max-width:767px){.ds-cols-2,.ds-cols-3,.ds-cols-4{--ds-cols:1}.ds-gallery.ds-cols-3,.ds-gallery.ds-cols-4{--ds-cols:2}.ds-gallery{--ds-gap:12px}}

/* kortit */
.ds-card{background:#fff;border:1px solid #E4E1DB;border-radius:6px;overflow:hidden}
.ds-card-plain{padding:24px}
.ds-sec[class*="ds-"] .ds-card h3{margin:0}
.ds-card h3 a{color:#141414;text-decoration:none}
.ds-card h3 a:hover{color:#8A5A2B}
.ds-card-img img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.ds-more{font-family:Poppins,sans-serif;font-weight:600;font-size:14px;color:#8A5A2B;text-decoration:none}
.ds-more:hover{text-decoration:underline}
.ds-center .ds-card{text-align:left}
.ds-role{font-size:14px;color:#555;margin-bottom:8px}
.ds-person a{color:#8A5A2B}

/* faktapalkki */
.ds-factbar{border-bottom:1px solid #E4E1DB}
.ds-fact p{font-size:14px;color:#555;margin:0}
.ds-fact strong{display:block;margin-bottom:4px;font-family:Poppins,sans-serif;font-size:16px;color:#141414}

/* galleria: tasainen 4:3 */
.ds-gitem{overflow:hidden;border-radius:6px}
.ds-gimg img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .3s}
.ds-gimg a:hover img{transform:scale(1.03)}

/* listat */
.ds-list{list-style:none;padding:0;margin:0 0 16px}
.ds-list li{position:relative;padding-left:22px;margin-bottom:8px}
.ds-list li:before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;background:#CF945F}

/* tumma CTA */
.ds-dark .elementor-widget-text-editor p{color:#E6E3DE}
.ds-dark a{color:#CF945F}
.ds-cta-mail p{font-size:15px}

/* lomake */
.ds-form-box{border-radius:6px;border:1px solid #E4E1DB}
.ds-form .elementor-field-group .elementor-field{border:1px solid #B8B5AF;border-radius:4px;background:#fff;color:#141414}
.ds-form .elementor-field-label{font-size:14px;font-weight:600;color:#141414}
.ds-form .elementor-button[type=submit]{background:#141414;color:#fff;border:2px solid #141414}
.ds-form .elementor-button[type=submit]:hover{background:#CF945F;color:#141414;border-color:#CF945F}
.ds-map{width:100%;height:320px;border:0;border-radius:6px;display:block}

/* alatunniste */
.ds-footer{border-top:1px solid #E4E1DB}
.ds-fgrid>.e-con{flex:1 1 200px!important}
.ds-flogo img{width:140px;height:auto}
.ds-footer h2.ds-fh,.ds-fh .elementor-heading-title{font-size:16px!important;margin:0}
.ds-footer p,.ds-footer li{font-size:14px;color:#3A3A3A}
.ds-footer a{color:#141414;text-decoration:underline;text-underline-offset:2px}
.ds-footer a:hover{color:#8A5A2B}
.ds-flinks{list-style:none;margin:0;padding:0}
.ds-flinks li{margin-bottom:6px}
.ds-cert img{height:56px;width:auto}
.ds-certs{width:auto}
.ds-fbottom{border-top:1px solid #E4E1DB;padding-top:20px!important}
.ds-copy p{font-size:13px;color:#555}
.ds-legal-links a,.ds-legal-links button{font-size:13px;color:#141414!important;background:none!important;border:0!important;padding:0 !important;text-decoration:underline;cursor:pointer;font-family:inherit}
.ds-legal-links{display:flex;gap:20px;flex-wrap:wrap}

/* tietosuoja */
.ds-legal h2{font-size:20px;margin-top:28px}

@media (max-width:767px){
 .ds-head-right .ds-btn{display:none}
 .ds-logo img{width:120px}
 .ds-lead p{font-size:16px}
}

/* mobiiliheader: logo ja valikkopainike samalle riville */
@media (max-width:1024px){
 .elementor .ds-head{flex-wrap:nowrap!important}
 .elementor .ds-head>.e-con,.elementor .ds-head-right{width:auto!important;flex:0 0 auto!important}
 .ds-head>.elementor-widget-image{flex:0 0 auto}
}
.ds-map{background:#E4E1DB}
