/* RakennusKemell Oy: sivuston tyylit (ladataan Elementorin jälkeen) */
:root{
  --rk-ink:#232323;
  --rk-ink2:#1B1B1B;
  --rk-amber:#F5B515;
  --rk-amber-d:#E0A30A;
  --rk-cream:#F6F5F1;
  --rk-text:#3A3A38;
  --rk-muted:#6B6B67;
  --rk-line:#E4E2DC;
}

/* ---------- perusta ---------- */
body{ -webkit-font-smoothing:antialiased; color:var(--rk-text); overflow-x:clip; }
body .elementor-widget-heading .elementor-heading-title{ color:var(--rk-ink); }
.elementor-widget-text-editor p{ margin:0 0 1em; }
.elementor-widget-text-editor p:last-child{ margin-bottom:0; }
.rk-body p{ max-width:66ch; }
a{ color:var(--rk-ink); }

/* ---------- yläotsikko ---------- */
.rk-eyebrow{ margin-bottom:-4px; }
.rk-eyebrow p{
  font-family:'Inter',sans-serif; font-weight:500; font-size:16px; letter-spacing:1.2px;
  text-transform:uppercase; color:#8A6A10; margin:0;
}
.rk-eyebrow-light p{ color:var(--rk-amber); }

/* ---------- napit ---------- */
.rk-btn .elementor-button{
  font-family:'Inter',sans-serif; font-weight:600; font-size:16px; letter-spacing:.2px;
  border-radius:3px; padding:15px 26px; border:1px solid transparent;
  transition:background .18s ease,border-color .18s ease,color .18s ease;
}
.rk-btn-amber .elementor-button{ background:var(--rk-amber); color:var(--rk-ink); border-color:var(--rk-amber); }
.rk-btn-amber .elementor-button:hover,.rk-btn-amber .elementor-button:focus{ background:var(--rk-amber-d); border-color:var(--rk-amber-d); color:var(--rk-ink); }
.rk-btn-dark .elementor-button{ background:var(--rk-ink); color:#fff; border-color:var(--rk-ink); }
.rk-btn-dark .elementor-button:hover{ background:#000; border-color:#000; color:#fff; }
.rk-btn-ghost .elementor-button{ background:transparent; color:#fff; border-color:rgba(255,255,255,.5); }
.rk-btn-ghost .elementor-button:hover,.rk-btn-ghost .elementor-button:focus{ background:#fff; border-color:#fff; color:var(--rk-ink); }
.rk-btn-line .elementor-button{ background:transparent; color:var(--rk-ink); border-color:var(--rk-ink); }
.rk-btn-line .elementor-button:hover{ background:var(--rk-ink); color:#fff; }
.rk-btn-sm .elementor-button{ padding:12px 20px; font-size:15px; }
.rk-link .elementor-button{
  padding:0; background:transparent; border:0; border-radius:0; color:var(--rk-ink);
  font-size:16px; box-shadow:inset 0 -2px 0 0 var(--rk-amber-d);
}
.rk-link .elementor-button:hover{ background:transparent; color:#000; box-shadow:inset 0 -2px 0 0 var(--rk-ink); }
.e-con.rk-btns{ --width:auto; margin-top:8px; }
.rk-btns .elementor-widget-button{ width:auto; flex:0 0 auto; }

/* ---------- ylätunniste ---------- */
header.elementor-location-header{ position:sticky; top:0; z-index:99; }
.rk-header{ box-shadow:0 1px 0 rgba(255,255,255,.06); }
.rk-header-row{ --width:100%; flex-wrap:nowrap !important; }
.rk-header .rk-logo{ flex:0 0 auto; width:auto; }
.rk-header .rk-logo img{ height:62px; width:auto; max-width:none; display:block; }
.rk-header .elementor-widget-nav-menu{ flex:1 1 auto; min-width:0; }
.rk-header .rk-header-cta{ flex:0 0 auto; width:auto; white-space:nowrap; }
.rk-nav .elementor-nav-menu--main .elementor-nav-menu{ justify-content:flex-end; }
.rk-nav .elementor-nav-menu--main .elementor-item{
  font-family:'Inter',sans-serif; font-weight:500; font-size:16.5px; color:#fff;
  padding:12px 13px;
}
.rk-nav .elementor-nav-menu--main .elementor-item:hover,
.rk-nav .elementor-nav-menu--main .elementor-item.elementor-item-active{ color:var(--rk-amber); }
.rk-nav .elementor-nav-menu--main .sub-menu{ background:#fff; box-shadow:0 12px 28px rgba(0,0,0,.14); border-radius:3px; min-width:240px; }
.rk-nav .elementor-nav-menu--main .sub-menu .elementor-sub-item{
  font-family:'Inter',sans-serif; font-size:16px; color:var(--rk-ink); padding:13px 20px;
  border-left:0;
}
.rk-nav .elementor-nav-menu--main .sub-menu .elementor-sub-item:hover,
.rk-nav .elementor-nav-menu--main .sub-menu .elementor-sub-item.elementor-item-active{ background:var(--rk-cream); color:var(--rk-ink); }
.rk-header .elementor-menu-toggle{ background:transparent; color:#fff; font-size:26px; }
.rk-header .elementor-menu-toggle svg{ fill:#fff; width:26px; height:26px; }
@media (max-width:1024px){
  .rk-header .rk-logo img{ height:52px; }
  .rk-header .rk-header-cta{ display:none !important; }
  .rk-header-row{ justify-content:space-between; position:relative; }
  .rk-header, .rk-header > .e-con-inner, .rk-header-row, .rk-header .elementor-widget-nav-menu{ position:static !important; }
  .rk-header{ position:relative !important; }
  .rk-header .elementor-widget-nav-menu{ flex:0 0 auto; width:auto; }
  .rk-header nav.elementor-nav-menu--dropdown{
    position:absolute !important; top:100% !important; left:0 !important; right:0 !important;
    width:100% !important; max-width:100% !important; background:#fff;
    box-shadow:0 14px 28px rgba(0,0,0,.14);
  }
  .rk-header nav.elementor-nav-menu--dropdown .elementor-item,
  .rk-header nav.elementor-nav-menu--dropdown .elementor-sub-item{
    font-family:'Inter',sans-serif; font-size:17px; color:var(--rk-ink) !important;
    background:#fff !important; padding:15px 24px; border-bottom:1px solid var(--rk-line);
  }
  .rk-header nav.elementor-nav-menu--dropdown .elementor-sub-item{ padding-left:40px; font-size:16px; }
  .rk-header nav.elementor-nav-menu--dropdown .elementor-item.elementor-item-active{ background:var(--rk-cream) !important; }
}

/* ---------- ruudukot ---------- */
.e-con.rk-row{ --width:100%; }
@media (min-width:768px){
  .rk-split > .e-con.rk-col-a{ --width:auto; flex:0 1 calc(52% - 28px); }
  .rk-split > .e-con.rk-col-b{ --width:auto; flex:0 1 calc(48% - 28px); }
  .rk-split-contact > .e-con.rk-col-a{ flex:0 1 calc(58% - 28px); }
  .rk-split-contact > .e-con.rk-col-b{ flex:0 1 calc(42% - 28px); }
  .rk-split-half > .e-con.rk-col-a,
  .rk-split-half > .e-con.rk-col-b{ --width:auto; flex:0 1 calc(50% - 10px); }
  .rk-grid-2 > .e-con.rk-col{ --width:auto; flex:0 1 calc((100% - 40px)/2); }
  .rk-grid-3 > .e-con.rk-col{ --width:auto; flex:1 1 0; min-width:0; }
  .rk-grid-4 > .e-con.rk-col{ --width:auto; flex:1 1 0; min-width:0; }
}
@media (min-width:768px) and (max-width:1024px){
  .rk-grid-4 > .e-con.rk-col{ flex:0 1 calc(50% - 20px); }
  .rk-grid-3 > .e-con.rk-col{ flex:0 1 calc(50% - 20px); }
  .rk-grid-3 > .e-con.rk-col:last-child:nth-child(3){ flex:1 1 100%; }
  .rk-split > .e-con.rk-col-a, .rk-split > .e-con.rk-col-b{ flex:1 1 100%; }
}
@media (max-width:767px){
  .e-con.rk-col, .e-con.rk-col-a, .e-con.rk-col-b{ --width:auto; flex:1 1 100%; }
  .rk-grid-4.rk-row{ --flex-direction:row !important; --flex-wrap:wrap !important; flex-direction:row !important; flex-wrap:wrap !important; }
  .rk-grid-4 > .e-con.rk-strip, .rk-grid-4 > .e-con.rk-tile{ flex:0 1 calc(50% - 8px); }
  .rk-split-rev{ flex-direction:column-reverse !important; --flex-direction:column-reverse !important; }
}
.rk-grid-3 > .e-con.rk-col, .rk-grid-4 > .e-con.rk-col{ align-self:stretch; }

/* ---------- hero ---------- */
.rk-hero .rk-hero-h1 .elementor-heading-title{ color:#fff; font-size:50px; line-height:1.12; max-width:none; }
.rk-hero-plain .rk-hero-h1 .elementor-heading-title{ max-width:22ch; }
.rk-hero-sub p{ color:rgba(255,255,255,.86); font-size:19px; line-height:1.6; max-width:58ch; }
.rk-hero-sub{ max-width:640px !important; }
.rk-hero-img img{ width:100%; height:480px; object-fit:cover; display:block; border-radius:3px; }
.rk-hero-img a, .rk-hero-img figure{ display:block; width:100%; }
@media (max-width:1024px){
  .rk-hero .rk-hero-h1 .elementor-heading-title{ font-size:40px; max-width:none; }
  .rk-hero-img img{ height:360px; }
}
@media (max-width:767px){
  .rk-hero .rk-hero-h1 .elementor-heading-title{ font-size:31px; }
  .rk-hero-sub p{ font-size:17px; }
  .rk-hero-img img{ height:250px; }
  .e-con.rk-hero{ padding-top:44px !important; padding-bottom:48px !important; }
}

/* ---------- tumma ja kerma ---------- */
.rk-dark{ color:rgba(255,255,255,.84); }
body .rk-dark .elementor-widget-heading .elementor-heading-title{ color:#fff; }
.rk-dark .elementor-widget-text-editor, .rk-dark .elementor-widget-text-editor p{ color:rgba(255,255,255,.84); }
.rk-dark a{ color:#fff; }

/* ---------- mediaosio ---------- */
.rk-media-img img{ width:100%; aspect-ratio:4/3; height:auto; object-fit:cover; display:block; border-radius:3px; }
.rk-media-img a, .rk-media-img figure{ display:block; width:100%; }

/* ---------- faktat ---------- */
.rk-fact{ border-top:3px solid var(--rk-amber); padding-top:22px !important; }
body .rk-fact-title .elementor-heading-title{ font-size:21px; margin-bottom:6px; }
.rk-fact-text p{ font-size:17px; line-height:1.6; }

/* ---------- kortit ---------- */
.e-con.rk-card{ display:flex; flex-direction:column; gap:0; }
.rk-card-img img{ width:100%; aspect-ratio:4/3; height:auto; object-fit:cover; display:block; border-radius:3px; }
.rk-card-img a, .rk-card-img figure{ display:block; width:100%; }
.e-con.rk-card-body{ padding-top:22px !important; flex:1 1 auto; display:flex; flex-direction:column; }
body .rk-card-title .elementor-heading-title{ font-size:23px; }
.rk-card-text p{ font-size:17px; line-height:1.6; }
.rk-card .rk-link{ margin-top:auto; padding-top:10px; }

/* ---------- vaiheet ---------- */
.rk-step{ border-top:1px solid var(--rk-line); padding-top:20px !important; }
body .rk-step-num .elementor-heading-title{
  font-family:'PT Serif',serif; font-size:30px; color:#E0A30A; line-height:1;
}
body .rk-step-title .elementor-heading-title{ font-size:21px; }
.rk-step-text p{ font-size:17px; line-height:1.6; }
.rk-dark .rk-step{ border-color:rgba(255,255,255,.15); }

/* ---------- listat ---------- */
.rk-list .elementor-icon-list-item{ align-items:flex-start; }
.rk-list .elementor-icon-list-icon{ margin-top:6px; }
.rk-list .elementor-icon-list-icon i{ color:#E0A30A; font-size:14px; }
.rk-list .elementor-icon-list-text{ font-size:17px; line-height:1.55; color:var(--rk-text); }
.rk-list-light .elementor-icon-list-icon i{ color:var(--rk-amber); }
.rk-list-light .elementor-icon-list-text{ color:rgba(255,255,255,.88); }
.rk-nap-list .elementor-icon-list-icon i{ font-size:6px; }
.rk-nap-list .elementor-icon-list-icon{ margin-top:11px; }
.rk-nap-list a{ text-decoration:none; }
.rk-nap-list a:hover{ text-decoration:underline; }

/* ---------- kuvanauha ja ruudut ---------- */
.rk-strip-img img, .rk-tile-img img{ width:100%; aspect-ratio:1/1; height:auto; object-fit:cover; display:block; border-radius:3px; transition:opacity .2s; }
.rk-strip-img a, .rk-tile-img a, .rk-strip-img figure, .rk-tile-img figure{ display:block; width:100%; }
.rk-strip-img a:hover img, .rk-tile-img a:hover img{ opacity:.88; }
body .rk-tile-title .elementor-heading-title{ font-size:19px; margin-top:10px; }
body .rk-tile-title .elementor-heading-title a{ color:var(--rk-ink); text-decoration:none; }
body .rk-tile-title .elementor-heading-title a:hover{ text-decoration:underline; }

/* ---------- referenssit ---------- */
.rk-ref{ border-top:3px solid var(--rk-amber); padding-top:22px !important; }
.rk-ref-place p{ font-size:15px; letter-spacing:1px; text-transform:uppercase; color:#8A6A10; margin:0; }
body .rk-ref-title .elementor-heading-title{ font-size:23px; }
.rk-ref-text p{ font-size:17px; }
.rk-partners{ display:flex; flex-wrap:wrap; gap:14px 40px; margin:0 0 18px !important; }
.rk-partners span{ font-family:'PT Serif',serif; font-weight:700; font-size:26px; color:var(--rk-ink); }

/* ---------- galleria ---------- */
.rk-jump{ display:flex; flex-wrap:wrap; gap:10px; margin:0; }
.rk-jump a{ display:inline-block; padding:9px 16px; border:1px solid var(--rk-line); border-radius:3px; text-decoration:none; font-size:16px; color:var(--rk-ink); background:#fff; }
.rk-jump a:hover{ border-color:var(--rk-ink); }
body .rk-gal-title .elementor-heading-title{ font-size:30px; }
.rk-gallery .gallery{ display:grid !important; grid-template-columns:repeat(4,1fr); gap:12px; margin:0 !important; }
.rk-gallery .gallery-item{ float:none !important; width:auto !important; max-width:none !important; margin:0 !important; padding:0 !important; }
.rk-gallery .gallery-item img{ width:100%; aspect-ratio:4/3; height:auto; object-fit:cover; border:0 !important; border-radius:3px; display:block; }
.rk-gallery .gallery-icon, .rk-gallery .gallery-item a{ display:block; }
.rk-gallery .gallery-caption{ display:none; }
@media (max-width:1024px){ .rk-gallery .gallery{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:767px){ .rk-gallery .gallery{ grid-template-columns:repeat(2,1fr); gap:8px; } }
html{ scroll-padding-top:100px; }

/* ---------- ukk ---------- */
.rk-faq .elementor-accordion-item{ border:0 !important; border-bottom:1px solid var(--rk-line) !important; }
.rk-faq .elementor-accordion-item:first-child{ border-top:1px solid var(--rk-line) !important; }
.rk-faq .elementor-tab-title{ background:transparent !important; padding:20px 0 !important; border:0 !important; }
.rk-faq .elementor-tab-title, .rk-faq .elementor-tab-title a, .rk-faq .elementor-accordion-title{
  font-family:'PT Serif',serif; font-size:20px; font-weight:700; color:var(--rk-ink) !important; line-height:1.35;
}
.rk-faq .elementor-accordion-icon{ color:#8A6A10; }
.rk-faq .elementor-accordion-icon svg{ fill:#8A6A10; }
.rk-faq .elementor-tab-content{ border:0 !important; padding:0 0 22px !important; background:transparent; }
.rk-faq .elementor-tab-content, .rk-faq .elementor-tab-content p{ font-size:17px; line-height:1.65; color:var(--rk-text); }

/* ---------- tarjouskaista ---------- */
.rk-cta{ text-align:center; }
.rk-cta > .e-con-inner{ align-items:center; }
.rk-cta .rk-cta-text p{ text-align:left; max-width:60ch; font-size:18px; }
.rk-cta .e-con.rk-btns{ justify-content:center; }
body .rk-cta-title .elementor-heading-title{ text-align:center; }

/* ---------- yhteystiedot ja lomake ---------- */
.e-con.rk-nap{ background:var(--rk-cream); border-radius:3px; }
.rk-form .elementor-field-group > label, .rk-form .elementor-field-label{
  font-family:'Inter',sans-serif; font-size:15.5px; font-weight:600; color:var(--rk-ink);
}
.rk-form .elementor-field-textual{
  border:1px solid #D6D3CB !important; border-radius:3px !important; padding:13px 14px !important;
  font-size:17px !important; color:var(--rk-ink); background:#fff !important;
}
.rk-form .elementor-field-textual:focus{ border-color:var(--rk-ink) !important; outline:0; box-shadow:none; }
.rk-form .elementor-field-subgroup .elementor-field-option label{ font-size:16px; font-weight:400; }
.rk-form .elementor-button[type="submit"]{
  background:var(--rk-ink) !important; color:#fff !important; border-radius:3px; font-family:'Inter',sans-serif;
  font-weight:600; font-size:16px; padding:15px 30px;
}
.rk-form .elementor-button[type="submit"]:hover{ background:#000 !important; }
.rk-form .elementor-message{ font-size:16px; }
.elementor-field-group-rk_hp{
  position:absolute !important; left:0 !important; top:0 !important; width:1px !important; height:1px !important;
  overflow:hidden !important; margin:0 !important; padding:0 !important; opacity:0 !important;
  clip-path:inset(50%) !important; pointer-events:none !important;
}
.grecaptcha-badge{ visibility:hidden !important; }
.rk-recaptcha-note p{ font-size:13.5px; color:var(--rk-muted); }
.rk-recaptcha-note a{ color:var(--rk-muted); }

/* ---------- alatunniste ---------- */
.rk-footer{ color:rgba(255,255,255,.74); }
body .rk-footer .elementor-widget-heading .elementor-heading-title{
  color:#fff; font-family:'Inter',sans-serif; font-weight:600; font-size:17px; letter-spacing:.4px;
}
.rk-footer .elementor-widget-text-editor, .rk-footer .elementor-widget-text-editor p{ color:rgba(255,255,255,.72); font-size:16px; line-height:1.65; }
.rk-footer .elementor-icon-list-text{ color:rgba(255,255,255,.74) !important; font-size:16px; }
.rk-footer .elementor-icon-list-icon i{ color:var(--rk-amber) !important; font-size:12px; }
.rk-footer .elementor-icon-list-icon{ margin-top:6px; }
.rk-footer .elementor-icon-list-item{ align-items:flex-start; }
.rk-footer a{ color:rgba(255,255,255,.8); text-decoration:none; }
.rk-footer a:hover{ color:#fff; text-decoration:underline; }
.rk-footer .rk-footer-logo img{ height:78px; width:auto; display:block; }
.rk-footer-bottom{ border-top:1px solid rgba(255,255,255,.1); }
.rk-footer-bottom .elementor-widget-text-editor p{ font-size:14.5px; color:rgba(255,255,255,.56); }
.rk-footer-sc .elementor-widget-shortcode{ width:auto; flex:0 0 auto; }
.rk-footer .elementor-widget-shortcode button, .rk-footer .elementor-widget-shortcode a{
  display:inline-block; background:transparent; border:1px solid rgba(255,255,255,.3);
  color:rgba(255,255,255,.8); font-family:'Inter',sans-serif; font-size:14.5px; padding:9px 16px;
  border-radius:3px; cursor:pointer; text-decoration:none;
}
.rk-footer .elementor-widget-shortcode button:hover, .rk-footer .elementor-widget-shortcode a:hover{ border-color:#fff; color:#fff; }
@media (min-width:900px){
  .rk-footer-grid > .e-con.rk-col{ --width:auto; flex:0 1 calc(22% - 27px); }
  .rk-footer-grid > .e-con.rk-col:first-child{ flex:0 1 calc(34% - 27px); }
}
@media (min-width:768px) and (max-width:899px){
  .rk-footer-grid > .e-con.rk-col{ --width:auto; flex:0 1 calc(50% - 18px); }
}
@media (max-width:767px){
  .rk-footer-sc{ justify-content:flex-start !important; }
}

/* ---------- tietosuojaseloste ---------- */
.rk-legal h2{ font-size:24px; margin:34px 0 12px; }
.rk-legal p, .rk-legal li{ font-size:17px; line-height:1.7; }
.dsh-cookie-list__table{ width:100%; table-layout:fixed; }
.dsh-cookie-list__table th, .dsh-cookie-list__table td{ word-break:break-word; overflow-wrap:anywhere; }

/* ---------- osioiden sivureunat mobiilissa ---------- */
@media (max-width:767px){
  .e-con.rk-hero, .elementor-section-wrap > .e-con, .elementor > .e-con{ padding-left:18px !important; padding-right:18px !important; }
  .rk-partners span{ font-size:21px; }
}

/* ---------- ikonilistojen merkit CSS:llä (repeaterin ikoni ei renderöidy luotettavasti) ---------- */
.rk-list .elementor-icon-list-icon{ display:none !important; }
.rk-list .elementor-icon-list-item{ position:relative; padding-left:28px; }
.rk-list .elementor-icon-list-item::before{
  content:""; position:absolute; left:0; top:.45em; width:16px; height:16px; background:#E0A30A;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.2 11.6 2.6 8l1.1-1.1 2.5 2.5 6.1-6.1L13.4 4.4z'/%3E%3C/svg%3E") no-repeat center/contain;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.2 11.6 2.6 8l1.1-1.1 2.5 2.5 6.1-6.1L13.4 4.4z'/%3E%3C/svg%3E") no-repeat center/contain;
}
.rk-list-light .elementor-icon-list-item::before{ background:var(--rk-amber); }
.rk-nap-list .elementor-icon-list-item, .rk-footer .rk-list .elementor-icon-list-item{ padding-left:18px; }
.rk-nap-list .elementor-icon-list-item::before, .rk-footer .rk-list .elementor-icon-list-item::before{
  -webkit-mask:none; mask:none; width:6px; height:6px; border-radius:50%; top:.7em; background:#E0A30A;
}
.rk-footer .rk-list .elementor-icon-list-item::before{ background:var(--rk-amber); opacity:.7; }
.rk-list .elementor-icon-list-items{ display:flex; flex-direction:column; gap:8px; }
.rk-footer .rk-list .elementor-icon-list-items{ gap:6px; }

/* ---------- 3 ja 4 sarakkeen ruudukot CSS gridillä (flex-leveydet eivät kestä vaihtelevaa gapia) ---------- */
.e-con.rk-grid-3, .e-con.rk-grid-4{ display:grid !important; align-items:stretch; }
.e-con.rk-grid-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.e-con.rk-grid-4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.e-con.rk-grid-3 > .e-con, .e-con.rk-grid-4 > .e-con{ --width:auto; width:auto !important; max-width:none; min-width:0; }
@media (max-width:1024px){
  .e-con.rk-grid-3, .e-con.rk-grid-4{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .e-con.rk-grid-3 > .e-con:last-child:nth-child(odd){ grid-column:1 / -1; }
}
@media (max-width:767px){
  .e-con.rk-grid-3, .e-con.rk-grid-4{ grid-template-columns:minmax(0,1fr); }
  .e-con.rk-grid-4:has(> .rk-strip), .e-con.rk-grid-4:has(> .rk-tile){ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* ---------- kosketuskohteet ---------- */
@media (max-width:1024px){ .rk-header .elementor-menu-toggle{ min-width:46px; min-height:46px; display:flex; align-items:center; justify-content:center; } }
body .rk-tile-title .elementor-heading-title a{ display:block; padding:8px 0; }
.rk-jump a{ min-height:44px; display:inline-flex; align-items:center; }
.rk-footer .rk-list .elementor-icon-list-text a{ display:inline-block; padding:5px 0; }
.rk-nap-list .elementor-icon-list-text a{ display:inline-block; padding:4px 0; }

/* =================================================================
   RakennusKemell: omat lisäykset ja vaalean headerin säännöt
   ================================================================= */
.rk-btn-amber .elementor-button{ background:var(--rk-amber); border-color:var(--rk-amber); color:var(--rk-ink); }
.rk-btn-amber .elementor-button:hover,.rk-btn-amber .elementor-button:focus{ background:var(--rk-amber-d); border-color:var(--rk-amber-d); color:var(--rk-ink); }
.rk-btn .elementor-button{ border-radius:4px; }
.rk-eyebrow p{ font-weight:600; font-size:14px; letter-spacing:1.6px; color:#9A7409; }
.rk-eyebrow-light p{ color:var(--rk-amber); }
body .elementor-widget-heading .elementor-heading-title{ letter-spacing:-.01em; }

/* yläpalkki */
.rk-topbar .rk-topbar-text p{ margin:0; font-size:14px; line-height:1.4; color:rgba(255,255,255,.72); display:flex; flex-wrap:wrap; justify-content:flex-end; gap:4px 26px; }
.rk-topbar a{ color:#fff; text-decoration:none; font-weight:600; }
.rk-topbar a:hover{ color:var(--rk-amber); }
.rk-tb-person{ white-space:nowrap; }
.rk-tb-role{ margin-right:6px; }
@media (max-width:767px){
  .rk-topbar .rk-topbar-text p{ justify-content:center; font-size:13px; gap:2px 16px; }
  .rk-tb-role{ font-size:0; margin:0; }
  .rk-tb-person .rk-tb-role::before{ font-size:13px; margin-right:5px; }
  .rk-tb-person:first-child .rk-tb-role::before{ content:"Kai"; }
  .rk-tb-person:last-child .rk-tb-role::before{ content:"Pekka"; }
}

/* vaalea header */
.rk-header{ box-shadow:0 1px 0 var(--rk-line); }
.rk-header .rk-logo img{ height:52px; width:auto; max-width:none; display:block; }
.rk-nav .elementor-nav-menu--main .elementor-item{ font-family:'Inter',sans-serif; font-weight:500; font-size:16px; color:var(--rk-ink); padding:12px 14px; }
.rk-nav .elementor-nav-menu--main .elementor-item:hover,
.rk-nav .elementor-nav-menu--main .elementor-item.elementor-item-active{ color:var(--rk-ink); }
.rk-header .elementor-menu-toggle{ color:var(--rk-ink); }
.rk-header .elementor-menu-toggle svg{ fill:var(--rk-ink); }
header.elementor-location-header{ position:sticky; top:0; z-index:99; }
@media (max-width:1024px){
  .rk-header .rk-logo img{ height:42px; }
  .rk-header nav.elementor-nav-menu--dropdown .elementor-item{ font-family:'Inter',sans-serif; }
}
html{ scroll-padding-top:110px; }

/* hero taustakuvalla */
.rk-hero{ min-height:600px; justify-content:center; }
.rk-hero > .e-con-inner{ justify-content:center; }
.rk-hero .rk-hero-h1 .elementor-heading-title{ max-width:17ch; font-size:56px; }
.rk-hero-plain{ min-height:0; }
.rk-hero-plain .rk-hero-h1 .elementor-heading-title{ font-size:46px; max-width:none; }
@media (max-width:1024px){ .rk-hero{ min-height:520px; } .rk-hero .rk-hero-h1 .elementor-heading-title{ font-size:44px; } }
@media (max-width:767px){
  .rk-hero{ min-height:0; }
  .rk-hero .rk-hero-h1 .elementor-heading-title, .rk-hero-plain .rk-hero-h1 .elementor-heading-title{ font-size:33px; }
  .rk-hero .rk-btns .elementor-widget-button{ width:100%; }
  .rk-hero .rk-btns .elementor-button{ width:100%; justify-content:center; }
}

/* mediaosiot */
.rk-media-tall img{ aspect-ratio:4/5 !important; }
@media (max-width:767px){ .rk-media-tall img{ aspect-ratio:4/3 !important; } }
.rk-listlabel p{ margin:0; color:var(--rk-ink); }
.rk-list-2col .elementor-icon-list-items{ display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 24px !important; }
@media (max-width:540px){ .rk-list-2col .elementor-icon-list-items{ grid-template-columns:minmax(0,1fr); } }
.rk-list .elementor-icon-list-text{ color:var(--rk-ink); }
.rk-list .elementor-icon-list-item::before{ background:var(--rk-amber-d); }

/* palvelut kahdessa sarakkeessa */
.e-con.rk-grid-2{ display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:56px 48px !important; }
.e-con.rk-grid-2 > .e-con{ --width:auto; width:auto !important; min-width:0; }
@media (max-width:767px){ .e-con.rk-grid-2{ grid-template-columns:minmax(0,1fr); gap:44px !important; } }
.rk-card-img img{ aspect-ratio:3/2 !important; border-radius:4px; }
body .rk-card-title .elementor-heading-title{ font-size:25px; margin-top:14px; }
.rk-card-text p{ font-size:17px; }
.rk-note{ border-left:3px solid var(--rk-amber); padding-left:16px; }
.rk-note p{ font-size:16px; line-height:1.6; color:var(--rk-text); }

/* vaiheet */
body .rk-steps-title .elementor-heading-title{ font-size:26px; }
.rk-step{ border-top:2px solid var(--rk-ink); }
body .rk-step-num .elementor-heading-title{ font-family:'PT Serif',serif; font-size:34px; color:var(--rk-amber-d); }

/* galleria */
.rk-gallery .gallery{ grid-template-columns:repeat(3,1fr) !important; gap:14px !important; }
.rk-gallery .gallery-item img{ aspect-ratio:4/3; border-radius:4px; }
@media (max-width:767px){ .rk-gallery .gallery{ grid-template-columns:repeat(2,1fr) !important; gap:8px !important; } }

/* yhteystiedot */
.rk-person{ padding-bottom:22px; margin-bottom:22px; border-bottom:1px solid var(--rk-line); flex-wrap:nowrap !important; }
.rk-person > .e-con.rk-person-photo{ --width:auto; flex:0 0 112px; width:112px; }
.rk-person > .e-con.rk-person-info{ --width:auto; flex:1 1 auto; min-width:0; }
.rk-person-img img{ width:112px; height:112px; object-fit:cover; object-position:center top; border-radius:50%; display:block; }
body .rk-person-name .elementor-heading-title{ font-size:22px; }
.rk-person-role p{ margin:0; font-size:15px; letter-spacing:.3px; color:var(--rk-muted); }
.rk-contact-info .rk-nap-list .elementor-icon-list-text{ font-size:17px; }
.rk-badge img{ width:170px; height:auto; display:block; }
.rk-badge-sm img{ width:150px; border-radius:3px; }
.e-con.rk-form-col{ border:1px solid var(--rk-line); border-radius:6px; box-shadow:0 18px 40px rgba(0,0,0,.06); }
.rk-form .elementor-button[type="submit"]{ background:var(--rk-amber) !important; color:var(--rk-ink) !important; border-radius:4px; width:100%; }
.rk-form .elementor-button[type="submit"]:hover{ background:var(--rk-amber-d) !important; }
.rk-form .elementor-field-group{ margin-bottom:14px; }
@media (min-width:768px){
  .rk-split-contact > .e-con.rk-col-b{ flex:0 1 calc(44% - 28px); }
  .rk-split-contact > .e-con.rk-col-a{ flex:0 1 calc(56% - 28px); }
}
@media (max-width:767px){ .e-con.rk-form-col{ padding:24px 18px !important; } }

/* alatunniste */
.rk-footer .rk-footer-logo img{ height:auto; width:220px; }
body .rk-footer .rk-ft-title .elementor-heading-title{ font-family:'Inter',sans-serif; font-weight:600; font-size:17px; color:#fff; }
.rk-ft-role p{ margin:0 0 4px; font-size:14.5px; color:rgba(255,255,255,.55); }
.rk-footer .rk-list .elementor-icon-list-item::before{ background:var(--rk-amber); }
.rk-footer-sc .elementor-widget-shortcode button, .rk-footer-sc .elementor-widget-shortcode a{ font-family:'Inter',sans-serif !important; }
@media (min-width:900px){
  .rk-footer-grid > .e-con.rk-col{ --width:auto; flex:0 1 calc(22% - 27px); }
  .rk-footer-grid > .e-con.rk-col:first-child{ flex:0 1 calc(34% - 27px); }
}
.rk-body a{ text-decoration:underline; text-underline-offset:3px; }
@media (max-width:767px){ .rk-gallery .gallery-item:last-child:nth-child(odd){ display:none; } }

/* kosketuskohteet ja pienet tekstit mobiilissa */
.rk-topbar a{ display:inline-block; padding:12px 2px; margin:-12px 0; }
@media (max-width:767px){
  .rk-topbar .rk-topbar-text p{ font-size:14px; }
  .rk-tb-person .rk-tb-role::before{ font-size:14px; }
  .rk-footer .rk-list .elementor-icon-list-text a{ padding:10px 0; }
  .rk-nap-list .elementor-icon-list-text a{ padding:10px 0; }
}
.rk-recaptcha-note p{ font-size:13.5px; line-height:1.5; color:var(--rk-muted); margin-top:4px; }

/* Kotitalousvähennys palveluosion lopussa (5.10.2026) */
.rk-kv{ border-top:1px solid var(--rk-line); padding-top:40px !important; }
.rk-kv-title .elementor-heading-title{ font-size:26px; line-height:1.3; }
.rk-kv-list .elementor-icon-list-item{ align-items:flex-start !important; }
.rk-kv-list .elementor-icon-list-item + .elementor-icon-list-item{ margin-top:6px; }
