  :root {
    --bg:#0d1117; --surface:#151b24; --surface-2:#1b2330;
    --ink:#eef2f7; --ink-2:#9aa5b4; --ink-3:#6f7b8b; --line:#253040;
    --accent:#38c6f4; --accent-ink:#0b1219; --accent-soft:rgb(56 198 244 / .12);
    --max:1280px;
  }
  * { box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  @media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } * { transition:none !important; } }
  body { margin:0; background:var(--bg); color:var(--ink); font:400 16px/1.6 "Manrope", system-ui, sans-serif; -webkit-font-smoothing:antialiased; }
  img { display:block; max-width:100%; }
  a { color:inherit; text-decoration:none; }
  h1, h2, h3 { margin:0; font-family:"Unbounded", sans-serif; font-weight:600; letter-spacing:-.01em; line-height:1.1; }
  h2 { font-size:clamp(28px, 3.4vw, 44px); }
  h3 { font-size:18px; line-height:1.25; }
  p { margin:0; }
  .wrap { max-width:var(--max); margin:0 auto; padding:0 24px; }
  section { padding:104px 0; scroll-margin-top:72px; }
  .lede { margin-top:18px; max-width:60ch; color:var(--ink-2); font-size:18px; }
  :focus-visible { outline:2px solid var(--accent); outline-offset:3px; }

  /* Image placeholders: replace each .ph with a real <img> once photos are chosen */
  .imgph {
    position:relative; overflow:hidden;
    background:
      linear-gradient(135deg, rgb(56 198 244 / .10), transparent 55%),
      repeating-linear-gradient(45deg, #121923 0 14px, #141c27 14px 28px);
  }
  .imgph::before {
    content:attr(data-img); position:absolute; top:12px; left:12px; z-index:1;
    font:600 11px/1 "Unbounded", sans-serif; letter-spacing:.08em;
    color:var(--accent); border:1px dashed rgb(56 198 244 / .6); padding:6px 8px; background:rgb(13 17 23 / .7);
  }
  .imgph img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
  .imgph.has-img::before { display:none; }
  .hero .imgph img { filter:saturate(.55) contrast(1.05) brightness(.9); }
  .hero .imgph::after { content:""; position:absolute; inset:0; background:rgb(20 60 90 / .28); mix-blend-mode:color; }

  /* Buttons */
  .btn {
    display:inline-flex; align-items:center; gap:10px; height:52px; padding:0 24px;
    font:600 14px/1 "Unbounded", sans-serif; letter-spacing:.03em; text-transform:uppercase; white-space:nowrap;
    border:1px solid transparent; cursor:pointer; transition:background .2s, border-color .2s, transform .1s;
  }
  .btn:active { transform:translateY(1px); }
  .btn.primary { background:var(--accent); color:var(--accent-ink); }
  .btn.primary:hover { background:#5fd3f7; }
  .btn.ghost { border-color:rgb(255 255 255 / .35); color:var(--ink); background:transparent; }
  .btn.ghost:hover { border-color:var(--ink); }

  /* Header */
  .top { position:fixed; inset:0 0 auto; z-index:20; transition:background .25s, border-color .25s; border-bottom:1px solid transparent; }
  .top.solid { background:rgb(13 17 23 / .94); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-color:var(--line); }
  .top .wrap { height:72px; display:flex; align-items:center; gap:28px; }
  .logo { font:600 20px/1 "Unbounded", sans-serif; letter-spacing:.01em; }
  .logo span { color:var(--accent); }
  .menu { margin-left:auto; display:flex; align-items:center; gap:26px; font-size:15px; font-weight:500; color:#cfd6df; }
  .menu > a:hover, .dd > button:hover { color:var(--ink); }
  .dd { position:relative; }
  .dd > button { background:none; border:0; color:inherit; font:inherit; cursor:pointer; display:flex; align-items:center; gap:6px; padding:0; }
  .dd-panel {
    position:absolute; top:calc(100% + 18px); left:-20px; width:300px; padding:10px;
    background:var(--surface); border:1px solid var(--line); display:none;
  }
  .dd:hover .dd-panel, .dd:focus-within .dd-panel { display:grid; }
  .dd-panel a { display:flex; gap:12px; align-items:center; padding:10px 12px; color:var(--ink); }
  .dd-panel a:hover { background:var(--surface-2); }
  .dd-panel i { color:var(--accent); font-size:20px; }
  .lang-sw { display:flex; border:1px solid var(--line); font:600 11px/1 "Unbounded", sans-serif; }
  .lang-sw b, .lang-sw a { padding:7px 9px; }
  .lang-sw b { background:var(--surface-2); color:var(--ink); font-weight:600; }
  .lang-sw a { color:var(--ink-3); }
  .lang-sw a:hover { color:var(--ink); }
  .top .btn { height:42px; padding:0 18px; font-size:12px; }
  .burger { display:none; margin-left:auto; width:44px; height:44px; background:none; border:1px solid var(--line); color:var(--ink); font-size:22px; cursor:pointer; }
  @media (max-width:1080px) {
    .menu, .top .btn { display:none; }
    .burger { display:grid; place-items:center; }
    .top.open { background:var(--bg); }
    .top.open .menu { display:flex; flex-direction:column; align-items:stretch; gap:0; position:absolute; top:72px; left:0; right:0; background:var(--bg); border-bottom:1px solid var(--line); padding:8px 24px 20px; }
    .top.open .menu > a, .top.open .dd > button { padding:14px 0; border-bottom:1px solid var(--line); width:100%; }
    .top.open .dd-panel { position:static; display:grid; width:auto; border:0; padding:0 0 8px; background:none; }
    .top.open .lang-sw { align-self:flex-start; margin-top:14px; }
  }

  /* Hero */
  .hero { position:relative; min-height:min(100dvh, 880px); display:flex; align-items:flex-end; }
  .hero > .imgph { position:absolute; inset:0; }
  .hero > .imgph::before { top:auto; left:auto; bottom:16px; right:16px; }
  .hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgb(9 12 17 / .92) 0%, rgb(9 12 17 / .65) 45%, rgb(9 12 17 / .2) 100%); pointer-events:none; }
  .hero .wrap { position:relative; z-index:1; width:100%; padding-bottom:96px; padding-top:140px; }
  .hero h1 { font-size:clamp(34px, 4.8vw, 68px); font-weight:700; text-transform:uppercase; line-height:1.04; }
  .hero h1 span { color:var(--accent); display:block; }
  .hero .lede { color:#cfd6df; font-size:19px; max-width:48ch; margin-top:24px; }
  .hero-cta { display:flex; gap:12px; flex-wrap:wrap; margin-top:36px; }

  /* Trust strip */
  .strip { background:var(--accent); color:var(--accent-ink); }
  .strip .wrap { display:grid; grid-template-columns:repeat(4, 1fr); }
  .strip div { display:flex; align-items:center; gap:12px; padding:24px 0; font:600 14px/1.25 "Unbounded", sans-serif; text-transform:uppercase; letter-spacing:.02em; }
  .strip i { font-size:24px; }
  @media (max-width:900px) { .strip .wrap { grid-template-columns:1fr 1fr; gap:0 16px; } .strip div { padding:18px 0; font-size:12px; } }

  /* Product groups */
  .lines { margin-top:52px; display:grid; grid-template-columns:repeat(6, 1fr); gap:2px; background:var(--line); border:2px solid var(--line); }
  .lines a { grid-column:span 2; background:var(--bg); padding:30px; min-height:300px; display:flex; flex-direction:column; justify-content:flex-end; position:relative; overflow:hidden; }
  .lines a > .imgph { position:absolute; inset:0; transition:transform .6s cubic-bezier(.16,1,.3,1); }
  .lines a::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgb(9 12 17 / .2) 0%, rgb(9 12 17 / .7) 50%, rgb(9 12 17 / .97) 100%); z-index:1; pointer-events:none; }
  .lines .imgph img { filter:saturate(.6) brightness(.9); }
  .lines a > div:not(.imgph), .lines a > .go { position:relative; z-index:2; }
  .lines a:nth-child(1), .lines a:nth-child(2), .lines a:nth-child(6), .lines a:nth-child(7) { min-height:360px; }
  .lines a:hover > .imgph { transform:scale(1.04); }
  .lines a:nth-child(1), .lines a:nth-child(2) { grid-column:span 3; }
  .lines a:nth-child(6), .lines a:nth-child(7) { grid-column:span 3; }
  .lines a:hover .go { color:var(--accent); transform:translateX(4px); }
  .lines h3 { font-size:22px; margin-bottom:10px; }
  .lines p { color:#c3cbd6; font-size:15px; max-width:52ch; text-shadow:0 1px 8px rgb(0 0 0 / .6); }
  .lines a > .go { position:absolute; top:30px; right:30px; font-size:22px; color:#dfe5ec; transition:transform .2s, color .2s; }
  @media (max-width:900px) { .lines { grid-template-columns:1fr; } .lines a, .lines a:nth-child(1), .lines a:nth-child(2), .lines a:nth-child(6), .lines a:nth-child(7) { grid-column:auto; min-height:260px; } }

  /* Quick RFQ */
  .rfq { padding:0; }
  .rfq-box { display:grid; grid-template-columns:1fr 1.25fr; background:var(--surface); border:1px solid var(--line); }
  .rfq-intro { padding:56px; border-right:1px solid var(--line); display:flex; flex-direction:column; justify-content:center; }
  .rfq-intro ul { list-style:none; padding:0; margin:28px 0 0; display:grid; gap:12px; color:var(--ink-2); font-size:15px; }
  .rfq-intro li { display:flex; gap:10px; align-items:center; }
  .rfq-intro li i { color:var(--accent); font-size:18px; }
  form.quick { padding:48px 56px; }
  .row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  .field { display:grid; gap:8px; margin-bottom:16px; }
  .field label { font-size:14px; font-weight:600; }
  .field .opt { color:var(--ink-3); font-weight:400; }
  input[type=text], input[type=email], input[type=number], input[type=tel], textarea {
    width:100%; height:48px; padding:0 14px; background:var(--bg); color:var(--ink);
    border:1px solid var(--line); font:400 15px/1.4 "Manrope", sans-serif;
  }
  textarea { height:96px; padding:12px 14px; resize:vertical; }
  input::placeholder, textarea::placeholder { color:var(--ink-3); }
  input:focus, textarea:focus { outline:none; border-color:var(--accent); }
  .drop { display:flex; align-items:center; gap:14px; padding:14px; border:1px dashed var(--line); background:var(--bg); cursor:pointer; color:var(--ink-2); font-size:14px; }
  .drop:hover { border-color:var(--accent); }
  .drop i { font-size:26px; color:var(--accent); }
  .drop input { position:absolute; opacity:0; width:1px; height:1px; }
  .err { display:none; font-size:13px; color:#ff8a7a; }
  .field.invalid input { border-color:#ff8a7a; }
  .field.invalid .err { display:block; }
  .form-foot { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:8px; }
  .form-foot small { color:var(--ink-3); font-size:13px; max-width:34ch; }
  .done { display:none; }
  .done i { font-size:40px; color:var(--accent); }
  .done h3 { margin:14px 0 8px; font-size:22px; }
  .done p { color:var(--ink-2); }
  form.quick.sent .body { display:none; }
  form.quick.sent .done { display:block; }
  @media (max-width:900px) { .rfq-box { grid-template-columns:1fr; } .rfq-intro { border-right:0; border-bottom:1px solid var(--line); padding:36px 24px; } form.quick { padding:32px 24px; } .row { grid-template-columns:1fr; gap:0; } }

  /* How we work */
  .how { display:grid; grid-template-columns:0.8fr 1.2fr; padding:0; margin-top:104px; }
  .how > .imgph { min-height:560px; }
  .how .imgph img { filter:saturate(.85); }
  .how .txt { background:var(--surface); padding:72px 64px; }
  .how ol { list-style:none; padding:0; margin:40px 0 0; display:grid; gap:28px; counter-reset:s; }
  .how li { counter-increment:s; display:grid; grid-template-columns:64px 1fr; }
  .how li::before { content:counter(s, decimal-leading-zero); font:700 28px/1 "Unbounded", sans-serif; color:var(--accent); }
  .how li h3 { font-size:18px; margin-bottom:6px; }
  .how li p { color:var(--ink-2); font-size:15px; }
  @media (max-width:900px) { .how { grid-template-columns:1fr; } .how > .imgph { min-height:280px; } .how .txt { padding:44px 24px; } }

  /* Industries */
  .ind { margin-top:48px; display:grid; grid-template-columns:repeat(3, 1fr); grid-auto-rows:280px; gap:12px; }
  .ind > article { position:relative; overflow:hidden; display:flex; align-items:flex-end; }
  .ind > article:nth-child(1) { grid-row:span 2; }
  .ind > article:nth-child(4), .ind > article:nth-child(5) { grid-column:span 2; }
  .ind > article::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgb(9 12 17 / .15) 0%, rgb(9 12 17 / .6) 50%, rgb(9 12 17 / .95) 100%); }
  .ind .cap p { text-shadow:0 1px 8px rgb(0 0 0 / .6); }
  .ind .cap { position:relative; z-index:1; padding:24px; }
  .ind .cap h3 { font-size:20px; }
  .ind .cap p { color:var(--ink-2); font-size:14px; margin-top:6px; max-width:40ch; }
  .ind > article:hover .cap h3 { color:var(--accent); }
  .ind .imgph { position:absolute; inset:0; transition:transform .6s cubic-bezier(.16,1,.3,1); }
  .ind > article:hover .imgph { transform:scale(1.03); }
  .ind .imgph img { filter:saturate(.7) brightness(.9); }
  @media (max-width:900px) { .ind { grid-template-columns:1fr; grid-auto-rows:220px; } .ind > article:nth-child(1), .ind > article:nth-child(4), .ind > article:nth-child(5) { grid-row:auto; grid-column:auto; } }

  /* Why us */
  .why { display:grid; grid-template-columns:1fr 1.5fr; gap:72px; align-items:start; }
  .why .intro { position:sticky; top:112px; }
  .why-list { display:grid; grid-template-columns:1fr 1fr; gap:44px 40px; }
  .why-list i { font-size:30px; color:var(--accent); }
  .why-list h3 { margin:16px 0 8px; }
  .why-list p { color:var(--ink-2); font-size:15px; }
  @media (max-width:900px) { .why { grid-template-columns:1fr; gap:40px; } .why .intro { position:static; } .why-list { grid-template-columns:1fr; gap:32px; } }

  /* Brands */
  .brands { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:64px 0; }
  .brands h2 { font-size:clamp(22px, 2.4vw, 30px); }
  .brand-top { margin-top:32px; display:grid; grid-template-columns:repeat(6, 1fr); gap:12px; }
  /* Brand logos keep their original colours on white tiles, as brand guidelines require */
  .brand-top span { height:96px; display:grid; place-items:center; padding:18px 22px; background:#fff; border-radius:2px; }
  .brand-top img { max-width:100%; max-height:52px; width:auto; height:auto; object-fit:contain; }
  .brand-top span.txt { font:700 22px/1 "Unbounded", sans-serif; color:#1b2330; letter-spacing:.04em; }
  .marquee { margin-top:12px; overflow:hidden; mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
  .marquee-track { display:flex; gap:12px; width:max-content; animation:marquee 80s linear infinite; }
  .marquee:hover .marquee-track { animation-play-state:paused; }
  .marquee-track span { flex:none; padding:14px 22px; border:1px solid var(--line); font:500 13px/1 "Unbounded", sans-serif; color:var(--ink-2); white-space:nowrap; }
  @keyframes marquee { to { transform:translateX(calc(-50% - 6px)); } }
  @media (prefers-reduced-motion: reduce) {
    .marquee { mask-image:none; -webkit-mask-image:none; }
    .marquee-track { animation:none; flex-wrap:wrap; width:auto; }
    .marquee-track span[aria-hidden] { display:none; }
  }
  .brand-count { margin-top:20px; color:var(--ink-2); font-size:15px; }
  .brands small { display:block; margin-top:20px; color:var(--ink-3); font-size:13px; max-width:90ch; }
  @media (max-width:900px) { .brand-top { grid-template-columns:repeat(2, 1fr); } .brand-top span { height:64px; font-size:14px; } }

  /* Manufacturers teaser */
  .mfr { position:relative; min-height:460px; display:flex; align-items:center; overflow:hidden; }
  .mfr > .imgph { position:absolute; inset:0; }
  .mfr .imgph img { filter:saturate(.6) brightness(.85); }
  .mfr::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgb(9 12 17 / .95) 0%, rgb(9 12 17 / .75) 55%, rgb(9 12 17 / .35) 100%); }
  .mfr .wrap { position:relative; z-index:1; width:100%; }
  .mfr h2 { max-width:18ch; }
  .mfr .lede { color:#cfd6df; }
  .mfr .perks { list-style:none; padding:0; margin:28px 0 0; display:grid; gap:12px; font-size:17px; font-weight:500; }
  .mfr .perks li { display:flex; gap:12px; align-items:center; }
  .mfr .perks i { color:var(--accent); font-size:24px; }
  .mfr .btn { margin-top:32px; }

  /* Company facts */
  .facts { display:grid; grid-template-columns:repeat(4, 1fr); border:1px solid var(--line); margin-top:44px; }
  .facts div { padding:26px 24px; border-left:1px solid var(--line); }
  .facts div:first-child { border-left:0; }
  .facts dt { font:600 11px/1 "Unbounded", sans-serif; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); }
  .facts dd { margin:12px 0 0; font-weight:600; font-size:17px; line-height:1.35; }
  .fill { color:var(--accent); border:1px dashed var(--accent); padding:0 6px; font-weight:500; font-size:.9em; }
  @media (max-width:900px) { .facts { grid-template-columns:1fr 1fr; } .facts div:nth-child(3) { border-left:0; } .facts div:nth-child(n+3) { border-top:1px solid var(--line); } }

  /* FAQ */
  .faq-grid { display:grid; grid-template-columns:1fr 1.6fr; gap:72px; }
  details { border-top:1px solid var(--line); }
  details:last-child { border-bottom:1px solid var(--line); }
  summary { list-style:none; cursor:pointer; padding:24px 0; display:flex; justify-content:space-between; gap:24px; font-weight:600; font-size:17px; }
  summary::-webkit-details-marker { display:none; }
  summary i { color:var(--accent); font-size:20px; transition:transform .2s; flex:none; }
  details[open] summary i { transform:rotate(45deg); }
  details p { color:var(--ink-2); padding:0 48px 24px 0; max-width:70ch; }
  @media (max-width:900px) { .faq-grid { grid-template-columns:1fr; gap:24px; } }

  /* Final CTA */
  .final { background:var(--surface); border-top:1px solid var(--line); }
  .final .wrap { display:grid; grid-template-columns:1.3fr 1fr; gap:56px; align-items:center; }
  .final h2 { font-size:clamp(30px, 4vw, 52px); text-transform:uppercase; font-weight:700; }
  .final h2 span { color:var(--accent); }
  .contacts { display:grid; gap:16px; font-size:17px; }
  .contacts a, .contacts div { display:flex; gap:14px; align-items:center; }
  .contacts a:hover { color:var(--accent); }
  .contacts i { font-size:22px; color:var(--accent); }
  .final .lede { margin-top:16px; }
  .final .btn { margin-top:28px; }
  @media (max-width:900px) { .final .wrap { grid-template-columns:1fr; gap:36px; } }

  /* Footer */
  footer { border-top:1px solid var(--line); padding:56px 0 40px; color:var(--ink-2); font-size:14px; }
  .foot { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px; }
  footer h4 { margin:0 0 14px; font:600 11px/1 "Unbounded", sans-serif; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); }
  footer ul { list-style:none; margin:0; padding:0; display:grid; gap:9px; }
  footer a:hover { color:var(--accent); }
  .copy { margin-top:44px; padding-top:24px; border-top:1px solid var(--line); font-size:13px; color:var(--ink-3); }
  @media (max-width:900px) { .foot { grid-template-columns:1fr 1fr; } .foot > div:first-child { grid-column:1 / -1; } }

  /* ===== Inner pages ===== */
  .page-hero { position:relative; min-height:560px; display:flex; align-items:flex-end; padding:0; }
  .page-hero > .imgph { position:absolute; inset:0; }
  .page-hero .imgph img { filter:saturate(.6) brightness(.85); }
  .page-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgb(9 12 17 / .94) 0%, rgb(9 12 17 / .7) 50%, rgb(9 12 17 / .3) 100%); pointer-events:none; }
  .page-hero .wrap { position:relative; z-index:1; width:100%; padding-top:132px; padding-bottom:72px; }
  .crumbs { display:flex; flex-wrap:wrap; gap:8px; font-size:14px; color:var(--ink-2); margin-bottom:22px; }
  .crumbs a:hover { color:var(--accent); }
  .crumbs i { font-size:12px; align-self:center; }
  .page-hero h1 { font-size:clamp(24px, 6.2vw, 60px); font-weight:700; text-transform:uppercase; overflow-wrap:anywhere; }
  .page-hero .lede { color:#cfd6df; max-width:56ch; }
  .page-hero .hero-cta { margin-top:32px; }

  /* Subcategories */
  .subcats { margin-top:48px; display:grid; grid-template-columns:repeat(3, 1fr); gap:2px; background:var(--line); border:2px solid var(--line); }
  .subcats article { background:var(--bg); padding:30px; display:grid; gap:12px; align-content:start; min-height:220px; }
  .subcats i { font-size:32px; color:var(--accent); }
  .subcats h3 { font-size:19px; margin-top:8px; }
  .subcats p { color:var(--ink-2); font-size:15px; }
  @media (max-width:900px) { .subcats { grid-template-columns:1fr; } .subcats article { min-height:0; } }

  /* Documents */
  .docs-band { background:var(--surface); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .docs-grid { display:grid; grid-template-columns:1fr 1.5fr; gap:72px; align-items:start; }
  .doc-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:28px 36px; }
  .doc-list li { display:grid; grid-template-columns:40px 1fr; gap:14px; }
  .doc-list i { font-size:28px; color:var(--accent); }
  .doc-list strong { display:block; font-family:"Unbounded", sans-serif; font-weight:600; font-size:16px; margin-bottom:6px; }
  .doc-list span { color:var(--ink-2); font-size:15px; }
  @media (max-width:900px) { .docs-grid { grid-template-columns:1fr; gap:36px; } .doc-list { grid-template-columns:1fr; } }

  /* Brand row on group pages */
  .brand-row { margin-top:40px; display:grid; grid-template-columns:repeat(6, 1fr); gap:12px; }
  .brand-row span { height:88px; display:grid; place-items:center; padding:16px 20px; background:#fff; border-radius:2px; }
  .brand-row img { max-width:100%; max-height:48px; object-fit:contain; }
  .brand-row span.txt { font:700 18px/1.1 "Unbounded", sans-serif; color:#1b2330; text-align:center; }
  @media (max-width:900px) { .brand-row { grid-template-columns:repeat(2, 1fr); } }

  /* Other groups */
  .other-groups { margin-top:40px; display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; }
  .other-groups a { display:flex; align-items:center; gap:16px; padding:22px 24px; border:1px solid var(--line); background:var(--surface); font:600 16px/1.2 "Unbounded", sans-serif; transition:border-color .2s, color .2s; }
  .other-groups a i:first-child { font-size:26px; color:var(--accent); }
  .other-groups a i:last-child { margin-left:auto; color:var(--ink-3); transition:transform .2s; }
  .other-groups a:hover { border-color:var(--accent); }
  .other-groups a:hover i:last-child { transform:translateX(4px); color:var(--accent); }
  @media (max-width:900px) { .other-groups { grid-template-columns:1fr; } }
  .brand-note { display:block; margin-top:12px; color:var(--ink-3); font-size:13px; max-width:90ch; }
  .dd-panel a[aria-current] { color:var(--accent); }

  /* ===== Za stranke ===== */
  .modes { margin-top:48px; display:grid; grid-template-columns:1fr 1fr 1.15fr; gap:16px; align-items:stretch; }
  .mode { background:var(--surface); border:1px solid var(--line); padding:32px; display:flex; flex-direction:column; gap:14px; }
  .mode.featured { border-color:var(--accent); background:linear-gradient(180deg, rgb(56 198 244 / .08), var(--surface) 40%); }
  .mode .badge { align-self:flex-start; font:600 11px/1 "Unbounded", sans-serif; letter-spacing:.06em; text-transform:uppercase; color:var(--accent-ink); background:var(--accent); padding:6px 9px; }
  .mode i.big { font-size:34px; color:var(--accent); }
  .mode h3 { font-size:21px; }
  .mode > p { color:var(--ink-2); font-size:15px; }
  .mode ul { list-style:none; padding:0; margin:6px 0 0; display:grid; gap:10px; font-size:15px; }
  .mode li { display:flex; gap:10px; align-items:flex-start; }
  .mode li i { color:var(--accent); font-size:18px; margin-top:2px; }
  .mode .btn { margin-top:auto; align-self:flex-start; }
  @media (max-width:1000px) { .modes { grid-template-columns:1fr; } }

  .start-steps { margin-top:48px; display:grid; grid-template-columns:repeat(4, 1fr); gap:0; counter-reset:st; }
  .start-steps li { list-style:none; counter-increment:st; padding:28px 28px 0 0; border-top:2px solid var(--line); position:relative; }
  .start-steps li:first-child { border-top-color:var(--accent); }
  .start-steps li::before { content:counter(st, decimal-leading-zero); display:block; font:700 26px/1 "Unbounded", sans-serif; color:var(--accent); margin-bottom:16px; }
  .start-steps h3 { font-size:18px; margin-bottom:8px; }
  .start-steps p { color:var(--ink-2); font-size:15px; }
  @media (max-width:900px) { .start-steps { grid-template-columns:1fr; } .start-steps li { padding:24px 0 0; } }

  .terms { margin-top:44px; display:grid; grid-template-columns:repeat(4, 1fr); border:1px solid var(--line); }
  .terms div { padding:26px 24px; border-left:1px solid var(--line); }
  .terms div:first-child { border-left:0; }
  .terms dt { display:flex; gap:10px; align-items:center; font:600 12px/1 "Unbounded", sans-serif; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-3); }
  .terms dt i { font-size:18px; color:var(--accent); }
  .terms dd { margin:14px 0 0; font-size:16px; line-height:1.5; }
  @media (max-width:900px) { .terms { grid-template-columns:1fr; } .terms div { border-left:0; border-top:1px solid var(--line); } .terms div:first-child { border-top:0; } }

  select { width:100%; height:48px; padding:0 14px; background:var(--bg); color:var(--ink); border:1px solid var(--line); font:400 15px/1.4 "Manrope", sans-serif; }
  select:focus { outline:none; border-color:var(--accent); }
  .menu > a[aria-current] { color:var(--accent); }
  .rfq-intro li a:hover { color:var(--accent); }

  /* ===== O podjetju ===== */
  .about-intro { display:grid; grid-template-columns:1fr 1.2fr; gap:72px; align-items:start; }
  .about-intro .text p { color:var(--ink-2); font-size:17px; margin-bottom:18px; max-width:62ch; }
  .about-intro .text p:first-child { color:var(--ink); font-size:20px; line-height:1.5; }
  .about-facts { margin-top:56px; display:grid; grid-template-columns:repeat(3, 1fr); gap:2px; background:var(--line); border:2px solid var(--line); }
  .about-facts div { background:var(--bg); padding:28px; display:grid; gap:10px; }
  .about-facts i { font-size:30px; color:var(--accent); }
  .about-facts strong { font:600 18px/1.25 "Unbounded", sans-serif; }
  .about-facts span { color:var(--ink-2); font-size:15px; }
  @media (max-width:900px) { .about-intro { grid-template-columns:1fr; gap:24px; } .about-facts { grid-template-columns:1fr; } }
  .all-groups { grid-template-columns:repeat(4, 1fr); }
  @media (max-width:1100px) { .all-groups { grid-template-columns:repeat(2, 1fr); } }
  @media (max-width:700px) { .all-groups { grid-template-columns:1fr; } }

  /* ===== Povpraševanje ===== */
  .rfq-page { display:grid; grid-template-columns:1.6fr 1fr; gap:48px; align-items:start; }
  .rfq-form { background:var(--surface); border:1px solid var(--line); padding:40px; }
  .rfq-form fieldset { border:0; padding:0; margin:0 0 36px; }
  .rfq-form legend { font:600 18px/1.2 "Unbounded", sans-serif; margin-bottom:20px; display:flex; gap:12px; align-items:center; }
  .rfq-form legend span { display:inline-grid; place-items:center; width:30px; height:30px; background:var(--accent); color:var(--accent-ink); font-size:13px; }
  .items-head, .item-row { display:grid; grid-template-columns:2fr 1.2fr 90px 40px; gap:10px; align-items:center; }
  .items-head { font-size:13px; font-weight:600; color:var(--ink-2); margin-bottom:8px; }
  .item-row { margin-bottom:10px; }
  .item-row button { width:40px; height:48px; background:none; border:1px solid var(--line); color:var(--ink-3); cursor:pointer; font-size:18px; }
  .item-row button:hover { color:#ff8a7a; border-color:#ff8a7a; }
  .add-row { margin-top:6px; background:none; border:1px dashed var(--line); color:var(--accent); height:44px; padding:0 18px; font:600 14px/1 "Manrope", sans-serif; cursor:pointer; display:inline-flex; gap:8px; align-items:center; }
  .add-row:hover { border-color:var(--accent); }
  .or-line { display:flex; align-items:center; gap:14px; color:var(--ink-3); font-size:13px; margin:22px 0 14px; }
  .or-line::before, .or-line::after { content:""; flex:1; height:1px; background:var(--line); }
  .items-err { display:none; color:#ff8a7a; font-size:13px; margin-top:10px; }
  .rfq-form.items-invalid .items-err { display:block; }
  .check { display:flex; gap:12px; align-items:flex-start; font-size:14px; color:var(--ink-2); cursor:pointer; }
  .check input { width:18px; height:18px; margin-top:2px; accent-color:var(--accent); flex:none; }
  .field.invalid .check { color:#ff8a7a; }
  .rfq-side { position:sticky; top:96px; display:grid; gap:16px; }
  .side-card { background:var(--surface); border:1px solid var(--line); padding:28px; }
  .side-card h3 { font-size:17px; margin-bottom:16px; }
  .side-steps { list-style:none; margin:0; padding:0; display:grid; gap:16px; counter-reset:ss; }
  .side-steps li { counter-increment:ss; display:grid; grid-template-columns:34px 1fr; gap:12px; font-size:15px; color:var(--ink-2); }
  .side-steps li::before { content:counter(ss); display:grid; place-items:center; width:30px; height:30px; border:1px solid var(--accent); color:var(--accent); font:600 13px/1 "Unbounded", sans-serif; }
  .side-steps strong { display:block; color:var(--ink); font-weight:600; margin-bottom:2px; }
  .side-card .contacts { font-size:15px; gap:12px; }
  @media (max-width:1000px) { .rfq-page { grid-template-columns:1fr; } .rfq-side { position:static; } }
  @media (max-width:700px) { .rfq-form { padding:24px; } .items-head { display:none; } .item-row { grid-template-columns:1fr 80px 40px; } .item-row .mfr-in { grid-column:1 / -1; order:3; } }

  /* ===== Legal pages ===== */
  .legal { max-width:780px; }
  .legal h1 { font-size:clamp(28px,4vw,48px); font-weight:700; text-transform:uppercase; }
  .legal .updated { margin-top:14px; color:var(--ink-3); font-size:14px; }
  .legal h2 { font-size:22px; margin:48px 0 14px; }
  .legal p, .legal li { color:var(--ink-2); font-size:16px; line-height:1.7; }
  .legal p { margin-bottom:14px; }
  .legal ul { margin:0 0 14px; padding-left:20px; display:grid; gap:6px; }
  .legal strong { color:var(--ink); font-weight:600; }
  .legal a { color:var(--accent); }
  .form-foot small a, .check a { color:var(--accent); text-decoration:underline; text-underline-offset:2px; }
  .legal .tbl { width:100%; border-collapse:collapse; margin:8px 0 18px; font-size:15px; }
  .legal .tbl th, .legal .tbl td { text-align:left; padding:14px 16px; border-bottom:1px solid var(--line); vertical-align:top; color:var(--ink-2); }
  .legal .tbl th { font:600 12px/1.2 "Unbounded", sans-serif; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-3); }
  .legal .tbl td:first-child { color:var(--ink); font-weight:600; }
  @media (max-width:700px) { .legal .tbl, .legal .tbl tbody, .legal .tbl tr, .legal .tbl td { display:block; } .legal .tbl thead { display:none; } .legal .tbl tr { border-bottom:1px solid var(--line); padding:10px 0; } .legal .tbl td { border:0; padding:4px 0; } }

  /* ===== Cookie banner ===== */
  .cookie-box { position:fixed; right:20px; bottom:20px; z-index:50; width:min(440px, calc(100vw - 40px)); background:var(--surface-2); border:1px solid var(--line); box-shadow:0 18px 50px rgb(0 0 0 / .45); padding:24px; animation:ck-in .35s cubic-bezier(.16,1,.3,1); }
  @keyframes ck-in { from { opacity:0; transform:translateY(16px); } }
  @media (prefers-reduced-motion: reduce) { .cookie-box { animation:none; } }
  .cookie-box p { font-size:14px; color:var(--ink-2); line-height:1.55; }
  .cookie-box p a { color:var(--accent); text-decoration:underline; text-underline-offset:2px; }
  .cookie-title { font:600 16px/1.2 "Unbounded", sans-serif !important; color:var(--ink) !important; margin-bottom:8px; }
  .cookie-settings { margin-top:16px; display:grid; gap:10px; }
  .cookie-settings[hidden] { display:none; }
  .cookie-opt { display:flex; gap:12px; align-items:flex-start; padding:12px; border:1px solid var(--line); background:var(--bg); cursor:pointer; font-size:14px; color:var(--ink-2); }
  .cookie-opt input { width:18px; height:18px; margin-top:2px; accent-color:var(--accent); }
  .cookie-opt strong { display:block; color:var(--ink); font-weight:600; }
  .cookie-actions { margin-top:18px; display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
  .cookie-actions .btn { height:42px; padding:0 16px; font-size:12px; }
  .cookie-link { background:none; border:0; color:var(--ink-2); font:500 14px/1 "Manrope", sans-serif; cursor:pointer; text-decoration:underline; text-underline-offset:3px; padding:8px 4px; }
  .cookie-link:hover { color:var(--ink); }
  .foot button.linkish { background:none; border:0; padding:0; color:inherit; font:inherit; cursor:pointer; text-align:left; }
  .foot button.linkish:hover { color:var(--accent); }

  /* Small screens: long button labels (especially German) wrap instead of overflowing */
  h1, h2, h3 { overflow-wrap:break-word; hyphens:auto; }
  @media (max-width:560px) {
    .btn { white-space:normal; height:auto; min-height:50px; padding:14px 18px; text-align:center; justify-content:center; line-height:1.25; }
    .form-foot .btn, .mode .btn, .rfq-form .btn { width:100%; }
    .legal h1 { font-size:24px; }
  }
  .rfq-page > *, .rfq-box > *, .row > * { min-width:0; }
  .send-err { margin-top:14px; padding:12px 14px; border:1px solid #ff8a7a; color:#ffb4a8; font-size:14px; }
  .send-err[hidden] { display:none; }
  .hp { display:none !important; }
  button[type="submit"][disabled] { opacity:.7; cursor:wait; }
