/* Meshly Consortium — site styles.
   Extracted from the original single-file bundle.
   The scroll-reveal (.rv) fade-in animation has been removed so all content
   is visible on every device (the IntersectionObserver left content hidden
   on some mobile browsers). */

  :root {
    --ink: #0a0b0c;
    --panel: rgba(255, 255, 255, 0.025);
    --line-soft: rgba(255, 255, 255, 0.09);
    --line-faint: rgba(255, 255, 255, 0.06);
    --text: #ecede9;
    --muted: #9a9c98;
    --faint: #61635f;
    --coral: #3d63db;
    --coral-dim: color-mix(in oklab, var(--coral) 72%, #000);
    --mono: "IBM Plex Mono", ui-monospace, monospace;
    --sans: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  }
  * { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body {
    margin: 0;
    background: var(--ink);
    color: var(--text);
    font-family: var(--sans);
    font-size: 17px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
  }
  /* simple coral glow */
  body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
      radial-gradient(1200px 760px at 72% -8%, rgba(61, 99, 219, 0.36), rgba(61, 99, 219, 0.11) 40%, transparent 66%),
      radial-gradient(900px 600px at 12% 8%, rgba(61, 99, 219, 0.11), transparent 60%);
  }
  body > * { position: relative; z-index: 1; }
  a { color: inherit; text-decoration: none; }
  ::selection { background: var(--coral); color: #fff; }

  .wrap { max-width: 1100px; margin: 0 auto; padding: 0 40px; }

  .label {
    font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em;
    text-transform: uppercase; color: var(--faint);
  }

  /* header */
  header {
    position: fixed; top: 0; left: 0; right: 0; z-index: 50;
    backdrop-filter: blur(12px);
    background: color-mix(in srgb, var(--ink) 60%, transparent);
    border-bottom: 1px solid var(--line-faint);
  }
  .nav { display: flex; align-items: center; justify-content: space-between; height: 70px; }
  .brand { display: flex; align-items: center; gap: 12px; }
  .glyph { width: 24px; height: 24px; display: block; color: var(--coral); }
  .brand b { font-weight: 600; font-size: 15px; letter-spacing: 0.01em; }
  .brand span { color: var(--faint); font-weight: 400; }
  .nav-links { display: flex; align-items: center; gap: 28px; font-family: var(--mono); font-size: 13px; letter-spacing: 0.03em; }
  .nav-links a { color: var(--muted); transition: color .25s; }
  .nav-links a:not(.btn):hover { color: var(--coral); }
  .nav-links a.btn, .nav-links a.btn:hover { color: #ffffff; }

  /* language switcher */
  .lang-switch { gap: 18px; text-transform: uppercase; letter-spacing: 0.08em; }
  .lang-switch a { color: var(--faint); }
  .lang-switch a:hover { color: var(--coral); }
  .lang-switch a.active { color: var(--text); pointer-events: none; }
  .btn {
    font-family: var(--mono); font-size: 13px; font-weight: 500; letter-spacing: 0.05em; text-transform: uppercase;
    padding: 11px 18px; border-radius: 5px; border: 1px solid var(--coral);
    color: #ffffff; background: var(--coral); white-space: nowrap; line-height: 1;
    transition: transform .2s, box-shadow .25s, background .25s, color .25s, border-color .25s;
  }
  .btn:hover { box-shadow: 0 0 26px color-mix(in srgb, var(--coral) 42%, transparent); transform: translateY(-1px); }
  .btn.ghost { background: transparent; color: var(--text); border-color: var(--line-soft); }
  .btn.ghost:hover { border-color: var(--coral); color: var(--coral); box-shadow: none; }

  /* hero */
  .hero { padding: 220px 0 150px; }
  .hero h1 {
    font-size: clamp(46px, 7.4vw, 100px);
    line-height: 0.96; font-weight: 600; letter-spacing: -0.035em;
    margin: 0; max-width: 15ch;
  }
  .hero h1 em { font-style: normal; color: var(--coral); }
  .hero .lede { margin-top: 34px; max-width: 52ch; font-size: 20px; color: var(--muted); line-height: 1.55; }
  .hero .cta-row { margin-top: 44px; display: flex; gap: 14px; flex-wrap: wrap; }

  /* section base */
  section { position: relative; }
  .pad { padding: 60px 0 110px; }

  /* press release card */
  .release {
    background: var(--panel);
    border: 1px solid var(--line-soft);
    border-radius: 22px;
    padding: 56px clamp(28px, 5vw, 68px);
    backdrop-filter: blur(4px);
  }
  .rel-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
  .pill {
    font-family: var(--mono); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--coral); background: color-mix(in srgb, var(--coral) 14%, transparent);
    border: 1px solid color-mix(in srgb, var(--coral) 32%, transparent);
    border-radius: 999px; padding: 7px 14px; white-space: nowrap;
  }
  .rel-top .status { font-family: var(--mono); font-size: 12.5px; letter-spacing: 0.04em; color: var(--muted); }

  .rel-h { font-size: clamp(28px, 4.2vw, 46px); font-weight: 600; letter-spacing: -0.025em; line-height: 1.06; margin: 40px 0 0; max-width: 22ch; }
  .standfirst { font-size: clamp(18px, 2.2vw, 23px); color: var(--text); line-height: 1.4; margin: 22px 0 0; max-width: 46ch; font-weight: 400; }
  .standfirst { color: #c7c9c3; }

  .rel-body { margin-top: 40px; max-width: 66ch; }
  .rel-body p { color: #c2c4be; margin: 0 0 20px; font-size: 17px; }
  .rel-body p .lead { color: var(--text); font-weight: 600; }
  .rel-body p strong { color: var(--text); font-weight: 600; }

  .sub { font-family: var(--mono); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--coral); margin: 44px 0 16px; display: flex; align-items: center; gap: 12px; }
  .sub::before { content: ""; width: 22px; height: 1px; background: var(--coral); opacity: .7; }

  .quote { margin: 34px 0; padding-left: 26px; border-left: 2px solid var(--coral); }
  .quote p { font-size: clamp(19px, 2.3vw, 23px); line-height: 1.42; color: var(--text); letter-spacing: -0.01em; margin: 0; }
  .quote .attr { font-family: var(--mono); font-size: 12.5px; letter-spacing: 0.04em; color: var(--muted); margin-top: 16px; text-transform: none; }
  .quote .attr b { color: var(--coral); font-weight: 500; }

  .rel-body ul { list-style: none; padding: 0; margin: 8px 0 24px; display: grid; gap: 14px; }
  .rel-body ul li { position: relative; padding-left: 26px; color: #c2c4be; font-size: 16.5px; }
  .rel-body ul li::before { content: ""; position: absolute; left: 4px; top: 11px; width: 7px; height: 7px; background: var(--coral); border-radius: 1px; transform: rotate(45deg); }
  .rel-body ul li strong { color: var(--text); font-weight: 600; }

  .ref { margin-top: 48px; padding-top: 26px; border-top: 1px solid var(--line-faint); font-family: var(--mono); font-size: 12px; letter-spacing: 0.08em; color: var(--faint); text-transform: uppercase; }

  /* contact */
  .sec-label { font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--coral); }
  .sec-h { font-size: clamp(30px, 4.4vw, 50px); font-weight: 600; letter-spacing: -0.03em; line-height: 1.04; margin: 16px 0 0; }
  .sec-intro { color: var(--muted); font-size: 19px; margin-top: 18px; max-width: 48ch; }
  .contacts { margin-top: 48px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .ccard { display: block; border: 1px solid var(--line-soft); border-radius: 14px; padding: 26px; transition: border-color .25s, transform .25s, background .25s; }
  .ccard:hover { border-color: var(--coral); transform: translateY(-2px); background: var(--panel); }
  .ccard .nm { font-size: 20px; font-weight: 600; letter-spacing: -0.01em; }
  .ccard .ro { color: var(--muted); font-size: 14.5px; margin-top: 4px; }
  .ccard .em { font-family: var(--mono); font-size: 13.5px; color: var(--coral); margin-top: 16px; }
  .ccard .ph { font-family: var(--mono); font-size: 13px; color: var(--faint); margin-top: 4px; }

  /* about companies */
  .about { border-top: 1px solid var(--line-faint); }
  .companies { margin-top: 44px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
  .co h3 { font-size: 19px; font-weight: 600; letter-spacing: -0.01em; margin: 0 0 14px; display: flex; align-items: center; gap: 10px; }
  .co h3::before { content: ""; width: 8px; height: 8px; background: var(--coral); border-radius: 1px; transform: rotate(45deg); }
  .co p { color: var(--muted); font-size: 14.5px; line-height: 1.55; margin: 0 0 14px; }
  .co a { font-family: var(--mono); font-size: 12.5px; color: var(--coral); letter-spacing: 0.02em; }
  .co a:hover { text-decoration: underline; }

  /* footer */
  footer { border-top: 1px solid var(--line-faint); padding: 44px 0; }
  .foot { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
  .foot .lhs { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 14px; }
  .foot .lhs .glyph { width: 18px; height: 18px; }
  .foot .rhs { font-family: var(--mono); font-size: 12px; color: var(--faint); letter-spacing: 0.04em; }

  @media (max-width: 820px) {
    .wrap { padding: 0 22px; }
    .lang-switch { gap: 16px; }
    .hero { padding: 150px 0 100px; }
    .contacts { grid-template-columns: 1fr; }
    .companies { grid-template-columns: 1fr; }
    .release { padding: 34px 22px; border-radius: 16px; }
  }
