/* Generated by scripts/port_demo_css.py from redesign-demo/css. Do not edit by hand. */
/* ---- base.css ---- */
:root{--bg: #ffffff;          
  --bg-sunk: #f5f5f5;     
  --surface: #ffffff;     
  --ink: #171717;         
  --ink-2: #525252;       
  --ink-3: #737373;       
  --line: #e5e5e5;        
  --line-2: #d4d4d4;      
  --amber: #f39c12;       
  --amber-ink: #a95a05;   
  --amber-soft: #fdf0dc;  
  --ember-1: #f7a823;
  --ember-2: #ee6b12;
  --ember-3: #b93b0c;
  --night: #0a0a0a;       
  --night-2: #141414;
  --night-line: #262626;
  --night-ink: #ededed;
  --night-ink-2: #a3a3a3;
  --ok: #15803d; --ok-soft: #e3f4e8;
  --warn: #b45309; --warn-soft: #fdf0dc;
  --bad: #c2261d; --bad-soft: #fbe5e3;
  --info: #0254e3; --info-soft: #e6eefd;
  --focus: #0254e3;
  --shadow: 0 1px 2px rgba(0,0,0,.06), 0 8px 24px -12px rgba(0,0,0,.18);

  
  --f-display: "Geist", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --f-mono: "Geist Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  --t-hero: clamp(2.5rem, 5.4vw, 4.25rem);
  --t-h2: clamp(1.9rem, 3.4vw, 2.85rem);
  --t-h3: 1.25rem;
  --t-lead: clamp(1.05rem, 1.4vw, 1.2rem);

  
  --frame: 1200px;
  --r-card: 10px;
  --r-hero: 22px;
  --gutter: max(16px, env(safe-area-inset-left, 0px));
  --gutter-r: max(16px, env(safe-area-inset-right, 0px));}
:root[data-theme="dark"]{--bg: #000000; --bg-sunk: #0a0a0a; --surface: #141414;
  --ink: #ededed; --ink-2: #a3a3a3; --ink-3: #737373;
  --line: #262626; --line-2: #333333;
  --amber-ink: #f6b04a; --amber-soft: #2c2113;
  --night: #000000; --night-2: #0f0f0f; --night-line: #262626;
  --ok: #4ade80; --ok-soft: #10261a; --warn: #f6b04a; --warn-soft: #2c2113;
  --bad: #f87171; --bad-soft: #2d1513; --info: #6b98ff; --info-soft: #0b1a33; --focus: #2f6df6;
  --shadow: 0 1px 2px rgba(0,0,0,.4), 0 10px 30px -14px rgba(0,0,0,.7);
  color-scheme: dark;}
.nd2 *,.nd2 *::before,.nd2 *::after{box-sizing: border-box;}
.nd2{background: var(--bg); color: var(--ink); font: 400 16px/1.6 var(--f-body); overflow-x: hidden;}
.nd2 h1,.nd2 h2,.nd2 h3,.nd2 h4{font-family: var(--f-display); font-weight: 500; letter-spacing: -.03em; line-height: 1.08; margin: 0; text-wrap: balance; color: var(--ink);}
.nd2 h3{font-size: var(--t-h3); letter-spacing: -.015em; line-height: 1.25;}
.nd2 h4{font-size: 1rem; letter-spacing: -.01em; line-height: 1.3;}
.nd2 p{margin: 0; text-wrap: pretty;}
.nd2 a{color: inherit;}
.nd2 img{max-width: 100%; display: block;}
.nd2 code,.nd2 kbd,.nd2 .mono{font-family: var(--f-mono);}
.nd2 :focus-visible{outline: 2px solid var(--focus); outline-offset: 2px; border-radius: 4px;}
.nd2 ::selection{background: var(--amber); color: #171717;}
.nd2 .sr{position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;}
.nd2 .num{font-variant-numeric: tabular-nums;}
.nd2 .wrap{max-width: calc(var(--frame) + 2px); margin-inline: auto; padding-left: var(--gutter); padding-right: var(--gutter-r);}
.nd2 .rails{position: relative; border-inline: 1px solid var(--line);}
.nd2 .band{border-top: 1px solid var(--line);}
.nd2 .band--sunk{background: var(--bg-sunk);}
.nd2 .section{padding-block: clamp(56px, 8vw, 104px); padding-inline: clamp(20px, 4vw, 56px); position: relative;}
.nd2 .section--tight{padding-block: clamp(40px, 5vw, 64px);}
.nd2 .cross::before,.nd2 .cross::after{content: ""; position: absolute; top: -6px; width: 11px; height: 11px; z-index: 2;
  background: linear-gradient(var(--line-2), var(--line-2)) center/1px 100% no-repeat, linear-gradient(var(--line-2), var(--line-2)) center/100% 1px no-repeat;}
.nd2 .cross::before{left: -6px;}
.nd2 .cross::after{right: -6px;}
.nd2 .eyebrow{display: inline-flex; align-items: center; gap: 8px; font: 500 12px/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--amber-ink);}
.nd2 .eyebrow::before{content: ""; width: 6px; height: 6px; background: var(--amber); border-radius: 1px;}
.nd2 .eyebrow--plain::before{display: none;}
.nd2 .h-hero{font-size: var(--t-hero); letter-spacing: -.04em; line-height: 1.02;}
.nd2 .h2{font-size: var(--t-h2);}
.nd2 .lead{font-size: var(--t-lead); color: var(--ink-2); max-width: 62ch;}
.nd2 .muted{color: var(--ink-2);}
.nd2 .small{font-size: .875rem;}
.nd2 .caption{font: 400 12px/1.4 var(--f-mono); color: var(--ink-3); letter-spacing: .02em;}
.nd2 .head{display: grid; gap: 14px; max-width: 760px; margin-bottom: clamp(32px, 4vw, 52px);}
.nd2 .head--center{margin-inline: auto; text-align: center; justify-items: center;}
.nd2 .head--split{max-width: none; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: end; gap: 24px 56px;}
@media (max-width: 860px){.nd2 .head--split{grid-template-columns: 1fr;}}
.nd2 .btn{display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 44px; padding: 0 20px; border-radius: 999px; border: 1px solid transparent;
  font: 500 15px/1 var(--f-body); text-decoration: none; cursor: pointer; white-space: nowrap; transition: background-color .15s, border-color .15s, transform .15s;}
.nd2 .btn:active{transform: translateY(1px);}
.nd2 .btn--primary{background: var(--amber); color: #171717;}
.nd2 .btn--primary:hover{background: #f7ae3a;}
.nd2 .btn--ink{background: var(--ink); color: var(--bg);}
.nd2 .btn--ink:hover{opacity: .9;}
.nd2 .btn--ghost{background: transparent; color: var(--ink); border-color: var(--line-2);}
.nd2 .btn--ghost:hover{border-color: var(--ink);}
.nd2 .btn--light{background: #ffffff; color: #171717;}
.nd2 .btn--light:hover{background: #fff;}
.nd2 .btn--sm{height: 36px; padding: 0 14px; font-size: 14px;}
.nd2 .link{display: inline-flex; align-items: center; gap: 6px; font-weight: 500; color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--line-2); padding-bottom: 1px;}
.nd2 .link:hover{border-color: var(--amber);}
.nd2 .link::after{content: "→"; transition: transform .15s;}
.nd2 .link:hover::after{transform: translateX(3px);}
.nd2 .actions{display: flex; flex-wrap: wrap; gap: 12px; align-items: center;}
.nd2 .chip{display: inline-flex; align-items: center; gap: 7px; height: 30px; padding: 0 12px; border: 1px solid var(--line); border-radius: 999px; font-size: 13px; color: var(--ink-2); background: var(--surface); white-space: nowrap;}
.nd2 .chip .lg{width: 15px; height: 15px;}
.nd2 .pill{display: inline-flex; align-items: center; gap: 6px; height: 22px; padding: 0 9px; border-radius: 999px; font: 500 12px/1 var(--f-body); white-space: nowrap;}
.nd2 .pill::before{content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor;}
.nd2 .pill--ok{background: var(--ok-soft); color: var(--ok);}
.nd2 .pill--warn{background: var(--warn-soft); color: var(--warn);}
.nd2 .pill--bad{background: var(--bad-soft); color: var(--bad);}
.nd2 .pill--info{background: var(--info-soft); color: var(--info);}
.nd2 .pill--plain{background: var(--bg-sunk); color: var(--ink-2);}
.nd2 .pill--plain::before{display: none;}
.nd2 .prio{display: inline-grid; place-items: center; width: 30px; height: 22px; border-radius: 5px; font: 600 11px/1 var(--f-mono);}
.nd2 .prio--0{background: var(--bad-soft); color: var(--bad);}
.nd2 .prio--1{background: var(--warn-soft); color: var(--warn);}
.nd2 .prio--2{background: var(--info-soft); color: var(--info);}
.nd2 .prio--3{background: var(--bg-sunk); color: var(--ink-2);}
.nd2 kbd{display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; border: 1px solid var(--line-2); border-bottom-width: 2px; border-radius: 5px; font-size: 11px; color: var(--ink-2); background: var(--surface);}
.nd2 .ic{display: inline-block; width: 20px; height: 20px; flex: none; background: currentColor; -webkit-mask: var(--nd-icon) center/contain no-repeat; mask: var(--nd-icon) center/contain no-repeat;}
.nd2 .ic-tile{display: grid; place-items: center; width: 40px; height: 40px; border-radius: 9px; background: var(--amber-soft); color: var(--amber-ink); flex: none;}
.nd2 .lg{display: inline-block; width: 20px; height: 20px; flex: none; background: var(--nd-logo-light, var(--nd-logo)) center/contain no-repeat;}
.nd2 .logo-tile{display: grid; place-items: center; width: 40px; height: 40px; border-radius: 9px; background: #fff; border: 1px solid var(--line); flex: none;}
.nd2 .logo-tile .lg{width: 22px; height: 22px; background-image: var(--nd-logo-light, var(--nd-logo));}
:root[data-theme="dark"] .lg:not(.logo-tile .lg){background-image: var(--nd-logo);}
.nd2 .on-night .lg{background-image: var(--nd-logo) !important;}
.nd2 .grid{display: grid; gap: 16px;}
.nd2 .g2{grid-template-columns: repeat(2, minmax(0, 1fr));}
.nd2 .g3{grid-template-columns: repeat(3, minmax(0, 1fr));}
.nd2 .g4{grid-template-columns: repeat(4, minmax(0, 1fr));}
@media (max-width: 980px){.nd2 .g4{grid-template-columns: repeat(2, minmax(0, 1fr));}
.nd2 .g3{grid-template-columns: repeat(2, minmax(0, 1fr));}}
@media (max-width: 640px){.nd2 .g2,.nd2 .g3,.nd2 .g4{grid-template-columns: 1fr;}}
.nd2 .card{background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-card); padding: 22px; display: grid; gap: 10px; align-content: start; min-width: 0;}
.nd2 a.card{text-decoration: none; transition: border-color .15s, transform .15s;}
.nd2 a.card:hover{border-color: var(--line-2); transform: translateY(-2px);}
.nd2 .card p{color: var(--ink-2); font-size: .95rem;}
.nd2 .cells{display: grid; border-top: 1px solid var(--line);}
.nd2 .cells > *{border-bottom: 1px solid var(--line); min-width: 0;}
.nd2 .cells.c3{grid-template-columns: repeat(3, minmax(0, 1fr));}
.nd2 .cells.c4{grid-template-columns: repeat(4, minmax(0, 1fr));}
.nd2 .cells.c3 > *:not(:nth-child(3n)),.nd2 .cells.c4 > *:not(:nth-child(4n)){border-right: 1px solid var(--line);}
@media (max-width: 860px){.nd2 .cells.c3,.nd2 .cells.c4{grid-template-columns: repeat(2, minmax(0, 1fr));}
.nd2 .cells.c3 > *,.nd2 .cells.c4 > *{border-right: 0 !important;}
.nd2 .cells.c3 > *:nth-child(odd),.nd2 .cells.c4 > *:nth-child(odd){border-right: 1px solid var(--line) !important;}}
@media (max-width: 520px){.nd2 .cells.c3,.nd2 .cells.c4{grid-template-columns: 1fr;}
.nd2 .cells.c3 > *,.nd2 .cells.c4 > *{border-right: 0 !important;}}
.nd2 .cell{padding: 28px clamp(20px, 3vw, 32px); display: grid; gap: 10px; align-content: start;}
.nd2 .ticks{list-style: none; padding: 0; margin: 0; display: grid; gap: 10px;}
.nd2 .ticks li{display: grid; grid-template-columns: 18px 1fr; gap: 10px; color: var(--ink-2);}
.nd2 .ticks li::before{content: "→"; color: var(--amber-ink); font-weight: 600;}
.nd2 .panel{background: var(--surface); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); overflow: hidden; min-width: 0;}
.nd2 .panel__bar{display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--line);}
.nd2 .panel__title{font-weight: 600; font-size: 14px;}
.nd2 .panel__body{padding: 16px; display: grid; gap: 12px;}
.nd2 .kpis{display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 8px; overflow: hidden;}
.nd2 .kpi{background: var(--surface); padding: 12px 14px; display: grid; gap: 2px;}
.nd2 .kpi__label{font-size: 12px; color: var(--ink-3);}
.nd2 .kpi__value{font: 500 22px/1.15 var(--f-display); letter-spacing: -.02em; font-variant-numeric: tabular-nums;}
.nd2 .kpi__delta{font: 500 12px/1 var(--f-mono); color: var(--ok);}
.nd2 .kpi__delta.is-bad{color: var(--bad);}
.nd2 .rows{display: grid;}
.nd2 .row{display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 2px; border-top: 1px solid var(--line); font-size: 14px;}
.nd2 .row:first-child{border-top: 0;}
.nd2 .row b{font-weight: 500;}
.nd2 .row small{color: var(--ink-3); display: block; font-size: 12px;}
.nd2 .bar{height: 8px; border-radius: 99px; background: var(--bg-sunk); overflow: hidden;}
.nd2 .bar > i{display: block; height: 100%; background: var(--amber); border-radius: inherit;}
.nd2 .illus{font: 400 11px/1 var(--f-mono); color: var(--ink-3); letter-spacing: .02em;}
.nd2 .code{background: var(--night); color: var(--night-ink); border: 1px solid var(--night-line); border-radius: 10px; overflow: hidden; min-width: 0;}
.nd2 .code__bar{display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 8px 8px 14px; border-bottom: 1px solid var(--night-line); font: 12px/1 var(--f-mono); color: var(--night-ink-2);}
.nd2 .code pre{margin: 0; padding: 16px; overflow-x: auto; font: 13px/1.65 var(--f-mono);}
.nd2 .code .k{color: #f6b04a;}
.nd2 .code .s{color: #9fd6a6;}
.nd2 .code .c{color: #737373;}
.nd2 .code .p{color: #7aa7f5;}
.nd2 .copy{height: 28px; padding: 0 10px; border-radius: 6px; border: 1px solid var(--night-line); background: transparent; color: var(--night-ink-2); font: 12px/1 var(--f-mono); cursor: pointer;}
.nd2 .copy:hover{color: var(--night-ink); border-color: var(--night-ink-2);}
.nd2 .tabs{display: flex; gap: 4px; padding: 4px; border: 1px solid var(--line); border-radius: 999px; background: var(--bg-sunk); width: max-content; max-width: 100%; overflow-x: auto; scrollbar-width: none;}
.nd2 .tabs button{height: 34px; padding: 0 14px; border: 0; border-radius: 999px; background: transparent; color: var(--ink-2); font: 500 14px/1 var(--f-body); cursor: pointer; white-space: nowrap; display: inline-flex; align-items: center; gap: 7px;}
.nd2 .tabs button[aria-selected="true"]{background: var(--surface); color: var(--ink); box-shadow: 0 1px 2px rgba(0,0,0,.08), 0 0 0 1px var(--line);}
.nd2 .tabpanel[hidden]{display: none;}
.nd2 .night{background: var(--night); color: var(--night-ink); --line: var(--night-line); --line-2: #333333; --ink: var(--night-ink); --ink-2: var(--night-ink-2); --ink-3: #737373; --surface: var(--night-2); --bg-sunk: #1a1a1a; --amber-ink: #f6b04a; --amber-soft: #2c2113;}
.nd2 .night h1,.nd2 .night h2,.nd2 .night h3,.nd2 .night h4{color: var(--night-ink);}
.nd2 .ember{position: relative; isolation: isolate; overflow: hidden; border-radius: var(--r-hero); color: #ffffff;
  background: radial-gradient(120% 90% at 50% 120%, #ffd27a 0%, rgba(255,210,122,0) 45%), linear-gradient(160deg, var(--ember-1) 0%, var(--ember-2) 48%, var(--ember-3) 100%);}
.nd2 .ember::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(to bottom, #000 0%, transparent 75%); mask-image: linear-gradient(to bottom, #000 0%, transparent 75%);}
.nd2 .ember canvas.streaks{position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; opacity: .55; pointer-events: none;}
.nd2 .ember h1,.nd2 .ember h2{color: #ffffff;}
.nd2 .ember .lead{color: rgba(255,255,255,.88);}
.nd2 .ember .eyebrow{color: #fff3df;}
.nd2 .ember .eyebrow::before{background: #fff3df;}
:root[data-theme="dark"] .brand .light-only{display: none;}
:root[data-theme="dark"] .brand .dark-only{display: block;}
.nd2 .on-night .brand .light-only{display: none !important;}
.nd2 .on-night .brand .dark-only{display: block !important;}
.nd2 .crumbs{display: flex; flex-wrap: wrap; gap: 6px; font-size: 13px; color: var(--ink-3);}
.nd2 .crumbs a{color: var(--ink-2); text-decoration: none;}
.nd2 .crumbs a:hover{color: var(--ink);}
.nd2 .crumbs span[aria-hidden]{opacity: .6;}
.nd2 .subnav{position: sticky; top: calc(env(safe-area-inset-top, 0px) + 64px); z-index: 40; background: color-mix(in srgb, var(--bg) 90%, transparent); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid var(--line);}
.nd2 .subnav .wrap{display: flex; align-items: center; gap: 4px; height: 52px; overflow-x: auto; scrollbar-width: none;}
.nd2 .subnav b{font: 500 15px/1 var(--f-display); margin-right: 14px; white-space: nowrap;}
.nd2 .subnav a{padding: 8px 12px; border-radius: 8px; color: var(--ink-2); text-decoration: none; font-size: 14px; white-space: nowrap;}
.nd2 .subnav a:hover,.nd2 .subnav a.is-on{color: var(--ink); background: var(--bg-sunk);}
.nd2 .subnav .btn{margin-left: auto;}
.nd2 .faq{display: grid; border-top: 1px solid var(--line);}
.nd2 .faq details{border-bottom: 1px solid var(--line);}
.nd2 .faq summary{list-style: none; cursor: pointer; display: grid; grid-template-columns: 1fr 24px; gap: 16px; padding: 20px 2px; font: 500 17px/1.35 var(--f-display); letter-spacing: -.01em;}
.nd2 .faq summary::-webkit-details-marker{display: none;}
.nd2 .faq summary::after{content: "+"; font: 400 22px/1 var(--f-body); color: var(--ink-3); text-align: right; transition: rotate .2s;}
.nd2 .faq details[open] summary::after{rotate: 45deg;}
.nd2 .faq details p{padding: 0 40px 22px 2px; color: var(--ink-2); max-width: 72ch;}
.nd2 .callout{border: 1px solid var(--line); border-left: 3px solid var(--amber); border-radius: 0 10px 10px 0; padding: 14px 18px; background: var(--surface); display: grid; gap: 4px;}
.nd2 .callout b{font-weight: 600;}
.nd2 .callout--info{border-left-color: var(--info);}
.nd2 .callout--warn{border-left-color: var(--warn);}
.nd2 .callout--bad{border-left-color: var(--bad);}
.nd2 .closer{padding: clamp(40px, 6vw, 72px) clamp(24px, 5vw, 64px); display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 28px; align-items: end;}
.nd2 .closer .actions{justify-content: flex-end;}
@media (max-width: 860px){.nd2 .closer{grid-template-columns: 1fr;}
.nd2 .closer .actions{justify-content: flex-start;}}
.nd2 .field{display: flex; align-items: center; gap: 8px; height: 52px; padding: 0 6px 0 16px; border-radius: 999px; background: #171717; border: 1px solid rgba(255,255,255,.14); box-shadow: 0 10px 30px -10px rgba(60,20,0,.55);}
.nd2 .field input{flex: 1; min-width: 0; height: 100%; border: 0; background: transparent; color: #ffffff; font: 16px/1 var(--f-body); outline: none;}
.nd2 .field input::placeholder{color: rgba(255,255,255,.5);}
.nd2 .field .pre{color: rgba(255,255,255,.5); font: 14px/1 var(--f-mono);}
.nd2 .input{height: 42px; width: 100%; padding: 0 14px; border: 1px solid var(--line-2); border-radius: 10px; background: var(--surface); color: var(--ink); font: 15px/1 var(--f-body);}
.nd2 .input:focus{outline: 2px solid var(--focus); outline-offset: 0; border-color: transparent;}
.nd2 textarea.input{height: auto; padding: 12px 14px; line-height: 1.5; resize: vertical;}
.nd2 label.lbl{display: grid; gap: 6px; font-size: 14px; font-weight: 500;}
@keyframes nd2-viewIn{ from { transform: translateY(8px); } to { transform: none; } }
@media (prefers-reduced-motion: reduce){.nd2 *,.nd2 *::before,.nd2 *::after{animation-duration: .001ms !important; transition-duration: .001ms !important;}}
.nd2 kbd{white-space: nowrap;}
/* ---- home.css ---- */
.nd2 .hm-hero{padding: clamp(36px, 5vw, 64px) clamp(20px, 5vw, 64px) clamp(150px, 16vw, 210px); text-align: center;}
.nd2 .hm-hero__in{display: grid; justify-items: center; gap: 22px; max-width: 880px; margin-inline: auto;}
.nd2 .hm-hero .lead{margin-inline: auto;}
.nd2 .hm-field{width: min(560px, 100%);}
.nd2 .hm-field .btn{flex: none;}
.nd2 .hm-hero__chips{display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 18px; font: 500 12.5px/1 var(--f-mono); color: rgba(255,255,255,.85);}
.nd2 .hm-hero__chips span::before{content: "✓ "; color: #fff3df;}
.nd2 .hm-hero__fine{font-size: 14px; color: rgba(255,255,255,.8);}
.nd2 .hm-hero__fine a{color: #ffffff;}
.nd2 .hm-hero__note{font-size: 14px; background: rgba(0,0,0,.35); border: 1px solid rgba(255,255,255,.2); padding: 10px 14px; border-radius: 10px; max-width: 520px;}
.nd2 .hm-frame{position: relative; z-index: 2; margin: clamp(-170px, -14vw, -120px) auto 0; width: min(1060px, calc(100% - 2 * clamp(0px, 3vw, 40px))); background: var(--surface); border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 40px 80px -40px rgba(60,25,0,.45), 0 2px 6px rgba(0,0,0,.06); overflow: hidden;}
.nd2 .hm-frame__chrome{display: flex; align-items: center; gap: 14px; padding: 10px 14px; border-bottom: 1px solid var(--line); background: var(--bg-sunk);}
.nd2 .hm-dots{display: flex; gap: 6px; flex: none;}
.nd2 .hm-dots i{width: 10px; height: 10px; border-radius: 50%; background: var(--line-2);}
.nd2 .hm-frame__chrome .tabs{margin-inline: auto; background: var(--bg);}
.nd2 .hm-frame__illus{flex: none;}
.nd2 .hm-frame__body{display: grid; grid-template-columns: 190px minmax(0, 1fr); min-height: 380px;}
.nd2 .hm-side{display: grid; align-content: start; gap: 2px; padding: 16px 10px; border-right: 1px solid var(--line); font-size: 13.5px; color: var(--ink-2);}
.nd2 .hm-side b{font: 500 13px/1.2 var(--f-mono); color: var(--ink); padding: 0 10px 12px;}
.nd2 .hm-side span{padding: 7px 10px; border-radius: 7px;}
.nd2 .hm-side .is-on{background: var(--amber-soft); color: var(--amber-ink); font-weight: 500;}
.nd2 .hm-main{padding: 20px; min-width: 0;}
.nd2 .hm-main > div{display: grid; gap: 14px;}
.nd2 .hm-row-head{display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap;}
.nd2 .hm-row-head h3,.nd2 .hm-row-head .hm-panel-title{font: 500 1.05rem/1.25 var(--f-display); letter-spacing: -.015em; color: var(--ink);}
.nd2 .hm-chart{width: 100%; height: auto;}
.nd2 .hm-grid line{stroke: var(--line); stroke-dasharray: 3 4;}
.nd2 .hm-area{fill: var(--amber); opacity: .14;}
.nd2 .hm-line{fill: none; stroke: var(--amber); stroke-width: 2.5; stroke-linejoin: round;}
.nd2 .hm-end{fill: var(--amber); stroke: var(--surface); stroke-width: 3;}
.nd2 .hm-mark{stroke: var(--ink-3); stroke-dasharray: 2 3;}
.nd2 .hm-tag{font: 500 11px var(--f-mono); fill: var(--ink-2);}
@media (max-width: 760px){.nd2 .hm-frame__body{grid-template-columns: 1fr;}
.nd2 .hm-side{display: none;}
.nd2 .hm-frame__illus,.nd2 .hm-dots{display: none;}
.nd2 .hm-frame__chrome .tabs{margin: 0;}
.nd2 .hm-main{padding: 14px;}}
.nd2 .hm-sources{display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin-top: 28px;}
.nd2 .hm-sources .caption{margin-right: 6px; text-transform: uppercase; letter-spacing: .08em;}
.nd2 .hm-proof{display: grid; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: 32px; align-items: center;}
.nd2 .hm-proof__h{font-size: 1.3rem; letter-spacing: -.02em;}
.nd2 .hm-marquee{overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);}
.nd2 .hm-marquee__track{display: flex; gap: 14px; width: max-content; animation: nd2-hmMarq 48s linear infinite;}
.nd2 .hm-marquee:hover .hm-marquee__track{animation-play-state: paused;}
.nd2 .hm-marquee img{height: 52px; width: 150px; object-fit: contain; padding: 10px 16px; background: #fff; border: 1px solid var(--line); border-radius: 10px;}
@keyframes nd2-hmMarq{ to { transform: translateX(calc(-50% - 7px)); } }
@media (max-width: 860px){.nd2 .hm-proof{grid-template-columns: 1fr;}}
.nd2 .hm-stats{border-top: 1px solid var(--line);}
.nd2 .hm-stat{font: 500 clamp(2rem, 3.6vw, 2.75rem)/1 var(--f-display); letter-spacing: -.04em; color: var(--ink);}
.nd2 .hm-stats .cell{gap: 8px;}
.nd2 .hm-stats .cell:last-child,.nd2 .hm-stats .cell:nth-last-child(-n+4){border-bottom: 0;}
.nd2 .hm-chain{list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); overflow: hidden;}
.nd2 .hm-chain li{display: grid; gap: 14px; align-content: start; padding: 26px; position: relative; min-width: 0;}
.nd2 .hm-chain li + li{border-left: 1px solid var(--line);}
.nd2 .hm-chain li + li::before{content: "→"; position: absolute; left: -13px; top: 24px; width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: var(--amber); color: #171717; font-size: 13px; font-weight: 600; z-index: 1;}
.nd2 .hm-chain h3{font-size: 1.15rem;}
.nd2 .hm-log{background: var(--night); color: var(--night-ink-2); border-radius: 8px; padding: 12px; font: 11.5px/1.75 var(--f-mono); overflow-x: auto;}
.nd2 .hm-log div{white-space: nowrap;}
.nd2 .hm-log span{opacity: .55;}
.nd2 .hm-log b{font-weight: 500;}
.nd2 .hm-log .ok{color: #4ade80;}
.nd2 .hm-log .bad{color: #f87171;}
.nd2 .hm-log em{font-style: normal; color: #f6b04a;}
.nd2 .hm-answer{border: 1px solid var(--line); border-radius: 8px; padding: 12px; display: grid; gap: 8px; font-size: 14px; background: var(--bg);}
.nd2 .hm-answer__q{display: flex; gap: 8px; align-items: center; font-weight: 500;}
.nd2 .hm-answer__q .lg{width: 16px; height: 16px;}
.nd2 .hm-answer p{color: var(--ink-2);}
.nd2 .hm-answer mark{background: var(--amber-soft); color: var(--ink); padding: 0 3px; border-radius: 3px;}
.nd2 .hm-cite{display: inline-flex; padding: 1px 8px; border-radius: 99px; font: 11px/1.6 var(--f-mono); background: var(--bg-sunk); border: 1px solid var(--line); color: var(--ink);}
.nd2 .hm-answer__tags{display: flex; gap: 6px;}
.nd2 .hm-visit{border: 1px solid var(--line); border-radius: 8px; padding: 2px 12px; background: var(--bg);}
.nd2 .hm-chain__note{margin-top: 20px; display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: baseline; color: var(--ink-2); font-size: 14px; max-width: 90ch;}
@media (max-width: 900px){.nd2 .hm-chain{grid-template-columns: 1fr;}
.nd2 .hm-chain li + li{border-left: 0; border-top: 1px solid var(--line);}
.nd2 .hm-chain li + li::before{left: 26px; top: -13px; content: "↓";}}
.nd2 .hm-jobs{display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 28px; align-items: start;}
.nd2 .hm-jobs__list{display: grid; gap: 4px; position: sticky; top: calc(env(safe-area-inset-top, 0px) + 88px);}
.nd2 .hm-jobs__list button{display: grid; grid-template-columns: 22px 1fr; gap: 12px; align-items: start; text-align: left; padding: 14px; border: 1px solid transparent; border-radius: 10px; background: transparent; color: var(--ink-2); cursor: pointer; font: inherit;}
.nd2 .hm-jobs__list button .ic{margin-top: 2px;}
.nd2 .hm-jobs__list button b{display: block; font: 500 15.5px/1.3 var(--f-display); color: var(--ink); letter-spacing: -.01em;}
.nd2 .hm-jobs__list button small{display: block; font-size: 13px; color: var(--ink-3); margin-top: 2px;}
.nd2 .hm-jobs__list button:hover{background: var(--bg-sunk);}
.nd2 .hm-jobs__list button[aria-selected="true"]{background: var(--surface); border-color: var(--line); box-shadow: var(--shadow); color: var(--amber-ink);}
.nd2 .hm-job{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 28px; align-items: start; padding: 28px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg-sunk);}
.nd2 .hm-job[hidden]{display: none;}
.nd2 .hm-job__copy{display: grid; gap: 14px;}
.nd2 .hm-job__copy h3{font-size: 1.45rem; letter-spacing: -.025em;}
.nd2 .hm-job__mods{display: flex; flex-wrap: wrap; gap: 6px;}
.nd2 .hm-job__mods .chip{text-decoration: none; color: var(--ink);}
.nd2 .hm-job__mods .chip:hover{border-color: var(--amber);}
.nd2 .hm-bars{display: flex; align-items: flex-end; gap: 6px; height: 110px; padding-top: 6px;}
.nd2 .hm-bars i{flex: 1; height: var(--h); background: linear-gradient(var(--amber), color-mix(in srgb, var(--amber) 55%, transparent)); border-radius: 4px 4px 0 0;}
.nd2 .hm-src{display: grid; grid-template-columns: 96px minmax(0, 1fr) 64px; gap: 12px; align-items: center; font-size: 14px;}
.nd2 .hm-src b{font-weight: 500; text-align: right;}
.nd2 .hm-table{width: 100%; border-collapse: collapse; font-size: 14px;}
.nd2 .hm-table th{text-align: left; font: 500 11px/1 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); padding: 0 6px 8px;}
.nd2 .hm-table td{padding: 10px 6px; border-top: 1px solid var(--line);}
@media (max-width: 1000px){.nd2 .hm-jobs{grid-template-columns: 1fr;}
.nd2 .hm-jobs__list{position: static; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));}
.nd2 .hm-job{grid-template-columns: 1fr;}}
@media (max-width: 520px){.nd2 .hm-jobs__list{grid-template-columns: 1fr;}
.nd2 .hm-jobs__list button small{display: none;}
.nd2 .hm-job{padding: 18px;}}
.nd2 .hm-agent{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(28px, 4vw, 56px); align-items: center;}
.nd2 .hm-agent__copy{display: grid; gap: 18px;}
.nd2 .hm-agent__facts{border: 1px solid var(--line); border-radius: 10px; overflow: hidden;}
.nd2 .hm-agent__facts .cell{padding: 16px; gap: 4px; border-bottom: 0;}
.nd2 .hm-session__body{padding: 18px; display: grid; gap: 10px; font-size: 14px;}
.nd2 .hm-you,.nd2 .hm-agent-ans{display: grid; gap: 4px;}
.nd2 .hm-you span,.nd2 .hm-agent-ans span{font: 500 11px/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--night-ink-2);}
.nd2 .hm-you{padding: 10px 12px; background: #1a1a1a; border-radius: 8px; color: var(--night-ink);}
.nd2 .hm-tool{display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 12px; align-items: baseline; padding: 8px 10px; border-left: 2px solid #f6b04a; background: #0f0f0f; border-radius: 0 6px 6px 0;}
.nd2 .hm-tool code{color: #f6b04a; font-size: 12px;}
.nd2 .hm-tool span{color: var(--night-ink-2); font-size: 13px;}
.nd2 .hm-agent-ans{color: var(--night-ink); line-height: 1.55;}
.nd2 .hm-agent-ans code{background: #2c2113; color: #f6b04a; padding: 1px 5px; border-radius: 4px; font-size: 12.5px;}
@media (max-width: 900px){.nd2 .hm-agent{grid-template-columns: 1fr;}}
@media (max-width: 520px){.nd2 .hm-tool{grid-template-columns: 1fr;}
.nd2 .hm-agent__facts{grid-template-columns: repeat(3, minmax(0, 1fr)) !important;}
.nd2 .hm-agent__facts .cell{border-right: 1px solid var(--line) !important;}
.nd2 .hm-agent__facts .cell:last-child{border-right: 0 !important;}}
.nd2 .hm-cost{border: 1px solid var(--line); border-radius: 12px; overflow: hidden;}
.nd2 .hm-cost .cell{border-bottom: 0;}
.nd2 .hm-cost .pill{justify-self: start;}
@media (max-width: 860px){.nd2 .hm-cost .cell{border-bottom: 1px solid var(--line);}}
.nd2 .hm-plans{display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 16px;}
.nd2 .hm-plan{display: grid; gap: 4px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; text-decoration: none; background: var(--surface); transition: border-color .15s, transform .15s;}
.nd2 .hm-plan:hover{border-color: var(--amber); transform: translateY(-2px);}
.nd2 .hm-plan.is-pop{border-color: var(--amber); box-shadow: 0 0 0 1px var(--amber);}
.nd2 .hm-plan__n{display: flex; align-items: center; gap: 8px; font: 500 15px/1.2 var(--f-display);}
.nd2 .hm-plan__p{font: 500 1.6rem/1.15 var(--f-display); letter-spacing: -.03em;}
@media (max-width: 860px){.nd2 .hm-plans{grid-template-columns: repeat(2, minmax(0, 1fr));}}
.nd2 .hm-markets{display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 40px; align-items: center;}
.nd2 .hm-markets__copy{display: grid; gap: 18px;}
.nd2 .hm-legend{display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 14px; color: var(--ink-2);}
.nd2 .hm-legend span{display: inline-flex; align-items: center; gap: 8px;}
.nd2 .hm-legend i{width: 10px; height: 10px; border-radius: 1px;}
.nd2 .hm-legend .is-full{background: var(--amber);}
.nd2 .hm-legend .is-vol{background: color-mix(in srgb, var(--amber) 40%, transparent);}
.nd2 .hm-legend .is-own{background: color-mix(in srgb, var(--ink) 18%, transparent);}
.nd2 .hm-mk-list{display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none;}
.nd2 .hm-mk-list li{font: 400 12px/1 var(--f-mono); padding: 6px 8px; border: 1px solid var(--line); background: var(--surface); color: var(--ink-2);}
.nd2 .hm-mk-list li.is-home{border-color: color-mix(in srgb, var(--amber) 60%, var(--line)); color: var(--ink);}
.nd2 .hm-map{position: relative;}
.nd2 .hm-map svg{width: 100%; height: auto; max-width: 620px; margin-inline: auto; display: block; touch-action: manipulation;}
.nd2 .hm-map .c circle{fill: color-mix(in srgb, var(--ink) 17%, transparent); opacity: 0; animation: nd2-hmDot .6s ease forwards; animation-delay: var(--d, 0ms); transition: fill-opacity .15s, fill .15s; cursor: pointer;}
.nd2 .hm-map .t-vol circle{fill: color-mix(in srgb, var(--amber) 42%, transparent);}
.nd2 .hm-map .t-full circle{fill: var(--amber);}
.nd2 .hm-map .t-home circle{fill: #ee6b12;}
.nd2 .hm-map.is-hovering .c:not(.is-hot) circle{fill-opacity: .35;}
.nd2 .hm-map .c.is-hot circle{fill-opacity: 1;}
.nd2 .hm-map .c.t-own.is-hot circle{fill: color-mix(in srgb, var(--ink) 45%, transparent);}
@keyframes nd2-hmDot{ from { opacity: 0; transform: scale(.2); } to { opacity: 1; transform: none; } }
.nd2 .hm-map .c circle{transform-box: fill-box; transform-origin: center;}
.nd2 .hm-map .isle{fill: none; stroke: color-mix(in srgb, var(--amber) 70%, transparent); stroke-width: 1; stroke-dasharray: 2 2;}
.nd2 .hm-map .home{fill: var(--bg-sunk); stroke: #ee6b12; stroke-width: 2;}
.nd2 .hm-map .pulse{fill: none; stroke: #ee6b12; stroke-width: 1.5; transform-box: fill-box; transform-origin: center; animation: nd2-hmPulse 2.4s ease-out infinite;}
@keyframes nd2-hmPulse{ from { transform: scale(.6); opacity: .9; } to { transform: scale(3); opacity: 0; } }
.nd2 .hm-map .tag line{stroke: var(--ink-3); stroke-width: 1; stroke-dasharray: 2 2;}
.nd2 .hm-map .tag text{font: 500 10.5px var(--f-mono); letter-spacing: .08em; fill: var(--ink); paint-order: stroke; stroke: var(--bg-sunk); stroke-width: 3px;}
.nd2 .hm-map__tip{position: absolute; z-index: 2; transform: translate(-50%, calc(-100% - 14px)); display: grid; gap: 3px; padding: 8px 12px; background: var(--surface); border: 1px solid var(--line-2); box-shadow: inset 2px 0 0 var(--line-2); pointer-events: none; white-space: nowrap;}
.nd2 .hm-map__tip b{font: 500 14px/1.2 var(--f-body); color: var(--ink);}
.nd2 .hm-map__tip span{font: 400 11.5px/1.2 var(--f-mono); color: var(--ink-3);}
.nd2 .hm-map__tip.is-full,.nd2 .hm-map__tip.is-home{box-shadow: inset 2px 0 0 var(--amber);}
.nd2 .hm-map__tip.is-vol{box-shadow: inset 2px 0 0 color-mix(in srgb, var(--amber) 45%, transparent);}
@media (max-width: 860px){.nd2 .hm-markets{grid-template-columns: 1fr;}}
@media (prefers-reduced-motion: reduce){.nd2 .hm-map .c circle{opacity: 1; animation: none;}
.nd2 .hm-map .pulse{display: none;}
.nd2 .hm-marquee__track{animation: none; flex-wrap: wrap; width: auto;}}
.nd2 .hm-tools{border: 1px solid var(--line); border-radius: 12px; overflow: hidden;}
.nd2 .hm-tools .cell{text-decoration: none; transition: background-color .15s;}
.nd2 .hm-tools .cell:hover{background: var(--bg-sunk);}
.nd2 .hm-tools .cell .ic{color: var(--amber-ink);}
.nd2 .hm-tools .cell:nth-last-child(-n+3){border-bottom: 0;}
@media (max-width: 860px){.nd2 .hm-tools .cell:nth-last-child(-n+3){border-bottom: 1px solid var(--line);}}
.nd2 .hm-faq{display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: 40px; align-items: start;}
.nd2 .hm-faq .head{margin: 0; position: sticky; top: calc(env(safe-area-inset-top, 0px) + 88px);}
@media (max-width: 860px){.nd2 .hm-faq{grid-template-columns: 1fr;}
.nd2 .hm-faq .head{position: static;}}
.nd2 .hm-hero__in{grid-template-columns: minmax(0, 1fr); width: 100%;}
.nd2 .hm-hero__in > *{max-width: 100%;}
@media (max-width: 520px){.nd2 .hm-field .pre{display: none;}
.nd2 .hm-hero{padding-inline: 18px;}}
.nd2 .hm-flow{list-style: none; margin: 0; padding: 0; position: relative; display: grid; border-top: 1px solid var(--line);}
.nd2 .hm-flow::before{content: ""; position: absolute; left: 27px; top: 56px; bottom: 56px; border-left: 1px dashed color-mix(in srgb, var(--amber) 55%, var(--line-2));}
.nd2 .hm-step{display: grid; grid-template-columns: 56px minmax(0, .85fr) minmax(0, 1.25fr); gap: 0 clamp(24px, 3.5vw, 48px); align-items: center; padding: clamp(28px, 4vw, 44px) 0; border-bottom: 1px solid var(--line); position: relative;}
.nd2 .hm-step__n{position: relative; z-index: 1; align-self: start; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; border: 1px dashed var(--amber); background: var(--band-bg, var(--bg)); color: var(--amber-ink); font: 500 13px/1 var(--f-mono);}
.nd2 .hm-step__copy{display: grid; gap: 10px; align-content: start;}
.nd2 .hm-step__copy .caption{text-transform: uppercase; letter-spacing: .08em; color: var(--amber-ink);}
.nd2 .hm-step__copy h3{font-size: clamp(1.25rem, 1.8vw, 1.5rem); letter-spacing: -.02em;}
.nd2 .hm-step__copy .link{justify-self: start; margin-top: 4px;}
.nd2 .hm-step__vis{min-width: 0;}
.nd2 .hm-step__vis .panel__title{display: inline-flex; align-items: center; gap: 8px;}
.nd2 .hm-step__vis .panel__title .lg{width: 16px; height: 16px;}
.nd2 .hm-reqs{display: grid;}
.nd2 .hm-req{display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; gap: 12px; align-items: center; padding: 11px 16px; border-top: 1px solid var(--line); font-size: 14px;}
.nd2 .hm-req:first-child{border-top: 0;}
.nd2 .hm-req code{font-size: 12.5px; color: var(--ink); overflow-wrap: anywhere;}
.nd2 .hm-status{font: 500 12px/1 var(--f-mono); padding: 4px 6px; border-radius: 4px;}
.nd2 .hm-status.is-ok{background: var(--ok-soft); color: var(--ok);}
.nd2 .hm-status.is-bad{background: var(--bad-soft); color: var(--bad);}
.nd2 .hm-bot{display: inline-flex; align-items: center; gap: 7px; color: var(--ink-2); white-space: nowrap;}
.nd2 .hm-bot .lg,.nd2 .hm-bot .ic{width: 15px; height: 15px;}
.nd2 .hm-step__vis .hm-answer{border: 0; border-radius: 0; padding: 16px; background: none; gap: 10px;}
.nd2 .hm-answer__q{font-weight: 500; color: var(--ink);}
.nd2 .hm-visits{padding: 4px 16px;}
.nd2 .hm-visits__n{font: 500 1.25rem/1 var(--f-display); letter-spacing: -.02em;}
.nd2 .hm-visits__n.is-neg{color: var(--ink-2);}
.nd2 .hm-tile-warn{color: var(--warn);}
@media (max-width: 900px){.nd2 .hm-step{grid-template-columns: 48px minmax(0, 1fr); gap: 18px 20px; align-items: start;}
.nd2 .hm-step__n{width: 48px; height: 48px;}
.nd2 .hm-flow::before{left: 23px;}
.nd2 .hm-step__vis{grid-column: 2;}}
@media (max-width: 520px){.nd2 .hm-req{grid-template-columns: auto minmax(0, 1fr); row-gap: 6px;}
.nd2 .hm-req .hm-bot{grid-column: 2;}
.nd2 .hm-req .pill{grid-column: 2; justify-self: start;}}
/* ---- features.css ---- */
.nd2 .ft-hero{display: grid; gap: 18px; padding-bottom: 32px;}
.nd2 .ft-tools{display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 8px;}
.nd2 .ft-search{display: flex; align-items: center; gap: 10px; height: 48px; padding: 0 16px; border: 1px solid var(--line-2); border-radius: 999px; background: var(--surface); width: min(420px, 100%); color: var(--ink-3);}
.nd2 .ft-search:focus-within{outline: 2px solid var(--focus); outline-offset: 1px;}
.nd2 .ft-search input{flex: 1; min-width: 0; border: 0; background: transparent; color: var(--ink); font: 15px/1 var(--f-body); outline: none; height: 100%;}
.nd2 .ft-costs{display: flex; flex-wrap: wrap; gap: 6px;}
.nd2 .ft-costs .chip{cursor: pointer; font: 500 13px/1 var(--f-body);}
.nd2 .ft-costs .chip.is-on{background: var(--ink); color: var(--bg); border-color: var(--ink);}
.nd2 .ft-dot{display: inline-block; width: 8px; height: 8px; border-radius: 50%; flex: none;}
.nd2 .ft-dot--own{background: var(--ok);}
.nd2 .ft-dot--plan{background: var(--info);}
.nd2 .ft-dot--paid{background: var(--warn);}
.nd2 .ft-jump{display: flex; gap: 0; border-top: 1px solid var(--line); overflow-x: auto; scrollbar-width: none;}
.nd2 .ft-jump a{flex: 1 0 auto; display: flex; align-items: center; gap: 8px; padding: 16px 20px; text-decoration: none; color: var(--ink-2); font-size: 14.5px; font-weight: 500; border-right: 1px solid var(--line); white-space: nowrap;}
.nd2 .ft-jump a:last-child{border-right: 0;}
.nd2 .ft-jump a:hover{background: var(--bg-sunk); color: var(--ink);}
.nd2 .ft-jump .ic{width: 16px; height: 16px; color: var(--amber-ink);}
.nd2 .ft-jump .num{font: 12px/1 var(--f-mono); color: var(--ink-3);}
.nd2 .ft-groups{display: grid; gap: 40px;}
.nd2 .ft-group{display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 28px; align-items: start; scroll-margin-top: 90px;}
.nd2 .ft-group[hidden]{display: none;}
.nd2 .ft-group__head{display: grid; gap: 8px; position: sticky; top: calc(env(safe-area-inset-top, 0px) + 84px);}
.nd2 .ft-group__head h2{font-size: 1.6rem; letter-spacing: -.03em;}
.nd2 .ft-list{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 12px; background: var(--surface); overflow: hidden;}
.nd2 .ft-item{display: grid; grid-template-columns: 22px minmax(0, 1fr) 10px; gap: 2px 14px; padding: 18px 20px; text-decoration: none; border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); transition: background-color .15s;}
.nd2 .ft-item:nth-child(2n){border-right: 0;}
.nd2 .ft-item[hidden]{display: none;}
.nd2 .ft-item:hover{background: var(--bg-sunk);}
.nd2 .ft-item .ic,.nd2 .ft-item .lg{grid-row: span 2; width: 20px; height: 20px; margin-top: 2px; color: var(--amber-ink);}
.nd2 .ft-item b{font: 500 16px/1.3 var(--f-display); letter-spacing: -.01em;}
.nd2 .ft-item span{grid-column: 2; font-size: 14px; color: var(--ink-2);}
.nd2 .ft-item em{grid-column: 3; grid-row: 1; align-self: center;}
.nd2 .ft-item.is-feat b::after{content: "Demo page"; margin-left: 8px; font: 500 10.5px/1 var(--f-mono); letter-spacing: .04em; text-transform: uppercase; color: var(--amber-ink); background: var(--amber-soft); padding: 3px 6px; border-radius: 4px; vertical-align: 2px;}
@media (max-width: 900px){.nd2 .ft-group{grid-template-columns: 1fr; gap: 14px;}
.nd2 .ft-group__head{position: static;}}
@media (max-width: 560px){.nd2 .ft-list{grid-template-columns: 1fr;}
.nd2 .ft-item{border-right: 0;}}
.nd2 .ft-qs{display: grid; border-top: 1px solid var(--line);}
.nd2 .ft-q{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 24px; gap: 16px; align-items: center; padding: 20px 4px; border-bottom: 1px solid var(--line); text-decoration: none; transition: background-color .15s, padding .15s;}
.nd2 .ft-q:hover{background: var(--bg-sunk); padding-inline: 14px;}
.nd2 .ft-q__q{font: 500 1.15rem/1.3 var(--f-display); letter-spacing: -.015em;}
.nd2 .ft-q__a{display: grid; gap: 2px;}
.nd2 .ft-q__a b{font-weight: 500; color: var(--amber-ink);}
.nd2 .ft-q__a span{font-size: 14px; color: var(--ink-2);}
.nd2 .ft-q i{font-style: normal; color: var(--ink-3);}
@media (max-width: 640px){.nd2 .ft-q{grid-template-columns: 1fr 20px;}
.nd2 .ft-q__a{grid-column: 1;}
.nd2 .ft-q i{grid-column: 2; grid-row: 1 / span 2;}}
/* ---- crawl-analytics.css ---- */
.nd2 .ca-hero-band{position: relative; overflow: hidden;}
.nd2 .ca-hero-band::before{content: ""; position: absolute; inset: auto -10% -40% 30%; height: 90%; background: radial-gradient(closest-side, rgba(238,107,18,.38), transparent 70%); pointer-events: none;}
.nd2 .ca-hero{display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 56px); align-items: center; padding-block: clamp(24px, 2.5vw, 32px) clamp(40px, 6vw, 80px);}
.nd2 .ca-hero__copy{display: grid; gap: 18px;}
.nd2 .ca-h1{font-size: clamp(2.2rem, 4.4vw, 3.6rem);}
.nd2 .ca-btn-outline{color: var(--night-ink); border-color: #333333;}
.nd2 .ca-btn-outline:hover{border-color: var(--night-ink);}
.nd2 .ca-proof{list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 14px; color: var(--night-ink-2);}
.nd2 .ca-proof li{display: inline-flex; align-items: center; gap: 8px;}
.nd2 .ca-proof .ic{width: 16px; height: 16px; color: #f6b04a;}
.nd2 .ca-hero__panel{position: relative;}
.nd2 .ca-groups{display: grid; gap: 14px;}
.nd2 .ca-groups > div{display: grid; grid-template-columns: minmax(0, 1fr) 64px; gap: 6px 12px; align-items: center; font-size: 14px;}
.nd2 .ca-groups > div span{grid-column: 1 / -1; color: var(--ink-2);}
.nd2 .ca-groups b{font-weight: 500; text-align: right;}
.nd2 .ca-facts{border-top: 1px solid var(--line);}
.nd2 .ca-facts .cell{border-bottom: 0; gap: 4px; color: var(--night-ink-2);}
.nd2 .ca-fact{font: 500 1.35rem/1.2 var(--f-display); letter-spacing: -.02em; color: var(--night-ink);}
@media (max-width: 900px){.nd2 .ca-hero{grid-template-columns: 1fr;}
.nd2 .ca-facts .cell{border-bottom: 1px solid var(--line);}}
.nd2 .ca-rows{display: grid; gap: 0; border-top: 1px solid var(--line);}
.nd2 .ca-row{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(24px, 4vw, 56px); align-items: center; padding-block: clamp(32px, 5vw, 56px); border-bottom: 1px solid var(--line);}
.nd2 .ca-row--flip .ca-row__copy{order: 2;}
.nd2 .ca-row__copy{display: grid; gap: 14px;}
.nd2 .ca-row__copy h3{font-size: clamp(1.35rem, 2vw, 1.65rem); letter-spacing: -.025em;}
@media (max-width: 900px){.nd2 .ca-row{grid-template-columns: 1fr;}
.nd2 .ca-row--flip .ca-row__copy{order: 0;}}
.nd2 .ca-table{width: 100%; border-collapse: collapse; font-size: 14px;}
.nd2 .ca-table th{text-align: left; font: 500 11px/1 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); padding: 0 8px 10px; white-space: nowrap;}
.nd2 .ca-table td{padding: 10px 8px; border-top: 1px solid var(--line); vertical-align: middle;}
.nd2 .ca-table td .lg,.nd2 .ca-table td .ic{margin-right: 8px; vertical-align: -3px; width: 16px; height: 16px;}
.nd2 .ca-table td.mono{font-size: 12.5px;}
.nd2 .ca-tablewrap{overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; background: var(--surface);}
.nd2 .ca-table--big{min-width: 640px;}
.nd2 .ca-table--big th{padding: 14px 16px; background: var(--bg-sunk);}
.nd2 .ca-table--big td{padding: 14px 16px; color: var(--ink-2);}
.nd2 .ca-table--big td b{color: var(--ink); font-weight: 500;}
.nd2 .ca-limits{margin-top: 20px;}
.nd2 .ca-subh{margin: 40px 0 16px; font-size: 1.15rem;}
.nd2 .ca-sources{border: 1px solid var(--line); border-radius: 12px; background: var(--surface); overflow: hidden;}
.nd2 .ca-sources .cell{border-bottom: 0;}
@media (max-width: 860px){.nd2 .ca-sources .cell{border-bottom: 1px solid var(--line);}}
.nd2 .ca-steps{list-style: none; margin: 0 0 24px; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; counter-reset: s;}
.nd2 .ca-steps li{display: grid; gap: 8px; align-content: start; padding: 20px; border: 1px solid var(--line); border-radius: 12px; position: relative; background: var(--surface);}
.nd2 .ca-steps li:not(:last-child)::after{content: ""; position: absolute; top: 34px; right: -17px; width: 18px; height: 1px; background: var(--line-2);}
.nd2 .ca-step-n{font: 500 12px/1 var(--f-mono); color: var(--amber-ink);}
.nd2 .ca-steps h3{font-size: 1.05rem;}
@media (max-width: 900px){.nd2 .ca-steps{grid-template-columns: repeat(2, minmax(0, 1fr));}
.nd2 .ca-steps li::after{display: none;}}
@media (max-width: 520px){.nd2 .ca-steps{grid-template-columns: 1fr;}}
.nd2 .ca-agent{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(28px, 4vw, 56px); align-items: center;}
@media (max-width: 900px){.nd2 .ca-agent{grid-template-columns: 1fr;}}
.nd2 .ca-uses{border: 1px solid var(--line); border-radius: 12px; overflow: hidden;}
.nd2 .ca-uses .cell{border-bottom: 0;}
.nd2 .ca-uses .ic{color: var(--amber-ink);}
.nd2 .ca-uses h3{font-size: 1.05rem;}
@media (max-width: 860px){.nd2 .ca-uses .cell{border-bottom: 1px solid var(--line);}}
@media (max-width: 520px){.nd2 .ca-facts{grid-template-columns: repeat(2, minmax(0, 1fr)) !important;}
.nd2 .ca-facts .cell{padding: 18px 16px;}
.nd2 .ca-facts .cell:nth-child(odd){border-right: 1px solid var(--line) !important;}
.nd2 .ca-fact{font-size: 1.1rem;}}
/* ---- pricing.css ---- */
.nd2 .pr-top{border-top: 0;}
.nd2 .pr-hero{display: grid; gap: 28px; padding-top: clamp(28px, 3vw, 40px); padding-bottom: clamp(40px, 6vw, 72px);}
.nd2 .pr-hero__head{display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 24px 48px; align-items: end;}
.nd2 .pr-hero__copy{display: grid; gap: 16px;}
.nd2 .pr-headstack{display: grid; gap: 14px; align-content: start;}
@media (max-width: 900px){.nd2 .pr-hero__head{grid-template-columns: minmax(0, 1fr);}}
.nd2 .pr-switches{display: grid; gap: 10px; justify-items: start;}
@media (min-width: 901px){.nd2 .pr-switches{justify-items: end; text-align: right;}}
.nd2 .pr-seg{display: inline-flex; gap: 4px; padding: 4px; border: 1px solid var(--line); border-radius: 999px; background: var(--bg-sunk); max-width: 100%;}
.nd2 .pr-seg button{height: 36px; padding: 0 14px; border: 0; border-radius: 999px; background: transparent; color: var(--ink-2); font: 500 14px/1 var(--f-body); cursor: pointer; display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;}
.nd2 .pr-seg button[aria-pressed="true"]{background: var(--surface); color: var(--ink); box-shadow: 0 1px 2px rgba(0,0,0,.08), 0 0 0 1px var(--line);}
.nd2 .pr-seg__tag{font: 500 11px/1 var(--f-mono); letter-spacing: .02em; padding: 4px 6px; border-radius: 4px; background: var(--amber-soft); color: var(--amber-ink);}
.nd2 .pr-switches__note{max-width: 40ch;}
.nd2 .pr-plans{display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 14px; background: var(--surface); overflow: hidden;}
.nd2 .pr-plan{display: grid; align-content: start; gap: 12px; padding: 24px 22px 26px; min-width: 0; position: relative;}
.nd2 .pr-plan + .pr-plan{border-left: 1px solid var(--line);}
.nd2 .pr-plan--pop{background: var(--amber-soft); box-shadow: inset 0 3px 0 var(--amber);}
.nd2 .pr-plan__top{display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 28px;}
.nd2 .pr-plan__name{font-size: 1.5rem; letter-spacing: -.02em;}
.nd2 .pr-pill-pop{display: inline-flex; align-items: center; height: 22px; padding: 0 9px; border-radius: 999px; font: 500 12px/1 var(--f-body); background: var(--amber); color: #171717;}
.nd2 .pr-plan__for{color: var(--ink-2); font-size: .95rem; min-height: 3em;}
.nd2 .pr-price{display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; margin-top: 4px;}
.nd2 .pr-price__amt{font: 500 clamp(1.9rem, 2.6vw, 2.35rem)/1 var(--f-display); letter-spacing: -.035em;}
.nd2 .pr-price__per{color: var(--ink-3); font-size: 14px;}
.nd2 .pr-plan__bill{font-size: 13px; color: var(--ink-2); min-height: 2.6em;}
.nd2 .pr-plan__save{display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; font-size: 12.5px; color: var(--ink-3); min-height: 22px;}
.nd2 .pr-plan__save[hidden]{display: none;}
.nd2 .pr-plan__was s{color: var(--ink-3);}
.nd2 .pr-plan__cta{width: 100%; margin-top: 4px;}
.nd2 .pr-plan__inc{margin-top: 10px; font: 500 11.5px/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3);}
.nd2 .pr-limits{margin: 0; display: grid;}
.nd2 .pr-limits > div{display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px solid var(--line); font-size: 14px;}
.nd2 .pr-limits dt{color: var(--ink-2);}
.nd2 .pr-limits dd{margin: 0; font-weight: 500; text-align: right; font-variant-numeric: tabular-nums;}
.nd2 .pr-no{color: var(--ink-3);}
.nd2 .pr-yes{width: 18px; height: 18px; color: var(--ok); vertical-align: middle;}
@media (max-width: 1060px){.nd2 .pr-plans{grid-template-columns: repeat(2, minmax(0, 1fr)); border-top-right-radius: 0;}
.nd2 .pr-plan + .pr-plan{border-left: 0;}
.nd2 .pr-plan:nth-child(even){border-left: 1px solid var(--line);}
.nd2 .pr-plan:nth-child(n+3){border-top: 1px solid var(--line);}}
@media (max-width: 620px){.nd2 .pr-plans{grid-template-columns: minmax(0, 1fr); border-top-right-radius: 14px;}
.nd2 .pr-plan:nth-child(even){border-left: 0;}
.nd2 .pr-plan + .pr-plan{border-top: 1px solid var(--line);}
.nd2 .pr-plan__for,.nd2 .pr-plan__bill{min-height: 0;}}
.nd2 .pr-trust{list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 28px; color: var(--ink-2); font-size: 14.5px;}
.nd2 .pr-trust li{display: inline-flex; align-items: center; gap: 8px;}
.nd2 .pr-trust .ic{width: 16px; height: 16px; color: var(--ok);}
.nd2 .pr-cmp-pick{display: none; align-items: center; gap: 12px; margin-bottom: 14px;}
.nd2 .pr-cmp-pick .tabs button[aria-pressed="true"]{background: var(--surface); color: var(--ink); box-shadow: 0 1px 2px rgba(0,0,0,.08), 0 0 0 1px var(--line);}
.nd2 .pr-cmp-wrap{overflow-x: clip;}
.nd2 .pr-cmp{width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; background: var(--surface); border: 1px solid var(--line); border-radius: 12px;}
.nd2 .pr-cmp th,.nd2 .pr-cmp td{padding: 12px 16px; text-align: left; border-top: 1px solid var(--line); vertical-align: middle;}
.nd2 .pr-cmp td{text-align: center; font-variant-numeric: tabular-nums;}
.nd2 .pr-cmp tbody th[scope="row"]{font-weight: 400; color: var(--ink-2); width: 34%;}
.nd2 .pr-cmp thead th{position: sticky; top: calc(env(safe-area-inset-top, 0px) + 64px); z-index: 3; background: var(--surface); border-top: 0; border-bottom: 1px solid var(--line-2); vertical-align: bottom; text-align: center; box-shadow: 0 6px 12px -10px rgba(0,0,0,.18);}
.nd2 .pr-cmp thead th:first-child{border-top-left-radius: 12px;}
.nd2 .pr-cmp thead th:last-child{border-top-right-radius: 12px;}
.nd2 .pr-cmp thead .pr-cmp__corner{text-align: left; font: 500 11.5px/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3);}
.nd2 .pr-cmp__plan{display: block; font: 500 17px/1.2 var(--f-display); letter-spacing: -.01em; color: var(--ink);}
.nd2 .pr-cmp__price{display: block; margin-top: 3px; font: 400 12px/1.3 var(--f-mono); color: var(--ink-3);}
.nd2 .pr-cmp thead th[data-pr-c="pro"]{box-shadow: inset 0 3px 0 var(--amber), 0 6px 12px -10px rgba(0,0,0,.18);}
.nd2 .pr-cmp td[data-pr-c="pro"]{background: color-mix(in srgb, var(--amber-soft) 55%, transparent);}
.nd2 .pr-cmp__group th{padding: 0; background: var(--bg-sunk); border-top: 1px solid var(--line);}
.nd2 .pr-cmp__group button{width: 100%; display: flex; align-items: center; gap: 10px; padding: 12px 16px; border: 0; background: transparent; color: var(--ink); font: 500 14.5px/1.2 var(--f-display); letter-spacing: -.005em; text-align: left; cursor: pointer;}
.nd2 .pr-cmp__group button::before{content: ""; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; rotate: 45deg; translate: 0 -2px; transition: rotate .15s, translate .15s; flex: none;}
.nd2 .pr-cmp__group button[aria-expanded="false"]::before{rotate: -45deg; translate: 0 0;}
.nd2 .pr-cmp__group button:hover{color: var(--amber-ink);}
.nd2 .pr-cmp__count{margin-left: auto; font: 400 12px/1 var(--f-mono); color: var(--ink-3);}
.nd2 .pr-cmp tbody[hidden]{display: none;}
@media (max-width: 700px){.nd2 .pr-cmp-pick{display: flex; flex-wrap: wrap;}
.nd2 .pr-cmp tbody th[scope="row"]{width: auto;}
.nd2 .pr-cmp th,.nd2 .pr-cmp td{padding: 11px 12px;}
.nd2 .pr-cmp td{text-align: right;}
.nd2 .pr-cmp thead th{text-align: right;}
.nd2 .pr-cmp[data-pr-show="base"] [data-pr-c]:not([data-pr-c="base"]),.nd2 .pr-cmp[data-pr-show="pro"] [data-pr-c]:not([data-pr-c="pro"]),.nd2 .pr-cmp[data-pr-show="max"] [data-pr-c]:not([data-pr-c="max"]),.nd2 .pr-cmp[data-pr-show="ultra"] [data-pr-c]:not([data-pr-c="ultra"]){display: none;}
.nd2 .pr-cmp thead th[data-pr-c]{border-top-right-radius: 12px;}
.nd2 .pr-cmp td[data-pr-c="pro"]{background: transparent;}
.nd2 .pr-cmp thead th[data-pr-c="pro"]{box-shadow: 0 6px 12px -10px rgba(0,0,0,.18);}}
.nd2 .pr-research{display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 32px 56px; align-items: center; margin-bottom: clamp(32px, 4vw, 52px);}
.nd2 .pr-research__copy{display: grid; gap: 16px;}
@media (max-width: 900px){.nd2 .pr-research{grid-template-columns: minmax(0, 1fr);}}
.nd2 .pr-inline{font-weight: 500; color: var(--ink);}
.nd2 .pr-allow__meter{display: grid; gap: 8px;}
.nd2 .pr-allow__line{display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap;}
.nd2 .pr-allow__line b{font-weight: 500;}
.nd2 .pr-allow .row .ic{width: 18px; height: 18px; color: var(--amber-ink);}
.nd2 .pr-topups{border: 1px solid var(--line); border-radius: 12px; background: var(--surface); overflow: hidden; border-top: 1px solid var(--line);}
.nd2 .pr-topups > .cell{border-bottom: 0;}
@media (max-width: 860px){.nd2 .pr-topups > .cell:nth-child(n+3){border-top: 1px solid var(--line);}}
@media (max-width: 520px){.nd2 .pr-topups > .cell + .cell{border-top: 1px solid var(--line);}}
.nd2 .pr-topups__amt{font: 500 clamp(1.7rem, 2.4vw, 2.1rem)/1 var(--f-display); letter-spacing: -.03em; color: var(--amber-ink);}
.nd2 .pr-split{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 12px; background: var(--surface); overflow: hidden;}
.nd2 .pr-split__cell{padding: clamp(24px, 3vw, 36px); display: grid; gap: 12px; align-content: start;}
.nd2 .pr-split__cell + .pr-split__cell{border-left: 1px solid var(--line);}
.nd2 .pr-split__cell:last-child .ic-tile{background: var(--warn-soft); color: var(--warn);}
@media (max-width: 760px){.nd2 .pr-split{grid-template-columns: minmax(0, 1fr);}
.nd2 .pr-split__cell + .pr-split__cell{border-left: 0; border-top: 1px solid var(--line);}}
.nd2 .pr-faq{display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr); gap: 24px 56px; align-items: start;}
.nd2 .pr-faq .head{margin-bottom: 0;}
@media (max-width: 900px){.nd2 .pr-faq{grid-template-columns: minmax(0, 1fr);}}
.nd2 .pr-btn-on-ember{background: transparent; color: #ffffff; border-color: rgba(255,255,255,.5);}
.nd2 .pr-btn-on-ember:hover{border-color: #ffffff;}
/* ---- ai-agents.css ---- */
.nd2 .ag-stack{display: grid; gap: 14px; align-content: start; min-width: 0;}
.nd2 .ag-hero__in{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 32px 48px; align-items: start; padding: clamp(28px, 3.5vw, 44px) clamp(28px, 5vw, 64px) clamp(28px, 5vw, 64px);}
.nd2 .ag-hero__copy{display: grid; gap: 18px; align-content: start; min-width: 0;}
.nd2 .ag-crumbs,.nd2 .ag-crumbs a{color: rgba(255,255,255,.88);}
.nd2 .ag-crumbs a:hover{color: #ffffff;}
.nd2 .ag-hero__facts{list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px;}
.nd2 .ag-hero__facts li{display: inline-flex; align-items: center; height: 30px; padding: 0 12px; border-radius: 999px; border: 1px solid rgba(255,255,255,.5); color: #ffffff; font-size: 13px;}
.nd2 .ag-btn-on-ember{background: transparent; color: #ffffff; border-color: rgba(255,255,255,.5);}
.nd2 .ag-btn-on-ember:hover{border-color: #ffffff;}
@media (max-width: 960px){.nd2 .ag-hero__in{grid-template-columns: minmax(0, 1fr);}}
.nd2 .ag-term{position: relative; background: var(--night); color: var(--night-ink); border: 1px solid var(--night-line); border-radius: 14px; box-shadow: 0 30px 60px -30px rgba(60,20,0,.55); overflow: hidden; min-width: 0;}
.nd2 .ag-term__bar{display: flex; align-items: center; gap: 12px; padding: 10px 10px 10px 14px; border-bottom: 1px solid var(--night-line); font: 12px/1 var(--f-mono); color: var(--night-ink-2);}
.nd2 .ag-term__bar span[id]{flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.nd2 .ag-term__dots{display: inline-flex; gap: 6px;}
.nd2 .ag-term__dots i{width: 9px; height: 9px; border-radius: 50%; background: var(--night-line);}
.nd2 .ag-term__log{list-style: none; margin: 0; padding: 16px 16px 34px; display: grid; gap: 12px; font: 13px/1.55 var(--f-mono);}
.nd2 .ag-t{display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 10px; transition: opacity .3s, transform .3s;}
.nd2 .ag-t.is-pending{opacity: 0; transform: translateY(4px);}
.nd2 .ag-t__prompt{color: var(--amber); font-weight: 600;}
.nd2 .ag-t--ask span:last-child{color: var(--night-ink); font-weight: 500;}
.nd2 .ag-t__dot{width: 8px; height: 8px; margin-top: 6px; border-radius: 50%; background: #4ade80;}
.nd2 .ag-t--call code{color: #f6b04a;}
.nd2 .ag-t--call small{display: block; color: var(--night-ink-2); font-size: 12px;}
.nd2 .ag-t--call em{display: block; font-style: normal; color: var(--night-ink); padding-left: 12px; border-left: 1px solid var(--night-line); margin-top: 4px; overflow-wrap: anywhere;}
.nd2 .ag-t--answer{grid-template-columns: 1fr; gap: 6px; padding: 12px 14px; border-radius: 0 10px 10px 0; border-left: 3px solid var(--amber); background: var(--night-2); font-family: var(--f-body); font-size: 14px;}
.nd2 .ag-t--answer code{color: #f6b04a; font-size: 12.5px;}
.nd2 .ag-t__who{font: 500 11px/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: #f6b04a;}
.nd2 .ag-t__src{font: 12px/1.5 var(--f-mono); color: var(--night-ink-2);}
.nd2 .ag-t--saved{color: #4ade80; font-size: 12px;}
.nd2 .ag-t--saved .ic{width: 15px; height: 15px; margin-top: 2px;}
.nd2 .ag-term__illus{position: absolute; right: 14px; bottom: 12px; color: var(--night-ink-2);}
.nd2 .ag-addr{display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 10px 10px 10px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface);}
.nd2 .ag-addr code{flex: 1 1 280px; min-width: 0; font-size: 14px; white-space: nowrap; overflow-x: auto; scrollbar-width: none; color: var(--ink);}
.nd2 .ag-connect{display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px;}
.nd2 .ag-connect .tabs .lg{width: 16px; height: 16px;}
.nd2 .ag-panel{display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 20px 32px; align-items: start; padding: clamp(20px, 3vw, 28px); border: 1px solid var(--line); border-radius: 14px; background: var(--surface);}
.nd2 .ag-panel[hidden]{display: none;}
.nd2 .ag-panel--other{grid-template-columns: minmax(0, 1fr);}
@media (max-width: 860px){.nd2 .ag-panel{grid-template-columns: minmax(0, 1fr);}}
.nd2 .ag-steps{list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; counter-reset: ag-step;}
.nd2 .ag-steps li{counter-increment: ag-step; display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 2px 12px;}
.nd2 .ag-steps li::before{content: counter(ag-step); grid-row: span 2; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--amber-soft); color: var(--amber-ink); font: 600 13px/1 var(--f-mono);}
.nd2 .ag-steps b{font-weight: 600;}
.nd2 .ag-steps span{color: var(--ink-2); font-size: 14.5px;}
.nd2 .ag-steps code,.nd2 .ag-other code{font-size: 13px; padding: 1px 5px; border-radius: 4px; background: var(--bg-sunk);}
.nd2 .ag-sh code::before{content: "$ "; color: #7aa7f5;}
.nd2 .ag-others{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 24px;}
@media (max-width: 860px){.nd2 .ag-others{grid-template-columns: minmax(0, 1fr);}}
.nd2 .ag-other{display: grid; gap: 10px; align-content: start;}
.nd2 .ag-other h3{display: flex; align-items: center; gap: 10px; font-size: 1.05rem;}
.nd2 .ag-other .logo-tile{width: 32px; height: 32px; border-radius: 8px;}
.nd2 .ag-other .logo-tile .lg{width: 18px; height: 18px;}
.nd2 .ag-other ol{margin: 0; padding-left: 18px; display: grid; gap: 6px; color: var(--ink-2); font-size: 14px;}
.nd2 .ag-built{border: 1px solid var(--line); border-radius: 12px; background: var(--surface); overflow: hidden;}
.nd2 .ag-built > .cell{border-bottom: 0;}
@media (max-width: 860px){.nd2 .ag-built > .cell:nth-child(n+3){border-top: 1px solid var(--line);}}
@media (max-width: 520px){.nd2 .ag-built > .cell + .cell{border-top: 1px solid var(--line);}}
.nd2 .ag-built h3{font-size: 1.05rem;}
.nd2 .ag-built p{font-size: 14.5px;}
.nd2 .ag-filter{display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 14px;}
.nd2 .ag-search{flex: 1 1 280px; display: flex; align-items: center; gap: 10px; height: 46px; padding: 0 16px; border: 1px solid var(--line-2); border-radius: 999px; background: var(--surface); color: var(--ink-3); min-width: 0;}
.nd2 .ag-search:focus-within{outline: 2px solid var(--focus); outline-offset: 0; border-color: transparent;}
.nd2 .ag-search input{flex: 1; min-width: 0; height: 100%; border: 0; background: transparent; color: var(--ink); font: 15px/1 var(--f-body); outline: none;}
.nd2 .ag-cost button[aria-pressed="true"],.nd2 .ag-chip[aria-pressed="true"]{background: var(--surface); color: var(--ink); box-shadow: 0 1px 2px rgba(0,0,0,.08), 0 0 0 1px var(--line);}
.nd2 .ag-chips{display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px;}
.nd2 .ag-chip{display: inline-flex; align-items: center; gap: 7px; height: 32px; padding: 0 12px; border: 1px solid var(--line); border-radius: 999px; background: var(--bg-sunk); color: var(--ink-2); font: 500 13px/1 var(--f-body); cursor: pointer; white-space: nowrap;}
.nd2 .ag-chip span{font: 400 11.5px/1 var(--f-mono); color: var(--ink-3);}
.nd2 .ag-chip[aria-pressed="true"]{border-color: var(--amber);}
.nd2 .ag-status{margin-bottom: 18px;}
.nd2 .ag-areas{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start;}
@media (max-width: 980px){.nd2 .ag-areas{grid-template-columns: minmax(0, 1fr);}}
.nd2 .ag-area{border: 1px solid var(--line); border-radius: 12px; background: var(--surface); overflow: hidden; min-width: 0;}
.nd2 .ag-area[hidden]{display: none;}
.nd2 .ag-area__head{display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--line); font-size: 1.05rem;}
.nd2 .ag-area__head .ic-tile{width: 32px; height: 32px; border-radius: 8px;}
.nd2 .ag-area__head .ic{width: 17px; height: 17px;}
.nd2 .ag-area__head .caption{margin-left: auto;}
.nd2 .ag-tools{list-style: none; margin: 0; padding: 0;}
.nd2 .ag-tool{display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 12px; padding: 11px 16px; border-top: 1px solid var(--line);}
.nd2 .ag-tool:first-child{border-top: 0;}
.nd2 .ag-tool[hidden]{display: none;}
.nd2 .ag-tool__name{font-size: 13px; color: var(--ink); overflow-wrap: anywhere;}
.nd2 .ag-tool__line{grid-column: 1; color: var(--ink-2); font-size: 13.5px; line-height: 1.45;}
.nd2 .ag-tool .pill{grid-column: 2; grid-row: 1 / span 2; align-self: center;}
.nd2 .ag-tool mark{background: var(--amber-soft); color: inherit; border-radius: 2px;}
.nd2 .ag-empty{padding: 28px; text-align: center; color: var(--ink-2); border: 1px dashed var(--line-2); border-radius: 12px;}
.nd2 .ag-legend{display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: 20px;}
.nd2 .ag-ready .head{margin-bottom: 28px;}
.nd2 .ag-ready .tabs .caption{font-size: 11px;}
.nd2 .ag-prompts{list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px;}
@media (max-width: 980px){.nd2 .ag-prompts{grid-template-columns: repeat(2, minmax(0, 1fr));}}
@media (max-width: 640px){.nd2 .ag-prompts{grid-template-columns: 1fr;}}
.nd2 .ag-prompt{display: grid; gap: 10px; align-content: start; grid-template-rows: auto 1fr auto; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); min-width: 0;}
.nd2 .ag-prompt__top{display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap;}
.nd2 .ag-prompt h3{font-size: 1rem;}
.nd2 .ag-prompt p{color: var(--ink-2); font-size: 14px;}
.nd2 .ag-prompt .btn{justify-self: start;}
.nd2 .ag-skills{list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 12px; background: var(--surface); overflow: hidden;}
.nd2 .ag-skill{display: grid; gap: 4px; padding: 14px 18px; border-top: 1px solid var(--line); min-width: 0;}
.nd2 .ag-skill:nth-child(-n+2){border-top: 0;}
.nd2 .ag-skill:nth-child(odd){border-right: 1px solid var(--line);}
.nd2 .ag-skill code{font-size: 13.5px; color: var(--amber-ink); overflow-wrap: anywhere;}
.nd2 .ag-skill span{color: var(--ink-2); font-size: 14px;}
@media (max-width: 720px){.nd2 .ag-skills{grid-template-columns: 1fr;}
.nd2 .ag-skill:nth-child(2){border-top: 1px solid var(--line);}
.nd2 .ag-skill:nth-child(odd){border-right: 0;}}
.nd2 .ag-ext{display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 32px 56px; align-items: center;}
@media (max-width: 900px){.nd2 .ag-ext{grid-template-columns: minmax(0, 1fr);}}
.nd2 .ag-ext__rows{list-style: none; margin: 4px 0; padding: 0; display: grid; gap: 14px;}
.nd2 .ag-ext__rows li{display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; color: var(--ink-2);}
.nd2 .ag-ext__rows .ic{color: var(--amber-ink); margin-top: 2px;}
.nd2 .ag-ext__rows b{color: var(--ink); font-weight: 600;}
.nd2 .ag-ext .btn .lg{width: 18px; height: 18px;}
.nd2 .ag-ext__kbd{color: var(--ink-2); display: inline-flex; align-items: center; gap: 4px;}
.nd2 .ag-ext__panel .panel__bar .caption{min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.nd2 .ag-ext__panel .row{grid-template-columns: 52px minmax(0, 1fr) auto;}
.nd2 .ag-faq{display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr); gap: 24px 56px; align-items: start;}
.nd2 .ag-faq .head{margin-bottom: 0;}
@media (max-width: 900px){.nd2 .ag-faq{grid-template-columns: 1fr;}}
/* ---- tools.css ---- */
.nd2 .tl-stack{display: grid; gap: 14px; align-content: start; min-width: 0;}
.nd2 .tl-hero__in{display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; justify-items: start; max-width: 820px; padding: clamp(28px, 5vw, 64px);}
.nd2 .tl-crumbs,.nd2 .tl-crumbs a{color: rgba(255,255,255,.88);}
.nd2 .tl-crumbs a:hover{color: #ffffff;}
.nd2 .tl-field{width: 100%; max-width: 640px; margin-top: 6px;}
.nd2 .tl-field__ic{color: rgba(255,255,255,.5); width: 18px; height: 18px;}
.nd2 .tl-field input::-webkit-search-cancel-button{filter: invert(1);}
.nd2 .tl-hero__facts{list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 20px; color: #ffffff; font-size: 14px;}
.nd2 .tl-hero__facts li{display: inline-flex; align-items: center; gap: 7px;}
.nd2 .tl-hero__facts .ic{width: 15px; height: 15px;}
.nd2 .tl-btn-on-ember{background: transparent; color: #ffffff; border-color: rgba(255,255,255,.5);}
.nd2 .tl-btn-on-ember:hover{border-color: #ffffff;}
.nd2 .tl-bar{grid-template-columns: minmax(0, 1fr); position: sticky; top: calc(env(safe-area-inset-top, 0px) + 64px); z-index: 6; display: grid; gap: 10px; margin: 0 calc(-1 * clamp(20px, 4vw, 56px)) 28px; padding: 12px clamp(20px, 4vw, 56px); background: color-mix(in srgb, var(--bg) 92%, transparent); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-block: 1px solid var(--line);}
.nd2 .tl-chips{display: flex; flex-wrap: wrap; gap: 8px; min-width: 0;}
@media (max-width: 760px){.nd2 .tl-chips{flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px;}
.nd2 .tl-chips::-webkit-scrollbar{display: none;}}
.nd2 .tl-chip{display: inline-flex; align-items: center; gap: 7px; height: 32px; padding: 0 12px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--ink-2); font: 500 13px/1 var(--f-body); cursor: pointer; white-space: nowrap; flex: none;}
.nd2 .tl-chip .ic{width: 15px; height: 15px; color: var(--amber-ink);}
.nd2 .tl-chip span{font: 400 11.5px/1 var(--f-mono); color: var(--ink-3);}
.nd2 .tl-chip:hover{border-color: var(--line-2); color: var(--ink);}
.nd2 .tl-chip[aria-pressed="true"]{background: var(--ink); color: var(--bg); border-color: var(--ink);}
.nd2 .tl-chip[aria-pressed="true"] .ic,.nd2 .tl-chip[aria-pressed="true"] span{color: var(--bg);}
.nd2 .tl-bar__row{display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px;}
.nd2 .tl-engine button[aria-pressed="true"]{background: var(--surface); color: var(--ink); box-shadow: 0 1px 2px rgba(0,0,0,.08), 0 0 0 1px var(--line);}
.nd2 .tl-engine{max-width: 100%;}
.nd2 .tl-engine button{height: 30px; font-size: 13px; padding: 0 12px;}
.nd2 .tl-groups{display: grid; gap: clamp(32px, 4vw, 48px);}
.nd2 .tl-group[hidden]{display: none;}
.nd2 .tl-group__head{display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px;}
.nd2 .tl-group__head h3{display: flex; align-items: center; gap: 12px;}
.nd2 .tl-group__head .ic-tile{width: 34px; height: 34px; border-radius: 8px;}
.nd2 .tl-group__head .ic-tile .ic{width: 18px; height: 18px;}
.nd2 .tl-grid{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px;}
@media (max-width: 980px){.nd2 .tl-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}}
@media (max-width: 620px){.nd2 .tl-grid{grid-template-columns: 1fr;}}
.nd2 .tl-card{display: grid; grid-template-rows: auto auto 1fr auto; gap: 8px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); text-decoration: none; color: var(--ink); min-width: 0; transition: border-color .15s, transform .15s, box-shadow .15s;}
.nd2 .tl-card:hover{border-color: var(--line-2); transform: translateY(-2px); box-shadow: var(--shadow);}
.nd2 .tl-card[hidden]{display: none;}
.nd2 .tl-card__cat{display: inline-flex; align-items: center; gap: 7px; font: 500 11.5px/1 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3);}
.nd2 .tl-card__cat .ic{width: 15px; height: 15px; color: var(--amber-ink);}
.nd2 .tl-card__name{font-size: 1.05rem; letter-spacing: -.015em;}
.nd2 .tl-card p{color: var(--ink-2); font-size: 14px; line-height: 1.5;}
.nd2 .tl-card__foot{display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-top: 4px;}
.nd2 .tl-card__try{font-size: 13px; font-weight: 500; color: var(--amber-ink);}
.nd2 .tl-card__try::after{content: " ↓";}
.nd2 .tl-tag{display: inline-flex; align-items: center; gap: 6px; height: 22px; padding: 0 9px; border-radius: 999px; font: 500 12px/1 var(--f-body); white-space: nowrap;}
.nd2 .tl-tag::before{content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor;}
.nd2 .tl-tag--browser{background: var(--ok-soft); color: var(--ok);}
.nd2 .tl-tag--fetch{background: var(--info-soft); color: var(--info);}
.nd2 .tl-tag--crawl{background: var(--warn-soft); color: var(--warn);}
.nd2 .tl-empty{display: grid; justify-items: center; gap: 12px; padding: 36px 20px; text-align: center; color: var(--ink-2); border: 1px dashed var(--line-2); border-radius: 12px;}
.nd2 .tl-empty[hidden]{display: none;}
.nd2 .tl-serp{display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 24px; align-items: start;}
@media (max-width: 1020px){.nd2 .tl-serp{grid-template-columns: minmax(0, 1fr);}}
.nd2 .tl-serp__form{display: grid; gap: 18px; padding: clamp(18px, 3vw, 26px); border: 1px solid var(--line); border-radius: 14px; background: var(--surface);}
.nd2 .tl-in{display: grid; gap: 8px;}
.nd2 .tl-in__top,.nd2 .tl-in__foot{display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap;}
.nd2 .tl-in label{font-size: 14px; font-weight: 600;}
.nd2 .tl-meter{position: relative; height: 8px; border-radius: 99px; background: var(--bg-sunk); overflow: hidden;}
.nd2 .tl-meter i{position: absolute; inset: 0 auto 0 0; width: 0; border-radius: inherit; background: var(--ok); transition: width .15s, background-color .15s;}
.nd2 .tl-meter i.is-warn{background: var(--warn);}
.nd2 .tl-meter i.is-bad{background: var(--bad);}
.nd2 .tl-meter__mark{position: absolute; top: 0; bottom: 0; left: 80%; width: 2px; background: var(--ink-3);}
.nd2 .tl-serp__out{display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; min-width: 0;}
.nd2 .tl-serp__bar{display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap;}
.nd2 .tl-serp__bar .tabs .ic{width: 15px; height: 15px;}
.nd2 .tl-scroll{overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; background: var(--surface);}
.nd2 .tl-g{font-family: Arial, Helvetica, sans-serif; display: grid; gap: 6px;}
.nd2 .tl-g--desk{width: 600px; padding: 22px 24px 24px; box-sizing: content-box;}
.nd2 .tl-g__site{display: flex; align-items: center; gap: 10px; min-width: 0;}
.nd2 .tl-g__fav{display: grid; place-items: center; width: 28px; height: 28px; flex: none; border-radius: 50%; background: var(--bg-sunk); border: 1px solid var(--line); color: var(--ink-2); font: 600 13px/1 Arial, sans-serif;}
.nd2 .tl-g__who{display: grid; min-width: 0; line-height: 1.3;}
.nd2 .tl-g__name{font-size: 14px; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.nd2 .tl-g__crumb{font-size: 12px; color: var(--ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.nd2 .tl-g__title{font: 400 20px/1.3 Arial, Helvetica, sans-serif; letter-spacing: 0; color: var(--info); margin-top: 2px; white-space: nowrap; overflow: hidden;}
.nd2 .tl-g__desc{font: 400 14px/1.58 Arial, Helvetica, sans-serif; color: var(--ink-2); overflow-wrap: anywhere;}
.nd2 .tl-g__title:empty::before,.nd2 .tl-g__desc:empty::before{content: "Nothing to show yet"; color: var(--ink-3);}
.nd2 .tl-phone{width: min(100%, 380px); margin-inline: auto; padding: 16px; border: 1px solid var(--line); border-radius: 26px; background: var(--bg-sunk);}
.nd2 .tl-g--mob{padding: 16px; border-radius: 14px; background: var(--surface); border: 1px solid var(--line);}
.nd2 .tl-g--mob .tl-g__title{font-size: 18px; line-height: 1.35; white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;}
.nd2 .tl-g--mob .tl-g__desc{display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;}
.nd2 .tl-serp__verdict{list-style: none; margin: 0; padding: 0; display: grid; gap: 8px;}
.nd2 .tl-serp__verdict li{display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; align-items: start; font-size: 14px; color: var(--ink-2);}
.nd2 .tl-serp__verdict .pill{margin-top: 1px;}
.nd2 #tl-s-code{white-space: pre-wrap; overflow-wrap: anywhere;}
.nd2 .tl-platform{display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 32px 56px; align-items: center;}
@media (max-width: 900px){.nd2 .tl-platform{grid-template-columns: minmax(0, 1fr);}}
.nd2 .tl-faq{display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr); gap: 24px 56px; align-items: start;}
.nd2 .tl-faq .head{margin-bottom: 0;}
@media (max-width: 900px){.nd2 .tl-faq{grid-template-columns: 1fr;}}
/* ---- guide.css ---- */
.nd2 .gd-band{border-top: 0;}
.nd2 .gd-layout{display: grid; grid-template-columns: 264px minmax(0, 1fr) 224px; align-items: start; min-height: 70vh;}
.nd2 .gd-side{align-self: stretch; border-right: 1px solid var(--line); min-width: 0;}
.nd2 .gd-side__in{position: sticky; top: calc(env(safe-area-inset-top, 0px) + 64px); max-height: calc(100vh - 64px - env(safe-area-inset-top, 0px)); overflow-y: auto; overscroll-behavior: contain; padding: 24px 16px 32px; scrollbar-width: thin;}
.nd2 .gd-side__title{display: flex; align-items: center; gap: 8px; padding: 0 8px 14px; font: 500 15px/1.2 var(--f-display); text-decoration: none; color: var(--ink);}
.nd2 .gd-side__title .ic{width: 18px; height: 18px; color: var(--amber-ink);}
.nd2 .gd-filter{position: relative; margin-bottom: 14px;}
.nd2 .gd-filter .ic{position: absolute; left: 11px; top: 50%; translate: 0 -50%; width: 15px; height: 15px; color: var(--ink-3); pointer-events: none;}
.nd2 .gd-filter .input{height: 38px; padding-left: 33px; font-size: 14px;}
.nd2 .gd-tree{display: grid; gap: 4px;}
.nd2 .gd-group summary{list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px; border-radius: 6px; font-weight: 600; font-size: 14px; cursor: pointer; color: var(--ink);}
.nd2 .gd-group summary::-webkit-details-marker{display: none;}
.nd2 .gd-group summary::after{content: ""; width: 6px; height: 6px; border-right: 1.5px solid var(--ink-3); border-bottom: 1.5px solid var(--ink-3); rotate: -45deg; transition: rotate .15s;}
.nd2 .gd-group[open] summary::after{rotate: 45deg; translate: 0 -2px;}
.nd2 .gd-group summary:hover{background: var(--bg-sunk);}
.nd2 .gd-group a{display: flex; gap: 8px; margin-left: 8px; padding: 6px 10px; border-left: 1px solid var(--line); font-size: 14px; line-height: 1.4; color: var(--ink-2); text-decoration: none;}
.nd2 .gd-group a:hover{color: var(--ink); border-left-color: var(--line-2);}
.nd2 .gd-group a[aria-current="page"]{color: var(--amber-ink); font-weight: 500; border-left: 2px solid var(--amber); padding-left: 9px; background: var(--amber-soft);}
.nd2 .gd-group a[hidden]{display: none;}
.nd2 .gd-group[hidden]{display: none;}
.nd2 .gd-group[open]{padding-bottom: 6px;}
.nd2 .gd-date{flex: none; width: 44px; font: 12px/1.6 var(--f-mono); color: var(--ink-3);}
.nd2 .gd-nohits{padding: 8px; font-size: 14px; color: var(--ink-3);}
.nd2 .gd-menu-btn{display: none;}
.nd2 .gd-main{min-width: 0; padding: clamp(24px, 3.5vw, 44px) clamp(20px, 4vw, 56px) clamp(48px, 6vw, 80px);}
.nd2 .gd-main > *{max-width: 760px;}
.nd2 .gd-head{display: grid; gap: 14px; margin: 22px 0 28px; padding-bottom: 22px; border-bottom: 1px solid var(--line);}
.nd2 .gd-head h1{font-size: clamp(2rem, 4vw, 2.85rem); letter-spacing: -.035em; scroll-margin-top: calc(env(safe-area-inset-top, 0px) + 96px);}
.nd2 .gd-meta{display: flex; flex-wrap: wrap; align-items: center; gap: 8px 6px; font-size: 13.5px; color: var(--ink-3);}
.nd2 .gd-meta > span{margin-right: 8px;}
.nd2 .gd-meta time{color: var(--ink-2);}
.nd2 .gd-meta__btn{display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 11px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--ink-2); font: 500 13px/1 var(--f-body); text-decoration: none; cursor: pointer;}
.nd2 .gd-meta__btn:hover{color: var(--ink); border-color: var(--line-2);}
.nd2 .gd-meta__btn .ic{width: 14px; height: 14px;}
.nd2 .gd-prose{display: grid; gap: 16px;}
.nd2 .gd-prose p{font-size: 1.0625rem; line-height: 1.72; color: var(--ink); max-width: 68ch;}
.nd2 .gd-prose h2{font-size: clamp(1.45rem, 2.4vw, 1.75rem); letter-spacing: -.025em; line-height: 1.2; margin-top: 28px; scroll-margin-top: calc(env(safe-area-inset-top, 0px) + 96px);}
.nd2 .gd-prose .callout{margin-block: 8px;}
.nd2 .gd-prose .callout p{font-size: 15px; line-height: 1.6; color: var(--ink-2);}
.nd2 .gd-figure{margin: 4px 0 8px; display: grid; gap: 8px;}
.nd2 .gd-tablewrap{overflow-x: auto; border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface);}
.nd2 .gd-tablewrap:focus-visible{outline-offset: 2px;}
.nd2 .gd-table{width: 100%; min-width: 540px; border-collapse: collapse; font-size: 14px; line-height: 1.45;}
.nd2 .gd-table th,.nd2 .gd-table td{padding: 11px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line);}
.nd2 .gd-table tbody tr:last-child > *{border-bottom: 0;}
.nd2 .gd-table thead th{background: var(--bg-sunk); font: 500 11.5px/1.3 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3);}
.nd2 .gd-table tbody th{font-weight: 600; color: var(--ink); white-space: nowrap;}
.nd2 .gd-table td{color: var(--ink-2);}
.nd2 .gd-tools{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px;}
.nd2 .gd-tool{display: flex; align-items: center; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface); text-decoration: none; transition: border-color .15s, transform .15s;}
.nd2 .gd-tool:hover{border-color: var(--line-2); transform: translateY(-1px);}
.nd2 .gd-tool > span:last-child{display: grid; gap: 2px; min-width: 0;}
.nd2 .gd-tool b{font-weight: 600; font-size: 15px;}
.nd2 .gd-tool small{font-size: 13.5px; color: var(--ink-3);}
@media (max-width: 560px){.nd2 .gd-tools{grid-template-columns: minmax(0, 1fr);}}
.nd2 .gd-help{margin-top: 44px; padding: 16px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);}
.nd2 .gd-help__ask{display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; font-weight: 500;}
.nd2 .gd-help__ask[hidden]{display: none;}
.nd2 .gd-help__btns{display: flex; gap: 8px;}
.nd2 .gd-help__thanks{color: var(--ink-2);}
.nd2 .gd-pager{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 24px;}
.nd2 .gd-pager__card{display: grid; gap: 6px; align-content: start; padding: 16px 18px; border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface); text-decoration: none; transition: border-color .15s;}
.nd2 .gd-pager__card:hover{border-color: var(--amber);}
.nd2 .gd-pager__card b{font: 500 16px/1.35 var(--f-display); letter-spacing: -.01em;}
.nd2 .gd-pager__card--next{text-align: right;}
@media (max-width: 560px){.nd2 .gd-pager{grid-template-columns: minmax(0, 1fr);}
.nd2 .gd-pager__card--next{text-align: left;}}
.nd2 .gd-toc{align-self: stretch; border-left: 1px solid var(--line); min-width: 0;}
.nd2 .gd-toc__in{position: sticky; top: calc(env(safe-area-inset-top, 0px) + 64px); padding: 28px 20px; max-height: calc(100vh - 64px); overflow-y: auto;}
.nd2 .gd-toc__h{font: 500 11.5px/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); margin-bottom: 12px;}
.nd2 .gd-toc ul{list-style: none; margin: 0; padding: 0; display: grid;}
.nd2 .gd-toc ul a{display: block; padding: 6px 0 6px 12px; border-left: 1px solid var(--line); font-size: 13.5px; line-height: 1.4; color: var(--ink-2); text-decoration: none;}
.nd2 .gd-toc ul a:hover{color: var(--ink);}
.nd2 .gd-toc ul a.is-on{color: var(--ink); font-weight: 500; border-left: 2px solid var(--amber); padding-left: 11px;}
.nd2 .gd-toc__foot{display: grid; gap: 8px; margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--line); font-size: 13px;}
.nd2 .gd-toc__foot a{color: var(--ink-3); text-decoration: none;}
.nd2 .gd-toc__foot a:hover{color: var(--ink);}
@media (max-width: 1180px){.nd2 .gd-layout{grid-template-columns: 240px minmax(0, 1fr);}
.nd2 .gd-toc{display: none;}}
@media (max-width: 900px){.nd2 .gd-layout{grid-template-columns: minmax(0, 1fr);}
.nd2 .gd-side{border-right: 0; border-bottom: 1px solid var(--line);}
.nd2 .gd-side__in{position: static; max-height: none; overflow: visible; padding: 10px 12px;}
.nd2 .gd-menu-btn{display: flex; align-items: center; gap: 10px; width: 100%; height: 44px; padding: 0 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); font: 500 15px/1 var(--f-body); cursor: pointer;}
.nd2 .gd-menu-btn .ic{width: 16px; height: 16px; color: var(--ink-2);}
.nd2 .gd-menu-btn::after{content: ""; width: 7px; height: 7px; border-right: 1.5px solid var(--ink-3); border-bottom: 1.5px solid var(--ink-3); rotate: 45deg; translate: 0 -2px; transition: rotate .15s;}
.nd2 .gd-menu-btn[aria-expanded="true"]::after{rotate: 225deg; translate: 0 2px;}
.nd2 .gd-side__body{display: none; padding: 14px 2px 6px;}
.nd2 .gd-side__body.is-open{display: block;}}
/* ---- directory.css ---- */
.nd2 .dr-hero-wrap{padding-block: 20px;}
.nd2 .dr-hero{padding: clamp(24px, 4vw, 48px) clamp(20px, 4.5vw, 56px) clamp(32px, 5vw, 60px);}
.nd2 .dr-crumbs,.nd2 .dr-crumbs a{color: rgba(255,255,255,.88);}
.nd2 .dr-crumbs a:hover{color: #ffffff;}
.nd2 .dr-hero__grid{display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 56px); align-items: end; margin-top: clamp(28px, 5vw, 56px);}
.nd2 .dr-hero__copy{display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; justify-items: start; min-width: 0;}
.nd2 .dr-hero__copy .h-hero{max-width: 14ch;}
.nd2 .dr-search{width: min(560px, 100%); margin-top: 6px;}
.nd2 .dr-search input{width: 0;}
.nd2 .dr-search > .ic{width: 18px; height: 18px; color: rgba(255,255,255,.5);}
.nd2 .dr-search input::-webkit-search-cancel-button{filter: invert(1);}
.nd2 .dr-hero__facts{list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 14px; color: rgba(255,255,255,.88);}
.nd2 .dr-hero__facts li{display: inline-flex; align-items: center; gap: 8px;}
.nd2 .dr-hero__facts .ic{width: 16px; height: 16px;}
.nd2 .dr-stats{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0; border-radius: 14px; overflow: hidden;
  background: rgba(255,255,255,.25); border: 1px solid rgba(255,255,255,.25);}
.nd2 .dr-stats > div{display: flex; flex-direction: column-reverse; gap: 4px; padding: 18px 20px; background: rgba(0,0,0,.16); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);}
.nd2 .dr-stats dt{font-size: 13.5px; color: rgba(255,255,255,.88);}
.nd2 .dr-stats dd{margin: 0; font: 500 clamp(2rem, 4vw, 2.75rem)/1 var(--f-display); letter-spacing: -.03em; color: #ffffff;}
@media (max-width: 860px){.nd2 .dr-hero__grid{grid-template-columns: minmax(0, 1fr); align-items: start;}}
.nd2 .dr-headcopy{display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px;}
.nd2 .dr-cats{border-top: 1px solid var(--line);}
.nd2 .dr-cat{all: unset; box-sizing: border-box; display: grid; gap: 10px; align-content: start; width: 100%; height: 100%; padding: 28px clamp(20px, 3vw, 32px); cursor: pointer; transition: background-color .15s;}
.nd2 .dr-cat:hover{background: var(--bg-sunk);}
.nd2 .dr-cat:focus-visible{outline: 2px solid var(--focus); outline-offset: -2px;}
.nd2 .dr-cat__t{font: 500 var(--t-h3)/1.25 var(--f-display); letter-spacing: -.015em; color: var(--ink);}
.nd2 .dr-cat__p{color: var(--ink-2); font-size: .95rem;}
.nd2 .dr-cat .link{justify-self: start; margin-top: 4px;}
.nd2 .dr-tools{display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px;}
.nd2 .dr-tools .tabs{flex: 0 1 auto;}
.nd2 .dr-n{font: 500 11px/1 var(--f-mono); color: var(--ink-3);}
.nd2 .dr-q{position: relative; flex: 1 1 240px; max-width: 340px;}
.nd2 .dr-q .ic{position: absolute; left: 13px; top: 50%; translate: 0 -50%; width: 16px; height: 16px; color: var(--ink-3); pointer-events: none;}
.nd2 .dr-q .input{padding-left: 38px; border-radius: 999px;}
@media (max-width: 760px){.nd2 .dr-tools{flex-direction: column; align-items: stretch;}
.nd2 .dr-tools .tabs{width: 100%;}
.nd2 .dr-q{max-width: none; flex-basis: auto;}}
.nd2 .dr-table{background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-card); overflow: hidden;}
.nd2 .dr-thead,.nd2 .dr-row{display: grid; grid-template-columns: 40px minmax(0, 1.35fr) minmax(0, .8fr) minmax(0, 1fr) 170px 16px; gap: 16px; align-items: center;}
.nd2 .dr-thead{padding: 10px 18px; background: var(--bg-sunk); border-bottom: 1px solid var(--line); font: 500 11.5px/1.2 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3);}
.nd2 .dr-list{list-style: none; margin: 0; padding: 0;}
.nd2 .dr-item + .dr-item{border-top: 1px solid var(--line);}
.nd2 .dr-row{width: 100%; padding: 12px 18px; border: 0; background: transparent; color: var(--ink); font: inherit; font-size: 14px; text-align: left; cursor: pointer; transition: background-color .15s;}
.nd2 .dr-row:hover,.nd2 .dr-row[aria-expanded="true"]{background: var(--bg-sunk);}
.nd2 .dr-row:focus-visible{outline: 2px solid var(--focus); outline-offset: -2px; border-radius: 0;}
.nd2 .dr-name{display: grid; gap: 4px; min-width: 0;}
.nd2 .dr-name b{font-weight: 600; font-size: 15px; overflow-wrap: anywhere;}
.nd2 .dr-tokens{display: flex; flex-wrap: wrap; gap: 4px;}
.nd2 .dr-tokens code{font-size: 11.5px; padding: 2px 6px; border-radius: 5px; background: var(--bg-sunk); border: 1px solid var(--line); color: var(--ink-2); overflow-wrap: anywhere;}
.nd2 .dr-row:hover .dr-tokens code,.nd2 .dr-row[aria-expanded="true"] .dr-tokens code{background: var(--surface);}
.nd2 .dr-none{font-size: 12px; color: var(--ink-3);}
.nd2 .dr-sub{display: none; font-size: 12.5px; color: var(--ink-3);}
.nd2 .dr-op,.nd2 .dr-purpose{color: var(--ink-2); min-width: 0;}
.nd2 .dr-ver{justify-self: start;}
.nd2 .dr-chev{width: 8px; height: 8px; border-right: 1.5px solid var(--ink-3); border-bottom: 1.5px solid var(--ink-3); rotate: 45deg; translate: 0 -2px; transition: rotate .15s;}
.nd2 .dr-row[aria-expanded="true"] .dr-chev{rotate: 225deg; translate: 0 2px;}
.nd2 .logo-tile.dr-init{background: var(--bg-sunk); color: var(--ink-2); font: 600 15px/1 var(--f-display);}
@media (max-width: 900px){.nd2 .dr-thead{display: none;}
.nd2 .dr-row{grid-template-columns: 40px minmax(0, 1fr) auto; gap: 12px; padding: 14px 14px;}
.nd2 .dr-op,.nd2 .dr-purpose,.nd2 .dr-chev{display: none;}
.nd2 .dr-sub{display: block;}}
@media (max-width: 420px){.nd2 .dr-row{grid-template-columns: 40px minmax(0, 1fr);}
.nd2 .dr-ver{grid-column: 2;}}
.nd2 .dr-detail{padding: 4px 18px 22px 74px; background: var(--bg-sunk); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px 28px;}
.nd2 .dr-detail[hidden]{display: none;}
.nd2 .dr-facts{margin: 0; display: grid; gap: 0; border-top: 1px solid var(--line);}
.nd2 .dr-facts > div{display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 14px;}
.nd2 .dr-facts dt{color: var(--ink-3);}
.nd2 .dr-facts dd{margin: 0; color: var(--ink); min-width: 0; overflow-wrap: anywhere;}
.nd2 .dr-facts ul{margin: 0; padding-left: 18px; display: grid; gap: 4px;}
.nd2 .dr-facts a{color: var(--ink); text-decoration-color: var(--line-2); text-underline-offset: 3px;}
.nd2 .dr-facts a:hover{text-decoration-color: var(--amber);}
.nd2 .dr-rules{display: grid; gap: 12px; align-content: start; min-width: 0;}
.nd2 .dr-rules > p{font-size: 14px; color: var(--ink-2);}
.nd2 .dr-note{border: 1px solid var(--line); border-left: 3px solid var(--info); border-radius: 0 10px 10px 0; background: var(--surface); padding: 12px 14px; font-size: 14px; color: var(--ink-2);}
@media (max-width: 900px){.nd2 .dr-detail{grid-template-columns: minmax(0, 1fr); padding: 4px 14px 20px;}
.nd2 .dr-rules{order: -1;}}
@media (max-width: 520px){.nd2 .dr-facts > div{grid-template-columns: minmax(0, 1fr); gap: 2px;}}
.nd2 .dr-empty{padding: 28px 18px; display: grid; gap: 12px; justify-items: start; color: var(--ink-2);}
.nd2 .dr-empty[hidden]{display: none;}
.nd2 .dr-foot{display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 20px; margin-top: 14px;}
.nd2 .dr-steps{list-style: none; margin: 0; padding: 0;}
.nd2 .dr-step{display: grid; place-items: center; width: 32px; height: 32px; border-radius: 8px; background: var(--amber-soft); color: var(--amber-ink); font: 600 14px/1 var(--f-mono);}
.nd2 .dr-steps p{color: var(--ink-2); font-size: .95rem;}
.nd2 .dr-cta{display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); align-items: center;}
.nd2 .dr-cta__copy{display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; justify-items: start;}
.nd2 .dr-cta__copy .actions{margin-top: 8px;}
.nd2 .dr-cta__panel{margin: 0;}
.nd2 .dr-cta__panel .row{grid-template-columns: 40px minmax(0, 1fr) auto;}
@media (max-width: 860px){.nd2 .dr-cta{grid-template-columns: minmax(0, 1fr);}}
@media (max-width: 420px){.nd2 .dr-cta__panel .row{grid-template-columns: 40px minmax(0, 1fr);}
.nd2 .dr-cta__panel .row .pill{grid-column: 2; justify-self: start;}}
/* ---- company.css ---- */
.nd2 .co-first{border-top: 0;}
.nd2 .co-anchor,.nd2 #co-report{scroll-margin-top: calc(env(safe-area-inset-top, 0px) + 116px);}
.nd2 .subnav a.co-subnav-cta{padding: 0 14px; border-radius: 999px; color: #171717; background: var(--amber);}
.nd2 .subnav a.co-subnav-cta:hover{background: #f7ae3a;}
@media (max-width: 520px){.nd2 .subnav a.co-subnav-cta{display: none;}}
.nd2 .co-headcopy{display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; justify-items: start; min-width: 0;}
.nd2 .co-hero{display: grid; gap: clamp(36px, 5vw, 56px);}
.nd2 .co-hero__copy{display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; justify-items: start; max-width: 860px;}
.nd2 .co-hero__copy .h-hero{max-width: 15ch;}
.nd2 .co-chips{list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px;}
.nd2 .co-chips .ic{width: 15px; height: 15px; color: var(--amber-ink);}
.nd2 .co-stats{margin: 0; border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface); overflow: hidden;}
.nd2 .co-stats > .cell{display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 6px;}
.nd2 .co-stats dt{font-size: 14px; color: var(--ink-2);}
.nd2 .co-stats dd{margin: 0; font: 500 clamp(2.25rem, 4.5vw, 3.25rem)/1 var(--f-display); letter-spacing: -.04em;}
.nd2 .co-stats.cells > *{border-bottom: 0;}
@media (max-width: 860px){.nd2 .co-stats.cells > *:nth-child(-n+2){border-bottom: 1px solid var(--line);}}
@media (max-width: 520px){.nd2 .co-stats.cells > *:not(:last-child){border-bottom: 1px solid var(--line);}}
.nd2 .co-line{gap: 12px; padding: clamp(22px, 3vw, 32px);}
.nd2 .co-line h3{font-size: 1.5rem;}
.nd2 .co-line .link{justify-self: start; margin-top: 6px;}
.nd2 .co-principles{list-style: none; margin: 0; padding: 0;}
.nd2 .co-principles p{color: var(--ink-2); font-size: .95rem;}
.nd2 .co-faqwrap{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2.2fr); gap: 20px 48px; margin-top: clamp(40px, 5vw, 64px); align-items: start;}
.nd2 .co-faq-h{font-size: 1.35rem;}
@media (max-width: 860px){.nd2 .co-faqwrap{grid-template-columns: minmax(0, 1fr);}}
.nd2 .co-sec-top{display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); align-items: center;}
.nd2 .co-sec-top .actions{margin-top: 6px;}
.nd2 .co-where .row{grid-template-columns: 40px minmax(0, 1fr) auto;}
.nd2 .co-where__v{font-size: 13.5px; color: var(--ink-2); text-align: right;}
@media (max-width: 860px){.nd2 .co-sec-top{grid-template-columns: minmax(0, 1fr);}}
@media (max-width: 420px){.nd2 .co-where .row{grid-template-columns: 40px minmax(0, 1fr);}
.nd2 .co-where__v{grid-column: 2; text-align: left;}}
.nd2 .co-sub-h{font-size: 1.35rem; margin: clamp(40px, 5vw, 60px) 0 16px;}
@media (max-width: 640px){.nd2 .co-controls{background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-card); overflow: hidden;}
.nd2 .co-controls > .cell > .ic{width: 22px; height: 22px; color: var(--amber-ink);}
.nd2 .co-controls p{color: var(--ink-2); font-size: .95rem;}
.nd2 .co-controls a{color: var(--ink);}
.nd2 .co-controls.cells{border-top: 0;}
@media (min-width: 861px){.nd2 .co-controls.cells > *:nth-last-child(-n+3){border-bottom: 0;}}
@media (max-width: 860px) and (min-width: 521px){.nd2 .co-controls.cells > *:nth-last-child(-n+2){border-bottom: 0;}}
@media (max-width: 520px){.nd2 .co-controls.cells > *:last-child{border-bottom: 0;}}
.nd2 .co-report{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2.2fr); gap: 20px 48px; margin-top: clamp(40px, 5vw, 64px); padding: clamp(22px, 3vw, 32px);
  background: var(--surface); border: 1px solid var(--line); border-left: 3px solid var(--amber); border-radius: 0 var(--r-card) var(--r-card) 0;}
.nd2 .co-report__h{font-size: 1.5rem;}
.nd2 .co-steps{margin: 0; padding: 0; list-style: none; counter-reset: co-step; display: grid; gap: 12px;}
.nd2 .co-steps li{counter-increment: co-step; display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 12px; color: var(--ink-2);}
.nd2 .co-steps li::before{content: counter(co-step); display: grid; place-items: center; width: 26px; height: 26px; border-radius: 7px; background: var(--amber-soft); color: var(--amber-ink); font: 600 12.5px/1 var(--f-mono);}
.nd2 .co-steps b{color: var(--ink); font-weight: 600; overflow-wrap: anywhere;}
@media (max-width: 860px){.nd2 .co-report{grid-template-columns: minmax(0, 1fr);}}
.nd2 .co-kenya{display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 64px); align-items: center;}
.nd2 .co-kenya .ticks{margin: 4px 0;}
.nd2 .co-kenya__stats{margin: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--r-card); overflow: hidden;}
.nd2 .co-kenya__stats > div{display: flex; flex-direction: row-reverse; justify-content: flex-end; align-items: baseline; gap: 14px; padding: 18px 20px; background: var(--surface);}
.nd2 .co-kenya__stats dd{flex: none; min-width: 3.2ch;}
.nd2 .co-kenya__stats dt{font-size: 13.5px; color: var(--ink-2);}
.nd2 .co-kenya__stats dd{margin: 0; font: 500 clamp(1.6rem, 3vw, 2.4rem)/1.05 var(--f-display); letter-spacing: -.03em; color: var(--amber-ink);}
@media (max-width: 860px){.nd2 .co-kenya{grid-template-columns: minmax(0, 1fr);}}
.nd2 .co-contact{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: clamp(28px, 5vw, 64px); align-items: start;}
.nd2 .co-contact__info{display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; justify-items: stretch; min-width: 0;}
.nd2 .co-contact__info > .eyebrow,.nd2 .co-contact__info > h2{justify-self: start;}
.nd2 .co-channel{display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 16px; border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface);}
.nd2 .co-channel__main{display: grid; gap: 2px; min-width: 0;}
.nd2 .co-channel__value{font: 500 16px/1.35 var(--f-mono); color: var(--ink); text-decoration: none; user-select: all; -webkit-user-select: all; overflow-wrap: anywhere;}
.nd2 .co-channel__value:hover{text-decoration: underline; text-decoration-color: var(--amber); text-underline-offset: 3px;}
.nd2 .co-channel small{font-size: 13px; color: var(--ink-3);}
@media (max-width: 420px){.nd2 .co-channel{grid-template-columns: 40px minmax(0, 1fr);}
.nd2 .co-copy{grid-column: 2; justify-self: start;}}
.nd2 .co-routes{list-style: none; margin: 0; padding: 0; display: grid; border-top: 1px solid var(--line);}
.nd2 .co-routes li{display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 2px 14px; padding: 12px 0; border-bottom: 1px solid var(--line);}
.nd2 .co-routes .caption{grid-row: span 2; padding-top: 3px;}
.nd2 .co-routes b{font-weight: 600; font-size: 15px;}
.nd2 .co-routes small{color: var(--ink-3); font-size: 13.5px;}
.nd2 .co-form{display: grid; gap: 16px; padding: clamp(20px, 3vw, 32px); border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: var(--shadow); min-width: 0;}
.nd2 .co-form h3{font-size: 1.35rem;}
.nd2 .co-form__grid{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px;}
@media (max-width: 560px){.nd2 .co-form__grid{grid-template-columns: minmax(0, 1fr);}}
.nd2 .co-form .input{font-size: 16px;}
.nd2 .co-select{appearance: none; -webkit-appearance: none; padding-right: 36px; cursor: pointer;
  background-image: linear-gradient(45deg, transparent 50%, var(--ink-3) 50%), linear-gradient(135deg, var(--ink-3) 50%, transparent 50%);
  background-position: calc(100% - 19px) 18px, calc(100% - 14px) 18px; background-size: 5px 5px; background-repeat: no-repeat;}
.nd2 .co-req{color: var(--bad);}
.nd2 .co-opt{font-weight: 400; color: var(--ink-3);}
.nd2 .co-check{display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; align-items: start; font-size: 14px; color: var(--ink-2); cursor: pointer;}
.nd2 .co-check input{width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--amber);}
.nd2 .co-check a{color: var(--ink);}
.nd2 .co-form__foot{display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px;}
.nd2 .co-done{border: 1px solid var(--line); border-left: 3px solid var(--ok); border-radius: 0 10px 10px 0; background: var(--ok-soft); padding: 14px 16px; display: grid; gap: 4px; color: var(--ink);}
.nd2 .co-done[hidden]{display: none;}
.nd2 .co-done:focus{outline: none;}
.nd2 .co-done p{color: var(--ink-2); font-size: 14.5px;}
@media (max-width: 960px){.nd2 .co-contact{grid-template-columns: minmax(0, 1fr);}}
.nd2 .co-ember-ghost{color: #ffffff; border-color: rgba(255,255,255,.5); background: transparent;}
.nd2 .co-ember-ghost:hover{border-color: #ffffff;}}
/* ---- system.css ---- */
.nd2 .band{--band-bg: var(--bg); background-color: var(--band-bg);
  background-image: radial-gradient(color-mix(in srgb, var(--ink) 16%, transparent) 1px, transparent 1.2px); background-size: 12px 12px;
  border-top: 1px dashed var(--line-2);}
.nd2 .band--sunk{--band-bg: var(--bg-sunk);}
.nd2 .night{--band-bg: var(--night); background-image: radial-gradient(rgba(237,237,237,.09) 1px, transparent 1.2px);}
.nd2 .rails{background: var(--band-bg); border-inline: 1px dashed var(--line-2);}
.nd2 .cross::before,.nd2 .cross::after{top: -5px; width: 9px; height: 9px; border: 1px solid var(--line-2); background: var(--band-bg); border-radius: 1px;}
.nd2 .cross::before{left: -5px;}
.nd2 .cross::after{right: -5px;}
.nd2 .cells > *{position: relative;}
.nd2 .cells > *::before{content: ""; position: absolute; top: -5px; left: -5px; width: 9px; height: 9px; border: 1px solid var(--line-2); background: var(--band-bg, var(--bg)); border-radius: 1px; z-index: 1;}
.nd2 .eyebrow{padding: 6px 10px; border: 1px dashed color-mix(in srgb, var(--amber) 70%, transparent); border-radius: 4px; background: color-mix(in srgb, var(--amber) 8%, transparent); width: max-content; max-width: 100%;}
.nd2 .eyebrow::before{width: 7px; height: 7px;}
.nd2 .eyebrow--plain{padding: 0; border: 0; background: none;}
.nd2 .ember .eyebrow{border-color: rgba(255,243,223,.55); background: rgba(0,0,0,.12);}
.nd2 .hm-jobs__list button[aria-selected="true"]{box-shadow: none; border-color: transparent; border-left: 3px solid var(--amber); border-radius: 0 10px 10px 0; background: var(--bg-sunk);}
.nd2 .hm-jobs__list button{border-left: 3px solid transparent; border-radius: 0 10px 10px 0;}
.nd2 .ca-steps{gap: 0; position: relative;}
.nd2 .ca-steps::before{content: ""; position: absolute; left: 24px; right: 24px; top: 24px; border-top: 1px dashed var(--line-2);}
.nd2 .ca-steps li{border: 0; background: none; padding: 0 20px 0 0; gap: 10px;}
.nd2 .ca-steps li:not(:last-child)::after{display: none;}
.nd2 .ca-step-n{display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; border: 1px dashed var(--amber); background: var(--band-bg, var(--bg)); color: var(--amber-ink); font-size: 13px; position: relative; z-index: 1;}
@media (max-width: 900px){.nd2 .ca-steps::before{left: 24px; right: auto; top: 24px; bottom: 24px; border-top: 0; border-left: 1px dashed var(--line-2);}
.nd2 .ca-steps li{grid-template-columns: 48px 1fr; column-gap: 16px; padding: 0 0 22px;}
.nd2 .ca-steps li > :not(.ca-step-n){grid-column: 2;}
.nd2 .ca-step-n{grid-row: span 3;}}
@media (max-width: 640px){.nd2 .band{background-image: none;}}
.nd2 .grid{gap: 0; background: none; border-top: 1px solid var(--line); border-left: 1px solid var(--line);}
.nd2 .grid > *{position: relative; border: 0 !important; border-right: 1px solid var(--line) !important; border-bottom: 1px solid var(--line) !important; border-radius: 0 !important; box-shadow: none !important; background: var(--band-bg, var(--bg)); margin: 0;}
.nd2 .grid > *::before{content: ""; position: absolute; top: -6px; left: -6px; width: 9px; height: 9px; border: 1px solid var(--line-2); background: var(--band-bg, var(--bg)); border-radius: 1px; z-index: 1;}
.nd2 .card{border-radius: 0; box-shadow: none; padding: 28px clamp(20px, 3vw, 32px);}
.nd2 a.card:hover{transform: none; background: var(--bg-sunk);}
.nd2 .night a.card:hover{background: #1a1a1a;}
.nd2 .grid > .callout{border-left: 0 !important; padding: 24px clamp(20px, 3vw, 28px); gap: 8px;}
.nd2 .grid > .callout b{font-weight: 500;}
.nd2 .cells,.nd2 .hm-cost,.nd2 .hm-tools,.nd2 .hm-chain,.nd2 .hm-agent__facts,.nd2 .ca-sources,.nd2 .ca-uses,.nd2 .pl-finds,.nd2 .pl-sys,.nd2 .ft-list{border-radius: 0 !important;}
.nd2 .ca-tablewrap{border-radius: 0;}
.nd2 .hm-job{border-radius: 0;}
.nd2 .hm-plan{border-radius: 0;}
.nd2 .hm-plans{gap: 0; background: none; border-top: 1px solid var(--line); border-left: 1px solid var(--line);}
.nd2 .hm-plans .hm-plan{border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line);}
.nd2 .hm-plan.is-pop{box-shadow: inset 3px 0 0 var(--amber);}
.nd2 .hm-plan:hover{transform: none; background: var(--bg-sunk);}
.nd2 .panel{border-radius: 8px; box-shadow: none;}
.nd2 .code{border-radius: 8px;}
.nd2 .ca-subh{margin: 48px 0 0; padding: 0 0 14px; font: 500 1.05rem/1.3 var(--f-display);}
.nd2 #how-it-works .head,.nd2 .section > .head:has(+ .ca-steps){margin-inline: auto; text-align: center; justify-items: center;}
.nd2 .ca-steps,.nd2 .ca-steps--3{display: grid; grid-template-columns: 1fr !important; max-width: 760px; margin: 0 auto 8px; gap: 0;}
.nd2 .ca-steps::before{left: 24px; right: auto; top: 24px; bottom: 40px; border-top: 0; border-left: 1px dashed var(--line-2);}
.nd2 .ca-steps li{display: grid; grid-template-columns: 48px minmax(0, 1fr); column-gap: 28px; row-gap: 6px; padding: 0 0 36px; align-content: start;}
.nd2 .ca-steps li > :not(.ca-step-n){grid-column: 2;}
.nd2 .ca-steps li h3{margin-top: 12px; font-size: 1.15rem;}
.nd2 .ca-step-n{grid-row: span 3;}
@media (min-width: 900px){.nd2 #use-cases > .wrap > .rails > .section{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); column-gap: 0; align-items: start;}
.nd2 #use-cases .section > .head{grid-column: 1; padding-right: 32px; margin-bottom: 0;}
.nd2 #use-cases .section > .cells{grid-column: 2; grid-template-columns: repeat(2, minmax(0, 1fr));}
.nd2 #use-cases .section > .cells > *{border-right: 0 !important;}
.nd2 #use-cases .section > .cells > *:nth-child(odd){border-right: 1px solid var(--line) !important;}
.nd2 #use-cases .section > .ca-subh,.nd2 #use-cases .section > .grid{grid-column: 1 / -1;}}
:root{--r-card: 0px; --r-hero: 0px; --ember-bar: #ee6b12;}
.nd2 .panel,.nd2 .code,.nd2 .hm-frame,.nd2 .kpis,.nd2 .ember,.nd2 .ag-term,.nd2 .ag-addr,.nd2 .ag-panel,.nd2 .ag-built,.nd2 .ag-area,.nd2 .ag-empty,.nd2 .ag-prompt,.nd2 .ag-skills,.nd2 .co-stats,.nd2 .co-kenya__stats,.nd2 .co-channel,.nd2 .co-form,.nd2 .ca-tablewrap,.nd2 .ca-sources,.nd2 .ca-steps li,.nd2 .ca-uses,.nd2 .dr-stats,.nd2 .dr-table,.nd2 .dr-step,.nd2 .ft-list,.nd2 .gd-tablewrap,.nd2 .gd-tool,.nd2 .gd-pager__card,.nd2 .hm-chain,.nd2 .hm-log,.nd2 .hm-answer,.nd2 .hm-visit,.nd2 .hm-job,.nd2 .hm-agent__facts,.nd2 .hm-you,.nd2 .hm-cost,.nd2 .hm-plan,.nd2 .hm-tools,.nd2 .hm-hero__note,.nd2 .pl-finds,.nd2 .pl-sys,.nd2 .pl-page,.nd2 .pl-steps li,.nd2 .pr-plans,.nd2 .pr-cmp,.nd2 .pr-topups,.nd2 .pr-split,.nd2 .tl-card,.nd2 .tl-empty,.nd2 .tl-serp__form,.nd2 .tl-scroll,.nd2 .tl-g--mob,.nd2 .hm-jobs__list button,.nd2 .callout{border-radius: 0 !important;}
.nd2 .panel,.nd2 .hm-frame{box-shadow: none !important;}
.nd2 .ic-tile,.nd2 .logo-tile,.nd2 .ag-other .logo-tile,.nd2 .ag-area__head .ic-tile,.nd2 .tl-group__head .ic-tile,.nd2 .input,.nd2 .copy,.nd2 .gd-menu-btn,.nd2 .co-steps li::before,.nd2 .pl-sw i{border-radius: 4px !important;}
.nd2 .bar,.nd2 .bar > i,.nd2 .tl-meter,.nd2 .tl-meter > *{border-radius: 0 !important;}
.nd2 .hm-frame,.nd2 .panel{overflow: clip; overflow-clip-margin: 6px;}
.nd2 .hm-frame::before,.nd2 .hm-frame::after,.nd2 .panel::before,.nd2 .panel::after{content: ""; position: absolute; top: -5px; width: 9px; height: 9px; border: 1px solid var(--line-2); background: var(--band-bg, var(--bg)); border-radius: 1px; z-index: 3; pointer-events: none;}
.nd2 .panel{position: relative;}
.nd2 .hm-frame::before,.nd2 .panel::before{left: -5px;}
.nd2 .hm-frame::after,.nd2 .panel::after{right: -5px;}
.nd2 .night .panel::before,.nd2 .night .panel::after{background: var(--night);}
.nd2 .hm-dots i{border-radius: 1px; width: 8px; height: 8px;}
.nd2 .tabs{gap: 0; padding: 0; border-radius: 0; background: var(--surface);}
.nd2 .tabs button{height: 36px; padding: 0 16px; border-radius: 0; border-right: 1px solid var(--line);}
.nd2 .tabs button:last-child{border-right: 0;}
.nd2 .tabs button:hover{color: var(--ink); background: var(--bg-sunk);}
.nd2 .tabs button[aria-selected="true"]{background: var(--bg-sunk); color: var(--ink); box-shadow: inset 0 -2px 0 var(--ember-bar);}
.nd2 .hm-frame__chrome .tabs{background: var(--surface);}
.nd2 .hm-side span{border-radius: 0;}
.nd2 .hm-side .is-on{background: var(--bg-sunk); color: var(--ink); box-shadow: inset 2px 0 0 var(--ember-bar);}
.nd2 .subnav a{border-radius: 0;}
.nd2 .subnav a.is-on{box-shadow: inset 0 -2px 0 var(--ember-bar);}
.nd2 .subnav a.btn,.nd2 .subnav a.co-subnav-cta{border-radius: 999px;}
.nd2 .btn.btn--primary,.nd2 .subnav a.btn--primary{color: #171717;}
.nd2 .btn.btn--ink{color: var(--bg);}
.nd2 .btn.btn--light{color: #171717;}
.nd2 .btn.btn--ghost{color: var(--ink);}
.nd2 .kpi__label{font: 400 11.5px/1.3 var(--f-mono); letter-spacing: .02em; text-transform: none;}
.nd2 .byline{display: inline-flex; align-items: center; gap: 10px; font-size: 14px; color: var(--ink-2); text-decoration: none;}
.nd2 .on-night .byline{color: var(--night-ink-2);}
.nd2 .byline img{width: 32px; height: 32px; border-radius: 50%; object-fit: cover;}
.nd2 .byline b{color: var(--ink); font-weight: 500;}
.nd2 .on-night .byline b{color: var(--night-ink);}
.nd2 .byline:hover b{text-decoration: underline;}
.nd2 .author-card{display: grid; grid-template-columns: auto 1fr; gap: 16px 18px; align-items: center; max-width: 640px; padding: 24px; border: 1px solid var(--line); background: var(--surface);}
.nd2 .author-card img{width: 72px; height: 72px; border-radius: 50%; object-fit: cover;}
.nd2 .author-card .caption{display: block; margin-bottom: 2px;}
.nd2 .author-card h3{margin: 0; font-size: 18px;}
.nd2 .author-card .author-links{display: flex; gap: 14px; margin-top: 4px; font-size: 14px;}
.nd2 .author-card p{grid-column: 1 / -1; margin: 0; color: var(--ink-2);}
.nd2 .author-hero{display: grid; grid-template-columns: auto 1fr; gap: 32px; align-items: center;}
.nd2 .author-hero > img{width: 160px; height: 160px; border-radius: 50%; object-fit: cover; border: 1px solid var(--night-line);}
.nd2 .author-hero .actions{margin-top: 8px;}
@media (max-width: 640px){.nd2 .author-hero{grid-template-columns: 1fr; gap: 20px;}
.nd2 .author-hero > img{width: 112px; height: 112px;}}
.nd2{background:var(--bg);color:var(--ink);font:400 16px/1.6 var(--f-body);overflow-x:clip}
.nd2 [hidden]{display:none!important}

/* ---- nd2_parts.css (WordPress shim for generator-built bands) ---- */
/* scripts/nd2_parts.py: what the demo parts need once they are WordPress blocks. Append after assets/nd2.css. */

/* Bands sit flush: no block gap between them, and none inside the demo's grids, heads and wrappers. */
.nd2{margin-block:0!important}
.nd2 .is-layout-flow>*,.nd2 .is-layout-constrained>*{margin-block:0}
.nd2[id]{scroll-margin-top:96px}

/* Content sections: whatever the generator puts after a head (paragraphs, code, tables, notices) keeps a rhythm. */
.nd2 .nd2-sec>*+*{margin-block-start:clamp(20px,2.4vw,28px)}
.nd2 .nd2-sec>h2:not(.h2),.nd2 .nd2-sec>h3{font-size:1.5rem}
.nd2 .nd2-sec>p:not([class]){color:var(--ink-2);max-width:72ch}
.nd2 .nd2-sec>.wp-block-code{margin-inline:0;padding:16px;overflow-x:auto;background:var(--night);color:var(--night-ink);border:1px solid var(--night-line);border-radius:10px;font:13px/1.65 var(--f-mono)}

/* Hero: the demo puts border-top:0 inline; the facts band continues the hero's night background. */
.nd2 .ca-hero-band,.nd2 .nd2-facts-band{border-top:0}
.nd2 .ca-hero.nd2-solo{grid-template-columns:minmax(0,1fr)}
.nd2 .ca-hero.nd2-solo .ca-hero__copy{max-width:860px}
.nd2 .ca-hero .actions{margin:0}

/* Site Core's breadcrumbs block, drawn as the demo's .crumbs */
.nd2 .nd-breadcrumbs{width:auto;margin:0;padding:0;font-size:13px;color:var(--ink-3)}
.nd2 .nd-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.nd2 .nd-breadcrumbs li:not(:last-child)::after{content:"/";margin-left:6px;color:inherit;opacity:.6}
.nd2 .nd-breadcrumbs a{color:var(--ink-2);text-decoration:none}
.nd2 .nd-breadcrumbs a:hover{color:var(--ink)}

/* Non-list visuals (Site Core's feature-visual block) on the night hero */
.nd2 .night .nd-fv{--nd-white:var(--night-2);--nd-ink:var(--night-ink);--nd-line:var(--night-line);--nd-muted:var(--night-ink-2);--nd-paper:var(--bg-sunk);box-shadow:var(--shadow)}
.nd2 .night .nd-fv .is-up{color:#4ade80}
.nd2 .night .nd-fv .is-down{color:#f87171}

/* Cards and ruled cells */
.nd2 a.card{color:inherit}
.nd2 .card .link{justify-self:start;margin-top:4px}
.nd2 .card-logos{display:flex;flex-wrap:wrap;gap:8px}
.nd2 .cell p{color:var(--ink-2);font-size:.95rem}
.nd2 .cell>.ic{width:22px;height:22px;color:var(--amber-ink)}
.nd2 .cells.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.nd2 .cells.c2>*:nth-child(odd){border-right:1px solid var(--line)}
@media (max-width:520px){.nd2 .cells.c2{grid-template-columns:1fr}.nd2 .cells.c2>*{border-right:0!important}}

/* Tick lists: items may hold markup (<strong>, links), which the demo's two-column grid would split into cells */
.nd2 .ticks li{display:block;position:relative;padding-left:28px}
.nd2 .ticks li::before{position:absolute;left:0;top:0}

/* Notices */
.nd2 .callout p{color:var(--ink-2);font-size:.95rem}

/* FAQ items stay core Details blocks with class nd-faq (FAQPage schema); undo the 1.x .nd-faq styling. */
.nd2 .faq .nd-faq{margin:0;padding:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none}
.nd2 .faq .nd-faq summary{margin:0}
.nd2 .faq .nd-faq p{margin:0}

/* Tables (core table block) in an overflow frame, as the demo's .ca-tablewrap */
.nd2 .nd2-table{margin:0;overflow-x:auto;border:1px solid var(--line);border-radius:0;background:var(--surface)}
.nd2 .nd2-table table{width:100%;min-width:640px;border-collapse:collapse;font-size:14px}
.nd2 .nd2-table thead{border:0}
.nd2 .nd2-table th,.nd2 .nd2-table td{border:0;text-align:left;vertical-align:top;padding:14px 16px}
.nd2 .nd2-table th{font:500 11px/1.3 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);background:var(--bg-sunk);white-space:nowrap}
.nd2 .nd2-table td{border-top:1px solid var(--line);color:var(--ink-2)}
.nd2 .nd2-table td strong,.nd2 .nd2-table td b{color:var(--ink);font-weight:500}
.nd2 .nd2-table td a{color:var(--ink)}

/* Ember closer: the demo sets these inline */
.nd2 .nd2-closer-wrap{padding-block:20px 40px}
.nd2 .nd2-closer-copy{display:grid;gap:14px}

/* 1.x content placed inside the bands: prose keeps its spacing */
.nd2 .nd-help-article{max-width:760px}
.nd2 :is(.nd-help-article,.nd-policy-body)>*+*{margin-block-start:1em}
.nd2 :is(.nd-help-article,.nd-policy-body)>h2{margin-block-start:1.8em;font-size:1.5rem}
.nd2 :is(.nd-help-article,.nd-policy-body)>h3{margin-block-start:1.4em}
.nd2 :is(.nd-help-article,.nd-policy-body) p,.nd2 :is(.nd-help-article,.nd-policy-body) li{color:var(--ink-2)}
.nd2 :is(.nd-help-article,.nd-policy-body) :is(ul,ol):not(.ticks){padding-left:1.25em}
.nd2 :is(.nd-help-article,.nd-policy-body) li+li{margin-top:.4em}
.nd2 .nd-policy-body a,.nd2 .nd2-sec>p a{text-decoration:underline;text-underline-offset:3px}

/* Site Core blocks inside the bands: catalogue cards and the enquiry form */
.nd2 .nd-grid{gap:16px}
.nd2 .nd-card{background:var(--surface);border-color:var(--line);border-radius:0;box-shadow:none}
.nd2 .nd-card h3{font-size:var(--t-h3);margin:0 0 8px}
.nd2 .nd-card p{margin:0 0 .75em;color:var(--ink-2)}
.nd2 .nd-form-shell{margin:0;background:var(--surface);border-color:var(--line);border-radius:var(--r-card)}
.nd2 .nd-form-intro{display:grid;gap:14px;align-content:start}
.nd2 .nd-form-intro p{color:var(--ink-2)}
.nd2 .nd-enquiry-form{display:grid;gap:16px}
.nd2 .nd-form-shell .nd-button-primary{background:var(--amber);border-color:var(--amber);color:#171717;border-radius:999px;box-shadow:none}
.nd2 .nd-form-shell .nd-button-primary:hover{background:#f7ae3a;border-color:#f7ae3a}
