@font-face{font-family:'NextQ Site';src:url('/approved/assets/fonts/nunito.woff2') format('woff2');font-weight:200 900;font-display:swap}
body.site-theme{--ink:#14234b;--paper:#fff;--brand-blue:#1859ef;--accent:#1859ef;--muted:#53617c;background:white!important;color:#14234b;font-family:'NextQ Site',Arial,sans-serif}
body.site-theme :is(h1,h2,h3){font-family:'NextQ Site',Arial,sans-serif;letter-spacing:-1.2px;color:#14234b;font-weight:800}
body.site-theme>.page-main{width:100%;max-width:1250px;padding:45px 5% 65px;margin:0 auto}
body.site-theme[data-page=features]>.page-main,body.site-theme[data-page=use-cases]>.page-main{max-width:none;padding:0}
body.site-theme :is(a,button,input,select,textarea):focus-visible{outline:3px solid #c87500;outline-offset:4px}
body.site-theme :is(.primary,.workspace-setup){display:inline-flex;justify-content:center;align-items:center;background:#1859ef;color:white;border:1px solid #1859ef;border-radius:4px;min-height:44px;padding:12px 22px;font-family:inherit;font-size:14px;font-weight:700;line-height:1.4;box-shadow:none;text-decoration:none}
body.site-theme .icon{display:none}
body.site-theme .page-main>h1{font-size:48px;line-height:1.14;letter-spacing:-1.8px}
body.site-theme .page-main .page-lead{color:#53617c;font-size:17px;line-height:1.7}
body.site-theme .page-main :is(input,select,textarea){font:inherit;border:1px solid #b6c4d9;border-radius:3px;background:white;color:#14234b;box-shadow:none}
body.site-theme .marketing-form{border-radius:4px;box-shadow:none;background:white}
body.site-theme :is(.page-block,.page-columns>article,.status-card,.legal-block){border-radius:4px;background:#f0f5ff;box-shadow:none;color:#14234b}
body.site-theme .page-main :is(.page-block p,.policy-section p,.contact-layout p){color:#53617c;font-size:15px;line-height:1.7}
body.site-theme .marketing-footer{background:white;color:#14234b;border-top:1px solid #dce3ee;box-shadow:none}
body.site-theme .marketing-footer .site-logo{width:110px}
body.site-theme .marketing-footer a{color:#35496b}
body.site-theme .site-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:7%;background:#14234b;padding:75px 8%;color:white;min-height:470px}
body.site-theme .site-hero h1{font-size:clamp(40px,4.6vw,64px);line-height:1.1;letter-spacing:-2.5px;color:white;margin:0 0 25px;max-width:650px}
body.site-theme .site-hero h1 em{font-style:normal;color:#ffc43a}
body.site-theme .site-hero>div>p{color:#dce4f6;font-size:18px;line-height:1.7;max-width:550px;margin:0 0 30px}
body.site-theme .site-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}
body.site-theme .site-hero .primary,body.site-theme .site-close .primary{background:#ffc43a;color:#14234b;border-color:#ffc43a}
body.site-theme .site-text-link{font-size:14px;font-weight:700;line-height:1.7;text-decoration:underline;text-underline-offset:6px}
body.site-theme .site-register{padding:28px;background:white;color:#14234b;border:1px solid #bed0eb;border-radius:5px;box-shadow:10px 10px 0 #3157a2}
body.site-theme .site-register-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid #dce3ee;font-size:12px}
body.site-theme .site-register-head b{font-size:23px;font-weight:800}
body.site-theme .site-register h3{font-size:24px;margin:25px 0 20px}
body.site-theme .site-register table{width:100%;border-collapse:collapse;text-align:left;color:#14234b;font-size:13px}
body.site-theme .site-register th{padding:10px 8px;background:#eaf0fb;font-size:11px}
body.site-theme .site-register td{padding:16px 8px;border-bottom:1px solid #dce3ee}
body.site-theme .site-register td:last-child{color:#087a6c;font-weight:700}
body.site-theme .site-register>p{font-size:11px;color:#53617c;margin:18px 0 0;line-height:1.5}
body.site-theme .site-story{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding:75px 8%;max-width:1500px;margin:0 auto}
body.site-theme .site-story h2,body.site-theme .site-band h2,body.site-theme .site-close h2{font-size:clamp(32px,3.5vw,46px);line-height:1.15;margin:0 0 22px;letter-spacing:-1.7px}
body.site-theme .site-story p{font-size:17px;line-height:1.7;color:#53617c;margin:0 0 22px}
body.site-theme .site-signature{background:#e0f3ee;padding:30px;border:1px solid #9ac6ba;border-radius:4px}
body.site-theme .site-signature>b{font-size:23px;font-weight:800}
body.site-theme .site-signature>p{font-size:14px;margin:10px 0 20px}
body.site-theme .site-signature>div{background:white;border:1px solid #9ac6ba;padding:20px;margin-bottom:18px}
body.site-theme .site-signature span{font-size:12px;display:block;color:#53617c}
body.site-theme .site-signature i{font-family:cursive;font-size:46px;display:block;padding:20px 0 4px;color:#14234b}
body.site-theme .site-signature strong{font-size:14px;color:#087a6c}
body.site-theme .site-signature small{display:block;font-size:11px;color:#53617c;margin-top:14px}
body.site-theme .site-band{background:#1859ef;color:white;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%;padding:55px 8%}
body.site-theme .site-band h2{color:white;margin:0}
body.site-theme .site-band p{color:#fff;font-size:18px;line-height:1.7;margin:0}
body.site-theme .site-record-panel{background:#fff2cb;padding:30px;border:1px solid #d5b765;box-shadow:8px 8px 0 #e4bb52}
body.site-theme .site-record-panel>div{display:flex;justify-content:space-between;font-size:12px;border-bottom:1px solid #d5b765;padding-bottom:20px;margin-bottom:12px}
body.site-theme .site-record-panel b{font-size:23px}
body.site-theme .site-record-panel p{border-bottom:1px solid #e4d5a8;padding:12px 0;margin:0;font-size:15px;color:#14234b}
body.site-theme .site-record-panel a{display:inline-block;margin-top:22px;font-size:14px;text-decoration:underline;text-underline-offset:5px;font-weight:700}
body.site-theme .site-soft{background:#f0f5ff;max-width:none}
body.site-theme .site-mascot-note{text-align:center}
body.site-theme .site-mascot-note img{width:170px;height:170px;object-fit:contain;display:block;margin:auto}
body.site-theme .site-mascot-note p{font-size:15px;color:#14234b;margin-top:20px}
body.site-theme .site-close{padding:50px 8% 60px;background:#14234b;color:white;text-align:center}
body.site-theme .site-close h2{color:white;margin:0 auto 25px;max-width:750px}
body.site-theme .site-close>img{width:85px;height:90px;object-fit:contain;margin-bottom:15px}
body.site-theme .site-workspace-summary{background:#1859ef;color:white;border-bottom:6px solid #ffc43a;padding:30px;position:relative}
body.site-theme .site-workspace-summary h3{font-size:25px;line-height:1.3;color:white;margin:0 0 20px}
body.site-theme .site-workspace-summary>div{border-top:1px solid #779cf4;padding:16px 0;max-width:80%}
body.site-theme .site-workspace-summary b{display:block;font-size:17px;color:white}
body.site-theme .site-workspace-summary span{display:block;margin-top:5px;font-size:12px;color:#e6edff;line-height:1.6}
body.site-theme .site-workspace-summary>img{position:absolute;right:12px;bottom:12px;width:75px;height:85px;object-fit:contain}
body.site-theme .site-catalogue{padding:65px 8%}
body.site-theme .site-catalogue-head{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:25px}
body.site-theme .site-catalogue-head h2{font-size:32px;margin:0;line-height:1.2}
body.site-theme .site-catalogue-head p{font-size:13px;color:#53617c;margin:0}
body.site-theme .public-workspace-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 30px;background:none;padding:0;border-radius:0}
body.site-theme .public-workspace-filters button{padding:12px 18px;font:700 13px/1.4 'NextQ Site',Arial,sans-serif;border:1px solid #bed0eb;border-radius:3px;background:white;color:#14234b;box-shadow:none;cursor:pointer}
body.site-theme .public-workspace-filters button.selected{background:#1859ef;color:white;border-color:#1859ef}
body.site-theme .site-workspace-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
body.site-theme .site-workspace-card{padding:28px;border:1px solid #c2d1e7;border-top:4px solid #1859ef;background:white;display:flex;flex-direction:column;border-radius:4px;box-shadow:none;min-width:0}
body.site-theme .site-workspace-card:nth-child(3n+2){border-top-color:#087a6c}
body.site-theme .site-workspace-card:nth-child(3n){border-top-color:#e5a500}
body.site-theme .site-workspace-card h2{font-size:25px;line-height:1.2;margin:0 0 18px}
body.site-theme .site-workspace-card p{font-size:15px;line-height:1.65;color:#53617c;margin:0 0 20px}
body.site-theme .site-workspace-card ul{list-style:none;padding:0;margin:0 0 25px}
body.site-theme .site-workspace-card li{font-size:13px;padding:10px 0;border-bottom:1px solid #dce3ee;color:#14234b}
body.site-theme .site-workspace-card .workspace-setup{margin-top:auto}
/* Carry the same solid palette into supporting marketing pages. */
body.site-theme .about-hero{background:#14234b;border-radius:0;padding:40px}
body.site-theme .about-hero .public-hero-copy :is(h1,p){color:white}
body.site-theme :is(.about-principles article,.tender-paper,.policy-section){border-radius:4px;box-shadow:none}
body.site-theme .about-principles{background:#f0f5ff;border-radius:0}
body.site-theme .about-contact{background:#e0f3ee;border-radius:0}
body.site-theme .contact-layout aside{border-radius:4px;background:#e0f3ee;color:#14234b;padding:25px}
body.site-theme .contact-layout aside a{color:#14234b}
body.site-theme .signup-workspaces .nqwc-place{border-radius:4px;box-shadow:none;border:1px solid #c2d1e7}
body.site-theme .signup-workspaces .nqwc-place[aria-pressed=true]{border-color:#1859ef;outline-color:#1859ef;background:#edf3ff}
@media(max-width:1000px){body.site-theme .site-workspace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.site-theme .site-hero{padding:55px 6%;gap:5%}body.site-theme .site-hero h1{font-size:48px}body.site-theme .site-story{gap:6%;padding:55px 6%}}
@media(max-width:740px){body.site-theme>.page-main{padding:30px 6% 50px}body.site-theme .site-hero{grid-template-columns:1fr;padding:45px 6% 55px;gap:35px}body.site-theme .site-hero h1{font-size:43px;letter-spacing:-1.8px}body.site-theme .site-hero>div>p{font-size:17px}body.site-theme .site-register{padding:22px;box-shadow:6px 6px 0 #3157a2}body.site-theme .site-register h3{font-size:21px}body.site-theme .site-register table{font-size:11px}body.site-theme .site-register td{padding:14px 6px}body.site-theme .site-story{grid-template-columns:1fr;padding:45px 6%;gap:30px}body.site-theme .site-story p{font-size:16px}body.site-theme .site-band{grid-template-columns:1fr;padding:40px 6%;gap:24px}body.site-theme .site-band p{font-size:16px}body.site-theme .site-workspace-grid{grid-template-columns:1fr}body.site-theme .site-catalogue{padding:45px 6%}body.site-theme .site-catalogue-head{display:block}body.site-theme .site-catalogue-head p{margin-top:15px}body.site-theme .site-catalogue-head h2{font-size:28px}body.site-theme .public-workspace-filters{gap:7px}body.site-theme .public-workspace-filters button{padding:10px 12px;font-size:12px}body.site-theme .site-workspace-card{padding:25px}body.site-theme .site-close{padding:40px 6% 50px}body.site-theme .page-main>h1{font-size:36px}body.site-theme .about-hero{padding:28px}}
/* Override remaining typography inherited from the previous public theme. */
body.site-theme .page-main .site-hero h1 em{font-family:inherit;font-style:normal;font-weight:inherit}
body.site-theme .page-main .site-register>p{color:#53617c}
body.site-theme .page-main .site-story h2,body.site-theme .page-main .site-catalogue h2{color:#14234b}

/* ==== NextQ website: pages and parts added in 2026 ======================================== */
/* One block per page or part. Colours are named once here and used below. */
:root {
  --nq-ink: #14234b;
  --nq-navy: #13234d;
  --nq-blue: #1d5af0;
  --nq-blue-dark: #1747c4;
  --nq-yellow: #ffc23d;
  --nq-text: #3d4a63;
  --nq-muted: #6b7891;
  --nq-link: #35496b;
  --nq-line: #dce3ee;
  --nq-soft-line: #e3e8f0;
  --nq-on-navy: #cdd6ea;
  --nq-on-navy-muted: #aab6d3;
}

/* ---- Legal pages: privacy, terms, data security, POPIA ---- */
body.site-theme .legal-content { margin-top: 28px; }
body.site-theme .legal-content section { margin: 0; padding: 22px 0; border-top: 1px solid var(--nq-soft-line); }
body.site-theme .legal-content section:first-child { border-top: 0; padding-top: 4px; }
body.site-theme .legal-content h2 { margin: 0 0 8px; font-size: 20px; line-height: 1.3; color: var(--nq-ink); }
body.site-theme .legal-content p { margin: 0 0 10px; font-size: 15px; line-height: 1.7; color: var(--nq-text); }
body.site-theme .legal-content p:last-child { margin-bottom: 0; }
body.site-theme .legal-content .legal-table { overflow-x: auto; margin: 14px 0; }
body.site-theme .legal-content table { width: 100%; border-collapse: collapse; font-size: 13.5px; color: var(--nq-text); }
body.site-theme .legal-content th,
body.site-theme .legal-content td { text-align: left; vertical-align: top; padding: 9px 10px; border-bottom: 1px solid #e3e7ee; }
body.site-theme .legal-content th { color: #24324a; font-weight: 600; white-space: nowrap; }
body.site-theme .legal-content code { white-space: nowrap; color: #24324a; }

/* Privacy and terms: the text sits in a card with its own scroll bar, so the title stays in view. */
body.site-theme[data-page=privacy] .legal-content,
body.site-theme[data-page=terms] .legal-content {
  box-sizing: border-box; max-width: 900px; max-height: calc(100vh - 330px); min-height: 320px;
  overflow-y: scroll; overscroll-behavior: contain; scrollbar-gutter: stable; scrollbar-width: auto; scrollbar-color: #9fb0cc #eef2f8;
  margin-top: 24px; padding: 8px 26px 22px 30px; border: 1px solid var(--nq-line); border-radius: 16px; background: #fff;
  box-shadow: 0 1px 2px rgba(20, 35, 75, .06), 0 10px 30px rgba(20, 35, 75, .10);
}
body.site-theme[data-page=privacy] .legal-content section:first-child,
body.site-theme[data-page=terms] .legal-content section:first-child { padding-top: 20px; }
body.site-theme[data-page=privacy] .legal-content::-webkit-scrollbar,
body.site-theme[data-page=terms] .legal-content::-webkit-scrollbar { width: 12px; }
body.site-theme[data-page=privacy] .legal-content::-webkit-scrollbar-track,
body.site-theme[data-page=terms] .legal-content::-webkit-scrollbar-track { background: #eef2f8; border-radius: 0 16px 16px 0; }
body.site-theme[data-page=privacy] .legal-content::-webkit-scrollbar-thumb,
body.site-theme[data-page=terms] .legal-content::-webkit-scrollbar-thumb { background: #9fb0cc; border-radius: 8px; border: 3px solid #eef2f8; }
body.site-theme[data-page=privacy] .legal-content::-webkit-scrollbar-thumb:hover,
body.site-theme[data-page=terms] .legal-content::-webkit-scrollbar-thumb:hover { background: #6f84a8; }

@media (max-width: 740px) {
  body.site-theme[data-page=privacy] .legal-content,
  body.site-theme[data-page=terms] .legal-content { max-height: calc(100vh - 250px); padding: 4px 12px 16px 18px; border-radius: 14px; }
  body.site-theme[data-page=privacy] .legal-content::-webkit-scrollbar,
  body.site-theme[data-page=terms] .legal-content::-webkit-scrollbar { width: 8px; }
  /* The cookie table becomes one small block per cookie, so nothing is cut off. */
  body.site-theme .legal-content .legal-table { overflow: visible; }
  body.site-theme .legal-content table,
  body.site-theme .legal-content tbody,
  body.site-theme .legal-content tr,
  body.site-theme .legal-content td { display: block; width: auto; }
  body.site-theme .legal-content thead { display: none; }
  body.site-theme .legal-content tr { padding: 10px 0; border-bottom: 1px solid var(--nq-soft-line); }
  body.site-theme .legal-content td { border: 0; padding: 1px 0; }
  body.site-theme .legal-content td:first-child code { font-weight: 700; }
  body.site-theme .legal-content td:last-child { color: var(--nq-muted); font-size: 12.5px; }
}

/* ---- Footer: the same width and edges as the header; logo, links, then the copyright ---- */
body.site-theme .marketing-footer {
  box-sizing: border-box; max-width: none; width: 100%; margin: 56px 0 0; padding: 28px 6%;
  display: flex; align-items: center; flex-wrap: wrap; gap: 18px 40px;
}
body.site-theme .marketing-footer .brand { display: flex; align-items: center; flex: none; }
body.site-theme .marketing-footer .site-logo { width: 104px; }
body.site-theme .marketing-footer nav { flex: 1; max-width: none; display: flex; flex-wrap: wrap; gap: 10px 24px; font-size: 13px; font-weight: 600; line-height: 1.5; }
body.site-theme .marketing-footer nav a { font-size: 13px; color: var(--nq-link); text-decoration: none; }
body.site-theme .marketing-footer nav a:hover { color: var(--nq-blue); text-decoration: underline; }
body.site-theme .marketing-footer > span { margin-left: auto; max-width: none; flex: none; font-size: 12px; font-weight: 500; line-height: 1.5; color: var(--nq-muted); }

/* The home page has its own footer markup; the same layout. */
body.vivid-home > footer {
  box-sizing: border-box; width: 100%; padding: 28px 6%; border-top: 1px solid var(--nq-line);
  display: flex; align-items: center; justify-content: flex-start; flex-wrap: wrap; gap: 10px 24px; font-size: 13px; line-height: 1.5;
}
body.vivid-home > footer > img { width: 104px; height: auto; margin-right: 16px; }
body.vivid-home > footer > span { display: none; }
body.vivid-home > footer > a { font-size: 13px; font-weight: 600; color: var(--nq-link); text-decoration: none; }
body.vivid-home > footer > a:hover { color: var(--nq-blue); text-decoration: underline; }
body.vivid-home > footer > small { margin-left: auto; width: auto; font-size: 12px; color: var(--nq-muted); }

@media (max-width: 740px) {
  body.site-theme .marketing-footer { padding: 26px 5%; flex-direction: column; align-items: flex-start; gap: 16px; }
  body.site-theme .marketing-footer nav { gap: 10px 20px; }
  body.site-theme .marketing-footer > span { margin-left: 0; text-align: left; }
  body.site-theme .legal-content h2 { font-size: 19px; }
  body.vivid-home > footer { padding: 26px 5%; gap: 10px 20px; }
  body.vivid-home > footer > img { flex: 0 0 100%; width: auto; max-width: none; height: 34px; object-fit: contain; object-position: left center; margin: 0 0 6px; }
  body.vivid-home > footer > small { margin-left: 0; flex-basis: 100%; margin-top: 6px; }
}

/* ---- About: the story beside the Point of Registry definition, numbered principles ---- */
body.site-theme .about-origin {
  display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 28px; align-items: stretch;
  margin: 28px 0 0; padding: 0; border-top: 0;
}
body.site-theme .about-origin > .about-story { display: block; columns: auto; grid-template-columns: none; width: auto; padding: 34px 0; max-width: none; }
body.site-theme .about-eyebrow { display: inline-block; margin-bottom: 12px; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--nq-blue); }
body.site-theme .about-origin > .about-story h2 { grid-column: auto; max-width: 600px; margin: 0 0 16px; font-size: clamp(30px, 3.4vw, 42px); line-height: 1.08; color: var(--nq-ink); }
body.site-theme .about-origin > .about-story p { grid-column: auto; max-width: 600px; margin: 0 0 14px; font-size: 16px; line-height: 1.7; color: var(--nq-text); }
body.site-theme .about-definition {
  position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: center;
  padding: 32px; border-radius: 20px; background: var(--nq-navy); color: #fff; box-shadow: 0 18px 40px rgba(19, 35, 77, .22);
}
body.site-theme .about-definition .about-eyebrow { color: var(--nq-yellow); }
body.site-theme .about-definition h3 { margin: 0; font-size: 28px; line-height: 1.15; color: #fff; }
body.site-theme .about-definition h3 em { font-style: normal; color: #9db8ff; }
body.site-theme .about-definition small { display: block; margin: 6px 0 14px; font-style: italic; color: var(--nq-on-navy-muted); font-size: 14px; }
body.site-theme .about-definition p { margin: 0 0 20px; font-size: 17px; line-height: 1.6; color: #e7ecf8; }
body.site-theme .about-definition ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
body.site-theme .about-definition li { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 999px; background: rgba(255, 255, 255, .1); font-size: 13px; font-weight: 700; }
body.site-theme .about-definition li .icon { width: 15px; height: 15px; color: #7ee0b5; }
body.site-theme .about-principles { margin: 28px 0 0; padding: 28px; gap: 22px; border-radius: 20px; }
body.site-theme .about-principles article { position: relative; padding: 18px; border-radius: 16px; background: #fff; box-shadow: 0 1px 2px rgba(20, 35, 75, .05), 0 8px 22px rgba(20, 35, 75, .06); }
body.site-theme .about-principles .principle-no { display: block; margin: 12px 0 2px; font-size: 13px; font-weight: 800; letter-spacing: .1em; color: var(--nq-blue); }
body.site-theme .about-principles h3 { margin: 0 0 6px; color: var(--nq-ink); }
body.site-theme .about-principles p { margin: 0; color: var(--nq-text); line-height: 1.6; }
body.site-theme .about-contact { margin: 28px 0 0; border-radius: 20px; }
body.site-theme .page-main .about-contact h2 { color: var(--nq-ink); }
body.site-theme .page-main .about-contact p { color: var(--nq-text); font-size: 15px; line-height: 1.65; }
body.site-theme .page-main .about-contact aside { border-radius: 16px; background: #fff; box-shadow: 0 8px 22px rgba(20, 35, 75, .07); }
body.site-theme .page-main .about-contact aside strong { color: var(--nq-ink); }
body.site-theme .page-main .about-contact aside a { color: var(--nq-blue); font-weight: 700; font-size: 15px; }
body.site-theme .page-main .about-contact aside span { color: #5b6a85; font-size: 14px; }

@media (max-width: 860px) {
  body.site-theme .about-origin { grid-template-columns: 1fr; gap: 18px; }
  body.site-theme .about-origin > .about-story { padding: 18px 0 0; }
  body.site-theme .about-principles { padding: 16px; gap: 14px; }
  body.site-theme .about-definition { padding: 24px; }
}

/* ---- Status: a live board that checks every part and turns green ---- */
body.site-theme .status-board { max-width: none; margin-top: 26px; }
body.site-theme .status-banner { display: flex; align-items: center; gap: 16px; padding: 22px 24px; border-radius: 18px; color: #fff; background: var(--nq-navy); transition: background .5s ease; }
body.site-theme .status-banner strong { display: block; font-size: 22px; line-height: 1.2; }
body.site-theme .status-banner small { display: block; margin-top: 3px; font-size: 13px; opacity: .85; }
body.site-theme .status-banner.ok { background: #0f8a5f; }
body.site-theme .status-banner.warn { background: #b45309; }
body.site-theme .status-banner.bad { background: #b42318; }
body.site-theme .status-banner.info { background: var(--nq-blue); }
body.site-theme .status-light { flex: none; position: relative; width: 14px; height: 14px; border-radius: 50%; background: #9aa6bd; }
body.site-theme .status-banner .status-light { width: 18px; height: 18px; background: #fff; }
body.site-theme .checking .status-light { background: transparent; border: 2.5px solid #c3cbe0; border-top-color: var(--nq-blue); animation: nq-spin .8s linear infinite; }
body.site-theme .status-banner.checking .status-light { border-color: rgba(255, 255, 255, .35); border-top-color: #fff; }
body.site-theme .status-banner.ok .status-light:after,
body.site-theme .status-list li.ok .status-light:after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: inherit; animation: nq-pulse 2s ease-out infinite; }
body.site-theme .status-list { list-style: none; margin: 14px 0 0; padding: 0; border: 1px solid var(--nq-line); border-radius: 18px; background: #fff; overflow: hidden; }
body.site-theme .status-list li { display: flex; align-items: center; gap: 14px; padding: 18px 22px; border-top: 1px solid #edf1f6; transition: background .4s ease; }
body.site-theme .status-list li:first-child { border-top: 0; }
body.site-theme .status-list b { flex: 1; font-size: 16px; color: var(--nq-ink); }
body.site-theme .status-list em { font-style: normal; font-size: 14px; font-weight: 700; color: var(--nq-muted); }
body.site-theme .status-list li.ok .status-light { background: #16a34a; }
body.site-theme .status-list li.ok em { color: #0f8a5f; }
body.site-theme .status-list li.warn .status-light { background: #f59e0b; }
body.site-theme .status-list li.warn em { color: #b45309; }
body.site-theme .status-list li.bad .status-light { background: #dc2626; }
body.site-theme .status-list li.bad em { color: #b42318; }
body.site-theme .status-list li.info .status-light { background: var(--nq-blue); }
body.site-theme .status-list li.info em { color: var(--nq-blue); }
body.site-theme .status-list li.ok { animation: nq-flash .9s ease; }
body.site-theme .status-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 14px 2px 0; font-size: 13px; color: #5b6a85; }
body.site-theme .status-again { padding: 9px 16px; border: 1px solid #c9d3e4; border-radius: 10px; background: #fff; color: var(--nq-ink); font: inherit; font-weight: 700; cursor: pointer; }
body.site-theme .status-again:hover:not(:disabled) { border-color: var(--nq-blue); color: var(--nq-blue); }
body.site-theme .status-again:disabled { opacity: .5; cursor: default; }
body.site-theme .status-incidents { margin-top: 18px; font-size: 14px; color: #5b6a85; }
body.site-theme .status-incidents article { padding: 16px 18px; border-left: 4px solid #f59e0b; border-radius: 10px; background: #fff8eb; }
@keyframes nq-spin { to { transform: rotate(360deg); } }
@keyframes nq-pulse { 0% { transform: scale(1); opacity: .55; } 100% { transform: scale(2.6); opacity: 0; } }
@keyframes nq-flash { 0% { background: #e8f8ef; } 100% { background: #fff; } }
@media (prefers-reduced-motion: reduce) {
  body.site-theme .checking .status-light,
  body.site-theme .status-light:after,
  body.site-theme .status-list li.ok { animation: none; }
}

/* ---- Contact: a brand panel next to the form card ---- */
body.site-theme .contact-pro {
  display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 0; margin: 8px 0 0;
  border-radius: 24px; overflow: hidden; background: #fff; box-shadow: 0 2px 4px rgba(20, 35, 75, .05), 0 24px 60px rgba(20, 35, 75, .12);
}
body.site-theme .contact-brand { position: relative; overflow: hidden; padding: 44px 40px 40px; background: var(--nq-navy); color: #fff; }
body.site-theme .contact-brand:before { content: ""; position: absolute; top: -90px; right: -90px; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle, rgba(29, 90, 240, .55), rgba(29, 90, 240, 0) 70%); }
body.site-theme .contact-eyebrow { position: relative; display: inline-block; padding: 5px 11px; border-radius: 999px; background: var(--nq-yellow); color: var(--nq-navy); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
body.site-theme .contact-brand h1 { position: relative; margin: 16px 0 12px; font-size: clamp(32px, 3.6vw, 46px); line-height: 1.05; color: #fff; }
body.site-theme .contact-brand > p { position: relative; margin: 0 0 26px; font-size: 16px; line-height: 1.6; color: var(--nq-on-navy); max-width: 430px; }
body.site-theme .contact-ways { position: relative; display: grid; gap: 10px; margin-bottom: 28px; }
body.site-theme .contact-ways a { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border: 1px solid rgba(255, 255, 255, .12); border-radius: 14px; background: rgba(255, 255, 255, .05); color: #fff; text-decoration: none; font-weight: 700; transition: background .2s, transform .2s; }
body.site-theme .contact-ways a:hover { background: rgba(255, 255, 255, .12); transform: translateX(3px); }
body.site-theme .contact-ways small { display: block; font-size: 11.5px; font-weight: 600; color: var(--nq-on-navy-muted); text-transform: uppercase; letter-spacing: .06em; }
body.site-theme .contact-pro i { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--nq-blue); font-style: normal; }
body.site-theme .contact-pro i svg { width: 20px; height: 20px; fill: none; stroke: #fff; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
body.site-theme .contact-next { position: relative; list-style: none; margin: 0 0 26px; padding: 0; display: grid; gap: 12px; }
body.site-theme .contact-next li { display: flex; gap: 12px; align-items: flex-start; color: var(--nq-on-navy); font-size: 14px; line-height: 1.45; }
body.site-theme .contact-next b { flex: none; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; border: 1.5px solid var(--nq-yellow); color: var(--nq-yellow); font-size: 13px; }
body.site-theme .contact-next strong { display: block; color: #fff; font-size: 15px; }
body.site-theme .contact-where { position: relative; display: flex; align-items: center; gap: 10px; padding-right: 96px; font-size: 13.5px; color: var(--nq-on-navy-muted); }
body.site-theme .contact-where i { width: 30px; height: 30px; border-radius: 9px; background: rgba(255, 255, 255, .1); }
body.site-theme .contact-where i svg { width: 16px; height: 16px; }
body.site-theme .contact-mascot { position: absolute; right: 26px; bottom: 22px; width: 88px; height: auto; transform: rotate(-6deg); }
body.site-theme .contact-card { display: block; margin: 0; padding: 44px 40px 36px; border: 0; border-radius: 0; box-shadow: none; background: #fff; }
body.site-theme .contact-card h2 { margin: 0; font-size: 26px; color: var(--nq-ink); }
body.site-theme .contact-sub { margin: 4px 0 22px; font-size: 13px; color: var(--nq-muted); }
body.site-theme .contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; margin-bottom: 16px; }
body.site-theme .contact-card label { display: block; font-size: 13px; font-weight: 700; color: #24324a; }
body.site-theme .contact-card input:not([type=radio]),
body.site-theme .contact-card textarea { box-sizing: border-box; display: block; width: 100%; margin-top: 6px; padding: 12px 14px; border: 1.5px solid #d6deea; border-radius: 12px; background: #f8fafd; font: inherit; font-size: 15px; color: var(--nq-ink); transition: border-color .2s, background .2s, box-shadow .2s; }
body.site-theme .contact-card input:focus,
body.site-theme .contact-card textarea:focus { outline: 0; border-color: var(--nq-blue); background: #fff; box-shadow: 0 0 0 4px rgba(29, 90, 240, .12); }
body.site-theme .contact-card textarea { resize: vertical; min-height: 120px; }
body.site-theme .contact-topics { margin: 0 0 16px; padding: 0; border: 0; display: flex; flex-wrap: wrap; gap: 8px; }
body.site-theme .contact-topics legend { width: 100%; margin-bottom: 8px; padding: 0; font-size: 13px; font-weight: 700; color: #24324a; }
body.site-theme .contact-topics label { position: relative; font-weight: 600; }
body.site-theme .contact-topics input { position: absolute; opacity: 0; pointer-events: none; }
body.site-theme .contact-topics span { display: inline-block; padding: 9px 14px; border: 1.5px solid #d6deea; border-radius: 999px; background: #fff; color: var(--nq-link); font-size: 13.5px; cursor: pointer; transition: all .15s; }
body.site-theme .contact-topics label:hover span { border-color: var(--nq-blue); color: var(--nq-blue); }
body.site-theme .contact-topics input:checked + span { border-color: var(--nq-blue); background: var(--nq-blue); color: #fff; }
body.site-theme .contact-topics input:focus-visible + span { box-shadow: 0 0 0 4px rgba(29, 90, 240, .2); }
body.site-theme .contact-send { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; margin-top: 18px; padding: 15px 18px; border: 0; border-radius: 12px; background: var(--nq-blue); color: #fff; font: inherit; font-size: 16px; font-weight: 800; cursor: pointer; transition: background .2s, transform .2s; }
body.site-theme .contact-send:hover:not(:disabled) { background: var(--nq-blue-dark); transform: translateY(-1px); }
body.site-theme .contact-send:disabled { opacity: .6; }
body.site-theme .contact-card .form-feedback { min-height: 20px; margin: 12px 0 0; font-size: 14px; font-weight: 700; color: #0f8a5f; }
body.site-theme .contact-privacy { margin: 4px 0 0; font-size: 12.5px; color: var(--nq-muted); }
body.site-theme .contact-privacy a { color: var(--nq-blue); }

@media (max-width: 900px) {
  body.site-theme .contact-pro { grid-template-columns: 1fr; border-radius: 20px; }
  body.site-theme .contact-brand { padding: 32px 22px 30px; }
  body.site-theme .contact-card { padding: 28px 20px 26px; }
  body.site-theme .contact-mascot { width: 70px; right: 18px; bottom: 18px; }
  body.site-theme .contact-where { padding-right: 80px; }
}
@media (max-width: 520px) {
  body.site-theme .contact-grid { grid-template-columns: 1fr; }
}

/* ---- Page not found ---- */
body.site-theme[data-page=not-found] { background: #fff; min-height: 100vh; }
body.site-theme .nq-missing { display: flex; align-items: center; min-height: calc(100vh - 300px); }
body.site-theme .missing-card {
  display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 40px; align-items: center; width: 100%;
  padding: 48px; border-radius: 24px; background: var(--nq-navy); color: #fff; overflow: hidden; box-shadow: 0 24px 60px rgba(20, 35, 75, .18);
}
body.site-theme .missing-art { position: relative; display: grid; place-items: center; min-height: 240px; }
body.site-theme .missing-code { position: absolute; font-size: clamp(110px, 15vw, 190px); font-weight: 900; line-height: 1; letter-spacing: -.04em; color: rgba(255, 255, 255, .08); }
body.site-theme .missing-art img { position: relative; width: 150px; height: auto; transform: rotate(-6deg); }
body.site-theme .missing-tag { display: inline-block; padding: 5px 11px; border-radius: 999px; background: var(--nq-yellow); color: var(--nq-navy); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
body.site-theme .missing-copy h1 { margin: 16px 0 12px; font-size: clamp(30px, 3.6vw, 46px); line-height: 1.06; color: #fff; }
body.site-theme .missing-copy p { margin: 0 0 26px; font-size: 17px; line-height: 1.6; color: var(--nq-on-navy); max-width: 520px; }
body.site-theme .missing-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 26px; }
body.site-theme .missing-actions a { padding: 13px 20px; border-radius: 12px; font-weight: 800; text-decoration: none; }
body.site-theme .missing-primary { background: var(--nq-blue); color: #fff; }
body.site-theme .missing-primary:hover { background: var(--nq-blue-dark); }
body.site-theme .missing-secondary { border: 1.5px solid rgba(255, 255, 255, .3); color: #fff; }
body.site-theme .missing-secondary:hover { background: rgba(255, 255, 255, .08); }
body.site-theme .missing-links { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .12); font-size: 14px; }
body.site-theme .missing-links span { color: var(--nq-on-navy-muted); }
body.site-theme .missing-links a { color: #fff; font-weight: 700; text-decoration: none; }
body.site-theme .missing-links a:hover { text-decoration: underline; }
@media (max-width: 820px) {
  body.site-theme .missing-card { grid-template-columns: 1fr; gap: 10px; padding: 30px 22px; }
  body.site-theme .missing-art { min-height: 170px; }
  body.site-theme .missing-art img { width: 110px; }
}
