:root{--bg:#05070d;--bg2:#080d16;--panel:#0b1420;--line:#152436;--line2:#22405f;
        --txt:#eef3fa;--muted:#8fa2ba;--dim:#5d7086;--accent:#2f7dff;--accent2:#5aa0ff;--gap:#e0a33c}
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{background:var(--bg);color:var(--txt);font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
       -webkit-font-smoothing:antialiased;line-height:1.55;overflow-x:hidden}
  /* Ambient licht — premium diepte i.p.v. platte zwart. Vaste laag achter alles;
     een zachte blauwe gloed rechtsboven, een subtiele tweede links. */
  body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
    background:radial-gradient(1300px 780px at 74% -10%,rgba(47,125,255,.11),transparent 60%),
              radial-gradient(1000px 680px at 4% 20%,rgba(90,160,255,.05),transparent 55%)}
  .wrap{max-width:1180px;margin:0 auto;padding:0 32px}
  .mono{font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace}
  section{padding:116px 0;border-top:1px solid var(--line)}
  .num{font-size:.66rem;letter-spacing:.2em;color:var(--dim);font-weight:700;font-family:ui-monospace,monospace}
  .kop{margin-top:12px;font-size:clamp(1.85rem,3.2vw,2.7rem);font-weight:800;letter-spacing:-.03em;line-height:1.12;max-width:26ch}
  .kop em{font-style:normal;color:var(--accent2)}
  .intro{margin-top:16px;color:var(--muted);max-width:58ch;font-size:1rem}
  .intro strong{color:var(--txt);font-weight:600}
  header{position:fixed;top:0;left:0;right:0;z-index:50;backdrop-filter:blur(14px);
         background:linear-gradient(180deg,rgba(5,7,13,.94),rgba(5,7,13,.45));border-bottom:1px solid rgba(21,36,54,.8)}
  header .in{max-width:1180px;margin:0 auto;padding:14px 32px;display:flex;align-items:center;gap:38px}
  .logo{display:flex;align-items:center;gap:11px;line-height:0}.logo img{height:28px;width:auto;display:block}
  .logo .logotxt{font-size:1.5rem;font-weight:700;letter-spacing:.01em;color:var(--txt);line-height:1;white-space:nowrap}
  @media(max-width:620px){.logo .logotxt{display:none}}
  nav{margin-left:auto;display:flex;align-items:center;gap:32px;font-size:.82rem;color:var(--muted)}
  nav a{color:inherit;text-decoration:none;transition:color .2s}nav a:hover{color:var(--txt)}
  nav a.cta{border:1px solid var(--line2);border-radius:7px;padding:7px 15px;color:var(--txt);font-weight:600}
  nav a.cta:hover{border-color:var(--accent);background:rgba(47,125,255,.1)}
  nav a.signup{background:var(--accent);border-color:var(--accent);color:#fff}
  nav a.signup:hover{background:#4a8dff;border-color:#4a8dff}
  .lang{position:relative;display:flex;align-items:center;font-size:.72rem;font-weight:700;letter-spacing:.04em}
  .lang .globe-btn{display:inline-flex;align-items:center;cursor:pointer;padding:4px;border-radius:6px;color:var(--dim);transition:.15s}
  @media(hover:hover){.lang .globe-btn:hover,.lang:focus-within .globe-btn{color:var(--txt)}}
  .lang .globe{width:18px;height:18px;flex:0 0 auto}
  .lang-menu{position:absolute;top:100%;right:0;display:none;flex-direction:column;gap:2px;
    background:linear-gradient(180deg,#0c1524,#0a111c);border:1px solid var(--line2);border-radius:10px;padding:12px 6px 6px;min-width:58px;z-index:60;box-shadow:0 12px 30px rgba(0,0,0,.45)}
  @media(hover:hover){.lang:hover .lang-menu,.lang:focus-within .lang-menu{display:flex}}
  .lang-menu b{cursor:pointer;color:var(--dim);padding:6px 12px;border-radius:6px;text-align:center;transition:.15s}
  @media(hover:hover){.lang-menu b:hover{color:var(--txt);background:rgba(255,255,255,.06)}}
  .lang-menu b.on{color:var(--accent2);background:rgba(90,160,255,.12)}
  /* account: gebruikersbolletje i.p.v. CTA-knop */
  .acct{display:inline-flex;align-items:center;gap:9px;text-decoration:none;padding:4px 6px;border-radius:10px;transition:.15s}
  .acct:hover{background:rgba(255,255,255,.045)}
  .acct .uic{width:30px;height:30px;border-radius:50%;border:1px solid var(--line2);background:rgba(90,160,255,.08);display:inline-flex;align-items:center;justify-content:center;color:var(--accent2);flex:0 0 auto;transition:.15s}
  .acct:hover .uic{border-color:var(--accent2);color:var(--txt)}
  .acct .uic svg{width:16px;height:16px}
  .acct .acct-t{display:flex;flex-direction:column;line-height:1.12}
  .acct .acct-t b{font-size:.8rem;font-weight:700;color:var(--txt);letter-spacing:0}
  .acct .acct-t em{font-size:.66rem;font-style:normal;color:var(--dim);letter-spacing:.02em}
  @media(max-width:560px){.acct .acct-t{display:none}}
  /* MOBIEL MENU. Stond hier: nav a:not(.cta){display:none} + .lang{display:none}.
     Daardoor zag je op je telefoon alleen "Contact" — en, erger, kon een Franse
     bezoeker de taal niet wisselen terwijl de vertaling wél laadde. Een taal-
     schakelaar verbergen op het apparaat waarop de meeste mensen lezen is geen
     ruimtebesparing maar een fout. Nu: de talen blijven ALTIJD staan, de rest
     schuift onder een knop. */
  .lang{display:flex !important}
  .burger{display:none;background:none;border:1px solid var(--line2);border-radius:7px;
          padding:7px 9px;cursor:pointer;line-height:0}
  .burger span{display:block;width:16px;height:1.5px;background:var(--muted);margin:3px 0;
               transition:.2s;border-radius:2px}
  .burger.open span:nth-child(1){transform:translateY(4.5px) rotate(45deg)}
  .burger.open span:nth-child(2){opacity:0}
  .burger.open span:nth-child(3){transform:translateY(-4.5px) rotate(-45deg)}
  /* Het paneel is ALTIJD verborgen tenzij een media-query hem opent. Deze regel stond
     eerst binnen @media(max-width:900px) — dus boven 900px had .paneel helemaal geen
     display-regel en viel hij terug op block. Zijn ouder div.in is een flexbox, dus
     ging hij als flex-item naast de nav staan: zes kale blauwe links op elk desktop-
     scherm, en een nav die daardoor over drie regels brak. Een verbergregel hoort
     buiten de query, niet erin. */
  .paneel{display:none;position:absolute;left:0;right:0;top:100%;
          background:rgba(5,7,13,.98);backdrop-filter:blur(14px);
          border-top:1px solid var(--line);padding:6px 32px 18px;max-height:calc(100vh - 62px);overflow-y:auto;-webkit-overflow-scrolling:touch}
  .paneel a{display:block;padding:13px 0;color:var(--txt);text-decoration:none;
            border-bottom:1px solid var(--line);font-size:.95rem}
  .paneel a:last-child{border-bottom:0}
  @media(max-width:900px){
    .burger{display:block;order:3}
    nav{gap:16px}
    nav a:not(.cta){display:none}
    header.menu-open .paneel{display:block}
  }
  @media(max-width:420px){nav a.cta{display:none}.lang b{padding:4px 5px}}
  .hero{position:relative;height:100vh;min-height:100vh;overflow:hidden}
  #globe{position:absolute;inset:0}
  .heroimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:1}
  .gload{position:absolute;inset:0;display:grid;place-items:center;z-index:3;color:var(--dim);
         font-size:.8rem;letter-spacing:.1em;background:var(--bg)}
  .hero .veil{position:absolute;inset:0;z-index:2;pointer-events:none;
    background:linear-gradient(90deg,rgba(5,7,13,.95) 0%,rgba(5,7,13,.6) 46%,rgba(5,7,13,0) 78%),
               linear-gradient(0deg,rgba(5,7,13,.95),transparent 48%)}
  .hero .content{position:absolute;z-index:4;left:0;right:0;top:34%}
  .eyebrow{display:inline-flex;align-items:center;height:20px;font-size:.66rem;letter-spacing:.28em;text-transform:uppercase;color:var(--accent2);font-weight:700}
  h1{margin-top:20px;font-size:clamp(2rem,3.8vw,3.4rem);font-weight:800;line-height:1.06;letter-spacing:-.035em}
  h1 .b{color:var(--accent2);display:block}
  .sub{margin-top:24px;font-size:clamp(1rem,1.6vw,1.16rem);color:var(--muted);max-width:46ch}
  .sub b{color:var(--txt);font-weight:600}
  .loc{margin-top:32px;display:flex;align-items:center;gap:11px;font-size:.73rem;letter-spacing:.06em;color:var(--dim)}
  .loc .dot{width:7px;height:7px;border-radius:50%;background:var(--accent2);box-shadow:0 0 12px var(--accent2);
            animation:pulse 2.4s ease-in-out infinite}
  @keyframes pulse{50%{opacity:.3}}
  .loc b{color:var(--muted);font-weight:500}
  .cred{position:absolute;right:16px;bottom:11px;z-index:4;font-size:.58rem;color:var(--dim);opacity:.7}
  .rij{padding:82px 0;border-top:1px solid var(--line)}
  .rij:first-of-type{border-top:0;padding-top:12px}
  .rij .beeld{max-width:880px;margin:0 auto 40px}
  .rij>div:last-child{max-width:780px;margin:0 auto}
  .beeld{border:1px solid var(--line2);border-radius:16px;overflow:hidden;background:#0b1117;line-height:0;box-shadow:0 34px 90px rgba(0,0,0,.62),0 0 0 1px rgba(90,160,255,.06)}
  .beeld img{width:100%;height:auto;display:block}
  .rij .kick{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent2);font-weight:700}
  .rij h3{margin-top:12px;font-size:clamp(1.35rem,2.2vw,1.85rem);font-weight:800;letter-spacing:-.025em;line-height:1.2}
  .rij p{margin-top:14px;color:var(--muted);font-size:.98rem;line-height:1.6}.rij p+p{margin-top:11px}
  .rij strong{color:var(--txt);font-weight:600}
  .rij .bron{margin-top:15px;padding-top:12px;border-top:1px solid var(--line);font-size:.69rem;color:var(--dim)}
  @media(max-width:900px){.rij,.rij.flip{grid-template-columns:1fr;gap:22px}.rij.flip .beeld{order:0}}
  .tel{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;background:var(--line);
       border:1px solid var(--line);border-radius:10px;overflow:hidden}
  .tel .t{background:linear-gradient(180deg,var(--bg2),var(--panel));padding:18px 6px;text-align:center}
  .tel .t b{display:block;font-size:1.6rem;font-weight:800;letter-spacing:-.03em;color:var(--accent2)}
  .tel .t span{display:block;margin-top:3px;font-size:.58rem;color:var(--dim);letter-spacing:.04em}
  @media(max-width:700px){.tel{grid-template-columns:repeat(2,1fr)}}
  /* SPECIFICATIE — de spec-sheet van het topmodel: één ORB, alle capaciteiten al aan
     boord. Geen productmenu; een hairline-raster van wat de engine kan. */
  .spec{margin-top:52px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
        background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden;
        box-shadow:0 30px 70px rgba(0,0,0,.4)}
  .spec .sc{background:linear-gradient(180deg,var(--bg2),var(--panel));padding:24px 24px 28px;
            display:flex;flex-direction:column;gap:9px;transition:background .25s}
  .spec .sc:hover{background:linear-gradient(180deg,var(--panel),var(--panel2))}
  .spec .sc .k{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent2);font-weight:700}
  .spec .sc b{font-size:1.02rem;font-weight:700;letter-spacing:-.015em;color:var(--txt);line-height:1.2}
  .spec .sc span{font-size:.86rem;color:var(--muted);line-height:1.5}
  .spec .sc em{font-style:normal;color:var(--txt);font-weight:600}
  @media(max-width:900px){.spec{grid-template-columns:1fr 1fr}}
  @media(max-width:560px){.spec{grid-template-columns:1fr}}
  .pf-hero{margin-top:40px;border-radius:18px;overflow:hidden;border:1px solid var(--line2);
           box-shadow:0 44px 100px rgba(0,0,0,.6);line-height:0}
  .pf-hero img{width:100%;height:auto;display:block}
  /* WAT ORB DOET — de vijf-werkwoord-ruggengraat uit de S-Klasse-reveal.
     Observe · Understand · Predict · Explain · Recommend. */
  .verbs{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);
         border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-top:44px;
         box-shadow:0 30px 70px rgba(0,0,0,.4)}
  .verbs .v{background:linear-gradient(180deg,var(--bg2),var(--panel));padding:36px 20px 34px;
            text-align:center;display:flex;flex-direction:column;align-items:center;gap:11px;transition:background .25s}
  .verbs .v:hover{background:linear-gradient(180deg,var(--panel),var(--panel2))}
  .verbs .v .ic{width:44px;height:44px;color:var(--accent2)}
  .verbs .v b{font-size:.86rem;font-weight:800;letter-spacing:.16em;color:var(--txt)}
  .verbs .v .w{font-size:1.05rem;font-weight:700;color:var(--accent2);letter-spacing:-.01em}
  .verbs .v span:not(.w){font-size:.78rem;color:var(--muted);line-height:1.45}
  @media(max-width:900px){.verbs{grid-template-columns:1fr 1fr 1fr}}
  @media(max-width:560px){.verbs{grid-template-columns:1fr}}
  /* DRIE OPPERVLAKKEN — World · Monitor · Engine. Placeholder toont een motief tot
     het echte beeld (assets/orb-*.jpg) er staat; dan dekt de <img> het af. */
  .surf{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
        border:1px solid var(--line2);border-radius:16px;overflow:hidden;margin-top:40px;
        box-shadow:0 44px 100px rgba(0,0,0,.55)}
  .surf .s{background:var(--panel);display:flex;flex-direction:column}
  .surf .vis{position:relative;aspect-ratio:16/10;overflow:hidden;line-height:0;
             border-bottom:1px solid var(--line);background:linear-gradient(135deg,#0b1420,#0e1c30)}
  .surf .vis img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
  .surf .vis .ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px}
  .surf .vis .ph svg{width:52px;height:52px;color:var(--accent2);opacity:.55}
  .surf .vis .ph em{font-style:normal;font-family:ui-monospace,monospace;font-size:.56rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
  .surf .bd{padding:20px 22px 24px;display:flex;flex-direction:column;gap:5px}
  .surf .bd .k{font-size:.57rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);font-weight:700}
  .surf .bd .lab{font-family:ui-monospace,monospace;font-size:1.06rem;font-weight:800;color:var(--txt);letter-spacing:.01em}
  .surf .bd .lab b{color:var(--accent2)}
  .surf .bd p{font-size:.85rem;color:var(--muted);line-height:1.5;margin-top:3px}
  @media(max-width:820px){.surf{grid-template-columns:1fr}}
  .tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:44px}
  .tile{position:relative;aspect-ratio:3/2;border-radius:12px;overflow:hidden;border:1px solid var(--line2);
        background:linear-gradient(135deg,#0b1420,#0e1c30);line-height:0}
  .tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
  .tile .ph2{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--dim);
             font-family:ui-monospace,monospace;font-size:.52rem;letter-spacing:.18em;text-transform:uppercase}
  .tile .cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:26px 14px 11px;
             background:linear-gradient(0deg,rgba(5,7,13,.92),rgba(5,7,13,.4) 55%,transparent);
             font-size:.8rem;font-weight:700;letter-spacing:.02em;color:var(--txt)}
  @media(max-width:900px){.tiles{grid-template-columns:1fr 1fr}}
  @media(max-width:520px){.tiles{grid-template-columns:1fr}}
  table{width:100%;border-collapse:collapse;margin-top:44px;font-size:.85rem}
  th,td{text-align:left;padding:17px 16px;border-bottom:1px solid var(--line);vertical-align:top}
  thead th{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--dim);font-weight:700;
           border-bottom:1px solid var(--line2);white-space:nowrap}
  td:first-child{color:var(--txt);font-weight:600;width:22%}
  td.br{color:var(--muted)}
  td.rs{color:var(--accent2);white-space:nowrap;font-family:ui-monospace,monospace;font-size:.78rem}
  td.nm{color:var(--muted);font-size:.8rem}
  /* bereik-tag: hoe ver reikt de bron zélf? De KE-kolom heet Kenia, maar wat eronder
     ligt is grotendeels continentaal of mondiaal. Dat hoort zichtbaar te zijn in de
     tabel, niet alleen in de intro. */
  .reik{display:inline-block;margin-top:5px;padding:2px 7px;border:1px solid var(--line2);
        border-radius:4px;font-size:.62rem;letter-spacing:.04em;color:var(--accent2);
        background:rgba(47,125,255,.07);font-family:ui-monospace,monospace}
  tbody tr:nth-child(even){background:rgba(255,255,255,.012)}
  tbody tr:hover{background:rgba(47,125,255,.05)}
  /* TELEFOON: een tabel van 4 kolommen op 390px = 97px per kolom. Onleesbaar,
     hoe klein de letters ook worden. Dus dan is het geen tabel meer maar een
     kaart per domein, met het kolomlabel ervoor. Zelfde HTML, ander raster. */
  @media(max-width:820px){
    table, tbody, tr, td{display:block;width:100%}
    thead{display:none}
    tbody tr{border:1px solid var(--line);border-radius:11px;padding:14px 16px;
             margin-bottom:12px;background:var(--panel)}
    tbody tr:hover{background:var(--panel)}
    td{border:0;padding:5px 0}
    td:first-child{font-size:1rem;font-weight:700;color:var(--txt);
                   padding-bottom:9px;margin-bottom:7px;border-bottom:1px solid var(--line)}
    td:not(:first-child)::before{content:attr(data-l);display:block;
      font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;
      color:var(--dim);font-weight:700;margin-bottom:2px}
    td[colspan]{padding-top:5px}
  }
  .ver{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:44px;background:var(--line);
       border:1px solid var(--line);border-radius:13px;overflow:hidden}
  .vc{background:var(--bg2);padding:34px 26px}
  .vn{font-size:clamp(1.9rem,3.4vw,2.6rem);font-weight:800;letter-spacing:-.045em;line-height:1}
  .vn .u{font-size:.42em;color:var(--muted);font-weight:600}
  .vw{margin-top:13px;font-size:.9rem;color:var(--txt);font-weight:600}
  .vs{margin-top:8px;font-size:.71rem;color:var(--dim);line-height:1.5}
  @media(max-width:820px){.ver{grid-template-columns:1fr}}
  .twee{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:52px;align-items:start}
  .twee p{color:var(--muted);font-size:.95rem}.twee p+p{margin-top:12px}
  .twee strong{color:var(--txt);font-weight:600}
  .twee h4{font-size:.95rem;font-weight:700;margin-bottom:12px}
  .twee h4 span{color:var(--gap)}
  @media(max-width:820px){.twee{grid-template-columns:1fr;gap:30px}}
  .pts{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:52px}
  .pt{background:linear-gradient(180deg,var(--bg2),var(--panel));border:1px solid var(--line2);border-radius:16px;padding:26px 28px;box-shadow:0 20px 50px rgba(0,0,0,.35)}
  .pt .lbl{display:block;font-family:ui-monospace,monospace;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent2);font-weight:700;margin-bottom:11px}
  .pt p{color:var(--muted);font-size:.92rem;line-height:1.6}
  .pt strong{color:var(--txt);font-weight:600}
  .pt.wide{grid-column:1 / -1}
  @media(max-width:820px){.pts{grid-template-columns:1fr;gap:26px}}
  .code{margin-top:16px;background:linear-gradient(180deg,var(--bg2),var(--panel));border:1px solid var(--line2);border-radius:12px;
        padding:20px 22px;font-family:ui-monospace,monospace;font-size:.8rem;color:var(--muted);line-height:1.75;box-shadow:0 14px 34px rgba(0,0,0,.38)}
  .code b{color:var(--txt);font-weight:600}
  .code i{color:var(--gap);font-style:normal}
  .fsm{display:flex;align-items:stretch;gap:0;margin-top:44px;border:1px solid var(--line);
       border-radius:12px;overflow:hidden;background:var(--panel)}
  .fs{flex:1;padding:20px 14px;border-right:1px solid var(--line);position:relative}
  .fs:last-child{border-right:0}
  .fs .i{font-size:.58rem;color:var(--dim);font-family:ui-monospace,monospace;letter-spacing:.1em}
  .fs .s{margin-top:7px;font-size:.85rem;font-weight:700;color:var(--txt)}
  .fs .l{margin-top:4px;font-size:.66rem;color:var(--dim)}
  .fs.eind .s{color:var(--dim)}
  .fs .terug{position:absolute;right:8px;top:16px;font-size:.62rem;color:var(--gap)}
  @media(max-width:900px){.fsm{flex-direction:column}.fs{border-right:0;border-bottom:1px solid var(--line)}}
  .plan{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px}
  .pl{border:1px solid var(--line);border-radius:8px;padding:11px 13px;background:var(--panel);
      font-size:.78rem;color:var(--muted);text-align:center}
  .pl b{color:var(--txt);display:block;font-size:.82rem}
  .pl span{font-size:.62rem;color:var(--dim)}
  @media(max-width:700px){.plan{grid-template-columns:1fr 1fr}}
  .reps{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-top:44px}
  .rep{position:relative;display:block;border:1px solid var(--line);border-radius:12px;overflow:hidden;
       background:var(--panel);text-decoration:none;transition:border-color .25s,transform .25s}
  .rep:hover{border-color:var(--line2);transform:translateY(-3px)}
  .rep img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}
  .rep .cap{padding:13px 16px;border-top:1px solid var(--line)}
  .rep .cap .n{font-size:.81rem;font-weight:600;color:var(--txt);display:block}
  .rep .cap .m{font-size:.66rem;color:var(--dim)}
  .rep:hover .cap .m{color:var(--accent2)}
  @media(max-width:900px){.reps{grid-template-columns:1fr 1fr}}
  @media(max-width:600px){.reps{grid-template-columns:1fr}}
  .close{border-top:1px solid var(--line);background:var(--bg2);padding:112px 0}
  .close h2{font-size:clamp(1.8rem,3.4vw,2.8rem);font-weight:800;letter-spacing:-.032em;line-height:1.14;max-width:18ch}
  .close h2 .b{color:var(--accent2)}
  .close p{margin-top:20px;color:var(--muted);max-width:54ch;font-size:1rem}
  .cta2{margin-top:36px;display:flex;gap:13px;flex-wrap:wrap}
  .cta2 a{border:1px solid var(--line2);border-radius:8px;padding:12px 25px;color:var(--txt);text-decoration:none;
          font-size:.87rem;font-weight:600;transition:all .22s}
  .cta2 a:hover{border-color:var(--accent);background:rgba(47,125,255,.08)}
  .cta2 a.p{background:var(--accent);border-color:var(--accent)}.cta2 a.p:hover{background:#4a8dff}
  footer{position:relative;border-top:1px solid var(--line);padding:104px 0 120px;font-size:.74rem;color:var(--dim);overflow:hidden;
    background:url('assets/footer-earth.jpg') right bottom/cover no-repeat #05070d}
  footer::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(180deg,#05070d 0%,rgba(5,7,13,.55) 38%,rgba(5,7,13,0) 80%)}
  footer .in{position:relative;z-index:2;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

/* Wayfinding: huidige pagina in het menu oplichten */
nav a.here{color:var(--accent2)}
nav a.here::after{content:"";display:block;height:2px;background:var(--accent2);border-radius:2px;margin-top:4px}
.paneel a.here{color:var(--accent2)}

.pbanner{max-width:1180px;margin:26px auto 0;padding:0 32px}
.pbanner img{width:100%;border-radius:16px;border:1px solid var(--line2);display:block;box-shadow:0 30px 70px rgba(0,0,0,.45)}

.cov{display:inline-block;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;padding:2px 9px;border-radius:20px;margin-right:8px}
.cov.g{color:#5aa0ff;background:rgba(90,160,255,.13)}
.cov.c{color:#5dcaa5;background:rgba(93,202,165,.13)}
.cov.l{color:#9db0c6;background:rgba(157,176,198,.1)}

.chaincards{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:52px}
.cc{background:linear-gradient(180deg,var(--bg2),var(--panel));border:1px solid var(--line2);border-radius:16px;padding:30px 30px 32px;box-shadow:0 24px 60px rgba(0,0,0,.4)}
.cc .cctag{display:inline-block;font-family:ui-monospace,monospace;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent2);font-weight:700;margin-bottom:12px}
.cc h4{font-size:1.18rem;font-weight:800;letter-spacing:-.015em;margin-bottom:12px}
.cc>p{color:var(--muted);font-size:.92rem;line-height:1.6}
.cc .plan{margin-top:18px}
.cc .ccnote{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:.82rem;line-height:1.5;color:var(--accent2)}
@media(max-width:820px){.chaincards{grid-template-columns:1fr}}

/* Twin-leader band: waarom ORB's twin leidt — beeld met tekst over de donkere linkerkant */
.twinlead{position:relative;padding:0;height:clamp(440px,58vh,600px);overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.twinlead>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;transform:scale(1.5) translateX(-12%)}
.twinlead .tlveil{position:absolute;inset:0;background:radial-gradient(78% 130% at 50% 48%,rgba(5,7,13,.8),rgba(5,7,13,.34) 78%)}
.twinlead .tlwrap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center}
.twinlead h2{margin:14px auto 0;font-size:clamp(1.75rem,3.2vw,2.7rem);font-weight:800;letter-spacing:-.03em;line-height:1.12;max-width:24ch;text-shadow:0 2px 26px rgba(0,0,0,.62)}
.twinlead h2 .b{color:var(--accent2)}
.twinlead p{margin:18px auto 0;color:var(--muted);font-size:1.02rem;line-height:1.6;max-width:54ch;text-shadow:0 2px 18px rgba(0,0,0,.62)}
.twinlead p b{color:var(--txt);font-weight:600}

/* ── Beweging ── de site mocht niet stilstaan. Hero-netwerk + scroll-reveal.
   Alles respecteert prefers-reduced-motion (zie onder en motion.js). */
/* Cesium-globe teruggezet: full-bleed achter de hero */
#globe{position:absolute;inset:0;z-index:1}
#globe canvas{display:block}
.heroimg{transition:opacity 1s ease}
.hero.globe-on .heroimg{opacity:0}
.reveal{opacity:0;transform:translateY(20px);
  transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
/* lichte cascade binnen groepen, zodat tegels/verbs één voor één inzeilen */
.verbs .v:nth-child(2),.tiles .tile:nth-child(2){transition-delay:.07s}
.verbs .v:nth-child(3),.tiles .tile:nth-child(3){transition-delay:.14s}
.verbs .v:nth-child(4),.tiles .tile:nth-child(4){transition-delay:.21s}
.tiles .tile:nth-child(5){transition-delay:.10s}
.tiles .tile:nth-child(6){transition-delay:.17s}
.tiles .tile:nth-child(7){transition-delay:.24s}
.tiles .tile:nth-child(8){transition-delay:.31s}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* scroll-hint onder de hero — een muis met een zakkend lichtpunt */
.heroscroll{display:inline-block;margin-top:42px;width:26px;height:42px;border:1.5px solid var(--line2);
  border-radius:14px;position:relative;opacity:.65;transition:.2s}
.heroscroll:hover{opacity:1;border-color:var(--accent2)}
.heroscroll span{position:absolute;left:50%;top:8px;width:3px;height:7px;border-radius:2px;
  background:var(--accent2);transform:translateX(-50%);animation:hs 1.9s ease-in-out infinite}
@keyframes hs{0%,100%{opacity:0;transform:translate(-50%,0)}25%{opacity:1}55%{opacity:1;transform:translate(-50%,13px)}}
@media(prefers-reduced-motion:reduce){.heroscroll span{animation:none;opacity:.85}}

/* ── Hero-readout ── het bewijs naast de globe: een plek → een oordeel met
   bron, norm en marge. Cycelt door de domeinen. Dit is wat de koper wil zien. */
.readout{margin-top:30px;max-width:410px;border:1px solid var(--line2);border-radius:13px;
  background:linear-gradient(180deg,rgba(11,20,32,.82),rgba(8,13,22,.72));backdrop-filter:blur(10px);
  padding:15px 18px 16px;box-shadow:0 26px 64px rgba(0,0,0,.5);
  transition:opacity .42s ease,transform .42s ease}
.readout.swap{opacity:0;transform:translateY(7px)}
.ro-top{display:flex;align-items:center;gap:9px;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase}
.ro-dot{width:7px;height:7px;border-radius:50%;background:var(--accent2);box-shadow:0 0 11px var(--accent2);animation:pulse 2.2s ease-in-out infinite;flex:0 0 auto}
.ro-place{color:var(--txt);font-weight:800}
.ro-dom{margin-left:auto;color:var(--dim);font-weight:700}
.ro-val{margin-top:11px;font-size:1.14rem;color:var(--muted);font-weight:500;letter-spacing:-.01em}
.ro-val b{color:var(--accent2);font-weight:800}
.ro-meta{margin-top:9px;font-size:.72rem;color:var(--dim);font-family:ui-monospace,'SF Mono',Menlo,monospace}
.ro-meta em{color:var(--muted);font-style:normal}
.hero-cta{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}
.hbtn{display:inline-block;padding:12px 22px;border-radius:9px;font-size:.9rem;font-weight:700;
  text-decoration:none;transition:.18s;letter-spacing:.01em}
.hbtn.primary{background:var(--accent);color:#fff;border:1px solid var(--accent)}
.hbtn.primary:hover{background:#4a8dff;transform:translateY(-1px)}
.hbtn.ghost{border:1px solid var(--line2);color:var(--txt)}
.hbtn.ghost:hover{border-color:var(--accent2);background:rgba(47,125,255,.09)}
.hero .heroscroll{margin-top:34px}
@media(max-width:900px){.readout{max-width:100%}}

/* ── Hero-doorsnede ── de opening van de commercial: onder de straat.
   Lagen, kabels/leidingen, grondwater en het draagkracht-oordeel met zijn bron.
   Een scan-lijn daalt bij het laden af; alles respecteert reduced-motion. */
.xsec{position:absolute;top:0;right:0;height:100%;width:60%;z-index:1;overflow:hidden}
.xsec svg{width:100%;height:100%;display:block;opacity:0;animation:xfade .8s ease .1s forwards}
@keyframes xfade{to{opacity:1}}
.xd{opacity:0;transform:translateY(12px);animation:xin .8s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes xin{to{opacity:1;transform:none}}
.xsec .util{transform-box:fill-box;transform-origin:center;animation:xin .8s cubic-bezier(.2,.7,.2,1) .5s forwards, xpulse 3.4s ease-in-out 1.4s infinite}
@keyframes xpulse{50%{opacity:.6}}
.xsec .scan{opacity:0;animation:xscan 2.6s cubic-bezier(.4,0,.2,1) .25s forwards}
@keyframes xscan{0%{transform:translateY(-46px);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateY(786px);opacity:0}}
@media(prefers-reduced-motion:reduce){
  .xsec svg,.xd,.xsec .util{opacity:1;transform:none;animation:none}
  .xsec .scan{display:none}
}
@media(max-width:900px){.xsec{width:100%;opacity:.32}}

/* ── Living Earth hero ── fotorealistische aarde rechts, traag en gewichtig,
   met wolkenlaag en atmosfeergloed. Foto als achtervang; reduced-motion = stil. */
.earthwrap{position:absolute;top:50%;right:-6%;transform:translateY(-50%);
  width:min(72vw,72vh);height:min(72vw,72vh);z-index:1;pointer-events:none}
#earth{width:100%;height:100%;display:block;opacity:0;transition:opacity 1.8s ease}
#earth.ready{opacity:1}
.heroimg{transition:opacity 1.4s ease}
.hero.earth-on .heroimg{opacity:0}
@media(max-width:900px){.earthwrap{right:-30%;top:62%;width:120vw;height:120vw;opacity:.55}}

/* Engine-sectie samengevoegd: de tweede kop is nu één verbindende regel,
   zodat werkwoorden en surfaces onder één kop vallen (geen tweede sectie). */
.englead{margin-top:56px;margin-bottom:6px;font-size:clamp(1.04rem,1.7vw,1.26rem);
  line-height:1.55;color:var(--muted);max-width:60ch;font-weight:500}
.englead [data-t="keng"]{color:var(--txt)}
.englead .englead-x{color:var(--dim)}

/* verbs en surfaces direct onder elkaar, strak, zonder tussentekst */
/* kaartenblok boven, werkwoordenblok eronder — één doorlopend blok (stappen) */
#engine .wrap{display:flex;flex-direction:column;align-items:stretch}
#engine .surf{order:2;margin-top:40px;border-bottom-left-radius:0;border-bottom-right-radius:0}
#engine .verbs{order:3;margin-top:0;border-top:0;border-top-left-radius:0;border-top-right-radius:0}

/* ── Stappen ── vijf werkwoorden als keuze; het kader erboven vertaalt het
   gekozen werkwoord naar het resultaat dat ORB oplevert (beeld + uitleg). */
.steps{margin-top:44px;border:1px solid var(--line2);border-radius:16px;overflow:hidden;
  background:linear-gradient(180deg,var(--bg2),var(--panel));box-shadow:0 30px 74px rgba(0,0,0,.45)}
.stage{position:relative;min-height:372px}
.spanel{position:absolute;inset:0;display:grid;grid-template-columns:1.05fr 1fr;
  opacity:0;visibility:hidden;transition:opacity .5s ease}
.spanel.active{opacity:1;visibility:visible}
.smedia{position:relative;overflow:hidden;background:#0b1117;line-height:0}
.smedia img{width:100%;height:100%;object-fit:cover;display:block}
.smedia::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,transparent 55%,var(--bg2))}
.sbody{padding:40px 46px;display:flex;flex-direction:column;justify-content:center}
.seyebrow{font-size:.66rem;letter-spacing:.2em;color:var(--accent2);font-weight:700;font-family:ui-monospace,monospace}
.sbody h3{margin-top:14px;font-size:clamp(1.4rem,2.3vw,2rem);font-weight:800;letter-spacing:-.02em;line-height:1.15}
.sbody p{margin-top:16px;color:var(--muted);font-size:1rem;line-height:1.65;max-width:46ch}
.stabs{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line)}
.stab{position:relative;background:none;border:0;border-left:1px solid var(--line);
  padding:22px 10px 20px;cursor:pointer;text-align:center;font:inherit;transition:background .2s}
.stab:first-child{border-left:0}
.stab .ic{width:26px;height:26px;color:var(--dim);transition:color .2s}
.stab b{display:block;margin-top:10px;font-size:.72rem;letter-spacing:.12em;color:var(--muted);transition:color .2s}
.stab .w{display:block;margin-top:4px;font-size:.8rem;color:var(--accent2);font-weight:700}
.stab:hover{background:rgba(47,125,255,.05)}
.stab.active{background:rgba(47,125,255,.09)}
.stab.active .ic{color:var(--accent2)}
.stab.active b{color:var(--txt)}
.stab.active::before{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;background:var(--accent2)}
@media(max-width:820px){
  .spanel{grid-template-columns:1fr}.smedia{display:none}
  .sbody{padding:28px 26px}
  .stabs{grid-template-columns:repeat(2,1fr)}
  .stab{border-top:1px solid var(--line)}
}

/* klantvraag-band boven de stappen — de vraag die je door de stappen volgt */
.stepq{padding:22px 46px;border-bottom:1px solid var(--line);background:rgba(47,125,255,.05)}
.stepq .sq-q{font-size:clamp(1.04rem,1.7vw,1.3rem);font-weight:700;color:var(--txt);line-height:1.4}
.stepq .sq-w{display:block;margin-top:6px;font-size:.78rem;color:var(--dim);letter-spacing:.04em;text-transform:uppercase}
@media(max-width:820px){.stepq{padding:18px 26px}}

/* ── About: de ondertekende noot. Persoonlijk, maar zonder biografie:
      een brief-achtig blok met een accentstreep en een handtekeningregel. ── */
.fnote{margin-top:38px;padding:26px 30px 24px;border-left:2px solid var(--accent);
  border-radius:0 12px 12px 0;background:linear-gradient(90deg,rgba(47,125,255,.07),transparent 78%)}
.fnote p{color:var(--txt);font-size:1.02rem;line-height:1.68;max-width:70ch}
.fsig{display:block;margin-top:18px;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;
  font-weight:700;color:var(--accent2)}
.fsig::before{content:"";display:inline-block;width:26px;height:1px;background:var(--accent2);
  vertical-align:middle;margin-right:12px;opacity:.7}
@media(max-width:640px){.fnote{padding:22px 20px}}

/* ── About: de definitie-regel. Wie hier landt moet in één zin weten wat ORB is. ── */
.lede{margin-top:18px;margin-bottom:26px;font-size:clamp(1.12rem,1.7vw,1.42rem);line-height:1.5;
  font-weight:600;letter-spacing:-.015em;color:var(--txt);max-width:44ch}

/* ── nav dropdowns (Solutions / Platform) — nieuwe navigatiestructuur ── */
.ndrop{position:relative;display:flex;align-items:center}
.ndrop .ntrig{display:inline-flex;align-items:center;gap:5px;cursor:pointer;color:inherit;text-decoration:none;transition:color .2s}
.ndrop .ntrig:hover{color:var(--txt)}
.ndrop .caret{font-size:.6rem;opacity:.55;transition:transform .2s}
.ndrop:hover .caret{transform:rotate(180deg)}
.nmenu{position:absolute;top:100%;left:-14px;margin-top:12px;min-width:236px;
  background:rgba(8,13,22,.98);backdrop-filter:blur(14px);border:1px solid var(--line);
  border-radius:12px;padding:8px;opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:.18s;box-shadow:0 18px 50px rgba(0,0,0,.55);z-index:60}
/* onzichtbare brug zodat de muis van trigger naar menu kan zonder te sluiten */
.nmenu::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px}
.ndrop:hover .nmenu{opacity:1;visibility:visible;transform:none}
.nmenu a{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:9px 12px;border-radius:8px;color:var(--muted);font-size:.85rem;border:0}
.nmenu a:hover{background:rgba(47,125,255,.10);color:var(--txt)}
.nmenu .live,.nmenu .soon{font-size:.58rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-radius:20px;padding:2px 8px}
.nmenu .live{color:#43e0a0;border:1px solid rgba(67,224,160,.42)}
.nmenu .soon{color:var(--dim);border:1px solid var(--line2)}
.paneel a.sub{padding-left:16px;color:var(--muted);font-size:.86rem}
@media(max-width:900px){.ndrop{display:none}}

/* ===== Hero op smal/portret-scherm (telefoon staand): laat de hero met de inhoud
   meebewegen i.p.v. 100vh af te dwingen — geen over-crop van het beeld, geen lege ruimte,
   tekst niet meer hoog verankerd. Landscape/desktop (>600px) blijft ongemoeid. ===== */
@media(max-width:600px){
  .wrap{padding:0 20px}
  .hero,.phero{height:auto;min-height:74svh}
  .hero .content,.pcontent{position:relative;left:auto;right:auto;top:auto;transform:none;z-index:4;padding:116px 0 60px}
  h1,.ph1{font-size:clamp(1.9rem,7.4vw,2.6rem);max-width:none}
  .sub,.psub{margin-top:16px;font-size:1rem;max-width:100%}
  .hero-cta{margin-top:22px}
}

/* Taalknop weer zichtbaar. */

/* ===== Canonieke hero-shell — ÉÉN bron voor alle huidige én toekomstige pagina's.
   Een pagina heeft alleen nog nodig:  <div class="phero"> ... </div>  met daarin
   .pcontent > .wrap > .peyebrow / .ph1 / .psub / .fns, en optioneel een .pheroimg + .pveil.
   Per pagina stel je alleen de accentkleur in:  .phero{--acc:#kleur}
   en voor een gradient-hero zonder foto eventueel:  .phero{--accg1:#kleur2b; --accg2:#kleur18} ===== */
.phero{position:relative;height:100vh;min-height:100vh;overflow:hidden;
  background:radial-gradient(1200px 720px at 72% -12%, var(--accg1,transparent), transparent 60%),
            radial-gradient(900px 600px at 6% 110%, var(--accg2,transparent), transparent 55%),
            linear-gradient(180deg,#070b13,#05070d)}
.pheroimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% center}
.pveil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,13,.86),rgba(5,7,13,.46) 42%,rgba(5,7,13,.06) 74%),linear-gradient(0deg,rgba(5,7,13,.72),transparent 46%)}
.pcontent{position:absolute;z-index:4;left:0;right:0;top:34%}
.peyebrow{display:inline-flex;align-items:center;height:20px;gap:10px;color:var(--acc,var(--accent2));font-size:.66rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase}
.peyebrow .soon{border:1px solid var(--acc,var(--accent2));border-radius:20px;padding:2px 9px;font-size:.6rem;color:var(--acc,var(--accent2))}
.peyebrow .pdot{width:7px;height:7px;border-radius:50%;background:var(--acc,var(--accent2));box-shadow:0 0 10px var(--acc,var(--accent2))}
.ph1{margin-top:20px;font-size:clamp(2rem,3.8vw,3.4rem);font-weight:800;line-height:1.06;letter-spacing:-.035em}
.ph1 .b{color:var(--acc,var(--accent2));display:block}
.psub{margin-top:24px;font-size:clamp(1rem,1.6vw,1.16rem);color:var(--muted);max-width:46ch}
.fns{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.fns span{font-size:.78rem;color:var(--dim);border:1px solid var(--line);border-radius:20px;padding:6px 13px}


/* ── ORB site footer (integrated) ── */
:root{--soft:#bbc5d3;--line-soft:rgba(255,255,255,.06);--ok:#45d99a}
footer.orb-footer{padding:0;border-top:1px solid var(--line);overflow:visible;color:var(--txt);font-size:14px;
  background:radial-gradient(circle at 8% 14%,rgba(47,125,255,.045),transparent 28rem),linear-gradient(180deg,#05070d 0%,#03050a 100%)}
footer.orb-footer::before{display:none}
.orb-footer .footer-wrap{width:min(1180px,calc(100% - 96px));margin:0 auto}
.orb-footer__main{display:grid;grid-template-columns:minmax(250px,3.8fr) minmax(560px,8.2fr);gap:clamp(50px,8vw,130px);padding:78px 0 40px}
.orb-footer .wordmark{display:inline-flex;align-items:center;gap:12px;color:#fff;line-height:0}
.orb-footer .wordmark img{height:34px;width:auto;display:block;filter:drop-shadow(0 0 16px rgba(47,125,255,.22))}
.orb-footer .brand-description{max-width:335px;margin:30px 0 0;color:var(--muted);font-size:14px;line-height:1.75}
.orb-footer .brand-principle{margin:22px 0 0;color:var(--soft);font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.orb-footer__nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px}
.orb-footer .link-group h3{margin:0 0 24px;color:var(--txt);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.orb-footer .link-group ul{margin:0;padding:0;list-style:none}
.orb-footer .link-group li + li{margin-top:14px}
.orb-footer .link-group a{display:inline-block;color:var(--muted);font-size:14px;line-height:1.45;transition:color .16s ease}
.orb-footer .link-group a:hover{color:#fff}
.orb-footer__meta{display:grid;grid-template-columns:auto 1fr auto auto;gap:38px;align-items:center;min-height:80px;padding:0 0 30px;
  border-top:1px solid var(--line-soft);color:#667386;font-size:11px;letter-spacing:.025em}
.orb-footer__meta p{margin:0}
.orb-footer .legal-nav{display:flex;gap:26px}
.orb-footer .legal-nav a,.orb-footer .social-link{color:var(--muted);transition:color .16s ease}
.orb-footer .legal-nav a:hover,.orb-footer .social-link:hover{color:#fff}
.orb-footer .social-link{display:inline-flex;gap:8px;align-items:center}
.orb-footer .social-link svg{width:16px;height:16px}
.orb-footer .location{display:flex;gap:9px;align-items:center;justify-self:end;text-transform:uppercase;letter-spacing:.13em}
.orb-footer .location span{width:5px;height:5px;background:var(--ok);border-radius:50%;box-shadow:0 0 10px rgba(69,217,154,.55)}
@media (max-width:980px){
  .orb-footer .footer-wrap{width:min(calc(100% - 56px),900px)}
  .orb-footer__main{grid-template-columns:1fr}
  .orb-footer .brand-block{display:grid;grid-template-columns:auto 1fr;column-gap:38px;align-items:start}
  .orb-footer .brand-description{max-width:390px;margin:0}
  .orb-footer .brand-principle{grid-column:2;margin-top:14px}
}
@media (max-width:680px){
  .orb-footer .footer-wrap{width:calc(100% - 40px)}
  .orb-footer__main{gap:44px;padding:56px 0 34px}
  .orb-footer .brand-block{display:block}
  .orb-footer .brand-description{max-width:320px;margin-top:24px}
  .orb-footer .brand-principle{margin-top:20px}
  .orb-footer__nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px}
  .orb-footer__meta{grid-template-columns:1fr auto;gap:16px 24px;padding:24px 0 28px;font-size:10px}
  .orb-footer__meta > p:first-child{grid-column:1 / -1}
  .orb-footer .legal-nav{gap:18px}
  .orb-footer .location{grid-column:1 / -1;justify-self:start;margin-top:6px}
}
/* footer: neutralise global section/nav rules that leak in */
.orb-footer .link-group,.orb-footer .brand-block{padding:0;border:0}
.orb-footer__nav{align-items:start;margin-left:0}
.orb-footer .legal-nav{margin-left:0}

/* language menu: open on click (touch-friendly), plus hover */
.lang.langopen .lang-menu{display:flex}
