/* Rifbid site styles. Colours and type follow the Rifbid design system. */
:root{
  --munsell-blue:#0a98ae; --mantis:#6bce64; --sgbus-green:#7cd853;
  --ink:#000000; --ink-muted:#4d4d4d; --surface:#ffffff; --surface-panel:#f1f2f2;
  --rule:#dfe1e1; --font-sans:Poppins, system-ui, sans-serif;
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#ffffff;color:#000000;font-family:var(--font-sans);font-size:16px;line-height:1.6}
*{box-sizing:border-box}
img{max-width:100%}
a{color:#000000}a:hover{color:#0a98ae}
.wrap{width:min(1250px,90%);margin:0 auto}
[hidden]{display:none !important}

/* Header */
.site-header{min-height:90px;padding:12px 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;border-bottom:1px solid #dfe1e1;position:relative}
.site-header .logo{display:inline-flex}
.site-header .logo img{width:152px;height:auto;display:block}
.navlinks{display:flex;flex-wrap:wrap;align-items:center;gap:4px 26px;font-size:14px;font-weight:500}
.navlinks a.nl{text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.navlinks a.nl:hover,.navlinks a[aria-current]{text-decoration:underline;text-decoration-color:#0a98ae;text-decoration-thickness:2px;text-underline-offset:8px;color:#000000}
.navlinks a.nl.nl-mobile{display:none}
.menu-btn{display:none;font:inherit;font-size:13px;font-weight:600;min-height:44px;padding:0 16px;border:1px solid #dfe1e1;border-radius:9999px;background:#ffffff;color:#000000;cursor:pointer}

/* Shared pieces */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 22px;border-radius:9999px;border:1px solid #dfe1e1;background:#ffffff;color:#000000;font:inherit;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;transition:transform .2s;flex-shrink:0}
.btn:hover{transform:translateY(-2px);color:#000000}
.btn.dark{background:#000000;border-color:#000000;color:#ffffff}
.btn.dark:hover{color:#ffffff}
.btn:disabled{opacity:.6;cursor:default;transform:none}
.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 18px;font-size:12px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:#4d4d4d}
.eyebrow:before{content:'';flex:0 0 22px;height:6px;border-radius:9999px;background:linear-gradient(90deg,#0a98ae,#6bce64)}
.eyebrow.c{justify-content:center}
.caption{font-size:11px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:#4d4d4d}
.tlink{display:inline-flex;gap:14px;border-bottom:1px solid #9a9c9c;padding:4px 0;font-size:14px;font-weight:600;text-decoration:none}
.badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500;background:#f1f2f2;color:#000000;white-space:nowrap}
.lane{transition:transform .25s;text-decoration:none;color:#000000}
.lane:hover{transform:translateY(-3px);color:#000000}
.scene{font:inherit;text-align:left;background:none;border:0;padding:0;cursor:pointer;color:#000000}
.seg{border:0;padding:0;height:4px;width:32px;cursor:pointer}
.task{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 0;border-bottom:1px solid #e9eaea;font-size:14px}
.step{font:inherit;text-align:left;cursor:pointer;border:0;background:none;padding:6px;border-radius:8px;display:flex;flex-direction:column;font-size:13px;color:#000000;min-height:44px}
.tab{font:inherit;cursor:pointer;border:1px solid transparent;border-radius:9999px;padding:10px 16px;font-size:14px;min-height:44px}
.entity{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:5px;min-width:144px;padding:13px;background:#ffffff;border:1px solid #d7d9dc;border-radius:8px;font:inherit;font-size:12px;color:#000000;cursor:pointer;transition:box-shadow .2s}
.edge{position:absolute;left:51%;transform:translate(-50%,-50%);font-size:11px;font-weight:500;background:#f1f2f2;padding:5px 9px;border-radius:6px;color:#333333;white-space:nowrap}
input[type=range]{width:100%;accent-color:#0a98ae;margin:24px 0;min-height:24px}
.sum{font-size:16px;font-weight:600;cursor:pointer;min-height:44px;display:flex;align-items:center}
pre{margin:10px 0 6px;font:12px/1.8 ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:#ffffff;padding:16px;border-radius:6px;color:#333333}
.only-mobile{display:none !important}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #0a98ae;outline-offset:4px}

/* Footer */
.site-footer{padding:30px 0 36px;border-top:1px solid #dfe1e1;display:flex;flex-direction:column;gap:22px}
.site-footer .row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px}
.site-footer img{width:152px;height:auto;display:block}
.site-footer p{margin:0;font-size:13px;color:#4d4d4d}
.site-footer nav{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:13px}
.site-footer nav a{text-decoration:none;color:#4d4d4d}
.site-footer nav a:hover{color:#0a98ae}

/* Contact */
.form{display:grid;gap:16px}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500}
.field input,.field select,.field textarea{font:inherit;font-size:15px;font-weight:400;padding:12px 14px;border:1px solid #dfe1e1;border-radius:8px;background:#ffffff;color:#000000}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#0a98ae;outline:none}

/* Legal */
.legal{max-width:760px;padding:66px 0 80px}
.legal h1{margin:0 0 8px;font-size:clamp(40px,5vw,64px);line-height:1.06;font-weight:600;letter-spacing:-1.5px}
.legal h2{margin:36px 0 8px;font-size:21px;font-weight:600}
.legal p{margin:0;color:#4d4d4d;font-size:15px;line-height:1.8}

@media (max-width: 760px){
  .deskside{display:none !important}
  .menu-btn{display:inline-flex;align-items:center}
  .site-header{min-height:74px}
  .site-header .navlinks{display:none;position:absolute;left:0;right:0;top:100%;z-index:20;flex-direction:column;align-items:stretch;gap:0;padding:8px 0 18px;background:#ffffff;border-bottom:1px solid #dfe1e1;font-size:16px}
  .site-header.open .navlinks{display:flex}
  .site-header .navlinks a.nl{border-bottom:1px solid #f1f2f2;min-height:52px}
  .site-header .navlinks a.nl.nl-mobile{display:inline-flex}
  .site-header .navlinks .btn{margin-top:14px}
  .only-mobile{display:flex !important}
  .lane svg{display:none}
  .lane{min-height:0 !important}
  .form .two{grid-template-columns:1fr}
  .field input,.field select,.field textarea{font-size:16px}
}
@media (max-width: 700px){
  .entity{min-width:0;width:108px;padding:10px 6px;font-size:11px}
  .edge{font-size:10px;white-space:normal;max-width:84px;text-align:center}
}
@media (prefers-reduced-motion: reduce){*{transition:none !important;animation:none !important;scroll-behavior:auto !important}}
