@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700;800&display=swap');

/*
Theme Name: Sourcecom Next
Theme URI: https://sourcecom.se/
Author: Sourcecom
Description: Gutenberg/FSE-theme för nästa version av Sourcecom.
Version: 0.9.0.1
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: sourcecom-next
*/

html{scroll-behavior:smooth}
body{overflow-x:hidden;font-family:'Open Sans',Arial,sans-serif}
.wp-site-blocks{min-height:100vh}

.sourcecom-header,
.sourcecom-header a,
.sourcecom-header .wp-block-site-title a,
.sourcecom-header .wp-block-navigation-item__content {
  color:#fff !important;
}
.sourcecom-header .wp-block-navigation__responsive-container-open,
.sourcecom-header .wp-block-navigation__responsive-container-close {
  color:#fff !important;
}
.sourcecom-header {
  border-bottom:1px solid rgba(255,255,255,.08);
}

.sc-hero {
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.sc-hero::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(circle at 83% 45%, rgba(55,57,230,.30), transparent 30%),
    linear-gradient(115deg,#08152F 0%,#0C1D3D 58%,#0A2754 100%);
}
.sc-hero::after {
  content:"";
  position:absolute;
  z-index:-1;
  right:-40px; top:40px;
  width:min(44vw,560px); aspect-ratio:1;
  background:url('assets/images/security-shield.svg') center/contain no-repeat;
  opacity:.96;
}
.sc-hero,
.sc-hero h1,
.sc-hero h2,
.sc-hero p,
.sc-hero a {
  color:#fff !important;
}
.sc-eyebrow {
  color:#7BD9DD!important;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:750;
  font-size:.82rem;
}
.sc-card {
  border:1px solid #E7ECF4;
  box-shadow:0 12px 35px rgba(8,21,47,.06);
  transition:.2s ease;
}
.sc-card:hover {
  transform:translateY(-4px);
  box-shadow:0 20px 50px rgba(8,21,47,.10);
}
.sc-blue-card {
  background:#3739E6!important;
}
.sc-blue-card,.sc-blue-card h2,.sc-blue-card h3,.sc-blue-card p,.sc-blue-card a {
  color:#fff!important;
}
.sc-icon {
  width:50px;height:50px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:#EEF0FF;color:#3739E6;
  font-weight:800;font-size:1.05rem;
}
.sc-number {
  width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#3739E6;color:#fff;font-weight:750;
}
.sc-muted{color:#64748B!important}
.sc-section-title{max-width:760px}
.sc-service-hero {
  background:linear-gradient(120deg,#08152F 0%,#0C1D3D 65%,#12315C 100%);
}
.sc-service-hero,.sc-service-hero h1,.sc-service-hero p,.sc-service-hero a {
  color:#fff!important;
}
.sc-legacy-warning{display:none}
@media(max-width:900px){
  .sc-hero::after{opacity:.35;right:-140px;width:620px}
}
@media(max-width:700px){
  .sc-hero::after{display:none}
}

.sc-brand-logo {
  display:block;
  width:220px;
  max-width:100%;
  height:auto;
}
.sc-official-blue {
  color:#000091!important;
}
.sc-official-blue-bg {
  background:#000091!important;
}

.sourcecom-header { border-top:4px solid #000091; }

/* v0.5 */
:root{--sc-blue:#000091;--sc-electric:#3739E6;--sc-navy:#07142E;--sc-line:#E2E8F2}
body{font-size:16px;letter-spacing:-.006em}
.sourcecom-header{position:relative;z-index:50}
.sourcecom-header>.wp-block-group{min-height:62px}
.sourcecom-header .wp-block-navigation-item__content{font-size:.93rem;font-weight:600;text-decoration:none!important}
.sourcecom-header .wp-block-navigation-item__content:hover{opacity:.72}
.sc-brand-logo{width:185px!important}
.sc-hero{min-height:590px;display:flex;align-items:center}
.sc-hero h1{max-width:780px;font-weight:750}
.sc-hero p.has-large-font-size{max-width:690px;color:rgba(255,255,255,.82)!important}
.sc-hero .wp-block-buttons{margin-top:2.1rem;gap:.8rem}
.sc-hero .wp-block-button__link{padding:1rem 1.35rem}
.sc-hero .is-style-outline .wp-block-button__link{border-color:rgba(255,255,255,.42)!important;background:rgba(255,255,255,.04)!important}
.sc-hero::after{right:2vw;top:55px;width:min(40vw,520px);opacity:.82}
.sc-trust{border-bottom:1px solid var(--sc-line)}
.sc-trust p{font-size:.91rem;color:#43506A}.sc-trust strong{color:#101B33}
.sc-offer-grid{gap:1.25rem}
.sc-card{min-height:265px;position:relative;overflow:hidden;border:1px solid var(--sc-line)!important;box-shadow:none!important}
.sc-card:hover{border-color:#C9D1E2!important;box-shadow:0 18px 50px rgba(7,20,46,.08)!important}
.sc-card-number{color:var(--sc-electric)!important;font-weight:800;font-size:.8rem;letter-spacing:.08em}
.sc-card h3{font-size:1.45rem;margin-top:2.8rem}.sc-card p{color:#56627A}.sc-card a{text-decoration:none}
.sc-card:after{content:"";position:absolute;width:100px;height:100px;border:1px solid rgba(55,57,230,.10);border-radius:50%;right:-42px;top:-42px}
.sc-process-wrap{position:relative;margin-top:3.2rem}
.sc-process-wrap:before{content:"";position:absolute;left:3.8%;right:3.8%;top:20px;height:1px;background:#CBD4E4}
.sc-process-step{position:relative;z-index:2}.sc-process-step .sc-number{box-shadow:0 0 0 8px #fff}
.sc-process-step h3{margin-top:1.3rem}.sc-process-step p{color:#667085}
.sc-proof-stat{font-size:3.6rem!important;line-height:1!important;color:#fff!important;font-weight:800}
.sc-muted-light{color:rgba(255,255,255,.68)!important}
.sc-cta{position:relative;overflow:hidden}.sc-cta:after{content:"";position:absolute;width:330px;height:330px;border:1px solid rgba(255,255,255,.15);border-radius:50%;right:-80px;top:-130px}
@media(max-width:781px){.sc-hero{min-height:auto}.sc-process-wrap:before{display:none}.sc-card{min-height:auto}.sc-proof-stat{font-size:2.8rem!important}}

/* ===== v0.5.1 contrast fixes ===== */

/* Footer: force accessible contrast on all text/link elements */
footer .wp-block-group.has-navy-background-color,
footer .wp-block-group.has-navy-background-color p,
footer .wp-block-group.has-navy-background-color li,
footer .wp-block-group.has-navy-background-color h1,
footer .wp-block-group.has-navy-background-color h2,
footer .wp-block-group.has-navy-background-color h3,
footer .wp-block-group.has-navy-background-color h4,
footer .wp-block-group.has-navy-background-color h5,
footer .wp-block-group.has-navy-background-color h6,
footer .wp-block-group.has-navy-background-color a,
footer .wp-block-group.has-navy-background-color .wp-block-site-title,
footer .wp-block-group.has-navy-background-color .wp-block-site-title a {
  color:#FFFFFF !important;
}
footer .wp-block-group.has-navy-background-color p,
footer .wp-block-group.has-navy-background-color li {
  opacity:.86;
}
footer .wp-block-group.has-navy-background-color h4 {
  opacity:1;
  font-weight:700;
}
footer .wp-block-group.has-navy-background-color a:hover {
  color:#7BD9DD !important;
}

/* Dark content sections */
.sc-proof,
.sc-proof h1,.sc-proof h2,.sc-proof h3,.sc-proof h4,
.sc-proof p,.sc-proof li,.sc-proof a {
  color:#FFFFFF !important;
}
.sc-proof .sc-muted-light {
  color:rgba(255,255,255,.82) !important;
}

/* Blue CTA */
.sc-blue-card,
.sc-blue-card h1,.sc-blue-card h2,.sc-blue-card h3,
.sc-blue-card p,.sc-blue-card li {
  color:#FFFFFF !important;
}
.sc-blue-card > .wp-block-group,
.sc-cta > .wp-block-group {
  position:relative;
  z-index:2;
}

/* Header: improve readability */
.sourcecom-header,
.sourcecom-header p,
.sourcecom-header a,
.sourcecom-header .wp-block-navigation-item__content {
  color:#FFFFFF !important;
}
.sourcecom-header .wp-block-navigation-item__content {
  opacity:.94;
}
.sourcecom-header .wp-block-navigation-item__content:hover {
  opacity:1;
  color:#7BD9DD !important;
}

/* Lighter text on light background should not get too pale */
.has-light-background-color .has-muted-color,
.has-white-background-color .has-muted-color {
  color:#56627A !important;
}

/* Improve focus states too */
a:focus-visible,
button:focus-visible,
.wp-element-button:focus-visible {
  outline:3px solid #7BD9DD !important;
  outline-offset:3px;
}

/* ===== Sourcecom Next v0.6 ===== */
:root{
 --sc-official:#000091;
 --sc-electric:#3739E6;
 --sc-navy:#07142E;
 --sc-navy2:#0C1D3D;
 --sc-cyan:#7BD9DD;
 --sc-ink:#101B33;
 --sc-muted:#5D6A82;
 --sc-pale:#F5F7FC;
 --sc-line:#E2E8F2;
 --sc-white:#fff;
}
body{background:#fff;color:var(--sc-ink)}
main{min-height:30vh}
.sc-container{max-width:1200px;margin-inline:auto}
.sc-kicker{font-size:.82rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--sc-electric)}
.sc-lead{font-size:1.25rem;line-height:1.6;color:var(--sc-muted);max-width:760px}
.sc-section{padding:6.5rem 1.5rem}
.sc-section--tight{padding:4.5rem 1.5rem}
.sc-section--pale{background:var(--sc-pale)}
.sc-section--navy{background:var(--sc-navy);color:#fff}
.sc-section--navy h1,.sc-section--navy h2,.sc-section--navy h3,.sc-section--navy p,.sc-section--navy a{color:#fff!important}

.sourcecom-header{position:sticky;top:0;background:rgba(7,20,46,.97)!important;backdrop-filter:blur(12px)}
.sourcecom-header .wp-block-navigation__submenu-container{
 background:var(--sc-navy2)!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:12px!important;
 padding:.7rem!important;min-width:300px!important;box-shadow:0 20px 55px rgba(0,0,0,.22)
}
.sourcecom-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
 padding:.65rem .8rem!important;border-radius:8px
}
.sourcecom-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{background:rgba(255,255,255,.07)}
.sc-header-cta .wp-element-button{padding:.7rem 1rem!important;border-radius:8px!important;background:var(--sc-electric)!important;color:#fff!important}

.sc-area-hero{
 background:
 radial-gradient(circle at 83% 38%,rgba(55,57,230,.27),transparent 28%),
 linear-gradient(115deg,var(--sc-navy) 0%,var(--sc-navy2) 62%,#112B58 100%);
 color:#fff;position:relative;overflow:hidden
}
.sc-area-hero h1,.sc-area-hero p{color:#fff!important}
.sc-area-hero:after{
 content:"";position:absolute;right:-90px;top:-150px;width:460px;height:460px;border-radius:50%;
 border:1px solid rgba(123,217,221,.18);box-shadow:0 0 0 55px rgba(55,57,230,.05),0 0 0 110px rgba(123,217,221,.025)
}

.sc-service-grid{gap:1.25rem}
.sc-service-card{
 border:1px solid var(--sc-line);border-radius:16px;background:#fff;padding:2rem;min-height:245px;
 box-shadow:0 10px 34px rgba(7,20,46,.045);transition:.2s ease
}
.sc-service-card:hover{transform:translateY(-3px);box-shadow:0 18px 46px rgba(7,20,46,.09);border-color:#CBD4E4}
.sc-service-card h3{font-size:1.38rem;margin-top:1rem}
.sc-service-card p{color:var(--sc-muted)}
.sc-service-card a{text-decoration:none;font-weight:700}
.sc-service-icon{
 width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;
 background:#EEF0FF;color:var(--sc-electric);font-weight:800
}

.sc-feature-split{gap:4rem}
.sc-feature-panel{border:1px solid var(--sc-line);border-radius:20px;padding:2.5rem;background:#fff}
.sc-feature-panel--blue{background:var(--sc-official);color:#fff;border-color:var(--sc-official)}
.sc-feature-panel--blue h2,.sc-feature-panel--blue h3,.sc-feature-panel--blue p{color:#fff!important}

.sc-proof-grid{gap:1.5rem}
.sc-proof-box{padding:1.7rem;border-top:1px solid rgba(255,255,255,.20)}
.sc-proof-box strong{display:block;font-size:2rem;color:#fff;line-height:1.1}
.sc-proof-box span{color:rgba(255,255,255,.72)}

.sc-case-card{border-radius:18px;overflow:hidden;border:1px solid var(--sc-line);background:#fff}
.sc-case-card .wp-block-post-featured-image{margin:0}
.sc-case-card .sc-case-body{padding:1.7rem}
.sc-case-card h3{font-size:1.35rem}
.sc-case-card p{color:var(--sc-muted)}
.sc-insight-card{padding:1.6rem 0;border-top:1px solid var(--sc-line)}
.sc-insight-card .wp-block-post-date{color:var(--sc-muted);font-size:.86rem}

.sc-service-single-intro{max-width:860px}
.sc-service-content h2{margin-top:3.4rem}
.sc-service-content ul{padding-left:1.25rem}
.sc-service-content li{margin-bottom:.55rem}
.sc-breadcrumb{font-size:.88rem;color:rgba(255,255,255,.70)}

.sc-contact-card{border-radius:18px;background:var(--sc-pale);padding:2.2rem;border:1px solid var(--sc-line)}
.sc-contact-card a{text-decoration:none}
.sc-contact-grid{gap:1.25rem}

.sc-footer-link{color:#fff!important;text-decoration:none}
footer p,footer li{color:rgba(255,255,255,.86)!important}
footer h4{color:#fff!important}
footer a{color:#fff!important}
footer a:hover{color:var(--sc-cyan)!important}

@media(max-width:900px){
 .sc-section{padding:4.75rem 1.25rem}
 .sc-feature-split{gap:1.5rem}
 .sourcecom-header{position:relative}
}
@media(max-width:781px){
 .sc-service-grid{gap:1rem}
 .sc-area-hero:after{opacity:.45}
}

#erbjudande{scroll-margin-top:90px}
.sc-blue-card .wp-block-button__link,.sc-cta .wp-block-button__link{background:#fff!important;color:#000091!important;border:2px solid #fff!important;font-weight:700!important;position:relative;z-index:4}
.sc-blue-card .wp-block-button__link:hover,.sc-cta .wp-block-button__link:hover{background:#F5F7FC!important;color:#000091!important}
@media(max-width:781px){
.sourcecom-header .wp-block-navigation__responsive-container.is-menu-open{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-height:none!important;overflow-y:auto!important;background:#07142E!important;padding:1.5rem!important;z-index:99999!important}
.sourcecom-header .wp-block-navigation__responsive-container-content{padding-top:4.5rem!important;display:block!important}
.sourcecom-header .wp-block-navigation__container{width:100%!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:.15rem!important}
.sourcecom-header .wp-block-navigation-item{width:100%!important;display:block!important}
.sourcecom-header .wp-block-navigation-item__content{display:block!important;width:100%!important;padding:.8rem 0!important;font-size:1.08rem!important}
.sourcecom-header .wp-block-navigation__submenu-container{position:static!important;width:100%!important;min-width:0!important;max-height:none!important;overflow:visible!important;background:transparent!important;box-shadow:none!important;border:0!important;padding:.25rem 0 .75rem 1rem!important}
.sourcecom-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content{font-size:.96rem!important;padding:.55rem 0!important;color:rgba(255,255,255,.82)!important}
.sourcecom-header .wp-block-navigation__responsive-container-close{top:1.3rem!important;right:1.3rem!important;color:#fff!important}
}
/* ===== Sourcecom Next v0.6.2 ===== */

/* Sticky must sit on the template-part wrapper, not only the inner group. */
header.wp-block-template-part{
  position:sticky!important;
  top:0!important;
  z-index:10000!important;
  display:block!important;
}
.sourcecom-header{
  position:relative!important;
  top:auto!important;
  width:100%!important;
}

/* Prevent anchored content from hiding below the sticky header. */
html{scroll-padding-top:88px}
#erbjudande{scroll-margin-top:88px}

/* Service grids may contain more than three services. */
.sc-service-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:1.25rem!important;
}
.sc-service-grid>.wp-block-column{width:auto!important;margin:0!important}

/* Mobile navigation: full viewport overlay, with normal document flow inside. */
@media(max-width:781px){
  header.wp-block-template-part{position:sticky!important;top:0!important}
  .sourcecom-header .wp-block-navigation__responsive-container.is-menu-open{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    border-radius:0!important;
    background:#07142E!important;
    padding:1.5rem!important;
    z-index:999999!important;
  }
  .sourcecom-header .wp-block-navigation__responsive-container-content{
    display:block!important;
    width:100%!important;
    padding-top:4.5rem!important;
    overflow:visible!important;
  }
  .sourcecom-header .wp-block-navigation__container{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .sourcecom-header .wp-block-navigation__submenu-container{
    display:block!important;
    position:static!important;
    visibility:visible!important;
    opacity:1!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .sc-service-grid{grid-template-columns:1fr!important}
}
@media(min-width:782px) and (max-width:1050px){
  .sc-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* ===== v0.7 Managed Firewalls pilot ===== */
.sc-service-single-intro .wp-block-post-terms a{color:#7BD9DD!important;text-decoration:none}
.sc-service-content{max-width:1200px}
.sc-service-content > *{max-width:820px;margin-left:auto;margin-right:auto}
.sc-service-content > .alignwide{max-width:1200px}
.sc-mf-benefits{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin:2.5rem auto 3.5rem!important;max-width:1200px!important}
.sc-mf-benefit{border:1px solid #E2E8F2;border-radius:16px;padding:1.8rem;background:#F8FAFD}
.sc-mf-benefit h3{font-size:1.2rem;margin-top:.3rem}
.sc-mf-benefit p{color:#5D6A82}
.sc-mf-scope{border-left:4px solid #3739E6;padding:1.6rem 2rem;background:#F5F7FC;border-radius:0 14px 14px 0}
.sc-mf-proof{max-width:1200px!important;background:#07142E;color:#fff;border-radius:20px;padding:2.5rem;margin-top:4rem!important;margin-bottom:4rem!important}
.sc-mf-proof h2,.sc-mf-proof h3,.sc-mf-proof p,.sc-mf-proof li{color:#fff!important}
.sc-mf-proof p,.sc-mf-proof li{color:rgba(255,255,255,.82)!important}
.sc-mf-related{max-width:1200px!important;border-top:1px solid #E2E8F2;padding-top:2.5rem;margin-top:4rem!important}
@media(max-width:781px){.sc-mf-benefits{grid-template-columns:1fr!important}.sc-mf-proof{border-radius:14px;padding:1.6rem}}

/* v0.7 complete robust-solutions service set */
.sc-service-note{max-width:820px!important;border:1px solid #E2E8F2;border-radius:16px;padding:1.7rem 1.9rem;background:#fff;margin-top:2.5rem!important;margin-bottom:2.5rem!important}
.sc-service-note h3{margin-top:0}
.sc-service-content .sc-mf-related a{font-weight:700;text-decoration:none}

/* v0.7.1 – ordered process blocks used by insight/risk services */
.sc-service-content .sc-mf-scope ol{margin:0;padding-left:1.35rem}
.sc-service-content .sc-mf-scope li{margin:.65rem 0}

/* ===== v0.7.2 Kontinuerlig optimering ===== */
.sc-ops-flow{max-width:1200px!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:2.5rem auto 3.5rem!important}
.sc-ops-step{padding:1.6rem;border:1px solid #E2E8F2;border-radius:16px;background:#fff}
.sc-ops-step strong{display:block;color:#3739E6;font-size:.78rem;letter-spacing:.1em;margin-bottom:.55rem}
.sc-ops-step h3{margin:.2rem 0 .6rem;font-size:1.15rem}
.sc-ops-step p{color:#5D6A82;margin-bottom:0}
.sc-ops-metric{max-width:1200px!important;background:#F5F7FC;border-radius:18px;padding:2rem 2.2rem;margin:3rem auto!important;border:1px solid #E2E8F2}
.sc-ops-metric h2{margin-top:0}
@media(max-width:900px){.sc-ops-flow{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){.sc-ops-flow{grid-template-columns:1fr!important}}

/* ===== v0.7.3 Experttjänster ===== */
.sc-expert-model{max-width:1200px!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin:2.5rem auto 3.5rem!important}
.sc-expert-model>div{border:1px solid #E2E8F2;border-radius:16px;padding:1.7rem;background:#fff}
.sc-expert-model strong{display:block;color:#3739E6;font-size:.78rem;letter-spacing:.09em;margin-bottom:.55rem}
.sc-expert-model h3{margin:.2rem 0 .65rem}
.sc-expert-model p{color:#5D6A82;margin-bottom:0}
.sc-expert-role{max-width:1200px!important;background:#F5F7FC;border:1px solid #E2E8F2;border-radius:18px;padding:2.2rem;margin:3rem auto!important}
.sc-expert-role h2{margin-top:0}
@media(max-width:781px){.sc-expert-model{grid-template-columns:1fr!important}}

/* ===== v0.7.4 OT security + secure AI use ===== */
.sc-specialist-banner{
  max-width:1200px!important;
  margin:3rem auto!important;
  padding:2.2rem!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#07142E 0%,#101F43 100%)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.08)!important;
}
.sc-specialist-banner h2,.sc-specialist-banner h3,.sc-specialist-banner p{color:#fff!important}
.sc-specialist-banner p{color:rgba(255,255,255,.82)!important}
.sc-ai-risk{
  max-width:1200px!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:1.2rem!important;
  margin:2.5rem auto 3.5rem!important;
}
.sc-ai-risk>div{
  border:1px solid #E2E8F2;
  border-radius:16px;
  padding:1.7rem;
  background:#fff;
}
.sc-ai-risk h3{margin-top:.1rem}
.sc-ai-risk p{color:#5D6A82;margin-bottom:0}
@media(max-width:781px){
  .sc-ai-risk{grid-template-columns:1fr!important}
}

/* ===== v0.8.0 rebuild from v0.7.4.1 ===== */
.sc-home-proof-strip{max-width:1200px!important;margin:2rem auto 4rem!important;display:grid!important;grid-template-columns:repeat(4,1fr);gap:1rem}
.sc-home-proof-strip>div{border-top:2px solid #3739E6;padding:1.1rem 0}
.sc-home-proof-strip strong{display:block;font-size:1.15rem;color:#07142E}
.sc-home-proof-strip span{font-size:.92rem;color:#5D6A82}
.sc-home-core-feature{max-width:1200px!important;margin:3rem auto!important;padding:2.4rem!important;border-radius:18px!important;background:#07142E!important;color:#fff!important}
.sc-home-core-feature h2,.sc-home-core-feature h3{color:#fff!important}
.sc-home-core-feature p{color:rgba(255,255,255,.8)!important}
.sc-home-core-links{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.8rem}
.sc-home-core-links a{display:block;padding:1rem;border-top:1px solid rgba(255,255,255,.22);color:#fff;text-decoration:none;font-weight:650}
.sc-case-teaser{max-width:1200px!important;margin:4rem auto!important;display:grid!important;grid-template-columns:1.15fr 1fr;gap:3rem;align-items:center}
.sc-case-placeholder{min-height:300px;border-radius:18px;background:#EEF2F8;display:flex;align-items:center;justify-content:center;padding:2rem;color:#5D6A82}
.sc-context-cta{margin-top:2.5rem;padding:1.5rem;border-top:1px solid #E2E8F2}
@media(max-width:800px){
 .sc-home-proof-strip,.sc-home-core-links{grid-template-columns:1fr 1fr!important}
 .sc-case-teaser{grid-template-columns:1fr!important}
}
@media(max-width:560px){
 .sc-home-proof-strip,.sc-home-core-links{grid-template-columns:1fr!important}
}

/* ===== v0.8.1 Insikter ===== */
.sc-insights-hero{padding:5rem 1.5rem 3.5rem!important}.sc-insights-intro{max-width:760px!important}
.sc-insights-grid{max-width:1200px!important;margin:2.5rem auto 5rem!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.sc-insight-card{border:1px solid #E2E8F2;border-radius:18px;background:#fff;overflow:hidden;display:flex;flex-direction:column}
.sc-insight-card-body{padding:1.6rem;display:flex;flex-direction:column;flex:1}.sc-insight-card h2{margin:.15rem 0 .65rem}.sc-insight-card p{color:#5D6A82}
.sc-insight-empty{max-width:1200px;margin:2.5rem auto 5rem;padding:2.3rem;border-radius:18px;background:#F5F7FC;border:1px solid #E2E8F2}
.sc-insight-article{max-width:820px!important;margin:4rem auto!important}.sc-insight-article .wp-block-post-content>p{line-height:1.75}
@media(max-width:850px){.sc-insights-grid{grid-template-columns:1fr 1fr!important}}@media(max-width:580px){.sc-insights-grid{grid-template-columns:1fr!important}}

/* ===== v0.8.2 Kundcase & trovärdighet ===== */
.sc-cases-hero{padding:5rem 1.5rem 3.5rem!important}.sc-cases-intro{max-width:790px!important}
.sc-case-grid{max-width:1200px!important;margin:2.5rem auto 5rem!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem}
.sc-case-card{border:1px solid #E2E8F2;border-radius:18px;background:#fff;overflow:hidden;display:flex;flex-direction:column}
.sc-case-card-body{padding:1.8rem;display:flex;flex-direction:column;flex:1}.sc-case-card p{color:#5D6A82}.sc-case-card a{font-weight:700;text-decoration:none}
.sc-trust-band{max-width:1200px!important;margin:0 auto 5rem!important;padding:2.2rem!important;border-radius:18px!important;background:#07142E!important;color:#fff!important}
.sc-trust-band h2,.sc-trust-band h3,.sc-trust-band p{color:#fff!important}.sc-trust-band p{color:rgba(255,255,255,.8)!important}
.sc-trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:1.8rem}.sc-trust-item{border-top:1px solid rgba(255,255,255,.25);padding-top:1rem}
.sc-case-single{max-width:900px!important;margin:4rem auto!important}.sc-case-single .wp-block-post-content>p{line-height:1.75}
.sc-case-quote{font-size:1.35rem;line-height:1.5;border-left:3px solid #3739E6;padding-left:1.4rem;margin:2.2rem 0}
.sc-proof-inline{max-width:1200px!important;margin:3rem auto!important;padding:1.6rem 0;border-top:1px solid #E2E8F2;border-bottom:1px solid #E2E8F2;display:grid!important;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.sc-proof-inline strong{display:block;color:#07142E}.sc-proof-inline span{color:#5D6A82;font-size:.92rem}
@media(max-width:760px){.sc-case-grid,.sc-trust-grid,.sc-proof-inline{grid-template-columns:1fr!important}}

/* ===== v0.8.2.1 link + contrast audit ===== */

/* Dark surfaces: keep hierarchy readable and links visibly interactive. */
.sc-home-core-feature,
.sc-trust-band,
.sc-specialist-banner,
.sc-mf-proof,
.sc-proof,
.sc-section--navy {
  color:#FFFFFF!important;
}

.sc-home-core-feature h1,.sc-home-core-feature h2,.sc-home-core-feature h3,
.sc-trust-band h1,.sc-trust-band h2,.sc-trust-band h3,
.sc-specialist-banner h1,.sc-specialist-banner h2,.sc-specialist-banner h3,
.sc-mf-proof h1,.sc-mf-proof h2,.sc-mf-proof h3,
.sc-proof h1,.sc-proof h2,.sc-proof h3,
.sc-section--navy h1,.sc-section--navy h2,.sc-section--navy h3 {
  color:#FFFFFF!important;
}

.sc-home-core-feature p,.sc-home-core-feature li,
.sc-trust-band p,.sc-trust-band li,
.sc-specialist-banner p,.sc-specialist-banner li,
.sc-mf-proof p,.sc-mf-proof li,
.sc-proof p,.sc-proof li,
.sc-section--navy p,.sc-section--navy li {
  color:rgba(255,255,255,.86)!important;
}

/* Cyan is used for small labels/links on navy because it has much stronger contrast than electric blue. */
.sc-home-core-feature .sc-kicker,
.sc-trust-band .sc-kicker,
.sc-specialist-banner .sc-kicker,
.sc-mf-proof .sc-kicker,
.sc-proof .sc-kicker,
.sc-section--navy .sc-kicker {
  color:#7BD9DD!important;
}

.sc-home-core-feature a:not(.wp-element-button),
.sc-trust-band a:not(.wp-element-button),
.sc-specialist-banner a:not(.wp-element-button),
.sc-mf-proof a:not(.wp-element-button),
.sc-proof a:not(.wp-element-button),
.sc-section--navy a:not(.wp-element-button) {
  color:#7BD9DD!important;
  text-decoration-thickness:1px;
  text-underline-offset:.18em;
}

.sc-home-core-feature a:not(.wp-element-button):hover,
.sc-trust-band a:not(.wp-element-button):hover,
.sc-specialist-banner a:not(.wp-element-button):hover,
.sc-mf-proof a:not(.wp-element-button):hover,
.sc-proof a:not(.wp-element-button):hover,
.sc-section--navy a:not(.wp-element-button):hover {
  color:#FFFFFF!important;
}

/* Light surfaces: prevent inherited pale text. */
.sc-case-card,
.sc-insight-card,
.sc-contact-card,
.sc-service-card,
.sc-service-note,
.sc-case-single,
.sc-insight-article {
  color:#101B33;
}
.sc-case-card h1,.sc-case-card h2,.sc-case-card h3,
.sc-insight-card h1,.sc-insight-card h2,.sc-insight-card h3,
.sc-contact-card h1,.sc-contact-card h2,.sc-contact-card h3,
.sc-service-card h1,.sc-service-card h2,.sc-service-card h3,
.sc-service-note h1,.sc-service-note h2,.sc-service-note h3,
.sc-case-single h1,.sc-case-single h2,.sc-case-single h3,
.sc-insight-article h1,.sc-insight-article h2,.sc-insight-article h3 {
  color:#07142E!important;
}
.sc-case-card p,.sc-case-card li,
.sc-insight-card p,.sc-insight-card li,
.sc-contact-card p,.sc-contact-card li,
.sc-service-card p,.sc-service-card li,
.sc-service-note p,.sc-service-note li {
  color:#56627A!important;
}
.sc-case-card a,.sc-insight-card a,.sc-contact-card a,
.sc-service-card a,.sc-service-note a,
.sc-case-single a,.sc-insight-article a {
  color:#000091;
}

/* Footer and header stay explicitly high-contrast. */
.sourcecom-header,
.sourcecom-header a,
.sourcecom-header .wp-block-navigation-item__content,
footer,
footer p,footer li,footer h1,footer h2,footer h3,footer h4,footer a {
  color:#FFFFFF!important;
}

/* ===== v0.8.3 Kundresa, proof points & contextual CTA ===== */
.sc-next-step{margin-top:3rem;padding:2rem;border-radius:18px;background:#F5F7FC;border:1px solid #E1E7F0}
.sc-next-step .sc-kicker{margin-bottom:.45rem}.sc-next-step h2{margin:.15rem 0 .65rem;color:#07142E!important}
.sc-next-step p{color:#56627A!important}.sc-next-step-links{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.15rem}
.sc-next-step-links a{display:inline-flex;align-items:center;padding:.7rem 1rem;border-radius:999px;text-decoration:none;font-weight:700;background:#fff;border:1px solid #CDD6E5;color:#000091!important}
.sc-related-case{margin:3rem 0;padding:2rem;border-radius:18px;background:#07142E;color:#fff}
.sc-related-case .sc-kicker{color:#7BD9DD!important}.sc-related-case h2,.sc-related-case h3{color:#fff!important}.sc-related-case p{color:rgba(255,255,255,.86)!important}
.sc-related-case a{color:#7BD9DD!important;font-weight:700}.sc-related-case a:hover{color:#fff!important}
.sc-context-contact{margin-top:3rem;padding:2.2rem;border-top:2px solid #3739E6;background:#fff}
.sc-context-contact h2{color:#07142E!important}.sc-context-contact p{color:#56627A!important;max-width:720px}
.sc-context-contact .wp-element-button{background:#000091;color:#fff!important}
@media(max-width:600px){.sc-next-step,.sc-related-case,.sc-context-contact{padding:1.4rem}}

/* v0.8.3.1 QA */
.sc-home-case-proof{max-width:1200px!important;margin:4rem auto!important;display:grid!important;grid-template-columns:1.05fr .95fr;gap:2rem;align-items:stretch}
.sc-home-case-proof>div{padding:2.2rem;border-radius:18px}.sc-home-case-proof__copy{background:#fff;border:1px solid #E2E8F2}
.sc-home-case-proof__fact{background:#07142E;color:#fff}.sc-home-case-proof__fact h3{color:#fff!important}.sc-home-case-proof__fact p{color:rgba(255,255,255,.84)!important}
.sc-home-case-proof a{font-weight:700}@media(max-width:760px){.sc-home-case-proof{grid-template-columns:1fr!important}}

/* ===== v0.8.4 Om Sourcecom + Kontakt ===== */
.sc-about-hero,.sc-contact-hero{padding:5.5rem 1.5rem 4.5rem!important}
.sc-about-lead,.sc-contact-lead{max-width:820px!important}
.sc-about-story{max-width:1200px!important;margin:5rem auto!important;display:grid!important;grid-template-columns:1.05fr .95fr;gap:4rem;align-items:start}
.sc-about-story h2{margin-top:.2rem}.sc-about-story p{color:#56627A;line-height:1.75}
.sc-about-principles{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.sc-about-principle{padding:1.5rem;border:1px solid #E2E8F2;border-radius:16px;background:#F8FAFD}
.sc-about-principle h3{margin:.2rem 0 .5rem;color:#07142E!important}.sc-about-principle p{margin:0;color:#56627A!important}
.sc-about-human{max-width:1200px!important;margin:5rem auto!important;padding:3rem!important;border-radius:20px;background:#07142E;color:#fff}
.sc-about-human h2,.sc-about-human h3{color:#fff!important}.sc-about-human p{color:rgba(255,255,255,.84)!important;max-width:850px}
.sc-about-human-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2rem}
.sc-about-human-card{padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.25)}
.sc-about-human-card strong{display:block;color:#7BD9DD;font-size:1.05rem;margin-bottom:.35rem}
.sc-contact-wrap{max-width:1200px!important;margin:4.5rem auto!important;display:grid!important;grid-template-columns:1.05fr .95fr;gap:2rem}
.sc-contact-panel{padding:2rem;border:1px solid #E2E8F2;border-radius:18px;background:#fff}
.sc-contact-panel--primary{background:#07142E;color:#fff;border-color:#07142E}
.sc-contact-panel--primary h2,.sc-contact-panel--primary h3{color:#fff!important}
.sc-contact-panel--primary p{color:rgba(255,255,255,.84)!important}
.sc-contact-panel--primary a{color:#7BD9DD!important}
.sc-contact-details{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem}
.sc-contact-detail{padding:1.2rem 0;border-top:1px solid #E2E8F2}
.sc-contact-detail strong{display:block;color:#07142E;margin-bottom:.25rem}.sc-contact-detail p{margin:0;color:#56627A}
.sc-contact-choice{max-width:1200px!important;margin:0 auto 5rem!important}
.sc-contact-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}
.sc-contact-choice-card{padding:1.5rem;border-radius:16px;background:#F5F7FC;border:1px solid #E2E8F2}
.sc-contact-choice-card h3{color:#07142E!important}.sc-contact-choice-card p{color:#56627A!important}
@media(max-width:800px){
 .sc-about-story,.sc-contact-wrap{grid-template-columns:1fr!important;gap:2rem}
 .sc-about-human-grid,.sc-contact-choice-grid{grid-template-columns:1fr!important}
}
@media(max-width:560px){.sc-about-principles,.sc-contact-details{grid-template-columns:1fr!important}}


/* ===== v0.8.5 QA & FINISH ===== */

/* Consistent sticky header on desktop and mobile. */
header.wp-block-template-part{
  position:sticky!important;
  top:0!important;
  z-index:100000!important;
}
.sourcecom-header{
  box-shadow:0 1px 0 rgba(255,255,255,.08);
}
.sourcecom-header .sc-brand-logo{max-height:29px;width:auto}

/* More predictable section rhythm. */
.sc-offerings-section,
.sc-process-section{
  box-sizing:border-box;
}

/* Mobile: reduce vertical transport without changing desktop character. */
@media(max-width:781px){
  .sc-offerings-section{
    padding-top:4.25rem!important;
    padding-bottom:4.25rem!important;
  }
  .sc-offerings-section .sc-offer-grid{
    margin-top:1.5rem!important;
    gap:.9rem!important;
  }
  .sc-offerings-section .sc-card{
    padding:1.5rem!important;
    border-radius:14px!important;
  }
  .sc-offerings-section .sc-card h3{
    margin-top:.3rem!important;
    margin-bottom:.5rem!important;
  }

  .sc-home-core-feature{
    margin:2.25rem 1rem!important;
    padding:1.6rem!important;
    border-radius:16px!important;
  }
  .sc-home-core-links{
    gap:0!important;
    margin-top:1.15rem!important;
  }
  .sc-home-core-links a{
    padding:.8rem 0!important;
  }

  .sc-process-section{
    padding-top:4.25rem!important;
    padding-bottom:4.25rem!important;
  }
  .sc-process-wrap{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:1.35rem 1rem!important;
    margin-top:2rem!important;
  }
  .sc-process-step{
    margin:0!important;
    min-width:0!important;
  }
  .sc-process-step:last-child{
    grid-column:1/-1;
    max-width:50%;
  }
  .sc-process-step h3{margin:.65rem 0 .2rem!important}
  .sc-process-step p{margin:.15rem 0!important}

  .sc-home-case-proof{
    margin:2.75rem 1rem!important;
    gap:.9rem!important;
  }
  .sc-home-case-proof>div{
    padding:1.55rem!important;
    border-radius:15px!important;
  }

  .sc-cta{
    padding-top:3.25rem!important;
    padding-bottom:3.25rem!important;
  }

  footer .wp-block-columns{
    gap:1.6rem!important;
  }
  footer .wp-block-column{
    margin-bottom:0!important;
  }
}
@media(max-width:480px){
  .sc-process-wrap{
    grid-template-columns:1fr 1fr!important;
  }
  .sc-process-step:last-child{
    max-width:none;
  }
}

/* Mobile navigation: full screen, no inner "scroll box" appearance. */
@media(max-width:781px){
  .sourcecom-header{
    padding:.7rem 1rem!important;
  }
  .sourcecom-header>.wp-block-group{min-height:54px!important}
  .sourcecom-header .sc-header-cta{display:none!important}
  .sourcecom-header .wp-block-navigation__responsive-container.is-menu-open{
    padding:1.1rem 1.25rem 2rem!important;
    overscroll-behavior:contain;
  }
  .sourcecom-header .wp-block-navigation__responsive-container-content{
    padding-top:4rem!important;
  }
  .sourcecom-header .wp-block-navigation-item__content{
    padding:.65rem 0!important;
    font-size:1.04rem!important;
  }
  .sourcecom-header .wp-block-navigation__submenu-container{
    padding:.1rem 0 .6rem .9rem!important;
  }
  .sourcecom-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
    padding:.45rem 0!important;
    font-size:.93rem!important;
  }
}

/* Human / collaboration section on About. */
.sc-about-people{
  max-width:1200px!important;
  margin:0 auto 5rem!important;
  padding:2.6rem!important;
  border-radius:20px;
  background:#07142E;
  color:#fff;
}
.sc-about-people h2,.sc-about-people h3{color:#fff!important}
.sc-about-people>p{color:rgba(255,255,255,.84)!important;max-width:840px}
.sc-about-people-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.2rem;
  margin-top:2rem;
}
.sc-about-people-card{
  border-top:1px solid rgba(255,255,255,.25);
  padding-top:1.1rem;
}
.sc-about-people-card strong{
  display:block;
  margin-bottom:.35rem;
  color:#7BD9DD;
}
.sc-about-people-card span{color:rgba(255,255,255,.82)}
@media(max-width:781px){
  .sc-about-people{
    margin:0 1rem 3.5rem!important;
    padding:1.65rem!important;
  }
  .sc-about-people-grid{grid-template-columns:1fr!important;gap:1rem}
}

/* Footer finish + corrected legal links. */
footer .wp-block-columns{align-items:flex-start}
footer h4{margin-top:0!important;margin-bottom:.75rem!important}
footer p{line-height:1.65}
footer a{text-underline-offset:.16em}
@media(max-width:781px){
  footer>.wp-block-group,
  footer .wp-block-group.alignfull{
    padding-top:3.5rem!important;
    padding-bottom:1.5rem!important;
  }
  footer .wp-block-columns{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
  }
  footer .wp-block-column:first-child{
    grid-column:1/-1;
  }
}
@media(max-width:480px){
  footer .wp-block-columns{grid-template-columns:1fr!important}
  footer .wp-block-column:first-child{grid-column:auto}
}

/* Complianz: less intrusive while keeping all choices accessible. */
#cmplz-cookiebanner-container .cmplz-cookiebanner{
  width:min(420px,calc(100vw - 2rem))!important;
  max-width:420px!important;
  padding:1.15rem!important;
  border-radius:14px!important;
  box-shadow:0 14px 45px rgba(7,20,46,.24)!important;
}
#cmplz-cookiebanner-container .cmplz-title{
  font-size:1rem!important;
  line-height:1.25!important;
}
#cmplz-cookiebanner-container .cmplz-message{
  font-size:.78rem!important;
  line-height:1.45!important;
}
#cmplz-cookiebanner-container .cmplz-buttons{
  gap:.5rem!important;
}
#cmplz-cookiebanner-container .cmplz-btn{
  min-height:40px!important;
  padding:.65rem .8rem!important;
  font-size:.8rem!important;
}
#cmplz-cookiebanner-container .cmplz-links,
#cmplz-cookiebanner-container .cmplz-documents{
  font-size:.7rem!important;
}
@media(max-width:600px){
  #cmplz-cookiebanner-container .cmplz-cookiebanner{
    left:.75rem!important;
    right:.75rem!important;
    bottom:.75rem!important;
    width:auto!important;
    max-width:none!important;
    padding:1rem!important;
    max-height:62vh!important;
    overflow-y:auto!important;
  }
  #cmplz-cookiebanner-container .cmplz-header{
    padding-bottom:.35rem!important;
  }
  #cmplz-cookiebanner-container .cmplz-message{
    font-size:.74rem!important;
    line-height:1.38!important;
    margin-bottom:.5rem!important;
  }
  #cmplz-cookiebanner-container .cmplz-buttons{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
  }
  #cmplz-cookiebanner-container .cmplz-btn.cmplz-view-preferences,
  #cmplz-cookiebanner-container .cmplz-btn.cmplz-save-preferences,
  #cmplz-cookiebanner-container a.cmplz-manage-options{
    grid-column:1/-1!important;
  }
}

/* Keep tap targets and long strings safe. */
a,.wp-block-button__link{overflow-wrap:anywhere}
.wp-block-button__link{min-height:44px;display:inline-flex;align-items:center}


/* ===== v0.8.5.1 Header + legal pages ===== */

/* Sticky header: restore visual breathing room while keeping it compact. */
.sourcecom-header{
  padding-top:.95rem!important;
  padding-bottom:.95rem!important;
}
.sourcecom-header>.wp-block-group{
  min-height:58px!important;
}
.sourcecom-header .sc-brand-logo{
  max-height:34px!important;
}
.sourcecom-header .wp-block-navigation-item__content{
  line-height:1.25!important;
}
.sourcecom-header .sc-header-cta .wp-block-button__link{
  padding:.72rem 1rem!important;
}
@media(max-width:781px){
  .sourcecom-header{
    padding:.8rem 1rem!important;
  }
  .sourcecom-header>.wp-block-group{
    min-height:58px!important;
  }
  .sourcecom-header .sc-brand-logo{
    max-height:30px!important;
  }
}

/* Legal pages */
.sc-legal-hero{
  padding:4.2rem 1.5rem 3.5rem!important;
}
.sc-legal-wrap{
  max-width:900px!important;
  margin:0 auto!important;
  padding:4rem 1.5rem 5rem!important;
}
.sc-legal-content{
  font-size:1rem;
  line-height:1.72;
  color:#28344B;
}
.sc-legal-content h2,
.sc-legal-content h3,
.sc-legal-content h4{
  color:#07142E!important;
  margin-top:2.25rem!important;
  margin-bottom:.7rem!important;
}
.sc-legal-content h2{
  font-size:1.55rem!important;
}
.sc-legal-content h3{
  font-size:1.1rem!important;
}
.sc-legal-content p{
  margin:.75rem 0!important;
}
.sc-legal-content ul,
.sc-legal-content ol{
  padding-left:1.35rem!important;
  margin:.75rem 0 1.25rem!important;
}
.sc-legal-content li{
  margin:.35rem 0!important;
}
.sc-legal-content hr,
.sc-legal-content .wp-block-separator{
  border:0!important;
  border-top:1px solid #DCE3EE!important;
  margin:2rem 0!important;
}
.sc-legal-content a{
  color:#000091!important;
  text-decoration-thickness:1px;
  text-underline-offset:.16em;
}
@media(max-width:600px){
  .sc-legal-hero{
    padding:3rem 1rem 2.5rem!important;
  }
  .sc-legal-wrap{
    padding:2.5rem 1rem 3.5rem!important;
  }
  .sc-legal-content{
    font-size:.95rem;
    line-height:1.65;
  }
}


/* ===== v0.8.5.2 spacing & consistency polish ===== */

/* Global vertical rhythm – slightly tighter on long content pages. */
.entry-content > .wp-block-group.alignfull,
.wp-site-blocks > .wp-block-group.alignfull{
  scroll-margin-top:96px;
}

/* Service pages */
.sc-service-shell,
.sc-service-detail,
.sc-area-shell{
  margin-top:0!important;
}
.sc-service-content{
  padding-top:3.6rem!important;
  padding-bottom:3.6rem!important;
}
.sc-service-content > * + *{
  margin-top:1.15rem;
}
.sc-service-content h2{
  margin-top:2.35rem!important;
  margin-bottom:.7rem!important;
}
.sc-service-content h3{
  margin-top:1.75rem!important;
  margin-bottom:.55rem!important;
}

/* Customer journey blocks: less empty space between related sections. */
.sc-related-case{
  margin:2.35rem 0!important;
}
.sc-next-step{
  margin-top:2.35rem!important;
}
.sc-context-contact{
  margin-top:2.35rem!important;
  padding-top:1.7rem!important;
  padding-bottom:1.7rem!important;
}

/* Homepage rhythm */
.sc-home-proof-strip{
  margin-top:1.5rem!important;
  margin-bottom:3.1rem!important;
}
.sc-home-core-feature{
  margin-top:2.5rem!important;
  margin-bottom:2.5rem!important;
}
.sc-case-teaser,
.sc-home-case-proof{
  margin-top:3.1rem!important;
  margin-bottom:3.1rem!important;
}

/* Case and insight archives */
.sc-case-grid,
.sc-insights-grid{
  margin-top:2rem!important;
  margin-bottom:4rem!important;
}
.sc-trust-band{
  margin-bottom:3.6rem!important;
}
.sc-case-single,
.sc-insight-article{
  margin-top:3.3rem!important;
  margin-bottom:3.8rem!important;
}

/* About + contact */
.sc-about-story{
  margin-top:4rem!important;
  margin-bottom:4rem!important;
}
.sc-about-people{
  margin-bottom:4rem!important;
}
.sc-contact-wrap{
  margin-top:3.5rem!important;
  margin-bottom:3.5rem!important;
}
.sc-contact-choice{
  margin-bottom:4rem!important;
}

/* Avoid large blank tails before footer/CTA on generic pages. */
main > .wp-block-group:last-child,
.entry-content > .wp-block-group:last-child{
  margin-bottom:0!important;
}

/* More consistent cards. */
.sc-card,
.sc-service-card,
.sc-case-card,
.sc-insight-card,
.sc-contact-panel,
.sc-contact-choice-card,
.sc-about-principle{
  box-shadow:0 1px 0 rgba(7,20,46,.03);
}

/* Desktop wide-text control for readability. */
.sc-service-content p,
.sc-service-content li,
.sc-case-single p,
.sc-insight-article p,
.sc-legal-content p{
  max-width:78ch;
}

/* Mobile vertical rhythm: tighter but still breathable. */
@media(max-width:781px){
  .sc-service-content{
    padding-top:2.6rem!important;
    padding-bottom:2.8rem!important;
  }
  .sc-service-content h2{
    margin-top:1.85rem!important;
  }
  .sc-related-case,
  .sc-next-step,
  .sc-context-contact{
    margin-top:1.8rem!important;
    margin-bottom:1.8rem!important;
  }
  .sc-home-proof-strip{
    margin:1.25rem 1rem 2.4rem!important;
  }
  .sc-about-story,
  .sc-contact-wrap{
    margin-top:2.7rem!important;
    margin-bottom:2.7rem!important;
  }
  .sc-case-grid,
  .sc-insights-grid{
    margin-top:1.5rem!important;
    margin-bottom:3rem!important;
  }
}


/* ===== v0.8.5.3 contextual CTA cleanup ===== */
/* On service detail pages, the contextual CTA is the final action.
   Hide the generic fallback CTA when both are present. */
body.single-sourcecom_service .sc-context-contact ~ .sc-cta,
body.single-sourcecom_service .sc-context-contact + .sc-cta,
body.single-sourcecom_service main > .sc-cta:last-of-type{
  display:none!important;
}

/* Slightly stronger ending for contextual CTA so the page still feels complete. */
body.single-sourcecom_service .sc-context-contact{
  margin-bottom:0!important;
  border-bottom:0!important;
}
body.single-sourcecom_service .sc-context-contact + *{
  margin-top:0!important;
}


/* ===== v0.9.0 Insights ===== */
.sc-insights-intro{max-width:860px!important}
.sc-insights-featured{
  max-width:1200px!important;margin:4rem auto 2rem!important;
  display:grid!important;grid-template-columns:1.05fr .95fr;gap:1rem;
}
.sc-insights-featured-copy{
  padding:2.4rem!important;border-radius:18px;background:#07142E;color:#fff;
}
.sc-insights-featured-copy h2{color:#fff!important;margin:.35rem 0 .8rem!important}
.sc-insights-featured-copy p{color:rgba(255,255,255,.82)!important}
.sc-insights-featured-copy .sc-kicker{color:#7BD9DD!important}
.sc-insights-featured-side{
  padding:2.4rem!important;border-radius:18px;background:#F3F6FB;border:1px solid #E1E7F0;
}
.sc-insights-featured-side h3{color:#07142E!important;margin:.35rem 0 .65rem!important}
.sc-insights-topics{
  max-width:1200px!important;margin:1rem auto 3rem!important;
  display:flex;gap:.6rem;flex-wrap:wrap;
}
.sc-insights-topic{
  display:inline-flex;padding:.55rem .85rem;border:1px solid #D7DEEA;border-radius:999px;
  color:#07142E;text-decoration:none;font-size:.88rem;background:#fff;
}
.sc-insights-topic:hover{border-color:#000091;color:#000091}
.sc-insights-grid{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem!important;
  max-width:1200px!important;margin:0 auto 4.5rem!important;
}
.sc-insight-card{
  overflow:hidden;border:1px solid #E1E7F0;border-radius:16px;background:#fff;
  display:flex;flex-direction:column;min-height:100%;
}
.sc-insight-card .wp-block-post-featured-image{margin:0!important}
.sc-insight-card-body{padding:1.4rem!important;display:flex;flex-direction:column;flex:1}
.sc-insight-card h2{font-size:1.28rem!important;line-height:1.2!important;margin:.45rem 0 .65rem!important}
.sc-insight-card h2 a{color:#07142E!important;text-decoration:none}
.sc-insight-card .wp-block-post-excerpt{color:#56627A}
.sc-insight-card .wp-block-post-excerpt__more-link{color:#000091!important;font-weight:700;text-decoration:none}
.sc-insight-empty{max-width:780px;margin:3rem auto 5rem;padding:2rem;border-radius:16px;background:#F3F6FB}

/* Insight article */
.sc-insight-hero{padding:4.8rem 1.5rem 4rem!important}
.sc-insight-hero-inner{max-width:900px!important}
.sc-insight-hero h1{max-width:850px}
.sc-insight-meta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.25rem;color:rgba(255,255,255,.7);font-size:.86rem}
.sc-insight-article{max-width:860px!important;margin:4rem auto!important;padding:0 1.5rem}
.sc-insight-article .wp-block-post-content{font-size:1.05rem;line-height:1.75;color:#28344B}
.sc-insight-article .wp-block-post-content h2{color:#07142E!important;margin:2.5rem 0 .75rem!important;font-size:1.65rem!important}
.sc-insight-article .wp-block-post-content h3{color:#07142E!important;margin:1.8rem 0 .55rem!important}
.sc-insight-article .wp-block-post-content p,.sc-insight-article .wp-block-post-content li{max-width:76ch}
.sc-insight-article .wp-block-post-content ul{padding-left:1.3rem}
.sc-insight-related{
  max-width:860px!important;margin:0 auto 4rem!important;padding:2rem!important;
  background:#F3F6FB;border-radius:16px;border:1px solid #E1E7F0;
}
.sc-insight-related h2{margin-top:0!important}
@media(max-width:900px){
 .sc-insights-featured{grid-template-columns:1fr!important;margin:2.8rem 1rem 1.5rem!important}
 .sc-insights-topics{margin:1rem 1rem 2.5rem!important}
 .sc-insights-grid{grid-template-columns:1fr 1fr!important;margin:0 1rem 3.5rem!important}
}
@media(max-width:600px){
 .sc-insights-featured-copy,.sc-insights-featured-side{padding:1.55rem!important}
 .sc-insights-grid{grid-template-columns:1fr!important}
 .sc-insight-hero{padding:3.2rem 1rem 2.8rem!important}
 .sc-insight-article{margin:2.7rem auto!important;padding:0 1rem}
 .sc-insight-related{margin:0 1rem 3rem!important;padding:1.5rem!important}
}


/* ===== v0.9.0.1 mobile header + breakpoint + long headings ===== */

/* 1. Header: restore comfortable height on small screens. */
.sourcecom-header{
  padding-top:1rem!important;
  padding-bottom:1rem!important;
}
.sourcecom-header > .wp-block-group{
  min-height:68px!important;
}
.sourcecom-header .sc-brand-logo{
  max-height:36px!important;
  width:auto!important;
}
@media(max-width:900px){
  .sourcecom-header{
    padding:.9rem 1.15rem!important;
  }
  .sourcecom-header > .wp-block-group{
    min-height:66px!important;
  }
  .sourcecom-header .sc-brand-logo{
    max-height:33px!important;
  }
  .sourcecom-header .sc-header-cta{
    display:none!important;
  }
}

/* 2. WordPress core switches navigation at ~600px.
      Sourcecom needs hamburger until 900px to avoid the 600–781px expanded-menu state. */
@media(max-width:900px){
  .sourcecom-header .wp-block-navigation__responsive-container:not(.is-menu-open){
    display:none!important;
  }
  .sourcecom-header .wp-block-navigation__responsive-container-open{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:44px!important;
    height:44px!important;
    padding:0!important;
    margin:0!important;
  }
  .sourcecom-header .wp-block-navigation__responsive-container.is-menu-open{
    display:flex!important;
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    background:#07142E!important;
    z-index:999999!important;
  }
}
@media(min-width:901px){
  .sourcecom-header .wp-block-navigation__responsive-container-open{
    display:none!important;
  }
  .sourcecom-header .wp-block-navigation__responsive-container:not(.is-menu-open){
    display:block!important;
    position:static!important;
  }
}

/* 3. Long Swedish words in hero/page titles must never escape the viewport. */
.sc-area-hero h1,
.sc-service-hero h1,
.sc-hero h1,
main h1.wp-block-post-title{
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  hyphens:auto!important;
}
@media(max-width:781px){
  .sc-area-hero h1,
  .sc-service-hero h1,
  .sc-hero h1,
  main h1.wp-block-post-title,
  .has-xx-large-font-size{
    font-size:clamp(2rem,9vw,3rem)!important;
    line-height:1.04!important;
    letter-spacing:-.025em!important;
  }
  .sc-area-hero{
    padding-left:1rem!important;
    padding-right:1rem!important;
  }
}
@media(max-width:430px){
  .sc-area-hero h1,
  .sc-service-hero h1,
  .sc-hero h1,
  main h1.wp-block-post-title,
  .has-xx-large-font-size{
    font-size:clamp(1.85rem,9.5vw,2.55rem)!important;
  }
}


/* v0.9.0.1 – mobile customer case article padding */
@media(max-width:781px){
  .sc-case-single{
    margin-top:2.6rem!important;
    margin-bottom:3rem!important;
    padding-left:1rem!important;
    padding-right:1rem!important;
    box-sizing:border-box!important;
  }
  .sc-case-single > *,
  .sc-case-single .wp-block-post-content{
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  .sc-case-single .wp-block-post-content p,
  .sc-case-single .wp-block-post-content h2,
  .sc-case-single .wp-block-post-content h3,
  .sc-case-single .wp-block-post-content ul,
  .sc-case-single .wp-block-post-content ol,
  .sc-case-single .sc-case-quote{
    margin-left:0!important;
    margin-right:0!important;
  }
}


/* v0.9.0.1 final mobile header balance */
@media(max-width:900px){
  .sourcecom-header{
    padding-top:.55rem!important;
    padding-bottom:.55rem!important;
  }
  .sourcecom-header > .wp-block-group{
    min-height:48px!important;
  }
  .sourcecom-header .sc-brand-logo{
    max-height:31px!important;
  }
  .sourcecom-header .wp-block-navigation__responsive-container-open{
    width:44px!important;
    height:44px!important;
  }
}
