/* Shared editorial rhythm: one type scale, readable measures and aligned grids. */
:root{--copy:#46514e;--section-space:clamp(56px,6.5vw,96px);--body-size:clamp(15px,1.15vw,17px)}
body{font-size:var(--body-size);line-height:1.75}
h1,h2,h3{letter-spacing:-.025em;overflow-wrap:break-word}
h1,h2{font-weight:600}
h2 em,h1 em{font-size:1.04em}
.h2{font-size:clamp(30px,3.3vw,46px);line-height:1.16;letter-spacing:-.03em}
.sec{padding-block:var(--section-space)}
.head{align-items:start;gap:24px 64px;margin-bottom:40px}
.head .h2{max-width:22ch}
.head .muted{max-width:48ch;line-height:1.8;font-size:var(--body-size)}
.kicker{font-size:11px;line-height:1.5;letter-spacing:.16em}
.intro{padding-block:var(--section-space)}
.igrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start}
.igrid>div{min-width:0}
.igrid .kicker{margin-bottom:20px}
.igrid .h2{max-width:21ch}
.itext{font-size:var(--body-size);line-height:1.85;gap:24px;color:var(--copy);max-width:58ch}
.itext p{margin:0;text-wrap:pretty}
.intro+.product-catalog{padding-top:0}
.lede,.hero-lede{font-size:clamp(16px,1.3vw,19px);line-height:1.75;max-width:58ch;text-wrap:pretty}
.phero-in{gap:24px;padding-bottom:clamp(48px,5vw,76px)}
.phero h1,.hero h1{line-height:1.06;font-weight:600;letter-spacing:-.04em}
.phero h1{font-size:clamp(40px,5.4vw,78px);max-width:21ch}
.products-overview-hero h1{font-size:clamp(38px,4.8vw,68px);max-width:25ch}
.crumb{line-height:1.65;letter-spacing:.1em;font-size:11px}
.company-overview{padding-block:var(--section-space)}
.company-overview-grid{gap:clamp(36px,5vw,72px);align-items:center}
.company-overview-copy .h2{font-size:clamp(30px,3.2vw,44px);line-height:1.16;max-width:22ch;margin-bottom:28px}
.company-overview-copy .muted{font-size:var(--body-size);line-height:1.85;max-width:58ch;color:var(--copy)}
.company-overview-copy p+p{margin-top:22px}
.company-overview-copy .kicker{margin-bottom:18px}
.cos2{padding-block:var(--section-space)}
.vgrid{gap:32px;align-items:start}
.vcard{padding-top:24px;min-width:0}
.vcard h3{font-size:clamp(18px,1.5vw,21px);line-height:1.4;min-height:2.8em;margin-bottom:16px;text-wrap:balance}
.vcard p{font-size:15px;line-height:1.8;max-width:34ch;text-wrap:pretty}
.nos-strengths{padding-block:56px}
.cp-in{padding:32px}
.cp-tx{font-size:15px;line-height:1.85}
.cp-tag{line-height:1.8}
.product-category-grid,.product-grid{gap:32px}
.product-category>div,.product-item-copy{padding:30px 32px 34px}
.product-category h3,.product-item h2{font-size:clamp(24px,2vw,29px);line-height:1.25;font-weight:600;margin-bottom:18px}
.product-category p,.product-item p,.product-blanks p:not(.kicker),.product-blanks ul{font-size:15.5px;line-height:1.85;text-wrap:pretty}
.product-item .spec{font-size:13.5px;line-height:1.75;gap:12px 20px;grid-template-columns:90px minmax(0,1fr);margin-top:26px;padding-top:22px}
.product-item .spec dd{margin:0;min-width:0}
.product-process-grid,.product-evidence-grid{gap:32px}
.product-process-grid h3,.product-evidence-grid h3{font-size:21px;line-height:1.35;margin:16px 0}
.product-process-grid p,.product-evidence-grid p{font-size:15px;line-height:1.85}
.product-process .head>p{font-size:var(--body-size);line-height:1.85}
.product-blanks .h2{line-height:1.18;margin:18px 0 26px}
.pt h2{font-size:clamp(28px,3vw,42px);line-height:1.18;margin-bottom:22px}
.pt>p{font-size:var(--body-size);line-height:1.85;max-width:58ch;text-wrap:pretty}
.spec{line-height:1.75}
.spec3 h3,.facts b{font-size:20px;line-height:1.4;margin-bottom:16px}
.spec3 p,.facts p{font-size:15px;line-height:1.85}
.kerb-section p,.kerb-profiles p{font-size:var(--body-size);line-height:1.85;text-wrap:pretty}
.kerb-section{margin-bottom:48px}
.kerb-section .h2{line-height:1.2}
.kerb-profiles h3{font-weight:600}
.kerb-profiles .kerb-size{font-size:14px}
.contact-team-intro .h2,.contact-address h2{line-height:1.2}
.contact-team-intro .muted,.contact-lead-copy>p:not(.kicker){font-size:var(--body-size);line-height:1.85}
.contact-people article h3{font-size:22px;line-height:1.35}
.contact-lead h1{line-height:1.13;font-weight:600}
.f label{font-size:13px;line-height:1.5}
.billing-company dl{line-height:1.8}
.billing-notes p{line-height:1.85}
.cta h2{line-height:1.18}
.cta-in{gap:24px}
.cta p{font-size:var(--body-size);line-height:1.8}
.ripple-host{position:relative;isolation:isolate}
.page-ripple{z-index:0;pointer-events:none}
.phero.ripple-ready>img{animation:none}
.phero::after{z-index:1;pointer-events:none}
.phero-in{z-index:2}
.contact-lead figure{overflow:hidden}
@media(max-width:960px){.head{gap:24px 40px}.vgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.vcard h3{min-height:0}}
@media(max-width:860px){.igrid{grid-template-columns:1fr;gap:30px}.igrid .h2{max-width:24ch}.itext{max-width:65ch}.head .h2{max-width:25ch}}
@media(max-width:640px){
  .h2,.company-overview-copy .h2{font-size:32px;line-height:1.18}
  .sec,.company-overview,.cos2{padding-block:56px}
  .intro+.product-catalog{padding-top:0}
  .head{margin-bottom:30px;gap:22px}
  .itext,.company-overview-copy .muted{font-size:15px;line-height:1.8;gap:20px}
  .company-overview-grid{gap:32px}
  .phero h1{font-size:42px;line-height:1.08}
  .products-overview-hero h1{font-size:38px}
  .phero-in{padding-bottom:48px;gap:20px}
  .lede{font-size:16px;line-height:1.75}
  .vgrid{grid-template-columns:1fr;gap:28px}
  .vcard h3{font-size:20px;margin-bottom:12px}
  .vcard p{max-width:55ch}
  .product-category>div,.product-item-copy{padding:26px 24px 28px}
  .product-category p,.product-item p,.product-blanks p:not(.kicker),.product-blanks ul{font-size:15px;line-height:1.8}
  .product-item .spec{grid-template-columns:75px minmax(0,1fr);font-size:13px;gap:12px 14px}
  .cp-in{padding:26px}
  .kerb-section{margin-bottom:36px}
}
@media(prefers-reduced-motion:reduce){.phero>img{animation:none}.page-ripple{display:none}}
#kivilaadut{overflow:hidden}
/* Shared company identity in the navigation. */
.nav>.wrap{max-width:1440px}
.nav .brand{display:flex;align-items:center;gap:9px;font-size:12px;letter-spacing:.07em;line-height:1.25;flex-shrink:0}
.brand-separator{opacity:.65}
@media(min-width:961px) and (max-width:1200px){.nav .brand{font-size:10px;gap:6px;letter-spacing:.035em}.nav .row{gap:16px}.nav .menu{gap:16px;font-size:11px}}
@media(max-width:960px){.nav .brand{display:grid;gap:4px;font-size:11px;letter-spacing:.055em}.brand-separator{display:none}.nav .row{gap:12px}.nav-right{gap:5px}}
@media(max-width:380px){.nav .brand{font-size:9px}.nav .row{gap:8px}.nav .lang a{padding:3px}.nav .burger{width:36px;padding:8px}}
