/* Serverit Core Suite v2.0.0 - Component system: visual tightening for hero, benefit cards and footer. */
.serverit-hero{padding-top:clamp(28px,4.2vw,54px);padding-bottom:clamp(28px,4vw,52px);background:linear-gradient(180deg,#fff 0%,#fff 72%,rgba(0,2,69,.035) 100%);border-radius:0 0 30px 30px;}
.serverit-hero h1{max-width:980px;margin:0 0 18px;font-size:clamp(2.25rem,4vw,4rem);line-height:1.06;letter-spacing:-.042em;color:var(--serverit-primary);}
.serverit-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:22px;}
.serverit-button,.serverit-card-link,.serverit-wc-service-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;border-radius:999px;padding:13px 22px;font-weight:900;line-height:1.12;text-decoration:none!important;border:2px solid transparent;box-sizing:border-box;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease;}
.serverit-button:hover,.serverit-card-link:hover,.serverit-wc-service-button:hover{transform:translateY(-1px);}
.serverit-button-primary,.serverit-card-link,.serverit-wc-service-button{background:var(--serverit-accent);border-color:var(--serverit-accent);color:#fff!important;box-shadow:0 12px 26px rgba(173,0,0,.18);}
.serverit-button-secondary{background:#fff;color:var(--serverit-primary)!important;border-color:var(--serverit-primary);box-shadow:none;}
.serverit-button-tertiary{background:transparent;color:var(--serverit-primary)!important;border-color:transparent;box-shadow:none;text-decoration:underline!important;text-underline-offset:4px;padding-left:4px;padding-right:4px;}
.serverit-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--serverit-gap);margin-top:28px;align-items:stretch;}
.serverit-choice-card{display:flex!important;flex-direction:column;gap:12px;min-height:210px;padding:28px;border-radius:var(--serverit-radius);background:#fff;border:1px solid var(--serverit-border);border-top:7px solid var(--serverit-group-color,var(--serverit-primary));box-shadow:var(--serverit-shadow);text-decoration:none!important;color:var(--serverit-text)!important;}
.serverit-choice-card h3{font-size:clamp(1.45rem,2.3vw,2rem);line-height:1.12;margin:0;color:var(--serverit-primary);letter-spacing:-.025em;}
.serverit-choice-card p{margin:0;color:var(--serverit-muted);line-height:1.55;}
.serverit-choice-link{margin-top:auto;display:inline-flex;font-weight:900;color:var(--serverit-group-color,var(--serverit-accent));}
.serverit-card-grid,.serverit-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--serverit-gap);align-items:stretch;margin-top:28px;}
.serverit-card,.serverit-service-card{display:flex;flex-direction:column;padding:28px;border-radius:var(--serverit-radius);background:#fff;border:1px solid var(--serverit-border);border-top:7px solid var(--serverit-group-color,var(--serverit-primary));box-shadow:var(--serverit-shadow);overflow-wrap:normal;hyphens:none;}
.serverit-service-card{min-height:360px;}
.serverit-card{min-height:220px;}
.serverit-card h3,.serverit-service-card h3{font-size:clamp(1.45rem,2vw,2rem);line-height:1.12;letter-spacing:-.025em;margin:14px 0 10px;color:var(--serverit-primary);}
.serverit-card p,.serverit-service-card p{line-height:1.55;color:var(--serverit-muted);}
.serverit-service-kicker{display:inline-flex;width:max-content;max-width:100%;border-radius:999px;padding:7px 11px;background:var(--serverit-group-color,var(--serverit-primary));color:#fff!important;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;line-height:1.15;}
.serverit-price{font-size:clamp(1.28rem,1.7vw,1.72rem);font-weight:950;line-height:1.16;color:var(--serverit-group-color,var(--serverit-accent))!important;margin:4px 0 10px;}
.serverit-service-card .serverit-card-link{margin-top:auto;width:max-content;max-width:100%;}
.serverit-chip-grid,.serverit-service-grid-compact{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:24px;align-items:stretch;}
.serverit-chip,.serverit-service-chip{display:flex;align-items:center;justify-content:center;min-height:52px;text-align:center;border-radius:999px;padding:11px 16px;background:var(--serverit-group-color,var(--serverit-primary));color:#fff!important;text-decoration:none!important;font-weight:900;line-height:1.15;box-shadow:0 10px 22px rgba(16,24,40,.08);}

.serverit-step-grid,.serverit-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--serverit-gap);margin-top:28px;counter-reset:serverit-step;}
.serverit-step{position:relative;min-height:190px;background:#fff;border:1px solid var(--serverit-border);border-radius:var(--serverit-radius);padding:28px;box-shadow:var(--serverit-shadow);}
.serverit-step:before{counter-increment:serverit-step;content:counter(serverit-step);display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--serverit-accent);color:#fff;font-weight:950;margin-bottom:16px;}
.serverit-step h3{margin:0 0 10px;font-size:1.25rem;color:var(--serverit-primary);}
.serverit-step p{margin:0;color:var(--serverit-muted);line-height:1.55;}
.serverit-note{border-left:5px solid var(--serverit-accent);padding:14px 0 14px 18px;background:rgba(173,0,0,.035);border-radius:0 14px 14px 0;}
@media(max-width:1050px){.serverit-card-grid,.serverit-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.serverit-chip-grid,.serverit-service-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr));}.serverit-step-grid,.serverit-steps{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:720px){.serverit-hero{padding-top:30px;padding-bottom:34px}.serverit-hero h1{font-size:clamp(2.15rem,11vw,3.15rem)}.serverit-actions{flex-direction:column;align-items:stretch}.serverit-button,.serverit-card-link,.serverit-wc-service-button{width:100%;}.serverit-choice-grid,.serverit-card-grid,.serverit-service-grid,.serverit-chip-grid,.serverit-service-grid-compact,.serverit-step-grid,.serverit-steps{grid-template-columns:1fr}.serverit-card,.serverit-service-card,.serverit-choice-card{min-height:auto}.serverit-chip,.serverit-service-chip{border-radius:18px}.serverit-section{margin-top:42px;margin-bottom:42px}}

/* Serverit Core Suite v2.1.2 - Service doors component. Cloud/Core-owned reusable navigation cards. */
.serverit-service-doors{margin-top:clamp(34px,4vw,58px);margin-bottom:clamp(34px,4vw,58px);}
.serverit-service-doors__intro{max-width:880px;color:var(--serverit-muted);font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.55;}
.serverit-service-doors .wp-block-columns,.serverit-service-doors__grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;align-items:stretch!important;margin-top:24px;}
.serverit-service-doors .wp-block-column,.serverit-service-door{display:flex!important;flex-direction:column!important;min-width:0!important;flex-basis:auto!important;width:auto!important;max-width:none!important;min-height:260px;padding:18px;border-radius:18px;background:#fff;border:1px solid var(--serverit-border);border-top:5px solid var(--serverit-group-color,var(--serverit-primary));box-shadow:var(--serverit-shadow);overflow:hidden;}
.serverit-service-doors .wp-block-image{display:flex;align-items:center;justify-content:center;margin:0 0 12px!important;min-height:118px;}
.serverit-service-doors .wp-block-image img,.serverit-service-door__image img{display:block;width:auto!important;max-width:100%!important;max-height:122px!important;object-fit:contain!important;margin-left:auto!important;margin-right:auto!important;}
.serverit-service-doors h2,.serverit-service-doors h3,.serverit-service-door__title{margin:8px 0 8px!important;font-size:clamp(1.05rem,1.25vw,1.28rem)!important;line-height:1.18!important;letter-spacing:-.02em;color:var(--serverit-primary)!important;}
.serverit-service-doors p,.serverit-service-door__text{margin:0 0 12px!important;color:var(--serverit-muted);font-size:.92rem!important;line-height:1.45!important;}
.serverit-service-doors a:not(.wp-block-button__link),.serverit-service-door__link{margin-top:auto;display:inline-flex;width:max-content;max-width:100%;font-size:.9rem;font-weight:900;color:var(--serverit-group-color,var(--serverit-accent))!important;text-decoration:underline!important;text-underline-offset:3px;}
.serverit-service-doors .wp-block-button{margin-top:auto;}
.serverit-service-doors .wp-block-button__link{min-height:42px;padding:10px 16px;font-size:.9rem;border-radius:999px;}
.serverit-service-doors--compact .wp-block-column,.serverit-service-doors--compact .serverit-service-door{min-height:230px;padding:16px;}
.serverit-service-doors--compact .wp-block-image{min-height:96px;margin-bottom:10px!important;}
.serverit-service-doors--compact .wp-block-image img,.serverit-service-doors--compact .serverit-service-door__image img{max-height:105px!important;}
@media(max-width:1180px){.serverit-service-doors .wp-block-columns,.serverit-service-doors__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.serverit-service-doors .wp-block-column,.serverit-service-door{min-height:240px;}}
@media(max-width:720px){.serverit-service-doors .wp-block-columns,.serverit-service-doors__grid{grid-template-columns:1fr!important;}.serverit-service-doors .wp-block-column,.serverit-service-door{min-height:auto}.serverit-service-doors .wp-block-image{min-height:auto}.serverit-service-doors .wp-block-image img,.serverit-service-door__image img{max-height:145px!important;}}

/* Serverit Core Suite v2.1.3 - Equal-height service cards and CTA baseline alignment. */
.serverit-card-grid{align-items:stretch;}
.serverit-card-grid > .serverit-service-card,
.serverit-service-grid > .serverit-service-card{height:100%;}
.serverit-service-card{display:flex;flex-direction:column;}
.serverit-service-card .serverit-card-icon{display:flex;align-items:center;justify-content:center;min-height:128px;margin:12px 0 22px;}
.serverit-service-card .serverit-card-icon img{display:block;width:auto;max-width:100%;max-height:118px;object-fit:contain;}
.serverit-service-card h3{min-height:2.28em;}
.serverit-service-card .serverit-card-action{margin-top:auto;padding-top:18px;display:flex;align-items:flex-end;}
.serverit-service-card .serverit-card-link{margin-top:0;}
@media(max-width:720px){.serverit-service-card h3{min-height:0}.serverit-service-card .serverit-card-icon{min-height:auto}.serverit-service-card .serverit-card-action{padding-top:14px}}


/* Serverit Core Suite v2.1.5 - Service door links as aligned CTA buttons. */
.serverit-service-door .serverit-choice-action,
.serverit-service-doors .serverit-choice-action{
  margin-top:auto;
  padding-top:18px;
  display:flex;
  align-items:flex-end;
}
.serverit-service-doors .serverit-choice-link,
.serverit-service-doors .serverit-service-door__link,
.serverit-service-door__link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  width:max-content!important;
  max-width:100%!important;
  padding:10px 16px!important;
  border-radius:999px!important;
  background:var(--serverit-group-color,var(--serverit-accent))!important;
  color:#fff!important;
  text-decoration:none!important;
  text-underline-offset:0!important;
  font-weight:900!important;
  font-size:.88rem!important;
  line-height:1.1!important;
  box-shadow:0 10px 22px rgba(0,0,0,.10);
}
.serverit-service-doors .serverit-choice-link:hover,
.serverit-service-doors .serverit-service-door__link:hover,
.serverit-service-door__link:hover{
  color:#fff!important;
  text-decoration:none!important;
  filter:brightness(.96);
}
.serverit-service-doors--compact .serverit-choice-action{
  padding-top:16px;
}
@media(max-width:720px){
  .serverit-service-doors .serverit-choice-link,
  .serverit-service-doors .serverit-service-door__link,
  .serverit-service-door__link{
    width:100%!important;
  }
}

/* Serverit Core Suite v2.1.6 - Service door CTA visibility hardening. */
.serverit-service-doors .serverit-choice-action{
  margin-top:auto!important;
  padding-top:18px!important;
  display:flex!important;
  align-items:flex-end!important;
}
.serverit-service-doors .serverit-choice-link,
.serverit-service-doors .serverit-service-door__link,
.serverit-service-door__link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:148px!important;
  min-height:42px!important;
  width:max-content!important;
  max-width:100%!important;
  padding:10px 18px!important;
  border-radius:999px!important;
  background:var(--serverit-group-color,var(--serverit-accent))!important;
  color:#fff!important;
  text-decoration:none!important;
  text-indent:0!important;
  white-space:nowrap!important;
  overflow:visible!important;
  font-size:.9rem!important;
  font-weight:900!important;
  line-height:1.1!important;
  letter-spacing:0!important;
  box-shadow:0 10px 22px rgba(0,0,0,.10)!important;
}
.serverit-service-doors .serverit-choice-link:empty::before,
.serverit-service-doors .serverit-service-door__link:empty::before,
.serverit-service-door__link:empty::before{
  content:"Katso palvelut";
  color:#fff;
}
.serverit-service-doors .serverit-choice-link:hover,
.serverit-service-doors .serverit-service-door__link:hover,
.serverit-service-door__link:hover{
  color:#fff!important;
  text-decoration:none!important;
  filter:brightness(.96);
}
@media(max-width:720px){
  .serverit-service-doors .serverit-choice-link,
  .serverit-service-doors .serverit-service-door__link,
  .serverit-service-door__link{
    width:100%!important;
    min-width:0!important;
  }
}

/* Serverit Core Suite v2.1.7 - Service door CTA text hard-fix.
   Some upstream/theme rules can still suppress anchor text while the pill background is visible.
   Force a visible label via pseudo content and zero the original inline text to avoid duplicates. */
.serverit-service-doors .serverit-choice-link,
.serverit-service-doors .serverit-service-door__link,
.serverit-service-door__link{
  position:relative!important;
  font-size:0!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-shadow:none!important;
}
.serverit-service-doors .serverit-choice-link::before,
.serverit-service-doors .serverit-service-door__link::before,
.serverit-service-door__link::before{
  content:"Katso palvelut"!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:.9rem!important;
  font-weight:900!important;
  line-height:1.1!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  opacity:1!important;
  visibility:visible!important;
}
.serverit-service-doors .serverit-choice-link * ,
.serverit-service-doors .serverit-service-door__link * ,
.serverit-service-door__link *{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Serverit Core Suite v2.1.8 - CTA underline cleanup and hero action consistency.
   Removes inherited global link underlines from CTA buttons and makes the tertiary hero action a real button-style CTA. */
.serverit-service-doors a.serverit-choice-link,
.serverit-service-doors a.serverit-service-door__link,
a.serverit-service-door__link,
.serverit-service-doors a.serverit-choice-link::before,
.serverit-service-doors a.serverit-service-door__link::before,
a.serverit-service-door__link::before{
  text-decoration:none!important;
  text-underline-offset:0!important;
  text-decoration-thickness:0!important;
  border-bottom:0!important;
}
.serverit-hero a.serverit-button,
.serverit-hero a.serverit-button:hover,
.serverit-hero a.serverit-button:focus,
.moniosaaja-campaign-intro a.wp-block-button__link,
.moniosaaja-campaign-intro a.wp-block-button__link:hover,
.moniosaaja-campaign-intro a.wp-block-button__link:focus{
  text-decoration:none!important;
  border-bottom:0!important;
}
.serverit-hero .serverit-button-tertiary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:50px!important;
  border-radius:999px!important;
  padding:13px 22px!important;
  background:#fff!important;
  color:var(--serverit-primary)!important;
  border:2px solid var(--serverit-primary)!important;
  box-shadow:none!important;
  font-weight:900!important;
  line-height:1.12!important;
  text-decoration:none!important;
}
.serverit-hero .serverit-button-tertiary:hover,
.serverit-hero .serverit-button-tertiary:focus{
  background:rgba(0,2,69,.045)!important;
  color:var(--serverit-primary)!important;
  text-decoration:none!important;
}
.serverit-hero .serverit-actions{
  gap:14px 16px!important;
  align-items:center!important;
}
@media(max-width:720px){
  .serverit-hero .serverit-button-tertiary{
    width:100%!important;
  }
}

/* SERVERIT-LEGACY-CSS-PATCH-COMPONENTS-START */
/*
 * Core/components contact layout.
 * Yleiskäyttöinen yhteys-/contact-komponentti useille sivustoille.
 * Värit tulevat muuttujista tai sivustovariantista.
 */
.srv-contact-page {
  max-width: var(--srv-content-wide, 1180px);
  margin-inline: auto;
  padding: clamp(1.25rem, 3vw, 2.5rem) var(--srv-page-x, 1.25rem) clamp(3rem, 6vw, 4rem);
}

.srv-contact-hero {
  border-radius: var(--srv-radius-xl, 24px);
  background: var(--srv-contact-hero-bg, var(--srv-color-primary, #111827));
  color: var(--srv-contact-hero-color, #fff);
  padding: clamp(2rem, 5vw, 4rem);
  margin-bottom: 1.5rem;
  box-shadow: var(--srv-shadow-lg, 0 18px 45px rgba(15, 23, 42, 0.16));
}

.srv-contact-eyebrow {
  margin: 0 0 .75rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .82rem;
  opacity: .9;
}

.srv-contact-hero h1,
.srv-contact-hero .srv-contact-title {
  margin: 0 0 1rem;
  color: inherit;
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1.05;
}

.srv-contact-lead {
  max-width: 760px;
  margin: 0;
  color: var(--srv-contact-hero-muted, rgba(255, 255, 255, .92));
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  line-height: 1.6;
}

.srv-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  gap: 1.25rem;
  align-items: stretch;
}

.srv-contact-card {
  background: var(--srv-card-bg, #fff);
  border: 1px solid var(--srv-card-border, rgba(15, 23, 42, .10));
  border-radius: var(--srv-radius-lg, 22px);
  padding: clamp(1.35rem, 3vw, 2rem);
  box-shadow: var(--srv-shadow-md, 0 12px 34px rgba(15, 23, 42, .08));
}

.srv-contact-card--main {
  grid-row: span 2;
}

.srv-contact-card h2,
.srv-contact-card .srv-contact-card-title {
  margin-top: 0;
  margin-bottom: .85rem;
  color: var(--srv-heading-color, var(--srv-color-primary, #111827));
  font-size: clamp(1.35rem, 2.5vw, 1.8rem);
}

.srv-contact-card p {
  color: var(--srv-body-color, #263241);
  line-height: 1.65;
}

.srv-contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.5rem;
}

.srv-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: .78rem 1.15rem;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  line-height: 1.2;
  transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.srv-button:hover,
.srv-button:focus {
  text-decoration: none;
  transform: translateY(-1px);
}

.srv-button--primary {
  background: var(--srv-button-primary-bg, var(--srv-color-accent, #b91c1c));
  color: var(--srv-button-primary-color, #fff);
}

.srv-button--secondary {
  background: var(--srv-button-secondary-bg, var(--srv-color-primary, #111827));
  color: var(--srv-button-secondary-color, #fff);
}

.srv-button--light {
  background: var(--srv-button-light-bg, #f3f5fb);
  color: var(--srv-button-light-color, var(--srv-color-primary, #111827));
  border: 1px solid var(--srv-button-light-border, rgba(15, 23, 42, .12));
}

.srv-contact-list {
  margin: 0;
}

.srv-contact-list > div,
.srv-contact-list .srv-contact-list-item {
  padding: .85rem 0;
  border-bottom: 1px solid var(--srv-card-border, rgba(15, 23, 42, .10));
}

.srv-contact-list > div:last-child,
.srv-contact-list .srv-contact-list-item:last-child {
  border-bottom: 0;
}

.srv-contact-list dt,
.srv-contact-list .srv-contact-label {
  font-size: .82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--srv-muted-color, #6a7280);
  margin-bottom: .2rem;
}

.srv-contact-list dd,
.srv-contact-list .srv-contact-value {
  margin: 0;
  color: var(--srv-body-strong, #1f2937);
  font-weight: 600;
}

.srv-contact-list a {
  color: var(--srv-link-color, var(--srv-color-primary, #111827));
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

@media (max-width: 760px) {
  .srv-contact-page {
    padding: 1.25rem 1rem 3rem;
  }

  .srv-contact-grid {
    grid-template-columns: 1fr;
  }

  .srv-contact-card--main {
    grid-row: auto;
  }

  .srv-contact-actions {
    flex-direction: column;
  }

  .srv-contact-actions .srv-button {
    width: 100%;
  }
}
/* SERVERIT-LEGACY-CSS-PATCH-COMPONENTS-END */
