/* Launch – an Apple-style product launch page: black and white bands, huge centred type, product reveals. */

:root {
  --black: #000000;
  --graphite: #1d1d1f;
  --tile: #161617;
  --mist: #f5f5f7;
  --white: #ffffff;
  --text-dark: #1d1d1f;
  --text-dark-2: #6e6e73;
  --text-light: #f5f5f7;
  --text-light-2: #a1a1a6;
  --blue: #0071e3;
  --blue-on-dark: #2997ff;

  --bg: #ffffff;
  --ink: #1d1d1f;
  --ink-2: #6e6e73;
  --line: #d2d2d7;
  --accent: #0071e3;
  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-display: "Inter Tight", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --pad-x: clamp(20px, 5vw, 64px);
}

body { font-size: 1.0625rem; line-height: 1.5; letter-spacing: -0.011em; }
h1, h2, h3, h4 { font-weight: 700; letter-spacing: -0.035em; }
:focus-visible { outline: 2px solid var(--blue-on-dark); outline-offset: 3px; border-radius: 4px; }

/* ---------- Global header ---------- */
.ln-gh { background: var(--black); color: #e8e8ed; font-size: 0.8125rem; }
.ln-gh__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 28px;
  max-width: 1080px;
  margin-inline: auto;
  padding: 8px var(--pad-x);
}
.ln-brand { display: inline-flex; align-items: center; gap: 8px; margin-right: auto; min-height: 32px; text-decoration: none; }
.ln-brand__mark { width: 14px; height: 14px; border-radius: 4px; background: linear-gradient(135deg, #2997ff, #a259ff); }
.ln-brand__name { font-weight: 600; font-size: 0.9375rem; letter-spacing: -0.02em; }
.ln-brand__sub { display: none; color: var(--text-light-2); }
.ln-gh__nav { order: 3; display: flex; flex-wrap: wrap; gap: 0 22px; width: 100%; }
.ln-gh__nav a, .ln-lang { padding: 6px 0; text-decoration: none; opacity: 0.85; transition: opacity 0.2s; }
.ln-gh__nav a:hover, .ln-lang:hover { opacity: 1; }
.ln-lang { font-weight: 500; }
@media (min-width: 760px) {
  .ln-gh__nav { order: 0; width: auto; }
  .ln-brand__sub { display: inline; }
}

/* ---------- Sticky chapter bar ---------- */
.ln-local {
  position: sticky;
  top: 0;
  z-index: 30;
  background: rgb(255 255 255 / 0.86);
  border-bottom: 1px solid rgb(0 0 0 / 0.14);
  color: var(--text-dark);
}
@supports (backdrop-filter: blur(1px)) {
  .ln-local { background: rgb(255 255 255 / 0.72); backdrop-filter: saturate(1.8) blur(20px); }
}
.ln-local__inner {
  display: flex;
  align-items: center;
  gap: 22px;
  max-width: 1080px;
  height: 52px;
  margin-inline: auto;
  padding: 0 var(--pad-x);
}
.ln-local__title { margin-right: auto; font-family: var(--font-display); font-weight: 600; font-size: 1.3125rem; letter-spacing: -0.03em; text-decoration: none; }
.ln-local__nav { display: none; gap: 22px; font-size: 0.75rem; }
.ln-local__nav a { color: var(--text-dark); text-decoration: none; opacity: 0.8; }
.ln-local__nav a:hover { color: var(--blue); opacity: 1; }
.ln-local__cta {
  padding: 5px 13px;
  border-radius: 999px;
  background: var(--blue);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 500;
  text-decoration: none;
}
.ln-local__cta:hover { background: #0077ed; }
.ln-local :focus-visible { outline-color: var(--blue); }
@media (min-width: 640px) { .ln-local__nav { display: flex; } }

/* ---------- Bands ---------- */
.ln-band { position: relative; padding: clamp(80px, 12vw, 150px) var(--pad-x); overflow: hidden; }
.ln-band--black { background: var(--black); color: var(--text-light); }
.ln-band--white { background: var(--white); color: var(--text-dark); }
.ln-band--mist { background: var(--mist); color: var(--text-dark); }
.ln-center { text-align: center; }
.ln-center > * { margin-inline: auto; }

.ln-mega {
  font-family: var(--font-display);
  font-size: clamp(3rem, 9vw, 7.5rem);
  line-height: 1;
  letter-spacing: -0.045em;
}
.ln-mega--contact { max-width: 13ch; font-size: clamp(2.5rem, 7vw, 6rem); line-height: 1.02; }
.ln-xl { font-family: var(--font-display); font-size: clamp(2.5rem, 7vw, 6rem); line-height: 1.02; letter-spacing: -0.05em; max-width: 14ch; }
.ln-lg { font-family: var(--font-display); font-size: clamp(2.25rem, 5.6vw, 4.75rem); line-height: 1.03; letter-spacing: -0.045em; hyphens: manual; }
.ln-sub {
  max-width: 34em;
  margin-top: clamp(16px, 2vw, 24px);
  font-size: clamp(1.125rem, 1.7vw, 1.5rem);
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: -0.015em;
}
.ln-band--black .ln-sub { color: var(--text-light-2); }
.ln-band--white .ln-sub, .ln-band--mist .ln-sub { color: var(--text-dark-2); }
.ln-fine { max-width: 40em; margin-top: 18px; font-size: 0.875rem; color: var(--text-light-2); }
.ln-grad {
  background: linear-gradient(100deg, #2997ff 10%, #a259ff 55%, #ff6a88 95%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.ln-statement {
  max-width: 24em;
  margin-top: clamp(24px, 3vw, 36px);
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.03em;
}
.ln-band--black .ln-statement { color: var(--text-light); }

/* Links and buttons */
.ln-pill {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 0 24px;
  border-radius: 999px;
  background: var(--blue);
  color: #fff;
  font-size: 1.0625rem;
  font-weight: 500;
  text-decoration: none;
  transition: background-color 0.2s;
}
.ln-pill:hover { background: #0077ed; }
.ln-textlink { color: var(--blue); text-decoration: none; font-weight: 500; }
.ln-band--black .ln-textlink { color: var(--blue-on-dark); }
.ln-textlink:hover { text-decoration: underline; }

/* ---------- Hero ---------- */
.ln-hero { padding-top: clamp(48px, 8vh, 96px); padding-bottom: clamp(64px, 9vw, 120px); text-align: center; }
.ln-hero__text > * { margin-inline: auto; }
.ln-hero__kicker { font-size: clamp(1rem, 1.4vw, 1.25rem); font-weight: 600; color: var(--text-light-2); letter-spacing: -0.015em; }
.ln-hero h1 {
  max-width: 11ch;
  margin-top: 10px;
  font-family: var(--font-display);
  font-size: clamp(3rem, 8.6vw, 7.75rem);
  line-height: 0.98;
  letter-spacing: -0.045em;
  background: linear-gradient(180deg, #ffffff 30%, #b9b9c2 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.ln-hero__lead { max-width: 38em; margin-top: 22px; font-size: clamp(1.0625rem, 1.5vw, 1.3125rem); line-height: 1.45; color: var(--text-light-2); font-weight: 500; }
.ln-ctas { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 14px 28px; margin-top: 30px; }

/* Laptop */
.ln-laptop { position: relative; width: min(100%, 980px); margin: clamp(48px, 7vw, 88px) auto 0; container-type: inline-size; }
.ln-laptop::before {
  content: "";
  position: absolute;
  inset: 10% 5% 0;
  background: radial-gradient(closest-side, rgb(41 151 255 / 0.55), rgb(162 89 255 / 0.25) 60%, transparent);
  filter: blur(40px);
}
.ln-laptop__screen {
  position: relative;
  width: 82%;
  margin-inline: auto;
  aspect-ratio: 16 / 10;
  padding: 1.6cqw;
  border-radius: 2.4cqw 2.4cqw 0.6cqw 0.6cqw;
  background: #0d0d0f;
  box-shadow: inset 0 0 0 1px #3a3a3e, 0 0 0 0.3cqw #2a2a2d;
}
.ln-laptop__base {
  position: relative;
  height: 2.2cqw;
  border-radius: 0 0 2.4cqw 2.4cqw;
  background: linear-gradient(#d4d4d8, #8e8e93 60%, #5a5a5f);
}
.ln-laptop__base::before { content: ""; position: absolute; left: 50%; top: 0; width: 14%; height: 40%; transform: translateX(-50%); border-radius: 0 0 1cqw 1cqw; background: #a1a1a6; }
.ln-ui { display: flex; flex-direction: column; height: 100%; border-radius: 0.8cqw; overflow: hidden; background: linear-gradient(160deg, #101a33, #1b1240 60%, #2a1030); }
.ln-ui__bar { display: flex; gap: 0.6cqw; padding: 1cqw 1.2cqw; background: rgb(255 255 255 / 0.06); }
.ln-ui__bar i { width: 0.9cqw; height: 0.9cqw; border-radius: 50%; background: #ff5f57; }
.ln-ui__bar i:nth-child(2) { background: #febc2e; }
.ln-ui__bar i:nth-child(3) { background: #28c840; }
.ln-ui__body { flex: 1; display: grid; grid-template-columns: 18% 1fr; }
.ln-ui__side { display: flex; flex-direction: column; gap: 1.2cqw; padding: 2cqw 1.6cqw; background: rgb(255 255 255 / 0.04); }
.ln-ui__side b { height: 0.9cqw; border-radius: 1cqw; background: rgb(255 255 255 / 0.18); }
.ln-ui__side b:first-child { background: #2997ff; width: 80%; }
.ln-ui__main { display: grid; grid-template-rows: 1fr auto; gap: 1.6cqw; padding: 2cqw; }
.ln-ui__chart { display: flex; align-items: flex-end; gap: 1.2cqw; padding: 2cqw; border-radius: 1.2cqw; background: rgb(255 255 255 / 0.06); }
.ln-ui__chart span { flex: 1; border-radius: 0.6cqw 0.6cqw 0 0; background: linear-gradient(#2997ff, #a259ff); }
.ln-ui__chart span:nth-child(1) { height: 30%; }
.ln-ui__chart span:nth-child(2) { height: 45%; }
.ln-ui__chart span:nth-child(3) { height: 38%; }
.ln-ui__chart span:nth-child(4) { height: 60%; }
.ln-ui__chart span:nth-child(5) { height: 52%; }
.ln-ui__chart span:nth-child(6) { height: 72%; }
.ln-ui__chart span:nth-child(7) { height: 66%; }
.ln-ui__chart span:nth-child(8) { height: 88%; }
.ln-ui__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.6cqw; }
.ln-ui__cards span { height: 7cqw; border-radius: 1.2cqw; background: rgb(255 255 255 / 0.08); box-shadow: inset 0 0.5cqw 0 rgb(255 255 255 / 0.06); }
.ln-ui__cards span:nth-child(2) { background: linear-gradient(135deg, rgb(255 106 136 / 0.5), rgb(162 89 255 / 0.35)); }

.ln-facts {
  display: grid;
  gap: 18px;
  max-width: 980px;
  margin: clamp(48px, 6vw, 80px) auto 0;
  font-size: 0.9375rem;
  color: var(--text-light-2);
}
.ln-facts strong { display: block; margin-bottom: 2px; font-family: var(--font-display); font-size: clamp(1.5rem, 2.6vw, 2.25rem); font-weight: 700; letter-spacing: -0.04em; color: var(--text-light); }

/* ---------- Product stages ---------- */
.ln-focus { padding: 0; list-style: none; }
.ln-stage { position: relative; width: min(100%, 980px); margin: clamp(48px, 6vw, 80px) auto 0; container-type: inline-size; }

/* Websites: browser + phone */
.ln-stage--web { aspect-ratio: 16 / 9.4; }
.ln-browser {
  position: absolute;
  left: 0;
  top: 0;
  width: 84%;
  height: 92%;
  border-radius: 1.6cqw;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 0 0 1px rgb(0 0 0 / 0.08), 0 4cqw 8cqw -3cqw rgb(0 0 0 / 0.35);
}
.ln-browser__bar { display: flex; align-items: center; gap: 0.7cqw; height: 4.2cqw; padding: 0 1.6cqw; background: #ececf0; }
.ln-browser__bar i { width: 1.1cqw; height: 1.1cqw; border-radius: 50%; background: #ff5f57; }
.ln-browser__bar i:nth-child(2) { background: #febc2e; }
.ln-browser__bar i:nth-child(3) { background: #28c840; }
.ln-browser__bar span { width: 34%; height: 2.2cqw; margin-left: 18%; border-radius: 1cqw; background: #fff; }
.ln-browser__page { padding: 2.4cqw 3.6cqw; }
.ln-browser__nav { display: flex; align-items: center; gap: 2cqw; }
.ln-browser__nav b { width: 10cqw; height: 1.6cqw; border-radius: 1cqw; background: var(--text-dark); margin-right: auto; }
.ln-browser__nav span { width: 6cqw; height: 1cqw; border-radius: 1cqw; background: #d2d2d7; }
.ln-browser__hero { display: grid; gap: 1.4cqw; justify-items: center; padding: 5cqw 0 4cqw; }
.ln-browser__hero b { width: 46cqw; height: 3.2cqw; border-radius: 1cqw; background: var(--text-dark); }
.ln-browser__hero b + b { width: 32cqw; }
.ln-browser__hero span { width: 12cqw; height: 3cqw; margin-top: 1.4cqw; border-radius: 3cqw; background: var(--blue); }
.ln-browser__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2cqw; }
.ln-browser__grid span { height: 11cqw; border-radius: 1.4cqw; background: linear-gradient(140deg, #e8f1ff, #f3e8ff); }
.ln-browser__grid span:nth-child(2) { background: linear-gradient(140deg, #ffe9ef, #fff4e0); }
.ln-phone {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 26%;
  aspect-ratio: 9 / 19;
  padding: 1cqw;
  border-radius: 5cqw;
  background: #1d1d1f;
  box-shadow: 0 0 0 0.35cqw #8e8e93, 0 4cqw 8cqw -2cqw rgb(0 0 0 / 0.5);
}
.ln-phone__screen { position: relative; display: grid; align-content: start; gap: 1.6cqw; height: 100%; padding: 7cqw 2.4cqw 2.4cqw; border-radius: 4.2cqw; background: #fff; overflow: hidden; }
.ln-phone__island { position: absolute; left: 50%; top: 1.6cqw; width: 34%; height: 2.6cqw; transform: translateX(-50%); border-radius: 2cqw; background: #1d1d1f; }
.ln-phone__screen b { height: 2.2cqw; border-radius: 1cqw; background: var(--text-dark); }
.ln-phone__screen b + b { width: 70%; }
.ln-phone__screen span { height: 9cqw; border-radius: 1.6cqw; background: linear-gradient(140deg, #e8f1ff, #f3e8ff); }
.ln-phone__screen span:nth-of-type(2) { background: linear-gradient(140deg, #ffe9ef, #fff4e0); }

/* CRM pipeline */
.ln-board {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2cqw;
  padding: 2.4cqw;
  border-radius: 2.4cqw;
  background: linear-gradient(180deg, #1d1d1f, #121214);
  box-shadow: 0 0 0 1px #2c2c2e, 0 5cqw 10cqw -4cqw rgb(41 151 255 / 0.35);
  text-align: left;
}
.ln-board__col { display: flex; flex-direction: column; gap: 1.6cqw; min-height: 34cqw; padding: 1.8cqw; border-radius: 1.6cqw; background: #000; }
.ln-board__col p { margin-bottom: 0.4cqw; font-size: clamp(0.5625rem, 1.5cqw, 0.9375rem); font-weight: 600; color: var(--text-light-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ln-board__col span {
  position: relative;
  height: 8cqw;
  border-radius: 1.2cqw;
  background: #2c2c2e;
  box-shadow: inset 0.6cqw 0 0 var(--c, #2997ff);
}
.ln-board__col span::before { content: ""; position: absolute; left: 2cqw; top: 1.8cqw; width: 55%; height: 1.2cqw; border-radius: 1cqw; background: rgb(255 255 255 / 0.55); }
.ln-board__col span::after { content: ""; position: absolute; left: 2cqw; top: 4.4cqw; width: 35%; height: 1cqw; border-radius: 1cqw; background: rgb(255 255 255 / 0.22); }
.ln-board .c1 { --c: #2997ff; }
.ln-board .c2 { --c: #a259ff; }
.ln-board .c3 { --c: #ff6a88; }
.ln-board .c4 { --c: #ffb340; }
.ln-board .is-lift { transform: rotate(-3deg) translate(-1cqw, -0.4cqw); box-shadow: inset 0.6cqw 0 0 var(--c), 0 2cqw 4cqw rgb(0 0 0 / 0.6); background: #3a3a3c; }

/* Document stack */
.ln-stage--doc { aspect-ratio: 16 / 9; }
.ln-docs { position: absolute; inset: 0; }
.ln-doc {
  position: absolute;
  left: 50%;
  top: 4%;
  width: 34%;
  aspect-ratio: 1 / 1.414;
  border-radius: 1.2cqw;
  background: #fff;
  box-shadow: 0 0 0 1px rgb(0 0 0 / 0.08), 0 3cqw 6cqw -2cqw rgb(0 0 0 / 0.3);
}
.ln-doc--3 { transform: translateX(-50%) translateX(-14cqw) rotate(-9deg); background: #f2f2f7; }
.ln-doc--2 { transform: translateX(-50%) translateX(13cqw) rotate(7deg); background: #f7f7fa; }
.ln-doc--1 { display: grid; align-content: start; gap: 1.4cqw; padding: 3.4cqw 3cqw; transform: translateX(-50%); }
.ln-doc--1 b { width: 60%; height: 2cqw; border-radius: 1cqw; background: var(--text-dark); margin-bottom: 1cqw; }
.ln-doc--1 span { height: 1cqw; border-radius: 1cqw; background: #d2d2d7; }
.ln-doc--1 span:nth-of-type(3) { width: 80%; }
.ln-doc--1 span:nth-of-type(5) { width: 60%; }
.ln-doc--1 i { width: 40%; height: 9cqw; margin-top: 1.4cqw; border-radius: 1cqw; background: linear-gradient(140deg, #e8f1ff, #f3e8ff); }
.ln-search {
  position: absolute;
  left: 50%;
  bottom: 4%;
  display: flex;
  align-items: center;
  gap: 1.4cqw;
  width: 48%;
  height: 7cqw;
  padding: 0 2.4cqw;
  transform: translateX(-50%);
  border-radius: 7cqw;
  background: rgb(255 255 255 / 0.85);
  box-shadow: 0 0 0 1px rgb(0 0 0 / 0.08), 0 2cqw 5cqw -1cqw rgb(0 0 0 / 0.3);
  text-align: left;
}
@supports (backdrop-filter: blur(1px)) { .ln-search { backdrop-filter: blur(12px); background: rgb(255 255 255 / 0.7); } }
.ln-search__icon { position: relative; flex: none; width: 2.6cqw; height: 2.6cqw; border: 0.45cqw solid var(--blue); border-radius: 50%; }
.ln-search__icon::after { content: ""; position: absolute; right: -1.2cqw; bottom: -1.1cqw; width: 1.4cqw; height: 0.45cqw; background: var(--blue); transform: rotate(45deg); border-radius: 1cqw; }
.ln-search__text { font-size: clamp(0.625rem, 2.2cqw, 1.25rem); font-weight: 500; color: var(--text-dark); white-space: nowrap; }

/* ---------- Consulting / coaching tiles ---------- */
.ln-tiles { display: grid; gap: 20px; max-width: 1080px; margin-inline: auto; }
.ln-tile { padding: clamp(28px, 4vw, 56px); border-radius: 28px; background: var(--tile); }
.ln-tile__title { font-family: var(--font-display); font-size: clamp(2.25rem, 4.4vw, 3.75rem); line-height: 1; letter-spacing: -0.05em; }
.ln-tile:first-child .ln-tile__title { background: linear-gradient(100deg, #2997ff, #a259ff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ln-tile:last-child .ln-tile__title { background: linear-gradient(100deg, #ff6a88, #ffb340); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ln-tile__text { margin-top: 18px; font-size: clamp(1.0625rem, 1.4vw, 1.25rem); color: var(--text-light-2); font-weight: 500; max-width: 34em; }
.ln-checks { margin-top: 26px; padding: 0; list-style: none; }
.ln-checks li { position: relative; padding: 14px 0 14px 34px; border-top: 1px solid #2c2c2e; hyphens: auto; }
.ln-checks li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 17px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--blue-on-dark);
}
.ln-checks li::after {
  content: "";
  position: absolute;
  left: 8px;
  top: 21px;
  width: 4px;
  height: 8px;
  border: solid #000;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* ---------- Approach ---------- */
.ln-steps {
  display: grid;
  gap: 36px;
  max-width: 1080px;
  margin-top: clamp(56px, 7vw, 96px);
  padding: 0;
  list-style: none;
  text-align: left;
}
.ln-steps li { padding-top: 22px; border-top: 1px solid var(--line); }
.ln-steps__no {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(3rem, 5vw, 4.5rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.05em;
  background: linear-gradient(120deg, #0071e3, #a259ff);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.ln-steps h3 { margin-top: 14px; font-family: var(--font-display); font-size: 1.5rem; letter-spacing: -0.03em; }
.ln-steps p { margin-top: 6px; color: var(--text-dark-2); hyphens: auto; }

/* FAQ */
.ln-faq { max-width: 820px; margin-inline: auto; }
.ln-faq__title { margin-bottom: 24px; font-family: var(--font-display); font-size: clamp(2rem, 4vw, 3rem); letter-spacing: -0.045em; text-align: center; }
.ln-faq details { border-bottom: 1px solid var(--line); }
.ln-faq details:first-of-type { border-top: 1px solid var(--line); }
.ln-faq summary {
  position: relative;
  padding: 22px 48px 22px 0;
  font-family: var(--font-display);
  font-size: clamp(1.125rem, 1.8vw, 1.375rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.3;
  cursor: pointer;
  list-style: none;
}
.ln-faq summary::-webkit-details-marker { display: none; }
.ln-faq summary::before, .ln-faq summary::after {
  content: "";
  position: absolute;
  right: 6px;
  top: 50%;
  width: 16px;
  height: 2px;
  border-radius: 2px;
  background: var(--blue);
  transition: transform 0.25s;
}
.ln-faq summary::after { transform: rotate(90deg); }
.ln-faq details[open] summary::after { transform: rotate(0deg); }
.ln-faq details p { padding: 0 48px 24px 0; color: var(--text-dark-2); font-size: 1.0625rem; }
.ln-faq :focus-visible { outline-color: var(--blue); }

/* ---------- Products ---------- */
.ln-prods { display: grid; gap: 20px; max-width: 1080px; margin: clamp(56px, 7vw, 88px) auto 0; }
.ln-prod { display: flex; flex-direction: column; padding: clamp(28px, 3vw, 40px); border-radius: 28px; background: var(--tile); }
.ln-app { display: grid; place-items: center; width: 64px; height: 64px; margin-bottom: 24px; border-radius: 16px; box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.3); }
.ln-app svg { width: 36px; height: 36px; }
.ln-app--water { background: linear-gradient(145deg, #5ac8fa, #0071e3); }
.ln-app--jobs { background: linear-gradient(145deg, #ff9f6b, #ff375f); }
.ln-app--food { background: linear-gradient(145deg, #ffd60a, #ff9500); }
.ln-prod h3 { font-family: var(--font-display); font-size: clamp(1.5rem, 2.2vw, 1.875rem); letter-spacing: -0.04em; line-height: 1.1; hyphens: auto; }
.ln-prod p { margin-top: 12px; color: var(--text-light-2); hyphens: auto; }
.ln-prod .ln-prod__meta { margin-top: 14px; margin-bottom: 22px; font-size: 0.875rem; color: var(--text-light); }
.ln-prod .ln-textlink { margin-top: auto; }

/* ---------- Contact ---------- */
.ln-contact__list { display: grid; gap: 28px; max-width: 900px; margin-top: clamp(40px, 5vw, 64px); }
.ln-contact__list dt { font-size: 0.875rem; font-weight: 600; color: var(--text-dark-2); }
.ln-contact__list dd { margin-top: 4px; font-size: 1.125rem; }
.ln-contact__list a { color: var(--blue); text-decoration: none; }
.ln-contact__list a:hover { text-decoration: underline; }
.ln-contact__mail dd { font-family: var(--font-display); font-size: clamp(1.5rem, 3.6vw, 2.75rem); font-weight: 600; letter-spacing: -0.035em; overflow-wrap: anywhere; }
.ln-contact :focus-visible { outline-color: var(--blue); }

/* ---------- Footer ---------- */
.ln-foot { background: var(--mist); color: var(--text-dark-2); font-size: 0.75rem; }
.ln-foot__inner { max-width: 1080px; margin-inline: auto; padding: 20px var(--pad-x) 24px; }
.ln-foot__line { padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.ln-foot__row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding-top: 12px; }
.ln-foot__links { display: flex; flex-wrap: wrap; gap: 4px 0; padding: 0; list-style: none; }
.ln-foot__links li + li { padding-left: 10px; margin-left: 10px; border-left: 1px solid var(--line); }
.ln-foot a { color: var(--text-dark); text-decoration: none; }
.ln-foot a:hover { text-decoration: underline; }
.ln-foot :focus-visible { outline-color: var(--blue); }

/* ---------- Legal pages ---------- */
.legal { padding-top: clamp(4rem, 9vw, 7rem); }
.legal h1 { font-family: var(--font-display); font-size: clamp(2.75rem, 7vw, 5rem); letter-spacing: -0.05em; text-align: center; margin-bottom: 3rem; }
.legal h2 { font-family: var(--font-display); letter-spacing: -0.03em; font-size: 1.375rem; }
.legal a { color: var(--blue); text-decoration: none; }
.legal a:hover { text-decoration: underline; }
.legal :focus-visible { outline-color: var(--blue); }

/* ---------- Wider screens ---------- */
@media (min-width: 720px) {
  .ln-facts { grid-template-columns: repeat(3, 1fr); }
  .ln-steps { grid-template-columns: repeat(2, 1fr); }
  .ln-contact__list { grid-template-columns: 1fr 1fr; }
  .ln-contact__mail { grid-column: 1 / -1; }
}
@media (min-width: 960px) {
  .ln-tiles { grid-template-columns: 1fr 1fr; }
  .ln-steps { grid-template-columns: repeat(4, 1fr); gap: 28px; }
  .ln-prods { grid-template-columns: repeat(3, 1fr); }
}

/* ---------- One moment of motion: the hero machine settles in as you scroll ---------- */
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .ln-laptop__screen { animation: ln-rise linear both; animation-timeline: view(); animation-range: entry 0% cover 40%; transform-origin: 50% 100%; }
    @keyframes ln-rise { from { transform: perspective(1400px) rotateX(18deg) scale(0.94); opacity: 0.6; } to { transform: none; opacity: 1; } }
  }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
