/* Ndovu 2.0 layer (Phase 1: tokens and global chrome). Loaded after every other theme sheet.
   Design source: the Ndovu 2.0 demo (redesign-demo/ in the staging folder). Warm neutrals with a slight amber bias,
   Geist display at weight 500, one ember accent, hairline rules, a sticky translucent header and a night footer. */

/* ---------- Tokens: the 2.0 palette mapped onto the existing --nd-* names ---------- */
:root{
  --nd-ink:#171717;--nd-muted:#525252;--nd-paper:#f5f5f5;--nd-line:#e5e5e5;--nd-white:#fff;
  --nd-night:#0a0a0a;--nd-night-card:#141414;--nd-night-line:#262626;--nd-night-text:#ededed;--nd-night-muted:#a3a3a3;
  --nd2-ink-3:#737373;--nd2-line-2:#d4d4d4;--nd2-surface:#fff;--nd2-sunk:#f5f5f5;
  --nd2-ember:linear-gradient(160deg,#f7a823 0%,#ee6b12 48%,#b93b0c 100%);
  --nd2-shadow:0 1px 2px rgba(0,0,0,.06),0 8px 24px -12px rgba(0,0,0,.18);
  --nd2-header-h:64px;
}
:root[data-theme=dark]{
  --nd-ink:#ededed;--nd-muted:#a3a3a3;--nd-paper:#0a0a0a;--nd-line:#262626;--nd-white:#000000;
  --nd-night:#000000;--nd-night-card:#0f0f0f;--nd-night-line:#262626;
  --nd2-ink-3:#737373;--nd2-line-2:#333333;--nd2-surface:#141414;--nd2-sunk:#0a0a0a;
  --nd2-shadow:0 1px 2px rgba(0,0,0,.4),0 10px 30px -14px rgba(0,0,0,.7);
}

/* ---------- Type: Geist for headings, Inter for text, Geist Mono for eyebrows ---------- */
h1,h2,h3,h4,.wp-block-heading{font-family:var(--nd-display);font-weight:500;letter-spacing:-.03em;text-wrap:balance}
h1{letter-spacing:-.04em}
.nd-eyebrow{font-family:var(--nd-mono);font-weight:500;letter-spacing:.08em}
code,kbd,pre{font-family:var(--nd-mono)}

/* ---------- Header: sticky, translucent, 64px ---------- */
.nd-header{background:color-mix(in srgb,var(--nd-white) 86%,transparent)!important;-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--nd-line)}
.nd-header .nd-header-inner{height:var(--nd2-header-h);gap:20px}
.nd-brand-logo img{height:32px}
:root[data-theme=dark] .nd-brand-logo img{filter:none}
.nd-primary-nav{margin-left:8px}
@media(min-width:1101px){
  .nd-menu{gap:2px}
  .nd-menu>li>a{font-size:14.5px;font-weight:500;color:var(--nd-muted);padding:0 10px;height:36px;align-self:center;display:inline-flex;align-items:center;border-radius:8px;white-space:nowrap;transition:background-color .15s,color .15s}
  .nd-menu>li>a:hover,.nd-menu>li.is-expanded>a,.nd-menu>li:focus-within>a{color:var(--nd-ink);background:var(--nd-paper)}
  .nd-menu>li.current-menu-item>a,.nd-menu>li.current-menu-ancestor>a{color:var(--nd-ink)}
  .nd-menu>li>.nd-submenu-toggle{margin-left:-10px;color:var(--nd2-ink-3)}
  .nd-header-actions{margin-left:auto}
}
.nd-header-actions{gap:8px}
.nd-signin{font-size:14px;font-weight:500;color:var(--nd-ink);height:36px;padding:0 14px;border:1px solid var(--nd2-line-2);border-radius:999px;display:inline-flex;align-items:center}
.nd-signin:hover{border-color:var(--nd-ink)}
.nd-header-actions .nd-button-small{height:36px;padding:0 16px;font-size:14px;font-weight:500}
.nd-theme-toggle,.nd-mobile-toggle,.nd-search-btn{border:1px solid var(--nd-line);background:var(--nd2-surface);color:var(--nd-muted)}
.nd-theme-toggle:hover,.nd-search-btn:hover{color:var(--nd-ink);border-color:var(--nd2-line-2)}

/* Search button (opens the Ctrl K palette) */
.nd-search-btn{display:inline-flex;align-items:center;gap:10px;height:36px;padding:0 8px 0 12px;border-radius:999px;font:14px/1 var(--nd-font);color:var(--nd2-ink-3);cursor:pointer;white-space:nowrap}
.nd-search-btn kbd{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:1px solid var(--nd2-line-2);border-bottom-width:2px;border-radius:5px;font-size:11px;color:var(--nd-muted);background:var(--nd2-surface)}
@media(max-width:1500px){.nd-search-btn .nd-search-label,.nd-search-btn kbd{display:none}.nd-search-btn{width:36px;padding:0;justify-content:center}}

/* ---------- Offer bar: one slim night line ---------- */
.nd-offer-bar{background:var(--nd-night)!important;color:var(--nd-night-text)!important;font-size:13.5px}
.nd-offer-bar-inner{min-height:40px}
.nd-offer-bar-text{color:var(--nd-night-text)!important}
.nd-offer-bar-link{color:#f6b04a!important;font-weight:500}
.nd-offer-bar-sep{color:var(--nd-night-muted)!important}
.nd-offer-bar-close{color:var(--nd-night-muted)!important}
@media(max-width:640px){.nd-offer-bar-part~.nd-offer-bar-part,.nd-offer-bar-sep{display:none}.nd-offer-bar-text{text-align:left;font-size:13px}}

/* ---------- Search palette ---------- */
.nd-search{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;justify-items:center;align-items:start;padding:max(14vh,calc(env(safe-area-inset-top,0px) + var(--nd2-header-h,64px) + var(--nd-offer-h,0px) + 48px)) 16px 24px}
.nd-search[hidden]{display:none}
.nd-search-box{position:relative;width:min(640px,100%);background:var(--nd2-surface);border:1px solid var(--nd2-line-2);border-radius:0;box-shadow:0 30px 80px -20px rgba(0,0,0,.55)}
.nd-search-box::before,.nd-search-box::after{content:"";position:absolute;top:-5px;width:9px;height:9px;border:1px solid var(--nd2-line-2);background:var(--nd2-surface);border-radius:1px}
.nd-search-box::before{left:-5px}.nd-search-box::after{right:-5px}
.nd-search-in{display:flex;align-items:center;gap:12px;padding:0 16px;height:56px;border-bottom:1px solid var(--nd-line);color:var(--nd2-ink-3)}
.nd-search-in input,.nd-search-in input[type=search],:root[data-theme=dark] .nd-search-in input{flex:1;min-width:0;height:100%;margin:0;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--nd-ink)!important;font:400 16px/1.2 var(--nd-font)!important;letter-spacing:0;outline:none;-webkit-appearance:none;appearance:none}
.nd-search-in input::placeholder{color:var(--nd2-ink-3);opacity:1}
.nd-search-in input::-webkit-search-cancel-button{display:none}
.nd-search-in kbd{font:500 11px/1 var(--nd-mono);border:1px solid var(--nd2-line-2);border-radius:4px;padding:4px 6px;color:var(--nd-muted);background:none}
.nd-search-list{list-style:none;margin:0;padding:6px 0;max-height:min(52vh,460px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--nd2-line-2) transparent}
.nd-search-list li{margin:0}
.nd-search-list a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 18px;border-radius:0;text-decoration:none;color:var(--nd-ink)!important;font:500 15px/1.35 var(--nd-font)!important;letter-spacing:-.005em}
.nd-search-list a:hover,.nd-search-list a[aria-selected=true]{background:var(--nd2-sunk);box-shadow:inset 2px 0 0 #ee6b12}
.nd-search-list b{font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nd-search-list span{font:400 11.5px/1.4 var(--nd-mono)!important;letter-spacing:.02em;color:var(--nd2-ink-3);white-space:nowrap}
.nd-search-empty{padding:16px;color:var(--nd-muted);font-size:14px}

/* ---------- Footer: night, brand column beside the link columns ---------- */
.nd-footer{--nd-night:#0a0a0a;background:var(--nd-night)}
:root[data-theme=dark] .nd-footer{--nd-night:#000000}
@media(min-width:901px){
  .nd-footer .nd-footer-grid{grid-template-columns:minmax(0,1.15fr) repeat(4,minmax(0,1fr));gap:36px 24px}
  .nd-footer .nd-footer-brand{grid-column:1;grid-row:1/span 2}
}
.nd-footer .nd-footer-col h2{font:500 12px/1 var(--nd-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--nd-night-text);margin-bottom:14px}
.nd-footer .nd-footer-col a{color:var(--nd-night-muted);font-size:14px}
.nd-footer .nd-footer-col a:hover{color:var(--nd-night-text)}
.nd-footer-logo img{height:34px;width:auto;filter:none!important}
.nd-footer-bottom{border-top:1px solid var(--nd-night-line);font-size:13px}

/* ---------- Extension card: matches the 2.0 panels ---------- */
.nd-ext-promo{border-radius:14px;border:1px solid var(--nd-line);box-shadow:var(--nd2-shadow)}

/* ---------- Buttons ---------- */
.nd-button,.wp-block-button__link{font-weight:500}
.nd-button-primary,.wp-block-button:not(.is-style-outline) .wp-block-button__link{background:#f39c12;border-color:#f39c12;color:#171717}
.nd-button-primary:hover,.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover{background:#f7ae3a;border-color:#f7ae3a;color:#171717}

@media(prefers-reduced-motion:reduce){.nd-header{-webkit-backdrop-filter:none;backdrop-filter:none}}
@media(min-width:1101px) and (max-width:1320px){.nd-menu>li>a{font-size:14px;padding:0 8px}.nd-header .nd-header-inner{gap:12px}.nd-signin{display:none}}
/* backdrop-filter makes the header the containing block for the fixed phone menu, so phones use a solid header. */
@media(max-width:1100px){.nd-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--nd-white)!important}}
@media(min-width:1101px){.nd-menu .nd-mega-lead{grid-column:1/-1}.nd-menu .nd-mega-lead p{max-width:52ch}}

/* =====================================================================
   Phase 2-4: the shared section layer. Every page is built from the same
   parts (night hero, stats, sections, cards, FAQ, CTA band), so these rules
   carry the 2.0 look to every template at once.
   ===================================================================== */

/* ---------- Night hero: warm night, faint grid, one ember glow ---------- */
.nd-feature-hero{background:var(--nd-night)!important;position:relative;isolation:isolate;overflow:hidden}
.nd-feature-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(255,244,230,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,244,230,.035) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%);mask-image:linear-gradient(180deg,#000,transparent 85%)}
.nd-feature-hero::after{content:"";position:absolute;z-index:-1;pointer-events:none;width:900px;height:700px;right:-260px;bottom:-380px;background:radial-gradient(closest-side,rgba(238,107,18,.30),rgba(238,107,18,0))}
.nd-feature-hero h1{font-family:var(--nd-display);font-weight:500;letter-spacing:-.04em;line-height:1.03}
.nd-feature-hero .nd-eyebrow{font-family:var(--nd-mono);font-weight:500;font-size:11.5px;letter-spacing:.08em;border-radius:999px}
.nd-feature-hero mark,.nd-feature-hero .nd-mark{background:none;color:#f6b04a}
.nd-feature-hero .nd-check-list li::before{color:#f6b04a}

/* ---------- Homepage hero: the ember card ---------- */
.nd-home-hero{background:none!important;padding:16px 16px 0!important}
.nd-home-hero::before,.nd-home-hero::after{display:none}
.nd-home-hero>.nd-section-inner{position:relative;isolation:isolate;overflow:hidden;width:min(1400px,100%);border-radius:22px;padding:clamp(48px,7vw,96px) clamp(20px,5vw,64px) clamp(28px,4vw,48px);
  background:radial-gradient(120% 80% at 50% 120%,#ffd27a 0%,rgba(255,210,122,0) 45%),linear-gradient(160deg,#f7a823 0%,#ee6b12 48%,#b93b0c 100%)}
.nd-home-hero>.nd-section-inner::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;background-image:radial-gradient(rgba(255,255,255,.35) 1px,transparent 1.2px);background-size:14px 14px;-webkit-mask-image:linear-gradient(#000,transparent 70%);mask-image:linear-gradient(#000,transparent 70%)}
.nd-home-hero canvas.nd-streaks{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.5;pointer-events:none}
.nd-home-hero .nd-home-copy{color:#ffffff;text-align:center}
.nd-home-hero h1{color:#ffffff!important;font-size:clamp(2.5rem,5.2vw,4.4rem)!important}
.nd-home-hero h1 mark,.nd-home-hero .nd-mark{color:#ffffff!important;background:none!important}
.nd-home-hero .nd-lead{color:rgba(255,255,255,.9)!important;max-width:60ch;margin-inline:auto}
.nd-home-hero .nd-eyebrow{color:#fff3df!important;border-color:rgba(255,255,255,.35)!important;background:rgba(0,0,0,.12)!important}
.nd-home-hero .nd-hero-sources-label{color:rgba(255,255,255,.9)!important}
.nd-home-hero .nd-hero-source{background:#ffffff!important;border-color:transparent!important;color:#171717!important}
.nd-home-hero .nd-home-preview{margin-top:36px}
.nd-start-form{display:flex;align-items:center;gap:8px;width:min(560px,100%);height:54px;margin:28px auto 0;padding:0 6px 0 18px;border-radius:999px;background:#171717;border:1px solid rgba(255,255,255,.14);box-shadow:0 14px 34px -12px rgba(60,20,0,.6)}
.nd-start-form input{flex:1;min-width:0;height:100%;border:0;background:transparent;color:#ffffff;font:16px/1 var(--nd-font);outline:none;padding:0}
.nd-start-form input::placeholder{color:rgba(255,255,255,.5)}
.nd-start-form:focus-within{outline:2px solid #fff3df;outline-offset:2px}
.nd-start-pre{color:rgba(255,255,255,.5);font:14px/1 var(--nd-mono)}
.nd-start-form button{flex:none;height:42px;padding:0 18px;border:0;border-radius:999px;background:#ffffff;color:#171717;font:500 15px/1 var(--nd-font);cursor:pointer}
.nd-start-form button:hover{background:#fff}
.nd-start-note{margin-top:14px!important;font-size:14px;color:rgba(255,255,255,.85)!important}
.nd-start-note a{color:#ffffff!important;text-decoration:underline;text-underline-offset:3px}
@media(max-width:520px){.nd-start-pre{display:none}.nd-start-form{padding-left:16px}.nd-home-hero{padding:10px 10px 0!important}}

/* ---------- Stats bar ---------- */
.nd-stats .nd-stat strong{font-family:var(--nd-display);font-weight:500;letter-spacing:-.03em}

/* ---------- Sections: hairline between bands, quiet tints ---------- */
.nd-section{position:relative}
.nd-section+.nd-section{border-top:1px solid var(--nd-line)}
.nd-section.nd-tint,.nd-section.nd-mint{background:var(--nd-paper)!important}
.nd-section.nd-night{background:var(--nd-night)!important}
.nd-eyebrow{font-family:var(--nd-mono);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#a95a05}
:root[data-theme=dark] .nd-eyebrow,.nd-night .nd-eyebrow,.nd-feature-hero .nd-eyebrow{color:#f6b04a}
.nd-section-heading .nd-eyebrow{display:inline-flex;align-items:center;gap:8px}
.nd-section-heading .nd-eyebrow::before{content:"";width:6px;height:6px;border-radius:1px;background:#f39c12}
.nd-section-heading h2{font-size:clamp(1.9rem,3.3vw,2.8rem);line-height:1.08}
.nd-section-heading p:not(.nd-eyebrow){color:var(--nd-muted);font-size:clamp(1.02rem,1.3vw,1.15rem)}

/* ---------- Cards ---------- */
.nd-card{border-radius:12px!important;border:1px solid var(--nd-line);box-shadow:none}
.nd-card:hover{border-color:var(--nd2-line-2)!important;transform:translateY(-2px)}
.nd-card h3{font-size:1.15rem;letter-spacing:-.015em}
.nd-card .nd-card-icon{border-radius:9px!important;font-family:var(--nd-mono);font-size:11px!important;letter-spacing:.06em}
.nd-card.nd-limit{border-left:3px solid #f39c12!important;border-radius:0 12px 12px 0!important}

/* ---------- Product panels and tables ---------- */
.nd-fv{border-radius:12px!important;border:1px solid var(--nd-line)!important;box-shadow:var(--nd2-shadow)!important}
.nd-table th{font-family:var(--nd-mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--nd2-ink-3)}
.nd-table td,.nd-table th{border-color:var(--nd-line)!important}
figure.nd-table{border:1px solid var(--nd-line);border-radius:12px;overflow:auto;background:var(--nd2-surface)}

/* ---------- Bento (homepage jobs) ---------- */
.nd-bento-cell{border-radius:14px!important;background:var(--nd-paper)!important;border:1px solid var(--nd-line)}
:root[data-theme=dark] .nd-bento-cell{background:var(--nd2-surface)!important}

/* ---------- FAQ: hairline rows ---------- */
details.nd-faq{border-bottom:1px solid var(--nd-line)}
details.nd-faq summary{font-family:var(--nd-display);font-weight:500;letter-spacing:-.01em;font-size:1.06rem}

/* ---------- Sticky jump navigation ---------- */
.nd-jump-nav{position:sticky;top:var(--nd2-header-h)!important;z-index:30;background:color-mix(in srgb,var(--nd-white) 90%,transparent)!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--nd-line)}
.nd-jump-nav a{border-radius:8px;padding:8px 12px;font-size:14px;font-weight:500;color:var(--nd-muted);text-decoration:none}
.nd-jump-nav a:hover{background:var(--nd-paper);color:var(--nd-ink)}
body.admin-bar .nd-jump-nav{top:calc(var(--nd2-header-h) + 32px)!important}

/* ---------- Closing CTA: the ember card ---------- */
.nd-cta-band{position:relative;isolation:isolate;overflow:hidden;border:0!important;border-radius:22px!important;color:#ffffff;
  background:radial-gradient(120% 90% at 85% 120%,#ffd27a 0%,rgba(255,210,122,0) 45%),linear-gradient(160deg,#f7a823 0%,#ee6b12 48%,#b93b0c 100%)!important}
.nd-cta-band::after{display:none}
.nd-cta-band::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.45;background-image:radial-gradient(rgba(255,255,255,.35) 1px,transparent 1.2px);background-size:14px 14px;-webkit-mask-image:linear-gradient(90deg,#000,transparent 70%);mask-image:linear-gradient(90deg,#000,transparent 70%)}
.nd-cta-band h2,.nd-cta-band h3{color:#ffffff!important}
.nd-cta-band p{color:rgba(255,255,255,.9)!important}
.nd-cta-band .nd-eyebrow{color:#fff3df!important}
.nd-cta-band .wp-block-button__link{background:#ffffff!important;border-color:#ffffff!important;color:#171717!important}
.nd-cta-band .wp-block-button.is-style-outline .wp-block-button__link,.nd-cta-band .nd-button-secondary{background:transparent!important;color:#ffffff!important;border-color:rgba(255,255,255,.5)!important}

/* ---------- Buttons ---------- */
.wp-block-button.is-style-outline .wp-block-button__link,.nd-button-secondary{border:1px solid var(--nd2-line-2);color:var(--nd-ink);background:transparent}
.nd-feature-hero .wp-block-button.is-style-outline .wp-block-button__link,.nd-night .wp-block-button.is-style-outline .wp-block-button__link{color:var(--nd-night-text);border-color:#333333}

/* The "21 modules" bento tile stays a night panel with an ember glow. */
.nd-bento-cell.nd-bento-all{background:var(--nd-night)!important;border-color:var(--nd-night-line)!important;color:var(--nd-night-text);position:relative;overflow:hidden;isolation:isolate}
.nd-bento-cell.nd-bento-all::after{content:"";position:absolute;z-index:-1;width:420px;height:420px;right:-160px;bottom:-200px;background:radial-gradient(closest-side,rgba(238,107,18,.35),rgba(238,107,18,0))}
.nd-bento-cell.nd-bento-all h3,.nd-bento-cell.nd-bento-all .nd-bento-number strong{color:#ffffff!important}
.nd-bento-cell.nd-bento-all p{color:var(--nd-night-muted)!important}
/* Cards in a grid share one surface: no alternating tints. */
.nd-section .nd-card,.nd-section .nd-card:nth-child(n){background:var(--nd2-surface)!important}
.nd-section.nd-night .nd-card{background:var(--nd-night-card)!important;border-color:var(--nd-night-line)!important}
.nd-section .nd-card{border:1px solid var(--nd-line)!important;padding:24px!important}
.nd-section.nd-night .nd-card{border-color:var(--nd-night-line)!important}
@media(max-width:520px){.nd-home-hero .nd-hero-sources{gap:6px!important}.nd-home-hero .nd-hero-source{font-size:12px!important;padding:4px 8px!important}.nd-home-hero .nd-eyebrow{font-size:10.5px!important}}

/* Homepage closer: the same ember card as every other page's CTA. */
.nd-final-cta{background:none!important;padding:16px 16px 56px!important;border-top:1px solid var(--nd-line)}
.nd-final-cta::before,.nd-final-cta::after{display:none!important}
.nd-final-cta>.nd-section-inner{position:relative;isolation:isolate;overflow:hidden;border-radius:22px;padding:clamp(40px,6vw,72px) clamp(24px,5vw,64px)!important;color:#ffffff;
  background:radial-gradient(120% 90% at 85% 120%,#ffd27a 0%,rgba(255,210,122,0) 45%),linear-gradient(160deg,#f7a823 0%,#ee6b12 48%,#b93b0c 100%)}
.nd-final-cta>.nd-section-inner::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.45;background-image:radial-gradient(rgba(255,255,255,.35) 1px,transparent 1.2px);background-size:14px 14px;-webkit-mask-image:linear-gradient(90deg,#000,transparent 70%);mask-image:linear-gradient(90deg,#000,transparent 70%)}
.nd-final-cta h2{color:#ffffff!important}
.nd-final-cta p{color:rgba(255,255,255,.9)!important}
.nd-final-cta .nd-eyebrow{color:#fff3df!important}
.nd-final-cta .wp-block-button__link{background:#ffffff!important;border-color:#ffffff!important;color:#171717!important}
.nd-final-cta .wp-block-button.is-style-outline .wp-block-button__link{background:transparent!important;color:#ffffff!important;border-color:rgba(255,255,255,.5)!important}
.nd-final-cta>.nd-section-inner{width:min(var(--nd-max,1200px),100%)!important;max-width:none!important}

/* Wrapper for demo-built pages: full width, no inherited spacing. */
.nd2-page{margin:0!important;padding:0!important;max-width:none!important}
.nd2-page>.nd2{margin:0}
.nd2-toast{position:fixed;z-index:95;left:50%;translate:-50% 0;bottom:24px;max-width:min(520px,calc(100vw - 32px));padding:12px 16px;border-radius:10px;background:#171717;color:#ededed;font-size:14px}
.nd-offer-bar-text::before{content:"Offer";display:inline-block;margin-right:10px;padding:4px 7px;border-radius:4px;background:#2c2113;color:#f6b04a;font:500 11px/1 var(--nd-mono);letter-spacing:.06em;text-transform:uppercase;vertical-align:1px}
@media(max-width:640px){.nd-offer-bar-text::before{display:none}}
@media(min-width:901px){.nd2 .ca-steps--3{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ---------- Menus: full-width panels, as in the 2.0 demo ----------
   Every dropdown is one panel under the header: a lead column (headline, one line, a link), up to four
   columns of three items, and a foot row of secondary links. Square cells, hairline and dashed rules,
   corner markers, and a straight ember bar on the item under the pointer. */
@media(min-width:1101px){
  .nd-header .nd-header-inner{position:static}
  .nd-primary-nav{align-self:stretch;display:flex}
  .nd-menu{align-items:stretch!important;height:100%}
  .nd-menu>li,.nd-menu>li.nd-mega{position:static!important;align-items:center}
  .nd-menu>li>.nd-submenu-toggle{transition:transform .15s}
  .nd-menu>li.is-expanded>.nd-submenu-toggle,.nd-menu>li:hover>.nd-submenu-toggle{transform:rotate(180deg)}

  /* The panel */
  .nd-menu>li>.sub-menu{position:absolute!important;left:0!important;right:0!important;top:100%!important;width:auto!important;min-width:0!important;margin:0!important;
    display:none;flex-wrap:wrap;align-items:stretch;columns:auto!important;column-rule:none!important;
    padding:0 max(32px,calc((100% - var(--nd-max,1200px))/2))!important;border:0!important;border-top:1px solid var(--nd-line)!important;border-bottom:1px solid var(--nd-line)!important;border-radius:0!important;
    background:var(--nd-white)!important;box-shadow:0 30px 60px -30px rgba(0,0,0,.35)!important;overflow:visible!important;z-index:60}
  :root[data-theme=dark] .nd-menu>li>.sub-menu{background:#000000!important;box-shadow:0 36px 70px -30px rgba(0,0,0,.85)!important}
  .nd-menu>li:hover>.sub-menu,.nd-menu>li:focus-within>.sub-menu,.nd-menu>li.is-expanded>.sub-menu,
  .nd-menu>li.nd-mega:hover>.sub-menu,.nd-menu>li.nd-mega:focus-within>.sub-menu,.nd-menu>li.nd-mega.is-expanded>.sub-menu{display:flex!important}
  .nd-menu>li:not(.is-expanded):not(:hover):not(:focus-within)>.sub-menu{display:none!important}
  .nd-menu>li>.sub-menu::before{display:none!important}
  .nd-menu>li>.sub-menu>li{padding:0!important;margin:0!important;break-inside:auto;white-space:normal;display:block;background:none!important;border:0!important}

  /* Lead column */
  .nd-menu>li>.sub-menu>li.nd-mega-lead{display:grid!important;flex:0 0 280px;align-content:start;gap:10px;padding:30px 32px 30px 0!important;border-right:1px solid var(--nd-line)!important;position:relative}
  .nd-menu .nd-mega-lead strong{font:500 20px/1.25 var(--nd-display,inherit);letter-spacing:-.02em;color:var(--nd-ink);margin:0}
  .nd-menu .nd-mega-lead p{margin:0;font-size:14px;line-height:1.55;color:var(--nd-muted);white-space:normal}
  .nd-menu .nd-mega-lead .nd-mega-lead-link{justify-self:start;display:inline-flex!important;align-items:center;gap:6px;height:36px;margin-top:8px;padding:0 16px!important;border:1px solid var(--nd2-line-2)!important;border-radius:999px!important;font:500 14px/1 var(--nd-font)!important;color:var(--nd-ink)!important;text-decoration:none;background:none!important;box-shadow:none!important;transition:border-color .15s}
  .nd-menu .nd-mega-lead .nd-mega-lead-link:hover{border-color:var(--nd-ink)!important;color:var(--nd-ink)!important}

  /* Top items: no pill; the open item carries an ember bar on the header edge (as in the demo) */
  .nd-menu>li{padding-inline:2px}
  .nd-menu>li>a,.nd-menu>li>a:hover,.nd-menu>li:hover>a,.nd-menu>li.is-expanded>a,.nd-menu>li:focus-within>a{background:none!important;border-radius:0!important}
  .nd-menu>li:hover>a,.nd-menu>li.is-expanded>a,.nd-menu>li:focus-within>a,.nd-menu>li.current-menu-item>a,.nd-menu>li.current-menu-ancestor>a{color:var(--nd-ink)!important}
  .nd-menu>li.menu-item-has-children:hover,.nd-menu>li.is-expanded,.nd-menu>li.menu-item-has-children:focus-within{box-shadow:inset 0 -2px 0 #ee6b12}
  .nd-menu>li>.nd-submenu-toggle,.nd-menu>li:hover>.nd-submenu-toggle{color:var(--nd2-ink-3)!important;background:none!important}
  .nd-menu>li.is-expanded>.nd-submenu-toggle,.nd-menu>li:hover>.nd-submenu-toggle{color:var(--nd-ink)!important}

  /* Columns */
  .nd-menu>li>.sub-menu>li.menu-item-has-children:not(.nd-menu-foot){flex:1 1 0;min-width:0;padding:26px 8px 22px 20px!important}
  .nd-menu>li>.sub-menu>li.menu-item-has-children:not(.nd-menu-foot)+li.menu-item-has-children:not(.nd-menu-foot){border-left:1px dashed var(--nd2-line-2)!important}
  .nd-menu>li>.sub-menu>li.menu-item-has-children>.nd-submenu-toggle{display:none!important}
  .nd-menu>li>.sub-menu>li.menu-item-has-children:not(.nd-menu-foot)>a{display:block!important;padding:0 12px 10px!important;font:500 11.5px/1 var(--nd-mono,ui-monospace,monospace)!important;letter-spacing:.08em;text-transform:uppercase;color:var(--nd2-ink-3)!important;background:none!important;box-shadow:none!important}
  .nd-menu>li>.sub-menu>li.menu-item-has-children:not(.nd-menu-foot)>a .nd-menu-icon,.nd-menu>li>.sub-menu>li.menu-item-has-children>a small,.nd-menu>li>.sub-menu>li.menu-item-has-children>a .nd-menu-arrow{display:none!important}
  .nd-menu>li>.sub-menu>li.menu-item-has-children:not(.nd-menu-foot)>a .nd-menu-text{font:inherit!important;color:inherit!important;letter-spacing:inherit}
  .nd-menu>li>.sub-menu>li.menu-item-has-children:not(.nd-menu-foot)>a:hover{color:var(--nd-ink)!important}
  .nd-menu .sub-menu .sub-menu{position:static!important;display:block!important;padding:0!important;margin:0!important;border:0!important;box-shadow:none!important;background:none!important;min-width:0!important;width:auto!important;opacity:1!important;visibility:visible!important;transform:none!important}
  .nd-menu .sub-menu .sub-menu>li{display:block;padding:0!important}

  /* Items: icon, title, one line; a straight ember bar on hover */
  .nd-menu .sub-menu .sub-menu a{display:grid!important;grid-template-columns:28px minmax(0,1fr);column-gap:8px;align-items:start;padding:10px 12px!important;border-radius:0!important;text-decoration:none;background:none!important;box-shadow:none;transition:background-color .12s,box-shadow .12s}
  .nd-menu .sub-menu .sub-menu a:hover,.nd-menu .sub-menu .sub-menu a:focus-visible{background:var(--nd2-sunk)!important;box-shadow:inset 2px 0 0 #ee6b12}
  .nd-menu .sub-menu .sub-menu .nd-menu-icon{display:block!important;grid-row:1;width:18px!important;height:18px!important;margin:1px 0 0 2px;border:0!important;border-radius:0!important;box-shadow:none!important}
  .nd-menu .sub-menu .sub-menu .nd-menu-icon:not(.nd-menu-logo){-webkit-mask:var(--nd-icon) center/contain no-repeat!important;mask:var(--nd-icon) center/contain no-repeat!important;background:#c2410c!important}
  :root[data-theme=dark] .nd-menu .sub-menu .sub-menu .nd-menu-icon:not(.nd-menu-logo){background:#f6b04a!important}
  .nd-menu .sub-menu .sub-menu .nd-menu-icon.nd-menu-logo{background:var(--nd-logo-light,var(--nd-logo)) center/contain no-repeat!important}
  :root[data-theme=dark] .nd-menu .sub-menu .sub-menu .nd-menu-icon.nd-menu-logo{background-image:var(--nd-logo)!important}
  .nd-menu .sub-menu .sub-menu .nd-menu-text{grid-column:2;display:block;font:500 14.5px/1.3 var(--nd-font)!important;color:var(--nd-ink)!important;letter-spacing:-.005em;white-space:normal}
  .nd-menu .sub-menu .sub-menu .nd-menu-text small{display:block;margin-top:3px;font:400 13px/1.4 var(--nd-font)!important;color:var(--nd2-ink-3)!important}
  .nd-menu .sub-menu .sub-menu .nd-menu-arrow,.nd-menu .sub-menu .nd-menu-visual{display:none!important}

  /* Foot row: secondary links, the last one in ember */
  .nd-menu>li>.sub-menu>li.nd-menu-foot{flex:0 0 100%;border-top:1px solid var(--nd-line)!important;position:relative}
  .nd-menu>li>.sub-menu>li.nd-menu-foot>a{display:none!important}
  .nd-menu>li>.sub-menu>li.nd-menu-foot>.sub-menu{display:flex!important;flex-wrap:wrap;align-items:center;gap:4px 28px;padding:14px 0!important}
  .nd-menu>li>.sub-menu>li.nd-menu-foot>.sub-menu a{display:inline-flex!important;padding:2px 0!important;grid-template-columns:none;font-size:14px;box-shadow:none!important;background:none!important}
  .nd-menu>li>.sub-menu>li.nd-menu-foot>.sub-menu a .nd-menu-text{font:500 14px/1.3 var(--nd-font)!important;color:var(--nd-muted)!important}
  .nd-menu>li>.sub-menu>li.nd-menu-foot>.sub-menu a:hover .nd-menu-text{color:var(--nd-ink)!important}
  .nd-menu>li>.sub-menu>li.nd-menu-foot>.sub-menu li.nd-menu-more{margin-left:auto}
  .nd-menu>li>.sub-menu>li.nd-menu-foot>.sub-menu li.nd-menu-more .nd-menu-text{color:#c2410c!important}
  :root[data-theme=dark] .nd-menu>li>.sub-menu>li.nd-menu-foot>.sub-menu li.nd-menu-more .nd-menu-text{color:#f6b04a!important}
  .nd-menu>li>.sub-menu>li.nd-menu-foot>.sub-menu li.nd-menu-more .nd-menu-text::after{content:" →"}
  /* Corner markers where the foot rule meets the lead rule */
  .nd-menu>li>.sub-menu>li.nd-menu-foot::before{content:"";position:absolute;top:-5px;left:275px;width:9px;height:9px;border:1px solid var(--nd2-line-2);background:var(--nd-white);border-radius:1px}
  :root[data-theme=dark] .nd-menu>li>.sub-menu>li.nd-menu-foot::before{background:#000000}
  .nd-menu>li>.sub-menu>li.nd-mega-lead::after{content:"";position:absolute;top:-5px;right:-5px;width:9px;height:9px;border:1px solid var(--nd2-line-2);background:var(--nd-white);border-radius:1px}
  :root[data-theme=dark] .nd-menu>li>.sub-menu>li.nd-mega-lead::after{background:#000000}
}

/* ---------- Phone menu: full-height drawer with accordions ---------- */
@media(max-width:1100px){
  .nd-primary-nav{position:fixed;top:calc(var(--nd2-header-h) + var(--nd-offer-h,0px));bottom:0;max-height:none;padding:8px max(20px,env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px));background:var(--nd-white);box-shadow:none;border-top:1px solid var(--nd-line);overflow-y:auto}
  .nd-menu>li{border-bottom:1px solid var(--nd-line)}
  .nd-menu>li>a{font:500 18px/1.25 var(--nd-display)!important;letter-spacing:-.01em;padding:16px 0!important;color:var(--nd-ink)}
  .nd-menu .nd-mega-lead{display:none!important}
  .nd-menu>li>.sub-menu{padding:0 0 12px!important;display:none}
  .nd-menu>li.is-expanded>.sub-menu{display:block!important}
  .nd-menu .sub-menu .sub-menu{display:block!important;position:static!important;padding:0!important;border:0!important;box-shadow:none!important;background:none!important}
  .nd-menu .sub-menu li{display:block}
  .nd-menu .sub-menu .nd-submenu-toggle{display:none!important}
  .nd-menu>li>.sub-menu>li.menu-item-has-children:not(.nd-menu-foot)>a{display:block;padding:14px 0 6px!important;font:500 11px/1 var(--nd-mono,ui-monospace,monospace)!important;letter-spacing:.08em;text-transform:uppercase;color:var(--nd2-ink-3)!important}
  .nd-menu>li>.sub-menu>li.menu-item-has-children>a .nd-menu-icon,.nd-menu>li>.sub-menu>li.menu-item-has-children>a small{display:none!important}
  .nd-menu>li>.sub-menu>li.nd-menu-foot>a{display:none!important}
  .nd-menu>li>.sub-menu>li.nd-menu-foot{margin-top:8px;padding-top:6px!important;border-top:1px dashed var(--nd-line)}
  .nd-menu .sub-menu .sub-menu a{display:block;padding:9px 0!important;color:var(--nd-muted)}
  .nd-menu .sub-menu .nd-menu-icon,.nd-menu .sub-menu small,.nd-menu .sub-menu .nd-menu-arrow,.nd-menu .sub-menu .nd-menu-visual{display:none!important}
  .nd-menu .sub-menu .nd-menu-text{font:400 15.5px/1.35 var(--nd-font)!important;color:var(--nd-muted)}
  .nd-mobile-actions{display:flex;gap:10px;margin-top:20px}
  .nd-mobile-actions a{flex:1;justify-content:center;text-align:center;height:46px;display:inline-flex;align-items:center;border:1px solid var(--nd2-line-2);border-radius:999px;font-weight:500;color:var(--nd-ink);text-decoration:none}
  .nd-mobile-actions .nd-button-primary{border-color:transparent}
  .nd-mobile-toggle{border-radius:999px;width:38px;height:38px}
}

/* ---------- Footer 2.0: the night frame, a ruled link grid, NdovuBot's console and a Nairobi meta line ---------- */
.nd-footer.nd-foot2{padding:0!important;background-color:var(--nd-night)!important;background-image:radial-gradient(rgba(237,237,237,.07) 1px,transparent 1.2px)!important;background-size:12px 12px!important;color:var(--nd-night-text);border-top:0!important}
.nd-foot2-frame{position:relative;z-index:1;width:min(1202px,calc(100% - 32px));margin-inline:auto;background:var(--nd-night);border-inline:1px dashed #333333;border-top:1px solid var(--nd-night-line)}
.nd-foot2-frame::before,.nd-foot2-frame::after{content:"";position:absolute;top:-5px;width:9px;height:9px;border:1px solid #333333;background:var(--nd-night);border-radius:1px;z-index:2}
.nd-foot2-frame::before{left:-5px}.nd-foot2-frame::after{right:-5px}
.nd-foot2-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.7fr) auto;border-bottom:1px solid var(--nd-night-line)}
.nd-foot2-brand{display:grid;gap:14px;align-content:start;padding:34px clamp(20px,3vw,36px)}
.nd-foot2-brand p{margin:0;max-width:330px;color:var(--nd-night-muted);font-size:14px;line-height:1.6}
.nd-foot2 .nd-footer-logo img{height:32px;width:auto}
.nd-foot2-stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));border-left:1px solid var(--nd-night-line)}
.nd-foot2-stats li{position:relative;display:grid;gap:8px;align-content:center;margin:0;padding:26px 20px;border-right:1px solid var(--nd-night-line)}
.nd-foot2-stats b{font:500 32px/1 var(--nd-display);letter-spacing:-.03em;color:var(--nd-night-text)}
.nd-foot2-stats span{font:400 11px/1.35 var(--nd-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--nd-night-muted)}
.nd-foot2-cta{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:24px clamp(20px,3vw,36px)}
.nd-foot2-btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 20px;border:1px solid #333333;border-radius:999px;color:var(--nd-night-text)!important;font:500 14px/1 var(--nd-font);text-decoration:none!important;white-space:nowrap;transition:border-color .15s,background-color .15s}
.nd-foot2-btn:hover{border-color:var(--nd-night-text)}
.nd-foot2-btn.is-primary{background:#f39c12;border-color:transparent;color:#171717!important}
.nd-foot2-btn.is-primary:hover{background:#f7ae3a}
.nd-foot2 .nd-foot2-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;padding:0!important;margin:0!important;border-bottom:1px solid var(--nd-night-line)}
.nd-foot2 .nd-footer-col{position:relative;margin:0;padding:28px clamp(20px,2.4vw,32px) 30px;border-right:1px solid var(--nd-night-line);border-bottom:1px solid var(--nd-night-line)}
.nd-foot2 .nd-footer-col:nth-child(4n){border-right:0}
.nd-foot2 .nd-footer-col:nth-last-child(-n+4){border-bottom:0}
.nd-foot2 .nd-footer-col:not(:nth-child(4n+1))::before{content:"";position:absolute;top:-5px;left:-5px;width:9px;height:9px;border:1px solid #333333;background:var(--nd-night);border-radius:1px}
.nd-foot2 .nd-footer-col h2{display:flex;align-items:center;gap:8px;margin:0 0 16px!important;font:500 11.5px/1 var(--nd-mono)!important;letter-spacing:.08em;text-transform:uppercase;color:var(--nd-night-text)!important}
.nd-foot2 .nd-footer-col h2::before{content:"";width:6px;height:6px;background:#f39c12;border-radius:1px;flex:none}
.nd-foot2 .nd-footer-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.nd-foot2 .nd-footer-col li{margin:0}
.nd-foot2 .nd-footer-col a{color:var(--nd-night-muted)!important;font-size:14px;text-decoration:none}
.nd-foot2 .nd-footer-col a:hover{color:var(--nd-night-text)!important}
.nd-foot2 .nd-bot-console{margin:0!important;border:0!important;border-radius:0!important;border-bottom:1px solid var(--nd-night-line)!important;background:#0a0a0a!important;box-shadow:none!important}
.nd-foot2 .nd-bot-search input{border-radius:4px!important;background:#050505!important}
.nd-foot2-meta{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--nd-night-line);font:400 11.5px/1 var(--nd-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--nd-night-muted)}
.nd-foot2-meta span{padding:15px clamp(16px,2.4vw,32px);border-right:1px dashed #333333}
.nd-foot2-meta span:last-child{border-right:0;margin-left:auto}
.nd-foot2-meta time{color:var(--nd-night-text)}
.nd-foot2 .nd-foot2-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;width:auto!important;margin:0!important;padding:18px clamp(20px,3vw,36px)!important;border-top:0!important;color:var(--nd-night-muted);font-size:13px}
.nd-foot2 .nd-foot2-bottom nav a,.nd-foot2 .nd-foot2-bottom .nd-privacy-button{color:var(--nd-night-muted);text-decoration:none}
.nd-foot2 .nd-foot2-bottom nav a:hover{color:var(--nd-night-text)}
.nd-foot2 .nd-footer-mark{display:none!important}
@media(max-width:1000px){
  .nd-foot2-top{grid-template-columns:1fr}
  .nd-foot2-stats{border-left:0;border-top:1px solid var(--nd-night-line)}
  .nd-foot2-cta{flex-direction:row;border-top:1px solid var(--nd-night-line)}
  .nd-foot2 .nd-foot2-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .nd-foot2 .nd-footer-col:nth-child(n){border-right:1px solid var(--nd-night-line);border-bottom:1px solid var(--nd-night-line)}
  .nd-foot2 .nd-footer-col:nth-child(2n){border-right:0}
  .nd-foot2 .nd-footer-col:nth-last-child(-n+2){border-bottom:0}
  .nd-foot2 .nd-footer-col:not(:nth-child(4n+1))::before{display:none}
  .nd-foot2-meta span:last-child{margin-left:0}
}
@media(max-width:560px){
  .nd-foot2-frame{width:100%;border-inline:0}
  .nd-foot2-frame::before,.nd-foot2-frame::after{display:none}
  .nd-foot2-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nd-foot2-stats li:nth-child(2n){border-right:0}
  .nd-foot2-stats li:nth-child(n+3){border-top:1px solid var(--nd-night-line)}
  .nd-foot2-cta>*{flex:1}
  .nd-foot2-meta span{border-right:0;padding-block:10px;width:50%}
}

/* ---------- Line breaks: balanced titles, no one-word last lines ----------
   Headings, card and panel titles, section intros and FAQ questions split into lines of even length;
   body copy avoids a lone word on its last line. */
main :is(p,li,dd,blockquote,figcaption,td){text-wrap:pretty!important}
:is(h1,h2,h3,h4,h5,h6,.wp-block-heading),
main :is(b,strong,dt,summary,.lead,.nd-lead,.nd-bot2-lead,.ndg-platform-lead,.nd-docs-toc__h,.ndg-toc-title,.hm-panel-title,.panel__title,.ft-q__q,[class*="__title"],[class*="-title"],.head>p,.nd-section-heading>p,.nd-next__card span,.nd-bot2-cta-copy p){text-wrap:balance!important}

/* Focus and in-text links follow the app: blue #0254e3 (lighter on dark). Buttons and navigation keep their own colours. */
:focus-visible{outline-color:#0254e3}
:root[data-theme=dark] :focus-visible{outline-color:#2f6df6}
:is(.nd-docs-article .wp-block-post-content,.nd-prose,.ndg-article) p a:not([class]),
:is(.nd-docs-article .wp-block-post-content,.nd-prose,.ndg-article) li a:not([class]){color:#0254e3!important;text-decoration-color:rgba(2,84,227,.35)!important}
:root[data-theme=dark] :is(.nd-docs-article .wp-block-post-content,.nd-prose,.ndg-article) :is(p,li) a:not([class]){color:#6b98ff!important;text-decoration-color:rgba(107,152,255,.4)!important}

/* Offer bar on phones: centred, compact, a plain amber link, the close button clear of the text. */
@media(max-width:640px){
  .nd-offer-bar-inner{min-height:44px!important;padding:8px 44px!important;justify-content:center!important}
  .nd-offer-bar-text{text-align:center!important;font-size:12.5px!important;font-weight:500!important;line-height:1.45!important;text-wrap:balance}
  .nd-offer-bar-link{display:inline-block;margin-left:6px!important;font-weight:500!important;text-decoration:none!important}
  .nd-offer-bar-close{right:6px!important;width:32px!important;height:32px!important;margin-top:-16px!important}
}
