/* nextconfigurator. — site redesign layer (2026-10, from the co-founder's design).
 *
 * Loaded AFTER brand.css on every customer-facing page (marketing site, auth,
 * builder, verify). Everything is scoped to body.nc-site, so the admin, the
 * super-admin and the merchant storefronts are untouched.
 * Look: white pages with warm alternate sections, Figtree in heavy weights,
 * a yellow highlighter on the accent words (<em> in our strings), pill
 * buttons in navy with an aqua arrow, soft-shadowed rounded cards, hand-written
 * notes (Caveat), scroll reveal. Our own logo, pictures and 3D views. */

@font-face { font-family: "Figtree"; src: url("/static/fonts/figtree.woff2") format("woff2"); font-weight: 300 900; font-display: swap; }
@font-face { font-family: "Caveat"; src: url("/static/fonts/caveat-700.woff2") format("woff2"); font-weight: 700; font-display: swap; }
/* latin-ext (Polish ą ć ę ł ń ś ź ż, Czech, …): the files above are latin only, so
   those letters fell back to another font mid-word (Caveat "dzis´") */
@font-face { font-family: "Figtree"; src: url("/static/fonts/figtree-ext.woff2") format("woff2"); font-weight: 300 900; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Caveat"; src: url("/static/fonts/caveat-700-ext.woff2") format("woff2"); font-weight: 700; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }

.nc-site {
  --nc-navy: #01357a; --nc-navy-2: #00265a;
  --nc-blue: #01357a; --nc-cyan: #5de1e6; --nc-cyan-soft: #e2f8f9;
  --nc-ink: #1c2b36; --nc-ink-2: #34434e; --nc-muted: #6b7680; --nc-faint: #9aa3b0;
  --nc-paper: #ffffff; --nc-paper-2: #fbfaf6; --nc-panel: #f4f3ef;
  --nc-line: #e9e7e1; --nc-line-2: #d8d5cc; --nc-line-soft: #efede8;
  --nc-ok: #1fa04e;
  --nc-sun: #fff6d6; --nc-mint: #e3f6ea; --nc-sky: #e6efff; --nc-rose: #ffe9e4;
  --nc-marker: #ffd34d; --nc-pen: #2f5fd0;
  --nc-sans: "Figtree", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --nc-display: "Figtree", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --nc-hand: "Caveat", "Bradley Hand", cursive;
  --nc-radius: 20px; --nc-radius-sm: 12px; --nc-radius-lg: 26px;
  --nc-sh-1: 0 1px 2px rgba(28,43,54,.06), 0 0 0 1px var(--nc-line);
  --nc-sh-2: 0 0 0 1px rgba(28,43,54,.06), 0 2px 4px rgba(28,43,54,.04), 0 24px 60px -24px rgba(28,43,54,.28);
  --nc-shadow-float: var(--nc-sh-2);
  --nc-ease: cubic-bezier(.2,.7,.2,1);
  --nc-wrap: 1360px;
  /* 8px spacing rhythm (shared by every page group) */
  --s1: 8px; --s2: 16px; --s3: 24px; --s4: 32px; --s5: 48px; --s6: 64px; --s7: 96px; --s8: 128px;
  --sec-y: 112px; --sec-y-tight: 64px; --hd-gap: 48px; --grid-gap: 24px;
  font: 400 17px/1.6 var(--nc-sans);
  color: var(--nc-ink-2);
  background: #fff;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "ss01", "cv11";
}
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (max-width: 980px) { .nc-site { --sec-y: 80px; --sec-y-tight: 48px; } }
@media (max-width: 600px) { .nc-site { --sec-y: 64px; --sec-y-tight: 40px; --hd-gap: 32px; --grid-gap: 16px; } }
.nc-site :focus-visible { outline: 3px solid var(--nc-marker); outline-offset: 3px; border-radius: 6px; }
.nc-site a { color: var(--nc-navy); text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.nc-site img, .nc-site svg { max-width: 100%; }
.nc-wrap { padding: 0 28px; }
@media (max-width: 600px) { .nc-wrap { padding: 0 18px; } }

/* skip link */
.nc-skip { position: absolute; left: -999px; top: 8px; background: var(--nc-ink); color: #fff !important; padding: 10px 14px; border-radius: 8px; z-index: 99; text-decoration: none; }
.nc-skip:focus { left: 8px; }

/* ---- type ---------------------------------------------------------------- */
.nc-site h1, .nc-site h2, .nc-site h3, .nc-site h4 { color: var(--nc-ink); text-wrap: balance; }
.nc-h1 { font-family: var(--nc-display); font-weight: 900; font-size: clamp(42px, 6.4vw, 84px); line-height: 1; letter-spacing: -.045em; color: var(--nc-ink); margin: 0 0 22px; }
.nc-h2 { font-family: var(--nc-display); font-weight: 900; font-size: clamp(32px, 4.6vw, 58px); line-height: 1.03; letter-spacing: -.04em; color: var(--nc-ink); margin: 0 0 16px; }
.nc-h3 { font-weight: 800; font-size: 19px; letter-spacing: -.02em; color: var(--nc-ink); margin: 0 0 8px; }
.nc-display { font-family: var(--nc-display); font-weight: 900; letter-spacing: -.04em; }
/* the accent word: a yellow highlighter instead of blue text */
.nc-h1 em, .nc-h2 em, .nc-display em, .nc-prose h2 em, .nc-site h1 em, .nc-site h2 em,
.nc-hl { font-style: normal; color: inherit;
  background: linear-gradient(104deg, transparent .9%, var(--nc-marker) 2.4%, #ffe07a 5.8%, var(--nc-marker) 93%, transparent 98%);
  background-repeat: no-repeat; background-size: 100% 42%; background-position: 0 88%; padding: 0 .06em; border-radius: 3px;
  -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.nc-eyebrow { display: inline-block; font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--nc-muted); margin: 0 0 var(--s2); }
.nc-eyebrow.muted { color: var(--nc-faint); }
.nc-lead { font-size: clamp(18px, 1.9vw, 22px); line-height: 1.5; color: var(--nc-ink-2); max-width: 44ch; }
.nc-muted { color: var(--nc-muted); }
.nc-small { font-size: 14.5px; }
.nc-center { text-align: center; }
.nc-center .nc-lead, .nc-center .nc-h2 { margin-left: auto; margin-right: auto; }

/* hand-written note (max one per section) */
.nc-note { font-family: var(--nc-hand); font-weight: 700; color: var(--nc-pen); font-size: 28px; line-height: 1; display: inline-flex; align-items: flex-end; gap: 6px; transform: rotate(-4deg); }
.nc-note svg { width: 64px; height: 42px; flex: none; }

/* ---- sections -------------------------------------------------------------- */
.nc-section { padding: var(--sec-y) 0; }
.nc-section.tight { padding: var(--sec-y-tight) 0; }
/* a section that continues the one above it (same background): no top padding */
.nc-section.flush { padding-top: 0; }
.nc-section.hair { border-top: 1px solid var(--nc-line); }
.nc-section.alt, .nc-grid-bg.alt { background: var(--nc-paper-2); }
.nc-grid-bg { background: #fff; }
.nc-section.ink, .nc-section.navy { background: var(--nc-navy); color: rgba(255,255,255,.82); }
.nc-section.navy .nc-h2, .nc-section.navy .nc-h3 { color: #fff; }
.nc-section.navy .nc-eyebrow { color: var(--nc-cyan); }
.nc-hd { max-width: 780px; margin-bottom: var(--hd-gap); }
.nc-hd > .nc-eyebrow { display: block; }
.nc-hd .nc-h2 { margin-bottom: 0; }
.nc-hd .nc-h2 + .nc-lead, .nc-hd .nc-h2 + p { margin-top: var(--s2); }
.nc-hd .nc-lead { margin-bottom: 0; }
.nc-hd.nc-center { margin-left: auto; margin-right: auto; text-align: center; }
.nc-hd.nc-center .nc-lead { max-width: 760px; margin-left: auto; margin-right: auto; }
.nc-hd .nc-note { display: block; width: max-content; max-width: 100%; margin-top: var(--s1); }
/* compact row head: eyebrow left, "all ->" link right */
.nc-rowhd { display: flex; justify-content: space-between; align-items: baseline; gap: var(--s2); flex-wrap: wrap; margin-bottom: var(--s3); }
.nc-rowhd .nc-eyebrow { margin: 0; }
.nc-rowhd a { font-weight: 700; text-decoration: none; white-space: nowrap; }
.nc-rowhd a:hover { text-decoration: underline; }
/* spacing utilities (8px rhythm) */
.nc-mt-1 { margin-top: var(--s1) !important; } .nc-mt-2 { margin-top: var(--s2) !important; } .nc-mt-3 { margin-top: var(--s3) !important; }
.nc-mt-4 { margin-top: var(--s4) !important; } .nc-mt-5 { margin-top: var(--s5) !important; } .nc-mt-6 { margin-top: var(--s6) !important; }
.nc-mb-0 { margin-bottom: 0 !important; }
.nc-m0 { margin: 0 !important; }
.nc-mx-auto { margin-left: auto !important; margin-right: auto !important; }
.nc-measure { max-width: 68ch; }
/* screen-reader-only text (mini UIs are aria-hidden with a one-line summary) */
.nc-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ---- top bar ---------------------------------------------------------------- */
.nc-topbar { position: relative; z-index: 70; background: var(--nc-paper-2); border-bottom: 1px solid var(--nc-line); font-size: 13.5px; color: var(--nc-ink-2); }
.nc-topbar .nc-wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 38px; }
.nc-topbar .co { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; }
.nc-topbar .co .s { display: none; }
.nc-flag { display: inline-flex; width: 20px; height: 14px; border-radius: 3px; overflow: hidden; flex: none; box-shadow: 0 0 0 1px rgba(0,0,0,.08); }
.nc-flag svg { width: 100%; height: 100%; display: block; }
.nc-topbar .r { display: flex; align-items: center; gap: 16px; }
.nc-topbar .r { gap: var(--s1); }
.nc-topbar a.tel { display: inline-flex; align-items: center; gap: 6px; color: var(--nc-ink); text-decoration: none; white-space: nowrap; margin-right: var(--s1); }
.nc-topbar a.tel .ico { width: 15px; height: 15px; color: var(--nc-muted); }
.nc-topbar a.tel span { font-weight: 500; color: var(--nc-muted); }
.nc-topbar a.tel b { color: var(--nc-navy); font-weight: 800; }
.nc-topbar a.tel:hover b { text-decoration: underline; }
.nc-site .nc-topbar .nc-lang ul { position: absolute; top: calc(100% + 6px); right: 0; z-index: 80; }
@media (max-width: 760px) { .nc-topbar .co .l { display: none; } .nc-topbar .co .s { display: inline; } .nc-topbar a.tel span { display: none; } }
@media (max-width: 420px) { .nc-topbar #nc-lang { display: none; } .nc-topbar a.tel { margin-right: 0; } .nc-topbar .nc-wrap { gap: var(--s1); } .nc-topbar { font-size: 13px; } }

/* ---- header ---------------------------------------------------------------- */
.nc-site .nc-header { position: sticky; top: 0; z-index: 50; background: #fff; color: var(--nc-ink); border-bottom: 1px solid transparent; transition: border-color .2s, background .2s; }
.nc-site .nc-header.scrolled { background: rgba(255,255,255,.88); -webkit-backdrop-filter: saturate(180%) blur(10px); backdrop-filter: saturate(180%) blur(10px); border-bottom-color: var(--nc-line); }
.nc-site .nc-header .nc-wrap { height: 64px; gap: var(--s3); }
/* the header row may run wider than the page (long trial button and menu labels in de/fr/pl) */
.nc-site .nc-topbar .nc-wrap, .nc-site .nc-header .nc-wrap { max-width: 1360px; }
.nc-site .nc-header .nc-logo { flex: none; }
.nc-site .nc-header .nc-logo img { height: 40px; }
.nc-site .nc-nav { display: flex; align-items: center; gap: 2px; flex: 1; min-width: 0; justify-content: center; }
.nc-site .nc-nav > .it { position: relative; }
.nc-site .nc-nav > .it > a { white-space: nowrap; display: inline-flex; align-items: center; gap: 6px; padding: 10px 10px; border-radius: 999px; color: var(--nc-ink); opacity: .82; font-weight: 600; font-size: 15px; text-decoration: none; border: 0; }
.nc-site .nc-nav > .it > a:hover, .nc-site .nc-nav > .it:focus-within > a { opacity: 1; background: var(--nc-paper-2); }
.nc-site .nc-nav > .it > a[aria-current] { opacity: 1; }
.nc-site .nc-nav > .it.has > a::after { content: ""; width: 6px; height: 6px; border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor; transform: rotate(45deg) translateY(-2px); opacity: .6; }
.nc-menu { position: absolute; top: calc(100% + 10px); left: -12px; width: 560px; background: #fff; border-radius: 18px; box-shadow: var(--nc-sh-2); padding: var(--s2);
  display: grid; grid-template-columns: 1fr 1fr; gap: 2px var(--s1); opacity: 0; visibility: hidden; transform: translateY(6px); z-index: 60;
  /* close 120ms late so a diagonal mouse move into the panel doesn't drop it */
  transition: opacity .15s var(--nc-ease) .12s, transform .15s var(--nc-ease) .12s, visibility 0s linear .27s; }
.nc-menu.one { width: 300px; grid-template-columns: 1fr; left: 50%; transform: translate(-50%, 6px); }
.nc-menu::before { content: ""; position: absolute; top: -14px; left: 0; right: 0; height: 14px; }
.nc-nav > .it:hover > .nc-menu, .nc-nav > .it:focus-within > .nc-menu { opacity: 1; visibility: visible; transform: none; transition: opacity .15s var(--nc-ease), transform .15s var(--nc-ease), visibility 0s; }
.nc-nav > .it:hover > .nc-menu.one, .nc-nav > .it:focus-within > .nc-menu.one { transform: translate(-50%, 0); }
.nc-menu a { display: block; padding: 10px 12px; border-radius: 10px; text-decoration: none; color: var(--nc-ink); }
.nc-menu a:hover { background: var(--nc-paper-2); }
.nc-menu a b { display: block; font-size: 15px; font-weight: 700; line-height: 1.3; }
.nc-menu a span { display: block; font-size: 13.5px; color: var(--nc-muted); margin-top: 2px; line-height: 1.35; }
.nc-menu .all { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: var(--s2); border-top: 1px solid var(--nc-line); margin-top: var(--s1); padding-top: var(--s1); }
.nc-menu .all a { font-size: 14px; font-weight: 700; color: var(--nc-navy); }
.nc-site .nc-header .nc-actions { gap: 16px; }
.nc-site .nc-header .nc-actions .txt { color: var(--nc-ink); text-decoration: none; font-weight: 600; font-size: 15px; white-space: nowrap; }
.nc-site .nc-header .nc-actions .txt:hover { text-decoration: underline; }
/* "Log in" stays next to the trial button at every width: text on wide screens, an icon on phones */
.nc-site .nc-header .nc-actions .login { display: inline-flex; align-items: center; gap: 6px; }
.nc-site .nc-header .nc-actions .login svg { display: none; }
/* the header trial button: the full text, a shorter one on phones (long languages) */
.nc-site .nc-header .nc-actions .cta .xs { display: none; }
@media (max-width: 700px) {
  .nc-site .nc-header .nc-actions .cta .full { display: none; }
  .nc-site .nc-header .nc-actions .cta .xs { display: inline; }
}
/* language switcher (top bar): flag + code, dropdown above the sticky header */
.nc-site .nc-lang { position: relative; display: block; }
.nc-site .nc-lang summary { display: inline-flex; align-items: center; gap: 8px; height: 28px; padding: 0 10px 0 8px; border-radius: 999px; background: #fff;
  box-shadow: inset 0 0 0 1.5px var(--nc-line-2); color: var(--nc-ink); font-weight: 700; font-size: 13px; letter-spacing: .02em; opacity: 1; }
.nc-site .nc-lang summary:hover, .nc-site .nc-lang[open] summary { background: #fff; box-shadow: inset 0 0 0 1.5px var(--nc-ink); }
.nc-site .nc-lang summary .chev { transition: transform .18s var(--nc-ease); opacity: .7; }
.nc-site .nc-lang ul { top: calc(100% + 8px); right: 0; min-width: 200px; padding: 6px; border: 0; border-radius: 14px; box-shadow: var(--nc-sh-2); z-index: 90;
  animation: nc-pop .16s var(--nc-ease); }
.nc-site .nc-lang li a { align-items: center; gap: 12px; padding: 10px 12px; border-radius: 10px; font-size: 15px; font-weight: 600; }
.nc-site .nc-lang li a > span:not(.nc-flag) { flex: 1; }
.nc-site .nc-lang li a[aria-current]::after { content: none; }
.nc-site .nc-lang li a:hover { background: var(--nc-paper-2); }
.nc-site .nc-lang li a[aria-current] { background: var(--nc-paper-2); }
.nc-site .nc-lang li a .ok { color: var(--nc-navy); }
@keyframes nc-pop { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .nc-site .nc-lang ul { animation: none; } }
.nc-site .nc-burger { color: var(--nc-ink); width: 44px; height: 44px; border-radius: 12px; display: none; place-items: center; font-size: 0; }
.nc-site .nc-burger svg { width: 24px; height: 24px; }
.nc-site .nc-burger:hover { background: var(--nc-paper-2); }
.nc-site .nc-burger path { transition: transform .2s var(--nc-ease), opacity .2s; transform-origin: 12px 12px; }
.nc-site .nc-burger[aria-expanded="true"] { background: none; }
.nc-site .nc-burger[aria-expanded="true"] .l1 { transform: translateY(5px) rotate(45deg); }
.nc-site .nc-burger[aria-expanded="true"] .l2 { opacity: 0; }
.nc-site .nc-burger[aria-expanded="true"] .l3 { transform: translateY(-5px) rotate(-45deg); }

/* the trial button is long ("Start 14 days free"): between the burger and wide screens
   the menu sits tighter */
@media (min-width: 1341px) and (max-width: 1540px) {
  .nc-site .nc-nav > .it > a { padding: 10px 7px; font-size: 14.5px; }
  .nc-site .nc-header .nc-actions { gap: 12px; }
}
@media (max-width: 600px) {
  .nc-site .nc-header .nc-actions .login { width: 40px; height: 40px; justify-content: center; border-radius: 999px; box-shadow: inset 0 0 0 1.5px var(--nc-line-2); }
  .nc-site .nc-header .nc-actions .login svg { display: block; }
  .nc-site .nc-header .nc-actions .login span { display: none; }
}
/* mobile menu */
.nc-mnav { display: none; }
@media (max-width: 1340px) {
  .nc-site .nc-nav { display: none !important; }
  .nc-site .nc-header .nc-actions .txt:not(.login) { display: none; }
  .nc-site .nc-burger { display: grid; }
  .nc-site .nc-header .nc-actions { margin-left: auto; gap: 8px; }
  .nc-mnav { display: block; position: fixed; inset: 104px 0 0 0; bottom: 0; background: #fff; z-index: 49; overflow: auto; padding: 8px 20px calc(24px + env(safe-area-inset-bottom));
    opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .2s, transform .2s var(--nc-ease), visibility .2s; }
  .nc-header.open ~ .nc-mnav, .nc-mnav.open { opacity: 1; visibility: visible; transform: none; }
  .nc-mnav details { border-bottom: 1px solid var(--nc-line); }
  .nc-mnav summary, .nc-mnav > a { display: flex; justify-content: space-between; align-items: center; padding: 16px 4px; font-weight: 700; font-size: 18px; color: var(--nc-ink); text-decoration: none; list-style: none; cursor: pointer; }
  .nc-mnav summary::-webkit-details-marker { display: none; }
  .nc-mnav summary::after { content: "+"; font-weight: 400; color: var(--nc-muted); }
  .nc-mnav details[open] summary::after { content: "−"; }
  .nc-mnav details div { padding: 0 0 12px; display: grid; }
  .nc-mnav details a { padding: 10px 14px; color: var(--nc-ink-2); text-decoration: none; font-size: 16px; }
  .nc-mnav details a.all { color: var(--nc-navy); font-weight: 700; }
  .nc-mnav > a { border-bottom: 1px solid var(--nc-line); }
  .nc-mnav > a.mph { justify-content: flex-start; gap: 10px; color: var(--nc-navy); font-size: 17px; }
  .nc-mnav > a.mph span { font-weight: 600; }
  .nc-mnav > a.mph b { font-weight: 800; }
  .nc-mnav .langs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 18px 4px 4px; }
  .nc-mnav .langs a { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; box-shadow: inset 0 0 0 1.5px var(--nc-line-2); text-decoration: none; color: var(--nc-ink); font-weight: 700; font-size: 14px; }
  .nc-mnav .langs a[aria-current] { box-shadow: inset 0 0 0 1.5px var(--nc-ink); }
  .nc-mnav .nc-btn { margin-top: 18px; width: 100%; }
  body.nc-menu-open { overflow: hidden; }
}



/* ---- footer ----------------------------------------------------------------- */
.nc-site .nc-footer { background: var(--nc-navy); color: rgba(255,255,255,.72); padding: var(--s6) 0 var(--s4); font-size: 15px; }
.nc-site .nc-footer .cols { grid-template-columns: 1.5fr repeat(5, 1fr); gap: var(--s4) var(--s3); margin-bottom: var(--s5); }
.nc-site .nc-footer h4 { color: #fff; font-size: 14px; letter-spacing: 0; text-transform: none; font-weight: 800; margin: 0 0 var(--s2); }
.nc-site .nc-footer ul { gap: 0; line-height: 2; }
.nc-site .nc-footer li { line-height: 1.4; padding: 4px 0; }
.nc-site .nc-footer a { color: rgba(255,255,255,.72); text-decoration: none; }
.nc-site .nc-footer a:hover { color: #fff; text-decoration: underline; }
.nc-site .nc-footer .brand .nc-logo img { height: 34px; width: auto; }
.nc-site .nc-footer .tag { color: #fff; font-weight: 600; font-size: 15px; margin: var(--s3) 0 var(--s1); max-width: 30ch; }
.nc-site .nc-footer .tag2 { font-size: 14px; margin: 0 0 var(--s2); max-width: 34ch; line-height: 1.5; }
.nc-site .nc-footer .reach { margin: 0; line-height: 1.9; }
.nc-site .nc-footer .legal { border-top-color: rgba(255,255,255,.14); font-size: 13.5px; padding-top: var(--s3); align-items: flex-start; }
.nc-site .nc-footer .legal .fine { display: grid; gap: 4px; }
.nc-site .nc-footer .legal .langs { display: flex; gap: var(--s2); flex-wrap: wrap; }
.nc-site .nc-footer .legal .langs a { margin: 0; }
.nc-site .nc-footer .legal .langs a[aria-current] { color: #fff; font-weight: 700; }
@media (max-width: 1100px) { .nc-site .nc-footer .cols { grid-template-columns: repeat(3, 1fr); } .nc-site .nc-footer .cols > .brand { grid-column: 1 / -1; } }
@media (max-width: 600px) { .nc-site .nc-footer .cols { grid-template-columns: 1fr 1fr; }
  .nc-site .nc-footer .legal { flex-direction: column; align-items: flex-start; gap: 12px; }
  .nc-site .nc-footer .legal .langs { margin: 0; padding: 0; gap: 16px; } }

/* ---- buttons: calm pills, navy with a small aqua arrow ------------------------- */
.nc-site .nc-btn { border-radius: 999px; border: 0; font-weight: 700; font-size: 16px; padding: 15px 24px; gap: 10px;
  transition: transform .2s var(--nc-ease), background .2s, box-shadow .2s; }
.nc-site .nc-btn.primary, .nc-site .nc-header .nc-btn.primary, .nc-site .nc-cta .nc-btn.primary, .nc-site .nc-btn.accent, .nc-site .nc-btn.on-dark {
  background: var(--nc-navy); color: #fff; box-shadow: 0 1px 0 rgba(255,255,255,.15) inset, 0 10px 24px -12px rgba(1,53,122,.65); }
.nc-site .nc-btn.primary::after, .nc-site .nc-btn.accent::after { content: ""; width: 16px; height: 16px; flex: none; transition: transform .2s var(--nc-ease);
  background: currentColor; color: var(--nc-cyan); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat; }
.nc-site .nc-btn.primary.noarrow::after, .nc-site .nc-btn.sm.primary::after { display: none; }
.nc-site .nc-btn:hover { transform: translateY(-1px); }
.nc-site .nc-btn:hover::after { transform: translateX(3px); }
.nc-site .nc-btn:active { transform: translateY(0) scale(.98); }
.nc-site .nc-btn.primary:hover, .nc-site .nc-header .nc-btn.primary:hover, .nc-site .nc-cta .nc-btn.primary:hover, .nc-site .nc-btn.accent:hover { background: var(--nc-navy-2); }
.nc-site .nc-btn.ghost, .nc-site .nc-header .nc-btn.ghost { background: #fff; color: var(--nc-ink); box-shadow: inset 0 0 0 1.5px var(--nc-line-2); }
.nc-site .nc-btn.ghost:hover, .nc-site .nc-header .nc-btn.ghost:hover { box-shadow: inset 0 0 0 1.5px var(--nc-ink); }
.nc-site .nc-btn.on-dark.ghost { background: transparent; color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.4); }
.nc-site .nc-btn.on-dark.ghost:hover { box-shadow: inset 0 0 0 1.5px #fff; }
.nc-site .nc-btn.aqua { background: var(--nc-cyan); color: var(--nc-navy); }
.nc-site .nc-btn.lg { font-size: 18px; padding: 18px 30px; }
.nc-site .nc-btn.sm { font-size: 15px; padding: 10px 18px; box-shadow: none; }
.nc-site .nc-btn[disabled] { opacity: .55; transform: none; cursor: default; }
.nc-site .nc-link.arrow { font-weight: 700; color: var(--nc-navy); }
.nc-row { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.nc-center .nc-row { justify-content: center; }

/* ---- forms ---------------------------------------------------------------- */
.nc-site .nc-input, .nc-site .nc-select, .nc-site .nc-textarea { border-radius: 12px; border-color: var(--nc-line-2); padding: 13px 15px; font-size: 16px; }
.nc-site .nc-input:focus, .nc-site .nc-select:focus, .nc-site .nc-textarea:focus { border-color: var(--nc-navy); box-shadow: 0 0 0 4px var(--nc-sky); }
.nc-site .nc-label { font-weight: 700; color: var(--nc-ink); }

/* ---- cards ----------------------------------------------------------------- */
.nc-site .nc-card { border: 0; border-radius: var(--nc-radius); box-shadow: var(--nc-sh-1); padding: 26px; transition: transform .25s var(--nc-ease), box-shadow .25s var(--nc-ease); }
.nc-site a.nc-card { color: inherit; text-decoration: none; }
.nc-site a.nc-card:hover { transform: translateY(-3px); box-shadow: var(--nc-sh-2); }
.nc-site .nc-card.flat { background: var(--nc-paper-2); box-shadow: none; }
.nc-site .nc-section.alt .nc-card.flat { background: #fff; box-shadow: var(--nc-sh-1); }
.nc-site .nc-card.ink { background: var(--nc-navy); }
.nc-site .nc-card.sun { background: var(--nc-sun); box-shadow: none; }
.nc-site .nc-card.mint { background: var(--nc-mint); box-shadow: none; }
.nc-site .nc-card.sky { background: var(--nc-sky); box-shadow: none; }
.nc-site .nc-card.rose { background: var(--nc-rose); box-shadow: none; }
.nc-site .nc-card .nc-h3 { font-size: 20px; }
.nc-site .nc-card p { font-size: 16px; line-height: 1.55; }
.nc-site .nc-grid { gap: var(--grid-gap); }
.nc-site .nc-grid + .nc-more, .nc-site .nc-more { margin-top: var(--s4); }
.nc-site .nc-split { gap: 56px; }
.nc-site .nc-chip { box-shadow: inset 0 0 0 1.5px var(--nc-line-2); border: 0; padding: 8px 16px; font-weight: 700; font-size: 14.5px; color: var(--nc-ink); text-decoration: none; transition: box-shadow .2s; }
.nc-site a.nc-chip:hover { box-shadow: inset 0 0 0 1.5px var(--nc-ink); }
.nc-site .nc-chip.dark { background: var(--nc-ink); color: #fff; box-shadow: none; }
.nc-chips { display: flex; gap: 10px; flex-wrap: wrap; }
.nc-center .nc-chips { justify-content: center; }

/* doodle icon: ink line + one soft colour blob */
.nc-ico { width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; margin-bottom: 14px; color: var(--nc-ink); }
.nc-ico svg { width: 32px; height: 32px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.nc-ico.sun { background: #ffe8a3; } .nc-ico.mint { background: #c9eed6; } .nc-ico.sky { background: #d3e2ff; } .nc-ico.rose { background: #ffd6cc; } .nc-ico.aqua { background: #c7f2f4; }

/* model / template tiles (our own covers) */
.nc-site .nc-model { border: 0; border-radius: var(--nc-radius); box-shadow: var(--nc-sh-1); transition: transform .25s var(--nc-ease), box-shadow .25s var(--nc-ease); }
.nc-site .nc-model:hover { transform: translateY(-3px); box-shadow: var(--nc-sh-2); border: 0; }
.nc-site .nc-model img { aspect-ratio: 4 / 3.2; background: var(--nc-panel); }
.nc-site .nc-model .b { padding: 16px 18px 18px; }
.nc-site .nc-model .b strong { color: var(--nc-ink); font-size: 17px; font-weight: 800; letter-spacing: -.01em; }
.nc-site .nc-model .b em { font-style: normal; font-weight: 700; color: var(--nc-navy); font-size: 14.5px; margin-top: 6px; }

/* live configurator tiles (our /work screenshots) */
.nc-live { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
@media (max-width: 980px) { .nc-live { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .nc-live { grid-template-columns: 1fr; } }
.nc-live a { display: flex; flex-direction: column; background: #fff; border-radius: var(--nc-radius); box-shadow: var(--nc-sh-1); overflow: hidden; text-decoration: none; color: inherit; transition: transform .25s var(--nc-ease), box-shadow .25s var(--nc-ease); }
.nc-live a:hover { transform: translateY(-3px); box-shadow: var(--nc-sh-2); }
.nc-live .shot { position: relative; aspect-ratio: 4 / 3.1; background: var(--nc-panel); overflow: hidden; }
.nc-live .shot img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; }
.nc-live .shot .badge { position: absolute; left: 12px; top: 12px; }
.nc-live .b { padding: 16px 18px 18px; display: grid; gap: 4px; }
.nc-live .b strong { color: var(--nc-ink); font-size: 17px; font-weight: 800; letter-spacing: -.01em; }
.nc-live .b span { color: var(--nc-muted); font-size: 14px; }
.nc-live .b em { font-style: normal; font-weight: 700; color: var(--nc-navy); font-size: 14.5px; margin-top: 6px; }
.nc-badge { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 800; letter-spacing: .02em; border-radius: 99px; padding: 4px 10px; background: #fff; color: var(--nc-ink); box-shadow: 0 1px 3px rgba(28,43,54,.12); }
.nc-badge.live::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--nc-ok); }
.nc-badge.soon { background: var(--nc-sun); color: #7a5a00; box-shadow: none; }

/* trust strip */
.nc-trust { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 26px; list-style: none; margin: 0; padding: 0; font-size: 14.5px; color: var(--nc-muted); }
.nc-trust li { display: inline-flex; align-items: center; gap: 8px; }
.nc-truststrip { border-top: 1px solid var(--nc-line-soft); border-bottom: 1px solid var(--nc-line-soft); padding: 16px 0; background: #fff; margin-bottom: clamp(28px, 4vw, 48px); }
@media (max-width: 640px) { .nc-truststrip .nc-trust { gap: 8px 18px; font-size: 13.5px; } }
.nc-trust li::before { content: ""; width: 16px; height: 16px; flex: none; background: var(--nc-muted);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v6c0 4.5-3 7.5-7 9-4-1.5-7-4.5-7-9V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v6c0 4.5-3 7.5-7 9-4-1.5-7-4.5-7-9V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") center/contain no-repeat; }

/* facts row with green ticks */
.nc-facts { display: flex; gap: 10px 22px; flex-wrap: wrap; font-size: 15px; color: var(--nc-muted); margin-top: 26px; }
.nc-facts span { display: inline-flex; align-items: center; gap: 7px; }
.nc-facts span::before { content: ""; width: 16px; height: 16px; border-radius: 50%; flex: none;
  background: var(--nc-ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4L18 8' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/11px no-repeat; }
.nc-facts b { color: var(--nc-ink); }

/* ---- hero ------------------------------------------------------------------ */
.nc-hero { padding: clamp(48px, 7vw, 96px) 0 56px; background: #fff; }
.nc-hero .nc-split { grid-template-columns: 1fr 1fr; align-items: center; gap: 64px; }
@media (max-width: 980px) { .nc-hero .nc-split { grid-template-columns: 1fr; } }
.nc-pill-eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: 14.5px; font-weight: 700; color: var(--nc-ink); background: var(--nc-sun); padding: 7px 16px 7px 8px; border-radius: 99px; margin-bottom: 22px; letter-spacing: 0; text-transform: none; }
.nc-pill-eyebrow i { font-style: normal; background: var(--nc-navy); color: #fff; border-radius: 99px; padding: 3px 10px; font-size: 12.5px; }
.nc-hero .nc-lead { margin-bottom: 30px; }
.nc-hero-visual { position: relative; }
.nc-hero-visual .nc-note { position: absolute; left: 6%; bottom: -44px; }
@media (max-width: 980px) { .nc-hero-visual .nc-note { position: static; margin-top: 14px; } }

/* 3D stage (our showcase viewer) */
.nc-site .nc-stage { border: 0; border-radius: var(--nc-radius-lg); box-shadow: var(--nc-sh-2); background-color: var(--nc-panel); }
.nc-site .nc-stage .tag { left: auto; right: 16px; bottom: 16px; border-radius: 16px; padding: 12px 16px; box-shadow: var(--nc-sh-2); }
.nc-site .nc-stage .tag b { font-weight: 800; color: var(--nc-ink); }
.nc-site .nc-stage .tag { color: var(--nc-muted); }
.nc-site .nc-stage .pill { position: absolute; left: 16px; top: 16px; background: rgba(255,255,255,.92); border-radius: 999px; padding: 7px 14px; font-size: 13.5px; font-weight: 700; color: var(--nc-ink); box-shadow: var(--nc-sh-1); }

/* browser-window frame around a live display */
.nc-window { border-radius: var(--nc-radius-lg); background: #fff; box-shadow: var(--nc-sh-2); overflow: hidden; }
.nc-window .chrome { height: 42px; display: flex; align-items: center; gap: 8px; padding: 0 16px; border-bottom: 1px solid var(--nc-line); background: #fcfcfe; }
.nc-window .chrome i { width: 11px; height: 11px; border-radius: 50%; background: #e4e1ea; }
.nc-window .chrome .url { margin: 0 auto; font-size: 13px; color: var(--nc-muted); background: var(--nc-panel); padding: 4px 14px; border-radius: 8px; min-width: 220px; text-align: center; }
.nc-window .nc-stage { border-radius: 0; box-shadow: none; }

/* model picker (try it) */
.nc-picker { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin: 0 0 22px; }
.nc-picker button { font: inherit; font-size: 14.5px; font-weight: 700; padding: 9px 16px; border-radius: 999px; border: 0; background: #fff; color: var(--nc-ink); cursor: pointer; box-shadow: inset 0 0 0 1.5px var(--nc-line-2); transition: box-shadow .2s, background .2s; }
.nc-picker button:hover { box-shadow: inset 0 0 0 1.5px var(--nc-ink); }
.nc-picker button[aria-pressed="true"] { background: var(--nc-ink); color: #fff; box-shadow: none; }
.nc-try-head { position: relative; }
.nc-try-head .nc-note { margin: 4px 0 0 30%; }
@media (max-width: 900px) { .nc-try-head .nc-note { margin-left: 0; } }

/* steps with doodle icons */
.nc-site .nc-steps { gap: 40px; }
.nc-site .nc-steps > div { border-top: 0; padding: 0; text-align: center; }
.nc-site .nc-steps > div::before { content: "Step " counter(s); font-family: var(--nc-sans); font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--nc-faint); margin: 0 0 6px; order: 2; }
.nc-site .nc-steps > div { display: flex; flex-direction: column; align-items: center; }
.nc-site .nc-steps .nc-ico { order: 1; }
.nc-site .nc-steps .nc-h3 { order: 3; font-size: 22px; }
.nc-site .nc-steps p { order: 4; max-width: 30ch; }
.nc-site .nc-steps .nc-no3d-tag { order: 5; }
html[lang="nl"] .nc-site .nc-steps > div::before, html[lang="nl"] .nc-steps > div::before { content: "Stap " counter(s); }
html[lang="de"] .nc-steps > div::before { content: "Schritt " counter(s); }
html[lang="fr"] .nc-steps > div::before { content: "Étape " counter(s); }

/* two-sided feature board (buyer / you) */
.nc-two { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
@media (max-width: 860px) { .nc-two { grid-template-columns: 1fr; } }
.nc-two > div { border-radius: var(--nc-radius-lg); padding: 30px; }
.nc-two > div:first-child { background: var(--nc-sun); } .nc-two > div:last-child { background: var(--nc-cyan-soft); }
.nc-two .row { background: #fff; border-radius: 14px; padding: 14px 16px; margin-top: 10px; }
.nc-two .row b { display: block; color: var(--nc-ink); font-weight: 800; }
.nc-two .row span { color: var(--nc-ink-2); font-size: 15px; }

/* ---- check list ------------------------------------------------------------ */
.nc-site .nc-check li { padding-left: 28px; }
.nc-site .nc-check li::before { left: 0; top: 4px; width: 18px; height: 18px; border: 0; border-radius: 50%; transform: none;
  background: var(--nc-ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4L18 8' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat; }
.nc-site .nc-check.two { grid-template-columns: 1fr 1fr; gap: 12px 24px; }
@media (max-width: 640px) { .nc-site .nc-check.two { grid-template-columns: 1fr; } }

/* ---- enterprise card (secondary, under the one plan) ---------------------------- */
.nc-ent { display: grid; grid-template-columns: .75fr 1.25fr; gap: 32px; margin-top: 20px; padding: 28px 36px; border-radius: var(--nc-radius-lg); background: #fff; box-shadow: 0 0 0 1px var(--nc-line, #e5e2da); }
.nc-ent .h { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.nc-ent .plan { font-size: 17px; font-weight: 800; color: var(--nc-ink); }
.nc-ent .k { font-size: 22px; font-weight: 800; color: var(--nc-ink); }
.nc-ent .h p { margin: 0 0 6px; color: var(--nc-muted); }
.nc-ent ul { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 24px; align-content: center; margin: 0; }
@media (max-width: 860px) { .nc-ent { grid-template-columns: 1fr; gap: 18px; padding: 24px 20px; } .nc-ent ul { grid-template-columns: 1fr; } }
/* ---- pricing card ------------------------------------------------------------- */
.nc-price { display: grid; grid-template-columns: .75fr 1.25fr; border-radius: var(--nc-radius-lg); box-shadow: 0 0 0 1.5px var(--nc-navy), var(--nc-sh-2); overflow: hidden; background: #fff; }
@media (max-width: 860px) { .nc-price { grid-template-columns: 1fr; } }
.nc-price .l { background: var(--nc-sun); padding: 36px; display: flex; flex-direction: column; gap: 14px; }
.nc-price .l .plan { font-size: 19px; font-weight: 800; color: var(--nc-ink); }
.nc-price .l .amt { display: flex; align-items: baseline; gap: 10px; }
.nc-price .l .amt b { font-size: clamp(56px, 7vw, 80px); font-weight: 900; letter-spacing: -.045em; color: var(--nc-ink); line-height: 1; }
.nc-price .l .amt span { color: var(--nc-muted); font-weight: 600; }
.nc-price .l .nc-btn { width: 100%; }
.nc-price .r { padding: 36px; }
.nc-price .r h3 { font-size: 17px; font-weight: 800; margin: 0 0 16px; }

/* ---- FAQ ------------------------------------------------------------------------ */
.nc-site .nc-faq { display: grid; gap: 12px; max-width: 760px; }
.nc-site .nc-center .nc-faq, .nc-site .nc-faq.c { margin-left: auto; margin-right: auto; }
.nc-site .nc-faq details, .nc-site .nc-faq details:last-child { background: #fff; border: 0; border-radius: 16px; box-shadow: var(--nc-sh-1); padding: 0; }
.nc-site .nc-faq summary { padding: 20px 22px; font-weight: 800; font-size: 17.5px; color: var(--nc-ink); align-items: center; }
.nc-site .nc-faq summary::after { content: ""; width: 26px; height: 26px; flex: none; border-radius: 50%; background: var(--nc-paper-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c2b36' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center/14px no-repeat; transition: transform .2s var(--nc-ease); }
.nc-site .nc-faq details[open] summary::after { content: ""; transform: rotate(45deg); }
.nc-site .nc-faq details > :not(summary) { padding: 0 22px; }
.nc-site .nc-faq details > :last-child { padding-bottom: 20px; }
.nc-site .nc-faq details p { margin: 0 0 10px; color: var(--nc-ink-2); }

/* ---- CTA band ------------------------------------------------------------------- */
.nc-site .nc-cta { border-radius: var(--nc-radius-lg); padding: clamp(32px, 5vw, 56px); background: var(--nc-navy); }
.nc-site .nc-cta h2 { color: #fff; font-size: clamp(30px, 4vw, 48px); }
.nc-site .nc-cta p { color: rgba(255,255,255,.78); font-size: 18px; }
/* single-row band (>= 980px): headline + one line left, buttons right */
.nc-site .nc-band { display: grid; gap: var(--s3); }
.nc-site .nc-band h2 { margin: 0; font-size: clamp(30px, 3.4vw, 44px); max-width: 20ch; }
.nc-site .nc-band p { margin: var(--s1) 0 0; max-width: 60ch; }
.nc-site .nc-band .nc-row { flex-wrap: nowrap; gap: 12px; }
@media (min-width: 980px) { .nc-site .nc-band { grid-template-columns: 1fr auto; align-items: center; gap: var(--s4); padding: var(--s5); } }
@media (max-width: 979px) { .nc-site .nc-band .nc-row { flex-wrap: wrap; } }
@media (max-width: 600px) { .nc-site .nc-band .nc-row { flex-direction: column; align-items: stretch; } .nc-site .nc-band .nc-btn { width: 100%; justify-content: center; } }
.nc-site .nc-h2-sm { font-size: clamp(28px, 3.4vw, 42px); }
.nc-site .nc-cta .nc-btn.primary { background: var(--nc-cyan); color: var(--nc-navy); }
.nc-site .nc-cta .nc-btn.primary::after { color: var(--nc-navy); }
.nc-site .nc-cta .nc-btn.primary:hover { background: #7fe9ed; }
/* final CTA (home): big centred headline on white */
.nc-final { text-align: center; }
.nc-final .nc-h2 { font-size: clamp(42px, 6.4vw, 84px); line-height: 1; }
.nc-final .nc-row { justify-content: center; margin-top: 30px; }
.nc-final .nc-note { margin-top: 26px; }

/* ---- sub-page hero + article ------------------------------------------------------ */
.nc-phero { padding: var(--s6) 0 var(--s5); background: #fff; }
@media (max-width: 600px) { .nc-phero { padding: 40px 0 var(--s4); } }
.nc-phero .nc-lead { margin: var(--s2) 0 0; }
.nc-phero.nc-center .nc-h1, .nc-phero.nc-center .nc-lead { margin-left: auto; margin-right: auto; }
.nc-phero.nc-center .nc-crumbs { justify-content: center; }
.nc-phero .nc-h1 { font-size: clamp(38px, 5.4vw, 68px); max-width: 18ch; }
.nc-crumbs { font-size: 14px; color: var(--nc-muted); display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 22px; }
.nc-crumbs a { color: var(--nc-muted); text-decoration: none; }
.nc-crumbs a:hover { color: var(--nc-ink); text-decoration: underline; }
.nc-crumbs span[aria-hidden] { opacity: .5; }
.nc-site .nc-meta { color: var(--nc-muted); font-size: 14.5px; }
.nc-site .nc-prose { font-size: 18px; line-height: 1.7; color: var(--nc-ink-2); }
.nc-site .nc-prose h2 { font-family: var(--nc-display); font-weight: 850; font-size: clamp(26px, 3vw, 34px); letter-spacing: -.03em; color: var(--nc-ink); margin: 52px 0 14px; }
.nc-site .nc-prose h3 { font-weight: 800; color: var(--nc-ink); }
.nc-site .nc-prose a { color: var(--nc-navy); }
.nc-site .nc-prose blockquote { border-left-color: var(--nc-marker); background: var(--nc-paper-2); border-radius: 0 12px 12px 0; padding: 14px 18px; }
.nc-site .nc-prose .nc-tldr { background: var(--nc-sun); border-left: 0; border-radius: 16px; padding: 20px 24px; }
.nc-site .nc-prose .nc-tldr strong { color: #7a5a00; }
.nc-site .nc-prose table { border-radius: 14px; overflow: hidden; box-shadow: var(--nc-sh-1); }
.nc-site .nc-prose th { background: var(--nc-paper-2); }
.nc-site .nc-prose ul li::marker { color: var(--nc-navy); }
.nc-site .nc-aside .nc-card.flat { background: var(--nc-paper-2); }
.nc-site .nc-toc a { padding: 6px 0; font-weight: 600; }
.nc-site .nc-toc a:hover { color: var(--nc-navy); }

/* index listings */
.nc-site .nc-index .nc-card { display: flex; flex-direction: column; gap: 6px; }
.nc-site .nc-index .nc-card .more { margin-top: auto; padding-top: 10px; font-weight: 700; color: var(--nc-navy); font-size: 15px; }

/* placeholder slot */
.nc-site .nc-slot { border-color: var(--nc-line-2); border-radius: var(--nc-radius); background: var(--nc-paper-2); }

/* tables */
.nc-site .nc-table th { letter-spacing: .08em; }

/* sticky demo bar */
.nc-site .nc-bar { background: rgba(1,53,122,.96); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.nc-site .nc-bar .nc-btn { background: var(--nc-cyan); color: var(--nc-navy); }

/* consent banner: a full-width bar along the bottom edge; the page gets room below
   it (site_chrome sets body padding), so it never covers the main button */
body.nc-site .nc-consent { left: 0; right: 0; bottom: 0; max-width: none; margin: 0; border: 0; border-top: 1px solid var(--nc-line-soft); border-radius: 0;
  box-shadow: 0 -8px 30px rgba(15, 23, 42, .08); background: #fff; flex-wrap: nowrap; align-items: center; gap: 24px;
  padding: 16px max(24px, calc((100vw - 1200px) / 2)); font-size: 14px; }
body.nc-site .nc-consent > div:first-child { display: flex; align-items: baseline; gap: 6px 14px; flex-wrap: wrap; min-width: 0; }
body.nc-site .nc-consent p { margin: 0; }
body.nc-site .nc-consent .btns { flex: none; gap: 10px; }
@media (max-width: 899px) {
  body.nc-site .nc-consent { padding: 12px 16px; gap: 12px; font-size: 12.5px; line-height: 1.4; }
  body.nc-site .nc-consent strong { display: none; }
  body.nc-site .nc-consent .btns { gap: 6px; }
  body.nc-site .nc-consent .nc-btn.sm { padding: 0 12px; height: 34px; min-height: 34px; font-size: 13px; }
}
@media (max-width: 420px) {
  body.nc-site .nc-consent { flex-wrap: wrap; }
  body.nc-site .nc-consent .btns { width: 100%; }
  body.nc-site .nc-consent .btns .nc-btn { flex: 1; justify-content: center; }
}

/* auth pages */
.nc-site .auth { background: var(--nc-paper-2); }
.nc-site .auth-card h1 { font-weight: 900; font-size: 38px; letter-spacing: -.04em; color: var(--nc-ink); }
.nc-site .auth-card .nc-card { border-radius: var(--nc-radius-lg); box-shadow: var(--nc-sh-2); }

/* ---- scroll reveal (site.js adds .nc-rv / .on) ----------------------------------- */
.nc-rv { opacity: 0; transform: translateY(14px); transition: opacity .55s var(--nc-ease), transform .55s var(--nc-ease); transition-delay: calc(var(--i, 0) * 60ms); }
.nc-rv.on { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .nc-rv { opacity: 1; transform: none; transition: none; } html { scroll-behavior: auto; } .nc-site .nc-btn, .nc-site .nc-card { transition: none; } }

/* small phones */
@media (max-width: 480px) {
  .nc-site { font-size: 16px; }
  .nc-h1 { font-size: clamp(36px, 11vw, 48px); }
  .nc-h2 { font-size: clamp(28px, 8.5vw, 38px); }
  .nc-site .nc-btn.lg { padding: 16px 22px; font-size: 17px; }
  .nc-price .l, .nc-price .r { padding: 26px 22px; }
}
@media print { .nc-topbar, .nc-mnav { display: none; } }

/* our logo on the white header: the chalk-circle mark + the wordmark in ink */
.nc-site .nc-logo-dark { gap: 11px; }
.nc-site .nc-logo-dark img.mk { height: 40px; width: 40px; }
.nc-site .nc-logo-dark .nc-word { font-family: var(--nc-sans); font-size: 29px; font-weight: 400; letter-spacing: -.03em; color: var(--nc-navy); text-transform: none; }
.nc-site .nc-logo-dark .nc-word em { font-weight: 800; color: var(--nc-navy); }
@media (max-width: 420px) { .nc-site .nc-logo-dark .nc-word { font-size: 22px; } .nc-site .nc-logo-dark img.mk { height: 30px; width: 30px; } }

/* builder done / verify pages (their own inline styles): match the new type + buttons */
.nc-site main.bd h1 { font-family: var(--nc-display); font-weight: 900; letter-spacing: -.04em; color: var(--nc-ink); }
.nc-site main.bd .card { border: 0; border-radius: var(--nc-radius); box-shadow: var(--nc-sh-1); }
.nc-site main.bd .btn { border-radius: 999px; padding: 13px 22px; font-weight: 700; border: 0; }
.nc-site main.bd .btn.ghost { box-shadow: inset 0 0 0 1.5px var(--nc-line-2); }
.nc-site main.bd input, .nc-site main.bd textarea { border-radius: 12px; }
.nc-site main.bp { max-width: 1380px; }
.nc-site h3 em, .nc-site .nc-h3 em { font-style: normal; background: none; padding: 0; }
.nc-site .auth-card h1 em, .nc-site main.bd h1 em { color: inherit; }
@media (max-width: 480px) {
  .nc-site .nc-h1, .nc-site .nc-h2, .nc-site .nc-cta h2 { hyphens: manual; }
}
@media (max-width: 440px) {
  .nc-site .nc-header .nc-wrap { gap: 10px; }
  .nc-site .nc-logo-dark { gap: 6px; }
  .nc-site .nc-logo-dark .nc-word { font-size: 18px; }
  .nc-site .nc-header .nc-actions { gap: 6px; }
  .nc-site .nc-header .nc-actions .login { width: 36px; height: 36px; }
  .nc-site .nc-burger { width: 36px; height: 40px; }
  .nc-site .nc-logo-dark img.mk { height: 27px; width: 27px; }
  .nc-site .nc-header .nc-actions .nc-btn.sm { padding: 8px 12px; font-size: 13.5px; }
}
@media (max-width: 370px) {
  .nc-site .nc-logo-dark .nc-word { font-size: 14.5px; }
  .nc-site .nc-header .nc-wrap { gap: 6px; }
  .nc-site .nc-header .nc-actions { gap: 4px; }
  .nc-site .nc-header .nc-actions .cta { padding-left: 11px; padding-right: 11px; font-size: 13px; }
  .nc-site .nc-header .nc-actions .login { width: 34px; height: 34px; }
  .nc-site .nc-burger { width: 32px; }
}
/* the smallest phones (320px): "Log in" lives in the menu, which lists it too */
@media (max-width: 340px) { .nc-site .nc-header .nc-actions .login { display: none; } }

/* hero stats: the big-number row from the previous design */
.nc-site .nc-hero-stats { margin-top: 36px; gap: 36px; }
.nc-site .nc-stats b { font-family: var(--nc-display); font-weight: 900; font-size: 36px; letter-spacing: -.04em; color: var(--nc-ink); }
.nc-site .nc-stats span { font-size: 14px; color: var(--nc-muted); }
@media (max-width: 480px) { .nc-site .nc-hero-stats { gap: 22px; } .nc-site .nc-stats b { font-size: 28px; } }

/* try it: our 3D viewer left, a grid of our model covers right */
.nc-try { display: grid; grid-template-columns: minmax(0, 1fr) 264px; gap: 24px; align-items: start; }
@media (max-width: 980px) { .nc-try { grid-template-columns: 1fr; } }
.nc-thumbpick { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.nc-thumbpick button { font: inherit; border: 0; padding: 0; background: #fff; border-radius: 14px; overflow: hidden; cursor: pointer; text-align: left; box-shadow: var(--nc-sh-1); transition: transform .2s var(--nc-ease), box-shadow .2s; display: flex; flex-direction: column; }
.nc-thumbpick button:hover { transform: translateY(-2px); box-shadow: var(--nc-sh-2); }
.nc-thumbpick button[aria-pressed="true"] { box-shadow: 0 0 0 2.5px var(--nc-navy), var(--nc-sh-2); }
.nc-thumbpick img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; display: block; background: var(--nc-panel); }
.nc-thumbpick span { padding: 6px 9px 8px; font-size: 12.5px; font-weight: 700; color: var(--nc-ink); line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 980px) { .nc-thumbpick { grid-template-columns: repeat(4, 1fr); order: -1; } .nc-try .nc-window { order: 2; } }
@media (max-width: 560px) { .nc-thumbpick { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 -18px; padding: 4px 18px 10px; } .nc-thumbpick button { flex: 0 0 140px; scroll-snap-align: start; } }

/* card title arrow */
.nc-site .nc-card .go { color: var(--nc-navy); transition: transform .2s var(--nc-ease); display: inline-block; }
.nc-site a.nc-card:hover .go { transform: translateX(3px); }

/* on navy the accent word is aqua text (no highlighter, no underline) */
.nc-site .nc-cta h2 em, .nc-site .nc-section.navy h2 em, .nc-site .nc-on-dark em { color: #66cdec; background: none; padding: 0; }

/* rounded photo with a hand note */
.nc-photo { margin: 0; position: relative; }
.nc-photo img { width: 100%; height: auto; display: block; border-radius: var(--nc-radius-lg); box-shadow: var(--nc-sh-2); aspect-ratio: 4 / 3; object-fit: cover; }
.nc-photo .nc-note { position: absolute; left: 18px; bottom: -40px; }
@media (max-width: 860px) { .nc-photo .nc-note { position: static; margin-top: 12px; } }

/* people + definition tables */
.nc-person { display: flex; gap: 16px; align-items: center; }
.nc-person .av { width: 52px; height: 52px; flex: none; border-radius: 50%; display: grid; place-items: center; font-weight: 800; color: var(--nc-ink); font-size: 17px; }
.nc-person .av.sun { background: #ffe8a3; } .nc-person .av.sky { background: #d3e2ff; } .nc-person .av.mint { background: #c9eed6; }
.nc-site .nc-dl td { padding: 12px 6px; border-bottom: 1px solid var(--nc-line-soft); }
.nc-site .nc-dl tr:last-child td { border-bottom: 0; }
.nc-site .nc-dl td:first-child { color: var(--nc-muted); width: 34%; font-size: 14.5px; }

/* phones: picture rows become swipeable carousels instead of long stacks */
@media (max-width: 600px) {
  .nc-live, .nc-site .nc-grid.c4.nc-swipe { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; margin: 0 -18px; padding: 4px 18px 14px; scrollbar-width: none; }
  .nc-live::-webkit-scrollbar, .nc-site .nc-grid.c4.nc-swipe::-webkit-scrollbar { display: none; }
  .nc-live > a, .nc-site .nc-grid.c4.nc-swipe > * { flex: 0 0 78%; scroll-snap-align: start; }
  .nc-site .nc-card { padding: 22px; }
  .nc-site .nc-ico { width: 52px; height: 52px; margin-bottom: 10px; }
  .nc-site .nc-ico svg { width: 26px; height: 26px; }
}

/* content-page hero with one of our models */
.nc-phero-split { grid-template-columns: 1.05fr .95fr; align-items: center; }
@media (max-width: 980px) { .nc-phero-split { grid-template-columns: 1fr; } }
.nc-site .nc-stage .nc-try3d { font: inherit; font-weight: 700; color: var(--nc-ink); cursor: pointer; border: 0; }
.nc-site .nc-stage .nc-try3d:hover { box-shadow: 0 0 0 1.5px var(--nc-ink), var(--nc-sh-2); }

/* ROI calculator */
.nc-roi { display: grid; grid-template-columns: 1.1fr .9fr; border-radius: var(--nc-radius-lg); box-shadow: var(--nc-sh-2); overflow: hidden; background: #fff; }
@media (max-width: 860px) { .nc-roi { grid-template-columns: 1fr; } }
.nc-roi .in { padding: 34px; display: grid; gap: 26px; }
.nc-roi label { display: grid; grid-template-columns: 1fr auto; gap: 10px 16px; align-items: center; font-weight: 700; color: var(--nc-ink); }
.nc-roi label b { font-size: 20px; font-weight: 900; letter-spacing: -.02em; }
.nc-roi input[type=range] { grid-column: 1 / -1; width: 100%; accent-color: var(--nc-navy); height: 6px; }
.nc-roi .out { background: var(--nc-sun); padding: 34px; display: grid; gap: 16px; align-content: start; }
.nc-roi .out span { display: block; font-size: 14px; font-weight: 600; color: var(--nc-ink-2); }
.nc-roi .out b { font-size: 26px; font-weight: 900; letter-spacing: -.03em; color: var(--nc-ink); }
.nc-roi .out .big b { font-size: clamp(40px, 5vw, 60px); line-height: 1; }
.nc-roi .out .row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

/* code (embed snippets) in articles */
.nc-site .nc-prose pre { background: #15202e; color: #e6edf5; border-radius: 14px; padding: 16px 18px; overflow-x: auto; font-size: 13.5px; line-height: 1.55; margin: 0 0 20px; }
.nc-site .nc-prose pre code { background: none; padding: 0; color: inherit; font-size: inherit; white-space: pre; }
.nc-site .nc-article > * { min-width: 0; }

/* ---- shared small components (all page groups) ------------------------------------ */
/* status pill inside mini UIs: neutral, .ok (green), .navy, .rose, .sun */
.nc-pill { display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; font-weight: 800; letter-spacing: .01em; line-height: 1; padding: 5px 9px; border-radius: 999px; background: var(--nc-panel); color: var(--nc-ink-2); white-space: nowrap; }
.nc-pill.ok { background: var(--nc-mint); color: #11753a; }
.nc-pill.navy { background: var(--nc-sky); color: var(--nc-navy); }
.nc-pill.rose { background: var(--nc-rose); color: #a33a22; }
.nc-pill.sun { background: var(--nc-sun); color: #7a5a00; }
/* segmented toggle (monthly / yearly, sizes) */
.nc-seg { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: var(--nc-panel); }
.nc-seg button { font: inherit; font-size: 15px; font-weight: 700; color: var(--nc-ink-2); border: 0; background: none; padding: 9px 18px; border-radius: 999px; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; }
.nc-seg button[aria-pressed="true"] { background: #fff; color: var(--nc-ink); box-shadow: 0 1px 3px rgba(28,43,54,.14); }
.nc-seg .save { font-size: 11.5px; font-weight: 800; background: var(--nc-marker); color: var(--nc-ink); padding: 3px 8px; border-radius: 999px; }
/* "Real people. A phone number." card */
.nc-here { display: grid; grid-template-columns: 1.3fr 1fr; gap: var(--s5); align-items: center; background: #fff4cc; border-radius: 24px; padding: 40px 48px; }
.nc-here .nc-eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--nc-ink-2); }
.nc-here .nc-h2 { margin: 0 0 var(--s2); }
.nc-here p { margin: 0; max-width: 56ch; }
.nc-here .act { display: grid; gap: 12px; justify-items: start; }
.nc-here .act .nc-btn .ico { width: 18px; height: 18px; }
.nc-here .act .nc-link { font-weight: 700; color: var(--nc-navy); text-decoration: none; }
.nc-here .act .nc-link:hover { text-decoration: underline; }
@media (max-width: 860px) { .nc-here { grid-template-columns: 1fr; padding: var(--s4) var(--s3); gap: var(--s3); } .nc-here .act { justify-items: stretch; } .nc-here .act .nc-btn { justify-content: center; } }
.nc-site .nc-footer .nc-footbtn { font: inherit; color: rgba(255,255,255,.72); background: none; border: 0; padding: 0; cursor: pointer; text-align: left; }
.nc-site .nc-footer .nc-footbtn:hover { color: #fff; text-decoration: underline; }
/* body copy never hyphenates (only German headings may) */
.nc-site .nc-prose, .nc-site .nc-prose :is(h2, h3, summary, th, td, li, p), .nc-site .nc-faq, .nc-site .nc-faq summary { hyphens: manual; -webkit-hyphens: manual; }
/* header fit: seven nav items + actions in the 1124px wrap. "Book a demo" lives
   in the mobile panel, the footer, /contact and every CTA band, not in the bar.
   Never let an overfull nav slide under the logo. */
.nc-site .nc-header .nc-actions .txt.book { display: none; }
.nc-site .nc-nav > .it > a { padding: 10px 8px; }
.nc-site .nc-nav { justify-content: safe center; }
.nc-site .nc-nav { gap: 0; }
.nc-topbar .co { min-width: 0; }
.nc-topbar .co .s { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.nc-topbar a.tel { flex: none; }
.nc-site .nc-footer ul { hyphens: manual; -webkit-hyphens: manual; overflow-wrap: break-word; }

/* headings never auto-hyphenate (German "Sekun-den"); long compounds may still
   break rather than overflow, and lines balance */
.nc-site h1, .nc-site h2, .nc-site h3, .nc-site .nc-h1, .nc-site .nc-h2, .nc-site .nc-h3 { hyphens: manual; -webkit-hyphens: manual; overflow-wrap: break-word; text-wrap: balance; }

/* menus on the white header: never inherit the old navy-header white hover
   (brand.css .nc-nav a:hover); hovered / focused / current item = tinted row
   with a navy title */
.nc-site .nc-nav a:hover, .nc-site .nc-nav a[aria-current] { color: var(--nc-ink); border-bottom-color: transparent; }
.nc-site .nc-menu a { color: var(--nc-ink); transition: background .12s var(--nc-ease); }
.nc-site .nc-menu a b { color: var(--nc-ink); }
.nc-site .nc-menu a:hover, .nc-site .nc-menu a:focus-visible, .nc-site .nc-menu a[aria-current] { background: #eef3fa; color: var(--nc-navy); }
.nc-site .nc-menu a:hover b, .nc-site .nc-menu a:focus-visible b, .nc-site .nc-menu a[aria-current] b { color: var(--nc-navy); }
.nc-site .nc-menu a:hover span, .nc-site .nc-menu a:focus-visible span { color: var(--nc-ink-2); }
.nc-site .nc-menu a:focus-visible { outline: 2px solid var(--nc-navy); outline-offset: -2px; }
.nc-site .nc-menu a.all:hover { background: transparent; text-decoration: underline; }
.nc-site .nc-mnav a:hover, .nc-site .nc-mnav a[aria-current] { color: var(--nc-navy); }

/* "Everywhere you sell": an odd last card fills its row (5 cards, dealers parked) */
@media (min-width: 901px) { body.nc-site .nc-any > :last-child:nth-child(3n+2) { grid-column: span 2; } }
@media (min-width: 601px) and (max-width: 900px) { body.nc-site .nc-any > :last-child:nth-child(odd) { grid-column: span 2; } }

/* ---- phones (2026-10-13 mobile pass): layout fixes only, same look ---------------
   Scoped to body.nc-site; the extra element in the selector beats the page-group
   files (site/*.css) that load after this one. */
/* a word that cannot fit (Zonnepaneleninstallateurs, Essentiel/Confort/Premium,
   long e-mails / URLs) breaks instead of pushing its box wider */
body.nc-site { overflow-wrap: break-word; }
body.nc-site td, body.nc-site th, body.nc-site .nc-tile, body.nc-site .nc-card, body.nc-site .nc-faq summary { overflow-wrap: anywhere; }
/* long compounds in headings (Terrassenüberdachungen, Verwerkingsverantwoordelijke,
   Auftragsverarbeitungsvertrag) get a real hyphen on phones; short words (Sekunden,
   przyprowadzamy) never do: only words of 15+ letters, at least 6 on each side
   (Safari has no minimum word length, its before/after limits give 12+) */
@media (max-width: 600px) {
  html body.nc-site :is(h1, h2, h3, .nc-h1, .nc-h2, .nc-h3) { hyphens: auto; -webkit-hyphens: auto; hyphenate-limit-chars: 15 6 6; -webkit-hyphenate-limit-before: 6; -webkit-hyphenate-limit-after: 6; }
  body.nc-site .nc-footer ul { hyphenate-limit-chars: 10 4 4; -webkit-hyphenate-limit-before: 4; -webkit-hyphenate-limit-after: 4; }
}
/* button labels: a wrapped label wraps evenly and stays centred */
body.nc-site .nc-btn { text-wrap: balance; }
@media (max-width: 600px) {
  body.nc-site .nc-btn { text-align: center; line-height: 1.25; }
  body.nc-site .nc-btn:not(.sm) { padding-left: 20px; padding-right: 20px; }
}
@media (max-width: 480px) {
  body.nc-site .nc-cta { padding: 28px 22px; }
}
/* tap targets: header logo + "Build yours", menu language pills */
@media (max-width: 1340px) {
  body.nc-site .nc-header .nc-logo { padding: 9px 0; margin: -9px 0; }
  body.nc-site .nc-header .nc-actions .nc-btn.sm { min-height: 40px; }
  body.nc-site .nc-mnav .langs a { min-height: 44px; }
}
/* try-it cover button: its own width, not half the window */
body.nc-site .nc-tscover .nc-btn { width: max-content; max-width: calc(100% - 32px); }
@media (max-width: 600px) { body.nc-site .nc-btn { min-height: 40px; } }
/* /contact: the e-mail address fits on one line on a 360px phone */
@media (max-width: 420px) {
  body.nc-site .nc-contact aside .nc-card { padding: 16px; gap: 12px; }
  body.nc-site .nc-contact aside .t b { font-size: 15px; }
}
/* "all 22 in Pergolas & patio roofs ->" row links: wrap on phones (Polish ran to 500px) */
@media (max-width: 760px) { body.nc-site .nc-rowhd a { white-space: normal; text-wrap: pretty; } }
/* home hero on phones: the quote card overlaps the stage by 28px, so the
   "tap to rotate" pill sits above that overlap and the hand note goes under
   the card instead of behind it (layout only; the 3D itself is untouched) */
@media (max-width: 640px) {
  body.nc-site .nc-hero-stage .tap3d { bottom: 40px; }
  body.nc-site .nc-hero-visual { padding-bottom: 0; }
  body.nc-site .nc-hero-visual .nc-note { position: static; margin: 14px 0 0 4%; max-width: 92%; }
}
/* model stage on phones: the model name (top left) and "Rotate in 3D" (top right)
   collided ("Aluminiowe zadaszenie t|Obróć go w 3D"); the button moves to the
   bottom corner, the name may use the full width */
@media (max-width: 600px) {
  body.nc-site .nc-stage button.nc-try3d.tag { top: auto; bottom: 14px; right: 14px; }
  body.nc-site .nc-stage .pill { left: 14px; top: 14px; max-width: calc(100% - 28px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}
/* top bar on tablets: the long company line ("Ein niederländisches Unternehmen mit
   Sitz in Amsterdam") wrapped to two lines inside the 38px bar; the short one is
   used up to 1024px and the long one never wraps */
body.nc-site .nc-topbar .co .l { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
@media (max-width: 1024px) { body.nc-site .nc-topbar .co .l { display: none; } body.nc-site .nc-topbar .co .s { display: inline; } }
/* language pill: 28px to look at, 40px to hit */
body.nc-site .nc-lang summary { position: relative; }
body.nc-site .nc-lang summary::before { content: ""; position: absolute; inset: -6px -4px; }
