:root {
  --orange: #ff4b14;
  --text: #101113;
  --muted: #626872;
  --line: #d9dde2;
  --soft: #f5f6f7;
  --max: 1360px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  background: #fff;
  color: var(--text);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  line-height: 1.5;
}
img { display: block; max-width: 100%; }
a { color: inherit; }

.topbar {
  position: sticky;
  top: 0;
  z-index: 40;
  height: 88px;
  border-bottom: 1px solid rgba(16, 17, 19, .08);
  background: rgba(255, 255, 255, .985);
  box-shadow: 0 8px 28px rgba(16, 17, 19, .035);
}
.nav {
  display: flex;
  align-items: center;
  gap: 30px;
  height: 100%;
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 52px;
}
.brand { flex: 0 0 auto; text-decoration: none; }
.brand img { width: auto; height: 44px; }
.nav-links {
  display: flex;
  align-items: center;
  gap: 26px;
  margin-left: auto;
}
.nav-links a,
.nav-links button {
  position: relative;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font-size: 12px;
  font-weight: 780;
  letter-spacing: .055em;
  padding: 12px 0;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}
.nav-links a:hover,
.nav-links button:hover,
.nav-links .active { color: var(--orange); }
.nav-links a::after,
.nav-links button::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  background: var(--orange);
  content: "";
  opacity: 0;
}
.nav-links a:hover::after,
.nav-links button:hover::after,
.nav-links .active::after { opacity: 1; }

.language { position: relative; flex: 0 0 auto; }
.language-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: 13px;
  font-weight: 780;
}
.language-toggle::after {
  border-top: 5px solid #111;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  content: "";
}
.language-menu {
  position: absolute;
  top: 34px;
  right: 0;
  display: none;
  min-width: 148px;
  padding: 8px;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 20px 44px rgba(0, 0, 0, .12);
}
.language.open .language-menu { display: grid; }
.language-menu button {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 9px 10px;
  border: 0;
  background: #fff;
  cursor: pointer;
  font-weight: 720;
  text-align: left;
}
.language-menu button:hover { background: #f4f5f6; color: var(--orange); }
.flag {
  display: inline-block;
  flex: 0 0 auto;
  width: 15px;
  height: 15px;
  border: 1px solid rgba(0, 0, 0, .15);
  border-radius: 50%;
}
.flag.globe { background: #fff; box-shadow: inset 0 0 0 4px #f2f3f4; }
.flag.de { background: linear-gradient(#000 0 33%, #d00 33% 66%, #ffce00 66%); }
.flag.se { background: linear-gradient(90deg, transparent 0 30%, #fecc00 30% 42%, transparent 42%), linear-gradient(transparent 0 38%, #fecc00 38% 52%, transparent 52%), #006aa7; }
.flag.fi { background: linear-gradient(90deg, transparent 0 32%, #003580 32% 45%, transparent 45%), linear-gradient(transparent 0 38%, #003580 38% 52%, transparent 52%), #fff; }
.flag.ee { background: linear-gradient(#4891d9 0 33%, #111 33% 66%, #fff 66%); }
.flag.no { background: linear-gradient(90deg, transparent 0 28%, #fff 28% 39%, #002868 39% 45%, #fff 45% 51%, transparent 51%), linear-gradient(transparent 0 36%, #fff 36% 47%, #002868 47% 53%, #fff 53% 64%, transparent 64%), #ef2b2d; }
.flag.pl { background: linear-gradient(#fff 0 50%, #dc143c 50%); }
.flag.cn { background: #de2910; }

.pricing-page-hero {
  border-bottom: 1px solid var(--line);
  background: linear-gradient(90deg, #fff 0 63%, #f3f4f5 63% 100%);
}
.pricing-page-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
  min-height: 470px;
  max-width: var(--max);
  margin: 0 auto;
}
.pricing-page-hero__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 74px 52px;
}
.section-label {
  margin: 0 0 18px;
  color: var(--orange);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.pricing-page-hero h1 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(44px, 5vw, 72px);
  font-weight: 760;
  letter-spacing: -3px;
  line-height: .99;
}
.pricing-page-hero h1 span { color: var(--orange); }
.pricing-page-hero p:not(.section-label) {
  max-width: 690px;
  margin: 28px 0 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.72;
}
.pricing-page-hero__proof {
  overflow: hidden;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  background: #e7eaed;
}
.pricing-page-hero__visual {
  position: relative;
  min-height: 345px;
  overflow: hidden;
  background: #dfe3e6;
}
.pricing-page-hero__visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
}
.pricing-page-hero__proof strong {
  display: block;
  max-width: none;
  padding: 22px 28px 23px 31px;
  border-left: 3px solid var(--orange);
  background: #eef1f3;
  font-size: 17px;
  line-height: 1.45;
}

.pricing-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: var(--max);
  margin: 0 auto;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.pricing-facts div { min-height: 92px; padding: 23px 28px; border-right: 1px solid var(--line); }
.pricing-facts div:last-child { border-right: 0; }
.pricing-facts small,
.pricing-facts strong { display: block; }
.pricing-facts small { margin-bottom: 7px; color: var(--orange); font-size: 9px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.pricing-facts strong { font-size: 14px; }

.pricing-slice { padding: 82px 0 96px; }
.pricing-slice--soft { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--soft); }
.pricing-slice__inner { max-width: var(--max); margin: 0 auto; padding: 0 52px; }
.pricing-slice__head {
  display: grid;
  grid-template-columns: minmax(0, 42fr) minmax(0, 58fr);
  gap: 64px;
  align-items: start;
  margin-bottom: 34px;
}
.pricing-slice h2 {
  margin: 0;
  font-size: clamp(36px, 4vw, 54px);
  font-weight: 760;
  letter-spacing: -2px;
  line-height: 1.04;
}
.pricing-slice__lead { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.72; }
.pricing-slice__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.pricing-slice__grid--interim { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pricing-slice__grid article {
  min-height: 250px;
  padding: 28px 22px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #fff;
}
.pricing-slice__grid small {
  color: var(--orange);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.pricing-slice__grid h3 { min-height: 58px; margin: 18px 0 22px; font-size: 18px; line-height: 1.3; }
.pricing-slice__grid strong { display: block; font-size: 27px; letter-spacing: -1px; }
.pricing-slice__grid span { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; }
.pricing-slice__grid p { margin: 22px 0 0; padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; line-height: 1.55; }
.pricing-disclaimer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 26px;
  padding: 22px 24px;
  border-left: 3px solid var(--orange);
  background: var(--soft);
}
.pricing-disclaimer p { max-width: 850px; margin: 0; color: #3f444a; font-size: 13px; line-height: 1.65; }
.pricing-disclaimer button {
  flex: 0 0 auto;
  min-height: 46px;
  padding: 0 22px;
  border: 1px solid var(--orange);
  background: var(--orange);
  color: #fff;
  cursor: pointer;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.package-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin: 58px 0 22px; }
.package-heading .section-label { margin: 0; }
.package-heading h3 { margin: 0; font-size: 25px; letter-spacing: -.6px; }
.package-grid { border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.package-grid article {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) minmax(190px, auto);
  gap: 22px;
  align-items: center;
  min-height: 148px;
  padding: 24px 26px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #fff;
}
.package-grid article > span { align-self: stretch; padding-top: 4px; border-right: 1px solid var(--line); color: var(--orange); font-size: 11px; font-weight: 850; letter-spacing: .12em; }
.package-grid article h3 { margin: 6px 0 8px; font-size: 20px; }
.package-grid article p { max-width: 720px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.58; }
.package-grid article small { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.package-grid article > strong { color: var(--text); font-size: 19px; text-align: right; white-space: nowrap; }
.package-grid article > strong small { display: block; margin-top: 5px; color: var(--orange); }
.price-note { margin: 22px 0 0; padding: 17px 20px; border-left: 3px solid var(--orange); background: #fff; color: var(--muted); font-size: 12px; line-height: 1.6; }

.rfq-section { padding: 88px 52px; background: #101113; color: #fff; }
.rfq-inner { display: grid; grid-template-columns: minmax(300px, .75fr) minmax(0, 1.25fr); gap: 72px; max-width: var(--max); margin: 0 auto; }
.rfq-intro h2 { margin: 0; max-width: 520px; font-size: clamp(38px, 4vw, 58px); letter-spacing: -2px; line-height: 1.04; }
.rfq-intro > p:not(.section-label) { max-width: 520px; margin: 25px 0; color: #bbc0c6; font-size: 14px; line-height: 1.72; }
.rfq-intro button {
  min-height: 48px;
  padding: 0 22px;
  border: 1px solid var(--orange);
  background: var(--orange);
  color: #fff;
  cursor: pointer;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.rfq-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0; border-top: 1px solid rgba(255,255,255,.18); border-left: 1px solid rgba(255,255,255,.18); list-style: none; }
.rfq-grid li { display: flex; min-height: 130px; gap: 18px; padding: 24px; border-right: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.rfq-grid b { color: var(--orange); font-size: 10px; letter-spacing: .1em; }
.rfq-grid strong,
.rfq-grid small { display: block; }
.rfq-grid strong { margin-bottom: 8px; font-size: 15px; }
.rfq-grid small { color: #aeb4bb; font-size: 11px; line-height: 1.55; }
.readiness-rule { display: grid; grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); gap: 40px; max-width: var(--max); margin: 58px auto 0; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.2); }
.readiness-rule strong { color: var(--orange); font-size: 22px; }
.readiness-rule p { margin: 0; color: #bbc0c6; font-size: 13px; line-height: 1.7; }

.benchmark-section { display: grid; grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr); gap: 70px; max-width: var(--max); margin: 0 auto; padding: 82px 52px; }
.benchmark-section h2 { margin: 0; font-size: clamp(34px, 3.6vw, 50px); letter-spacing: -1.7px; line-height: 1.06; }
.benchmark-copy > p { margin: 0 0 24px; color: var(--muted); font-size: 14px; line-height: 1.72; }
.benchmark-details { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.benchmark-details summary { position: relative; padding: 18px 44px 18px 0; cursor: pointer; color: var(--text); font-size: 11px; font-weight: 850; letter-spacing: .08em; list-style: none; text-transform: uppercase; }
.benchmark-details summary::-webkit-details-marker { display: none; }
.benchmark-details summary::after { content: '+'; position: absolute; top: 50%; right: 4px; color: var(--orange); font-size: 22px; font-weight: 500; transform: translateY(-50%); }
.benchmark-details[open] summary::after { content: '–'; }
.benchmark-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.benchmark-links a { min-height: 54px; padding: 17px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--text); font-size: 11px; font-weight: 800; text-decoration: none; }
.benchmark-links a:hover { color: var(--orange); }
.benchmark-copy > small { display: block; margin-top: 18px; color: #777d84; font-size: 10px; line-height: 1.55; }

@media (max-width: 1100px) {
  .nav { padding: 0 30px; }
  .nav-links { gap: 16px; overflow-x: auto; }
  .pricing-slice__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pricing-slice__grid article:last-child { grid-column: 1 / -1; }
  .rfq-inner,
  .benchmark-section { grid-template-columns: 1fr; gap: 38px; }
}
@media (max-width: 760px) {
  .topbar { position: relative; height: auto; }
  .nav { position: relative; flex-wrap: wrap; padding: 18px 22px 14px; }
  .brand img { height: 40px; }
  .language { margin-left: auto; }
  .nav-links { order: 3; width: 100%; margin-left: 0; padding-bottom: 4px; }
  .nav-links a,
  .nav-links button { flex: 0 0 auto; padding: 10px 8px; border: 1px solid var(--line); }
  .pricing-page-hero { background: #fff; }
  .pricing-page-hero__inner { grid-template-columns: 1fr; min-height: 0; }
  .pricing-page-hero__copy { padding: 55px 22px 42px; }
  .pricing-page-hero h1 { overflow-wrap: normal; font-size: clamp(32px, 10vw, 40px); letter-spacing: -1.6px; }
  .pricing-page-hero__proof { min-height: 0; }
  .pricing-page-hero__visual { min-height: 270px; }
  .pricing-page-hero__proof strong { max-width: 100%; padding: 20px 22px; font-size: 16px; }
  .pricing-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 22px; }
  .pricing-facts div:nth-child(2) { border-right: 0; }
  .pricing-facts div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .pricing-slice { padding: 58px 0 70px; }
  .pricing-slice__inner { padding: 0 22px; }
  .pricing-slice__head { grid-template-columns: 1fr; gap: 18px; }
  .pricing-slice__grid { grid-template-columns: 1fr; }
  .pricing-slice__grid article:last-child { grid-column: auto; }
  .pricing-disclaimer { align-items: stretch; flex-direction: column; }
  .package-heading { align-items: flex-start; flex-direction: column; }
  .package-grid article { grid-template-columns: 36px 1fr; gap: 16px; padding: 22px 18px; }
  .package-grid article > strong { grid-column: 2; text-align: left; }
  .rfq-section { padding: 58px 22px; }
  .rfq-inner { grid-template-columns: 1fr; gap: 34px; }
  .rfq-grid { grid-template-columns: 1fr; }
  .readiness-rule { grid-template-columns: 1fr; gap: 14px; margin-top: 36px; }
  .benchmark-section { grid-template-columns: 1fr; gap: 30px; padding: 58px 22px; }
  .benchmark-links { grid-template-columns: 1fr; }
}
.pricing-market-bar { max-width:1440px; margin:auto; padding:24px 5%; display:flex; align-items:center; flex-wrap:wrap; gap:16px; border-bottom:1px solid #d9dde2; }
.pricing-market-bar label {font-weight:700;}
.pricing-market-bar select {padding:10px 16px;background:white;color:#111;border:1px solid #d9dde2;font:inherit;}
.pricing-market-bar p {flex:1; min-width:260px; font-size:14px; line-height:1.55;color:#505967;margin:0;}
.pricing-market-bar a {color:#c83208;font-weight:700;font-size:14px;}


/* Public pricing only: restored, keyboard-operable source disclosure. */
.benchmark-details summary { font-size: 14px; letter-spacing: .02em; text-transform: none; }
.benchmark-details .benchmark-context { margin: 0; padding: 0 0 20px; color: #626872; font-size: 14px; line-height: 1.7; }
.benchmark-details .benchmark-links a { font-size: 14px; font-weight: 650; line-height: 1.5; overflow-wrap: anywhere; }
.benchmark-details .benchmark-links a:hover { color: #101113; text-decoration: underline; text-decoration-color: #ff4b14; text-underline-offset: 4px; }
.benchmark-details summary:focus-visible, .benchmark-details a:focus-visible { outline: 3px solid #101113; outline-offset: 3px; }
.benchmark-details .benchmark-checked { display: block; padding: 16px 0; color: #626872; font-size: 12px; line-height: 1.6; }
@media (max-width: 560px) { .benchmark-details .benchmark-links { grid-template-columns: minmax(0, 1fr); } }
