/* Scoped for TP-Link CMS integration. */
/* TP-Link Nordic — Connection */

/* ---------- TP-Link Aktiv (corporate typeface) ---------- */
@font-face{
  font-family: "TP-Link Aktiv";
  src: url("https://static-page.tp-link.com/nordic/tplink-nordic-site/assets/fonts/TP-LinkAktiv_Lt.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face{
  font-family: "TP-Link Aktiv";
  src: url("https://static-page.tp-link.com/nordic/tplink-nordic-site/assets/fonts/TP-LinkAktiv_Rg.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face{
  font-family: "TP-Link Aktiv";
  src: url("https://static-page.tp-link.com/nordic/tplink-nordic-site/assets/fonts/TP-LinkAktiv_Md.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face{
  font-family: "TP-Link Aktiv";
  src: url("https://static-page.tp-link.com/nordic/tplink-nordic-site/assets/fonts/TP-LinkAktiv_Bd.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

.nordic-service-provider-page *{ box-sizing: border-box; margin: 0; padding: 0; }

.nordic-service-provider-page{
  /* === Brand palette === */
  --tp-blue:        #00A6E1;   /* core brand */
  --tp-blue-dark:   #0086c0;
  --tp-blue-deep:   #005a99;   /* nav, deep accents */
  --tp-blue-soft:   #eaf6fd;
  --tp-blue-tint:   #f4fafe;   /* near-white section bg */
  --tp-ink:         #0b1220;   /* premium near-black */
  --tp-text:        #131c2c;
  --tp-text-soft:   #4b566b;
  --tp-text-mute:   #6b7790;
  --tp-border:      #e6ebf2;
  --tp-surface:     #ffffff;

  /* === Typography === */
  --font-sans: "TP-Link Aktiv", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

  /* === Shape & motion === */
  --radius-card:    10px;
  --radius-pill:    999px;

  /* Elevation scale */
  --shadow-xs: 0 1px 2px rgba(15, 28, 49, .06);
  --shadow-sm: 0 4px 14px rgba(15, 28, 49, .08);
  --shadow-md: 0 10px 30px rgba(15, 28, 49, .10);
  --shadow-lg: 0 20px 50px rgba(15, 28, 49, .14);
  --shadow-brand: 0 10px 30px rgba(0, 166, 225, .25);

  /* Motion */
  --ease:        cubic-bezier(.2,.7,.2,1);
  --ease-out:    cubic-bezier(.16,1,.3,1);
  --dur-fast:    .18s;
  --dur-med:     .35s;
  --dur-slow:    .6s;
}

.nordic-service-provider-page,
.nordic-service-provider-page{
  font-family: var(--font-sans);
  color: var(--tp-text);
  background: #fff;
  line-height: 1.55;
  font-feature-settings: "cv02","cv03","cv04","cv11"; /* Inter stylistic refinements */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Respect users who want less motion */
@media (prefers-reduced-motion: reduce){
  .nordic-service-provider-page *,
.nordic-service-provider-page *::before,
.nordic-service-provider-page *::after{
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

/* Visible focus ring for keyboard users */
.nordic-service-provider-page :focus{ outline: none; }
.nordic-service-provider-page :focus-visible{
  outline: 2px solid var(--tp-blue);
  outline-offset: 3px;
  border-radius: 4px;
}

/* Selection */
.nordic-service-provider-page ::selection{
  background: rgba(0, 166, 225, .22);
  color: var(--tp-ink);
}

.nordic-service-provider-page{ scroll-behavior: smooth; }
.nordic-service-provider-page section[id]{ scroll-margin-top: 58px; }

/* ---------- Back to top button ---------- */
.nordic-service-provider-page .back-to-top{
  position: fixed;
  right: 28px;
  bottom: 28px;
  width: 48px;
  height: 48px;
  border: none;
  border-radius: 50%;
  background: var(--tp-blue);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(0,40,80,.22);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition:
    opacity    .3s var(--ease),
    transform  .3s var(--ease),
    visibility 0s  linear .3s,
    background var(--dur-fast) var(--ease),
    box-shadow var(--dur-fast) var(--ease);
  z-index: 900;
}
.nordic-service-provider-page .back-to-top.is-visible{
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition:
    opacity    .3s var(--ease),
    transform  .3s var(--ease),
    visibility 0s  linear 0s,
    background var(--dur-fast) var(--ease),
    box-shadow var(--dur-fast) var(--ease);
}
.nordic-service-provider-page .back-to-top:hover{
  background: var(--tp-blue-dark);
  box-shadow: 0 12px 28px rgba(0,40,80,.32);
}
.nordic-service-provider-page .back-to-top svg{ display: block; }

/* ---------- Fixed glass nav ---------- */
.nordic-service-provider-page .site-nav{
  position: sticky;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  background: linear-gradient(180deg, rgba(0,175,230,.94) 0%, rgba(0,163,223,.94) 100%);
  backdrop-filter: saturate(260%) blur(18px);
  -webkit-backdrop-filter: saturate(260%) blur(18px);
  border-bottom: 1px solid rgba(255,255,255,.24);
  box-shadow: 0 6px 22px rgba(0,80,130,.22), inset 0 1px 0 rgba(255,255,255,.14);
}
.nordic-service-provider-page .nav-inner{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 58px;
}
.nordic-service-provider-page .nav-logo{
  position: absolute;
  left: 32px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
}
.nordic-service-provider-page .nav-logo img{
  height: 110px;
  width: auto;
  display: block;
  filter: brightness(0) invert(1);
}
.nordic-service-provider-page .nav-links{
  list-style: none;
  display: flex;
  gap: 38px;
  margin: 0;
  padding: 0;
}
.nordic-service-provider-page .nav-links a{
  display: inline-block;
  color: rgba(255,255,255,.92);
  font-family: var(--font-sans);
  font-size: 13.5px;
  font-weight: 500;
  letter-spacing: .04em;
  padding: 8px 6px;
  border-bottom: 2px solid transparent;
  transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}
.nordic-service-provider-page .nav-links a:hover{
  color: #fff;
  border-bottom-color: rgba(255,255,255,.85);
  transform: translateY(-1px);
}

.nordic-service-provider-page img{ max-width: 100%; display: block; }
.nordic-service-provider-page a{ color: inherit; text-decoration: none; }

.nordic-service-provider-page .container{
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 32px;
}

.nordic-service-provider-page .eyebrow{
  color: #3172d9;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .16em;
  margin-bottom: 14px;
  text-transform: uppercase;
}

.nordic-service-provider-page .section-title{
  font-size: 34px;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -.012em;
  color: var(--tp-ink);
}

.nordic-service-provider-page .section-sub{
  margin-top: 14px;
  color: var(--tp-text-soft);
  font-size: 15px;
  line-height: 1.6;
  /* nowrap only on desktop where there's room — wraps cleanly on tablet/mobile */
  white-space: normal;
}
@media (min-width: 1024px){
  .nordic-service-provider-page .section-sub{ white-space: nowrap; }
}

/* ---------- Buttons ---------- */
.nordic-service-provider-page .btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 28px;
  border-radius: var(--radius-pill);
  font-family: inherit;
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: .01em;
  cursor: pointer;
  border: none;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
  transition:
    background-color var(--dur-fast) var(--ease),
    color            var(--dur-fast) var(--ease),
    transform        var(--dur-fast) var(--ease-out),
    box-shadow       var(--dur-fast) var(--ease);
}
.nordic-service-provider-page a.btn,
.nordic-service-provider-page a.btn:hover,
.nordic-service-provider-page a.btn:focus,
.nordic-service-provider-page a.btn:active,
.nordic-service-provider-page a.btn:visited{
  text-decoration: none !important;
}
.nordic-service-provider-page .btn--primary{
  background: #00a3df;
  color: #fff;
  box-shadow: var(--shadow-xs), inset 0 1px 0 rgba(255,255,255,.18);
}
.nordic-service-provider-page .btn--primary:hover{
  transform: translateY(-2px);
  box-shadow: var(--shadow-brand), inset 0 1px 0 rgba(255,255,255,.25);
}
.nordic-service-provider-page .btn--primary:active{
  transform: translateY(0);
  box-shadow: var(--shadow-xs);
}

.nordic-service-provider-page .btn--ghost{
  background: #fff;
  color: var(--tp-blue);
  box-shadow: var(--shadow-xs);
}
.nordic-service-provider-page .btn--ghost:hover{
  background: var(--tp-blue-dark);
  color: #fff;
  box-shadow: var(--shadow-brand);
}

/* =========================================================
   1. HERO (video left as placeholder)
   ========================================================= */
.nordic-service-provider-page .hero{
  position: relative;
  width: 100%;
  height: 640px;
  overflow: hidden;
  background: #0a2540;
}
.nordic-service-provider-page .hero-video{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.nordic-service-provider-page .hero-content{
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 32px;
  pointer-events: none;
}
.nordic-service-provider-page .hero-cta{
  pointer-events: auto;
  color: #fff;
  font-weight: 500;
  font-size: 13px;
  border-bottom: 1px solid #fff;
  padding-bottom: 1px;
  text-decoration: none;
  transition: opacity var(--dur-fast) var(--ease);
}
.nordic-service-provider-page .hero-cta:hover{ opacity: .7; }
.nordic-service-provider-page .hero-overlay{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.nordic-service-provider-page .hero-title{
  color: #fff;
  font-size: 110px;
  font-weight: 700;
  letter-spacing: -2px;
  text-shadow: 0 4px 24px rgba(0,0,0,.35);
}

/* =========================================================
   2. TRUSTED BAR
   ========================================================= */
.nordic-service-provider-page .trusted-bar{
  background: #00a3df;
  color: #fff;
  padding: 22px 0 26px;
  position: relative;
}
.nordic-service-provider-page .trusted-label{
  font-size: 11px;
  letter-spacing: .22em;
  font-weight: 600;
  margin-bottom: 14px;
  opacity: .92;
}
.nordic-service-provider-page .trusted-logos{
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  align-items: center;
  justify-items: center;
  gap: 0;
}
.nordic-service-provider-page .logo-item{
  width: 100%;
  max-width: 110px;
  height: 32px;
  display: block;
  object-fit: contain;
  object-position: center;
}
.nordic-service-provider-page .trusted-logos .logo-item:nth-child(1),
.nordic-service-provider-page .trusted-logos .logo-item:nth-child(6){
  max-width: 92px;
  height: 26px;
}

/* =========================================================
   3. YOUR LOCAL TEAM
   ========================================================= */
.nordic-service-provider-page .local-team{ padding: 70px 0 50px; }

.nordic-service-provider-page .section-head{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 36px;
}
.nordic-service-provider-page .contact-link{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--tp-blue-deep);
  font-weight: 600;
  font-size: 13.5px;
  padding: 8px 0;
  position: relative;
  transition: gap var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}
.nordic-service-provider-page .contact-link::after{
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 4px;
  height: 1px;
  background: currentColor;
  transform-origin: left;
  transition: transform var(--dur-fast) var(--ease);
}
.nordic-service-provider-page .contact-link:hover{
  color: var(--tp-blue);
  gap: 10px;
}

.nordic-service-provider-page .team-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-bottom: 18px;
}
.nordic-service-provider-page .team-card{
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 26px 28px;
  background: linear-gradient(180deg, var(--tp-blue-soft) 0%, var(--tp-blue-tint) 100%);
  border: 1px solid rgba(0,166,225,.10);
  position: relative;
  overflow: hidden;
  transition: box-shadow var(--dur-med) var(--ease), transform var(--dur-med) var(--ease), border-color var(--dur-med) var(--ease);
}
.nordic-service-provider-page .team-card::before{
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(600px circle at var(--mx,50%) var(--my,50%), rgba(0,166,225,.10), transparent 40%);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--dur-med) var(--ease);
}
.nordic-service-provider-page .team-card:hover{
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
  border-color: rgba(0,166,225,.28);
}
.nordic-service-provider-page .team-card:hover::before{ opacity: 1; }
.nordic-service-provider-page .team-avatar{
  width: 92px; height: 92px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 2px solid var(--tp-blue);
  padding: 3px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(0,166,225,.18);
  transition: transform var(--dur-med) var(--ease-out);
}
.nordic-service-provider-page .team-card:hover .team-avatar{ transform: scale(1.04); }
.nordic-service-provider-page .team-info{ position: relative; z-index: 1; }
.nordic-service-provider-page .team-name{
  font-weight: 700;
  font-size: 15px;
  color: var(--tp-ink);
  letter-spacing: -.005em;
}
.nordic-service-provider-page .team-role,
.nordic-service-provider-page .team-region{
  font-size: 12px;
  color: var(--tp-blue-deep);
  margin-top: 2px;
  line-height: 1.45;
  white-space: nowrap;
}
.nordic-service-provider-page .team-actions{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
}
.nordic-service-provider-page .team-email{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px; height: 44px; /* WCAG 2.1 AA minimum touch target */
  border-radius: 50%;
  color: var(--tp-blue-deep);
  background: rgba(255,255,255,.6);
  border: 1px solid transparent;
  transition: color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);
}
.nordic-service-provider-page .team-email:hover{
  color: #fff;
  background: var(--tp-blue);
  border-color: var(--tp-blue);
  transform: translateY(-2px);
  box-shadow: var(--shadow-brand);
}
.nordic-service-provider-page .team-email svg{ display: block; }

/* Feature cards (Events / Case Studies) */
.nordic-service-provider-page .feature-cards{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 18px;
}
.nordic-service-provider-page .feature-card{
  position: relative;
  aspect-ratio: 815 / 590;
  overflow: hidden;
  padding: 34px 28px 28px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #ddd;
}
.nordic-service-provider-page .feature-bg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 0;
  transform: translateZ(0);
  will-change: transform;
  transition: transform .55s cubic-bezier(.22,.61,.36,1);
}
.nordic-service-provider-page .feature-card:hover .feature-bg{
  transform: scale(1.04) translateZ(0);
}
.nordic-service-provider-page .feature-card > h3,
.nordic-service-provider-page .feature-card > a{ position: relative; z-index: 1; }
.nordic-service-provider-page .feature-title{
  font-size: 24px;
  font-weight: 700;
  color: var(--tp-ink);
  margin-bottom: 16px;
  text-align: center;
  letter-spacing: -.01em;
}
.nordic-service-provider-page .feature-card .btn{
  align-self: center;
}
.nordic-service-provider-page .feature-card .btn--primary:hover{
  background: #fff;
  color: var(--tp-blue);
  box-shadow: var(--shadow-md);
}

/* =========================================================
   4. SOLUTION PLATFORMS
   ========================================================= */
.nordic-service-provider-page .solution-platforms{
  background: var(--tp-bg-light);
  padding: 70px 0 80px;
}
.nordic-service-provider-page .platforms-grid{
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 16px;
  margin-top: 32px;
}
.nordic-service-provider-page .platform-col{
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 16px;
}
.nordic-service-provider-page .platform-card{
  position: relative;
  display: block;
  overflow: hidden;
  min-height: 220px;
  background-size: cover;
  background-position: center;
  background-color: #0d2c4d;
  cursor: pointer;
  isolation: isolate;
  color: inherit;
  text-decoration: none;
}
.nordic-service-provider-page .platform-card--large{ min-height: 470px; }
.nordic-service-provider-page .platform-link{
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
}
.nordic-service-provider-page .platform-link:focus-visible{
  outline: 3px solid #fff;
  outline-offset: -5px;
}

/* Blue rectangle spans full width along the bottom */
.nordic-service-provider-page .platform-overlay{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, rgba(0,166,225,.92) 0%, rgba(0,134,193,.96) 100%);
  color: #fff;
  padding: 18px 24px;
  display: flex;
  flex-direction: column;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border-top: 1px solid rgba(255,255,255,.18);
  transition: padding var(--dur-slow) var(--ease);
}
.nordic-service-provider-page .platform-text{ display: flex; flex-direction: column; gap: 4px; }
.nordic-service-provider-page .platform-title{
  font-size: 19px;
  font-weight: 700;
  color: #fff;
  letter-spacing: -.005em;
}
.nordic-service-provider-page .platform-sub{
  font-size: 13px;
  color: rgba(255,255,255,.94);
  margin-top: 4px;
  line-height: 1.5;
}

/* Explore more text-link — hidden until hover */
.nordic-service-provider-page .platform-btn{
  align-self: flex-start;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .02em;
  max-height: 0;
  margin-top: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  text-decoration: none;
  transition:
    max-height .55s var(--ease),
    margin     .55s var(--ease),
    opacity    .45s var(--ease) .1s;
}

/* HOVER: rectangle expands and button fades in */
.nordic-service-provider-page .platform-card:hover .platform-overlay{
  padding: 22px 22px 24px;
}
.nordic-service-provider-page .platform-card:hover .platform-btn{
  max-height: 24px;
  margin-top: 10px;
  opacity: 1;
  pointer-events: auto;
}
.nordic-service-provider-page .platform-btn:hover{
  text-decoration: none;
}

/* =========================================================
   5. OPERATOR PRODUCT RANGE
   ========================================================= */
.nordic-service-provider-page .product-range{ padding: 70px 0; }

.nordic-service-provider-page .product-block{
  margin-top: 36px;
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  background: #fff;
  border: 1px solid rgba(0,166,225,.10);
  overflow: hidden;
  min-height: 380px;
}
.nordic-service-provider-page .product-info{
  padding: 40px 44px;
  display: flex;
  flex-direction: column;
  background: linear-gradient(135deg, var(--tp-blue-soft) 0%, var(--tp-blue-tint) 100%);
}
.nordic-service-provider-page .product-portfolio-title{
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 16px;
}
.nordic-service-provider-page .product-list{
  list-style: none;
  margin-bottom: 24px;
}
.nordic-service-provider-page .product-list li{
  position: relative;
  padding: 14px 0 14px 36px;
  font-size: 17px;
  font-weight: 500;
  color: var(--tp-ink);
  letter-spacing: -.005em;
  border-bottom: 1px solid rgba(0,166,225,.10);
}
.nordic-service-provider-page .product-list li:last-child{ border-bottom: none; }
.nordic-service-provider-page .product-list li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 18px; height: 18px;
  margin-top: -9px;
  background: url('https://static-page.tp-link.com/nordic/tplink-nordic-site/assets/sign.png') center/contain no-repeat;
}
.nordic-service-provider-page .product-info .btn{ align-self: flex-start; }
.nordic-service-provider-page .product-info .btn--primary:hover{
  background: #fff;
  color: var(--tp-blue);
  box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

.nordic-service-provider-page .product-carousel{
  position: relative;
  background: #fff;
  overflow: hidden;
  min-height: 380px;
}
.nordic-service-provider-page .product-slide{
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: scale(1.015);
  transition: opacity 1s ease-in-out, transform 1s ease-in-out;
}
.nordic-service-provider-page .product-slide.is-active{
  opacity: 1;
  transform: scale(1);
}
.nordic-service-provider-page .product-slide img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* =========================================================
   6. SUSTAINABILITY
   ========================================================= */
.nordic-service-provider-page .sustainability{
  position: relative;
  padding: 110px 24px;
  text-align: center;
  background-size: cover;
  background-position: center;
  background-color: #d4dfd6;
  isolation: isolate;
}
.nordic-service-provider-page .sustainability::before{
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, rgba(255,255,255,.55) 0%, rgba(255,255,255,.15) 55%, transparent 85%);
  pointer-events: none;
  z-index: 0;
}
.nordic-service-provider-page .sustain-inner{
  max-width: 760px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.nordic-service-provider-page .sustain-title{
  font-size: 38px;
  font-weight: 700;
  margin-bottom: 16px;
  color: var(--tp-ink);
  letter-spacing: -.015em;
}
.nordic-service-provider-page .sustain-text{
  color: var(--tp-text-soft);
  margin-bottom: 28px;
  font-size: 15.5px;
  line-height: 1.65;
}
.nordic-service-provider-page .sustain-inner .btn--primary:hover{
  background: #fff;
  color: var(--tp-blue);
  box-shadow: var(--shadow-md);
}

/* =========================================================
   7. STAY UPDATED
   ========================================================= */
/* Bottom padding sized so anchor jumps land cleanly without huge dead zone */
.nordic-service-provider-page .stay-updated{ padding: 60px 0 120px; }
.nordic-service-provider-page .stay-head{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}
.nordic-service-provider-page .stay-links{ display: flex; gap: 22px; }
.nordic-service-provider-page .stay-links a{
  color: var(--tp-text);
  font-weight: 500;
  font-size: 13px;
  border-bottom: 1px solid var(--tp-text);
  padding-bottom: 1px;
}
.nordic-service-provider-page .stay-links a:hover{ opacity: .7; }

.nordic-service-provider-page .news-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.nordic-service-provider-page .news-card{
  border-radius: var(--radius-card);
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--tp-border);
  display: flex;
  flex-direction: column;
}
.nordic-service-provider-page .news-card--text{
  background: linear-gradient(180deg, #fff 0%, var(--tp-blue-tint) 100%);
  padding: 22px 24px;
}
.nordic-service-provider-page .news-thumb{
  width: 100%;
  height: 170px;
  object-fit: cover;
  display: block;
}
.nordic-service-provider-page .news-body{ padding: 18px 20px 20px; }
.nordic-service-provider-page .news-card .news-text{
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--tp-text);
  font-weight: 500;
}
.nordic-service-provider-page .news-card--text .news-text{ padding: 0; font-size: 13.5px; }
.nordic-service-provider-page .news-card--text .news-text strong{ color: var(--tp-ink); font-weight: 700; }
.nordic-service-provider-page .news-meta{
  margin-top: 10px;
  font-size: 11px;
  color: var(--tp-text-mute);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.nordic-service-provider-page .news-card--text hr{
  border: none;
  border-top: 1px solid var(--tp-border);
  margin: 16px 0;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 900px){
  .nordic-service-provider-page .team-grid,
.nordic-service-provider-page .feature-cards,
.nordic-service-provider-page .platforms-grid,
.nordic-service-provider-page .product-block,
.nordic-service-provider-page .news-grid{ grid-template-columns: 1fr; }
  .nordic-service-provider-page .platform-card--large{ min-height: 280px; }
  .nordic-service-provider-page .hero-title{ font-size: 64px; }
  .nordic-service-provider-page .hero{ height: 420px; } /* keep enough room for the looping video to read */
  .nordic-service-provider-page .section-title{ font-size: 26px; }
  /* Feature card aspect ratio relaxed on narrow screens so cards don't become awkwardly tall */
  .nordic-service-provider-page .feature-card{ aspect-ratio: 16 / 10; }
  /* Trusted bar: all 6 logos on a single row, very small */
  .nordic-service-provider-page .trusted-bar{ padding: 18px 0 22px; }
  .nordic-service-provider-page .trusted-label{ margin-bottom: 10px; font-size: 9px; }
  .nordic-service-provider-page .trusted-logos{ grid-template-columns: repeat(6, 1fr); row-gap: 0; }
  .nordic-service-provider-page .logo-item{ height: 14px; max-width: 56px; }
  .nordic-service-provider-page .trusted-logos .logo-item:nth-child(1),
.nordic-service-provider-page .trusted-logos .logo-item:nth-child(6){ height: 12px; max-width: 48px; }
  /* Allow team role text to wrap when needed instead of clipping */
  .nordic-service-provider-page .team-role,
.nordic-service-provider-page .team-region{ white-space: normal; }
  /* On mobile, lead with the product visual then show the list/CTA below */
  .nordic-service-provider-page .product-carousel{ order: -1; min-height: 280px; }
  /* Move "Contact us" up to sit on the same line as the eyebrow */
  .nordic-service-provider-page .local-team .container{ position: relative; }
  .nordic-service-provider-page .local-team .contact-link{
    position: absolute;
    top: -2px; /* gentle vertical nudge — links baseline-aligned with eyebrow text */
    right: 32px;
    padding-top: 0;
  }
}

/* Hide the desktop nav on mobile — no hamburger replacement, just clean hero */
@media (max-width: 768px){
  .nordic-service-provider-page .site-nav{ display: none; }
  /* Sections no longer need to offset for the fixed nav */
  .nordic-service-provider-page section[id]{ scroll-margin-top: 0; }
}

@media (max-width: 640px){
  .nordic-service-provider-page .container{ padding: 0 20px; }
  .nordic-service-provider-page .local-team,
.nordic-service-provider-page .solution-platforms,
.nordic-service-provider-page .product-range,
.nordic-service-provider-page .stay-updated{ padding-top: 56px; padding-bottom: 56px; }
  .nordic-service-provider-page .sustainability{ padding: 72px 20px; }
  .nordic-service-provider-page .section-head{ gap: 12px; margin-bottom: 24px; }
  .nordic-service-provider-page .section-title{ font-size: 24px; }
  .nordic-service-provider-page .feature-card{ aspect-ratio: 4 / 3; padding: 22px 18px 18px; }
  .nordic-service-provider-page .feature-title{ font-size: 20px; }
  /* Keep 3 cols × 2 rows on phones — much more compact than 2 cols × 3 rows */
  .nordic-service-provider-page .team-card{ gap: 16px; padding: 20px; }
  .nordic-service-provider-page .team-avatar{ width: 72px; height: 72px; }
  .nordic-service-provider-page .product-list li{ font-size: 15px; padding: 12px 0 12px 32px; }
  .nordic-service-provider-page .news-grid{ gap: 14px; }
  /* Match contact-link right offset to the tighter container padding at this breakpoint */
  .nordic-service-provider-page .local-team .contact-link{ right: 20px; }
  /* Avoid back-to-top button hugging the screen edge on small phones */
  .nordic-service-provider-page .back-to-top{ right: 16px; bottom: 16px; width: 44px; height: 44px; }
}
