/* notarial-editorial.css — Wave B composition layer for the broad Notarial hubs, page-scoped (.ntx).
   Layout and hierarchy only. Colours, typography and buttons come from the existing OKNO system
   (okno-global-shell.css, okno-typography.css, okno-card-system.css, notarial-hub.css).
   No local palette, no gradient, no new font, no new button family.
   .onh-card / .onh-mini / .onh-step are NOT modified — Notarial child pages depend on them. */

/* ---------------- shared primitives ---------------- */
.ntx .ntx-measure{max-width:70ch}
.ntx .ntx-sec>.onh-wrap>.onh-intro,.ntx .ntx-sec>.onh-wrap>p{max-width:72ch}
.ntx .ntx-surface{background:var(--onh-surface);border:1px solid var(--onh-line);border-radius:18px}
.ntx .ntx-quiet{background:var(--onh-band);border:1px solid var(--onh-line);border-radius:18px}

/* CSS-drawn check marker — no icon asset family, no generated text characters */
.ntx .ntx-checks{list-style:none;padding-left:0;margin:0}
.ntx .ntx-checks li{position:relative;padding-left:26px;margin:0 0 9px;font-size:14.5px;line-height:1.5;
  color:var(--onh-muted);break-inside:avoid}
.ntx .ntx-checks li::before{content:"";position:absolute;left:3px;top:.45em;width:9px;height:5px;
  border-left:2px solid var(--onh-accent);border-bottom:2px solid var(--onh-accent);transform:rotate(-45deg)}

/* ---------------- 0. hero (§7) — spacing and measure only ---------------- */
.ntx.ntx-hero-out .onh-hero{padding-bottom:34px}
.ntx .onh-hero__copy .onh-lead{max-width:60ch}
.ntx .onh-hero__copy .onh-support{max-width:64ch}
.ntx .onh-hero__copy .onh-microline{max-width:66ch}
.ntx .onh-chips{gap:8px}

/* ---------------- 1. service directory (§8) ---------------- */
.ntx .ntx-featured{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0 0;align-items:start}
.ntx .ntx-feat{display:flex;flex-direction:column;background:var(--onh-surface);
  border:1px solid var(--onh-line);border-radius:18px;padding:0 26px 24px;overflow:hidden;position:relative}
.ntx .ntx-feat::before{content:"";display:block;height:3px;margin:0 -26px 22px;background:var(--onh-accent)}
.ntx .ntx-feat__ic{display:inline-flex;width:46px;height:46px;align-items:center;justify-content:center;
  border-radius:13px;background:var(--onh-band);color:var(--onh-accent);margin:0 0 14px}
.ntx .ntx-feat__t{font-size:21px;font-weight:800;line-height:1.24;margin:0 0 10px;color:var(--onh-navy)}
.ntx .ntx-feat__d{font-size:14.5px;line-height:1.55;color:var(--onh-muted);margin:0 0 18px;flex:1 1 auto;max-width:46ch}
.ntx .ntx-feat__price{margin:0 0 16px;padding-top:16px;border-top:1px solid var(--onh-line);
  font-size:15px;font-weight:800;color:var(--onh-navy);display:flex;flex-direction:column;gap:8px}
.ntx .ntx-feat__price .onh-price__tier{display:flex;flex-direction:column;gap:2px}
.ntx .ntx-feat__price .onh-price__l{font-size:14.5px;font-weight:800;color:var(--onh-navy)}
.ntx .ntx-feat__price .onh-price__n{font-size:13px;font-weight:600;color:var(--onh-muted);line-height:1.45}
.ntx .ntx-feat__act{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:auto}
.ntx .ntx-feat__act .onh-card__more{align-self:center;margin:0}

/* compact directory rows — one shared surface, hairline separated, no card per row */
.ntx .ntx-directory{margin:18px 0 0;background:var(--onh-surface);border:1px solid var(--onh-line);
  border-radius:18px;overflow:hidden}
.ntx .ntx-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;
  gap:0 20px;padding:16px 24px}
.ntx .ntx-row+.ntx-row{border-top:1px solid var(--onh-line)}
.ntx .ntx-row:hover{background:var(--onh-band)}
.ntx .ntx-row__ic{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;
  border-radius:10px;background:var(--onh-band);color:var(--onh-accent)}
.ntx .ntx-row__t{font-size:16px;font-weight:800;color:var(--onh-navy);margin:0 0 3px;line-height:1.3}
.ntx .ntx-row__d{font-size:13.5px;line-height:1.45;color:var(--onh-muted);margin:0;max-width:62ch}
.ntx .ntx-row__price{font-size:15px;font-weight:800;color:var(--onh-navy);white-space:nowrap;text-align:right}
.ntx .ntx-row__act{display:flex;align-items:center;gap:14px;justify-self:end}
.ntx .ntx-row__act .onh-card__more{white-space:nowrap}

/* ---------------- 2. lawyer authority module (§9) ---------------- */
.ntx .ntx-authority{display:grid;grid-template-columns:1fr 1px 1fr 1px 1fr;gap:0;margin:18px 0 0;
  background:var(--onh-surface);border:1px solid var(--onh-line);border-radius:18px;overflow:hidden}
.ntx .ntx-authority__d{background:var(--onh-line)}
.ntx .ntx-authority__col{padding:26px 26px 24px}
.ntx .ntx-authority__t{font-size:16px;font-weight:800;color:var(--onh-navy);margin:0 0 14px;
  padding-bottom:12px;border-bottom:2px solid var(--onh-accent);display:inline-block;line-height:1.3}
.ntx .ntx-authority__col p{font-size:14.5px;line-height:1.55;color:var(--onh-muted);margin:0}
.ntx .ntx-authority__col .onh-list{margin:0;padding-left:20px}
.ntx .ntx-authority__col .onh-list li{font-size:14.5px;line-height:1.5;color:var(--onh-muted);margin:0 0 8px}

/* ---------------- 3. power of attorney (§10) ---------------- */
.ntx .ntx-poa__cols{display:grid;grid-template-columns:1fr 1px 1fr;gap:0 32px;align-items:start;margin:16px 0 0}
.ntx .ntx-poa__d{background:var(--onh-line);align-self:stretch}
.ntx .ntx-poa__col{padding:4px 0}
.ntx .ntx-poa__band{margin:26px 0 0;background:var(--onh-surface);border:1px solid var(--onh-line);
  border-radius:18px;overflow:hidden}
.ntx .ntx-poa__tier{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px 28px;
  padding:20px 26px}
.ntx .ntx-poa__tier+.ntx-poa__tier{border-top:1px solid var(--onh-line)}
.ntx .ntx-poa__tier--a{border-left:4px solid var(--onh-accent)}
.ntx .ntx-poa__tier--b{border-left:4px solid var(--onh-navy)}
.ntx .ntx-poa__svc{font-size:15px;line-height:1.5;color:var(--onh-ink);margin:0;max-width:62ch}
.ntx .ntx-poa__val{font-size:22px;font-weight:800;color:var(--onh-navy);white-space:nowrap;text-align:right;
  font-variant-numeric:tabular-nums}
.ntx .ntx-poa__cta{margin:18px 0 0}

/* ---------------- 4. statements pricing rows (§11) ---------------- */
.ntx .ntx-price-rows{margin:16px 0 0;background:var(--onh-surface);border:1px solid var(--onh-line);
  border-radius:18px;overflow:hidden}
.ntx .ntx-price-rows__r{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;
  gap:8px 28px;padding:20px 26px}
.ntx .ntx-price-rows__r+.ntx-price-rows__r{border-top:1px solid var(--onh-line)}
.ntx .ntx-price-rows__t{font-size:16px;font-weight:800;color:var(--onh-navy);margin:0 0 6px;
  line-height:1.3;grid-column:1}
.ntx .ntx-price-rows__x{font-size:14.5px;line-height:1.55;color:var(--onh-muted);margin:0;grid-column:1;max-width:70ch}
.ntx .ntx-price-rows__p{grid-column:2;grid-row:1 / span 2;font-size:17px;font-weight:800;
  color:var(--onh-navy);white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}

/* ---------------- 5. signature / copy / authentication comparison (§12) ---------------- */
.ntx .ntx-comparison{display:grid;grid-template-columns:1fr 1px 1fr 1px 1fr;gap:0;margin:16px 0 0;
  background:var(--onh-surface);border:1px solid var(--onh-line);border-radius:18px;overflow:hidden}
.ntx .ntx-comparison__d{background:var(--onh-line)}
.ntx .ntx-comparison__c{display:flex;flex-direction:column;padding:26px 24px 24px}
.ntx .ntx-comparison__t{font-size:16px;font-weight:800;color:var(--onh-navy);margin:0 0 10px;line-height:1.3}
.ntx .ntx-comparison__x{font-size:14.5px;line-height:1.55;color:var(--onh-muted);margin:0 0 18px;flex:1 1 auto}
.ntx .ntx-comparison__p{font-size:20px;font-weight:800;color:var(--onh-navy);padding-top:14px;
  border-top:1px solid var(--onh-line);font-variant-numeric:tabular-nums}

/* ---------------- 6. certified translations (§13) — split typography, no new media ---------------- */
.ntx .ntx-translation{display:grid;grid-template-columns:1.06fr .94fr;gap:0 38px;align-items:start;margin:16px 0 0}
.ntx .ntx-translation__a{padding:22px 26px;background:var(--onh-band);border:1px solid var(--onh-line);
  border-radius:16px}
.ntx .ntx-translation__b{padding:22px 26px 22px 0}
.ntx .ntx-translation__t{font-size:16px;font-weight:800;color:var(--onh-navy);margin:0 0 14px;line-height:1.3}
.ntx .ntx-translation__foot{margin:24px 0 0;padding-top:20px;border-top:1px solid var(--onh-line);
  display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px}
.ntx .ntx-translation__foot .onh-price-line{margin:0;font-size:17px;font-weight:800;color:var(--onh-navy)}
.ntx .ntx-translation__foot .onh-cta-row{margin:0}
.ntx .ntx-translation__foot .onh-more{margin:0}

/* ---------------- 7. apostille (§14) — restrained accent information module ---------------- */
.ntx .ntx-apostille{margin:16px 0 0;border-left:4px solid var(--onh-accent);
  border-top:1px solid var(--onh-line);border-right:1px solid var(--onh-line);
  border-bottom:1px solid var(--onh-line);border-radius:0 18px 18px 0;
  background:var(--onh-surface);padding:28px 32px}
.ntx .ntx-apostille p{max-width:70ch}
.ntx .ntx-apostille__t{font-size:16px;font-weight:800;color:var(--onh-navy);margin:20px 0 12px}
.ntx .ntx-apostille .onh-pt{margin:20px 0 0;border-radius:14px}
.ntx .ntx-apostille__foot{margin:18px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}
.ntx .ntx-apostille__foot .onh-cta-row,.ntx .ntx-apostille__foot .onh-more{margin:0}

/* ---------------- 8. cross-service use-case matrix (§15) ---------------- */
.ntx .ntx-use-cases{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:16px 0 0;
  background:var(--onh-line);border:1px solid var(--onh-line);border-radius:18px;overflow:hidden}
.ntx .ntx-use-cases__c{background:var(--onh-surface);padding:24px 24px 20px}
.ntx .ntx-use-cases__t{font-size:16px;font-weight:800;color:var(--onh-navy);margin:0 0 12px;line-height:1.3}
.ntx .ntx-use-cases__c .onh-list{margin:0;padding-left:20px}
.ntx .ntx-use-cases__c .onh-list li{font-size:14px;line-height:1.5;color:var(--onh-muted);margin:0 0 7px}

/* ---------------- 9. continuous 8-step process rail (§16) ---------------- */
.ntx .ntx-process{list-style:none;margin:18px 0 0;padding:0;background:var(--onh-surface);
  border:1px solid var(--onh-line);border-radius:18px;overflow:hidden;display:block}
.ntx .ntx-process__s{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:start;
  padding:20px 30px 20px 0;background:transparent;border:none;border-radius:0}
.ntx .ntx-process__s+.ntx-process__s{border-top:1px solid var(--onh-line)}
.ntx .ntx-process__n{grid-column:1;justify-self:center;flex:none;width:32px;height:32px;border-radius:50%;
  background:var(--onh-band);color:var(--onh-navy);border:1.5px solid var(--onh-accent);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;
  font-variant-numeric:tabular-nums}
.ntx .ntx-process__s>div{grid-column:2}
.ntx .ntx-process__t{font-size:16px;font-weight:800;color:var(--onh-navy);margin:0 0 6px;line-height:1.3}
.ntx .ntx-process__s p{font-size:14.5px;line-height:1.55;color:var(--onh-muted);margin:0;max-width:78ch}

/* ---------------- 10. price table (§17) ---------------- */
.ntx .ntx-price-table{margin:20px 0 0;border-radius:18px}
.ntx .ntx-price-table .onh-pt__row{padding:15px 26px;align-items:baseline}
.ntx .ntx-price-table .onh-pt__row:nth-child(even){background:var(--onh-band)}
.ntx .ntx-price-table .onh-pt__svc{font-size:15px;line-height:1.5;color:var(--onh-ink);max-width:74ch}
.ntx .ntx-price-table .onh-pt__val{font-size:16px;font-weight:800;color:var(--onh-navy);
  font-variant-numeric:tabular-nums}

/* ---------------- 11. FAQ (§18) — weight reduced, native disclosure kept ---------------- */
.ntx .ntx-faq-sec .onh-faqwrap{max-width:840px}
.ntx .ntx-faq .onh-faq__q{padding:13px 46px 13px 20px;font-size:15.5px;font-weight:700;min-height:44px;
  display:flex;align-items:center}
.ntx .ntx-faq .onh-faq__q:hover{background:var(--onh-band)}
.ntx .ntx-faq .onh-faq__q:focus-visible{outline:2px solid var(--onh-accent);outline-offset:-2px}
.ntx .ntx-faq .onh-faq__a{padding:0 46px 16px 20px}
.ntx .ntx-faq .onh-faq__a p{font-size:14.5px;line-height:1.6;color:var(--onh-muted);margin:0;max-width:78ch}

/* ---------------- 12. final CTA (§19) ---------------- */
.ntx .ntx-final .onh-final__panel{padding:40px 44px}
.ntx .ntx-final .onh-final__t{max-width:26ch;margin-left:auto;margin-right:auto}
.ntx .ntx-final .onh-final__x{max-width:64ch;margin-left:auto;margin-right:auto}

/* ---------------- tablet ---------------- */
@media (max-width:1000px){
  .ntx .ntx-featured{grid-template-columns:1fr;gap:14px}
  .ntx .ntx-authority,.ntx .ntx-comparison{grid-template-columns:1fr}
  .ntx .ntx-authority__d,.ntx .ntx-comparison__d{height:1px;width:auto}
  .ntx .ntx-poa__cols{grid-template-columns:1fr;gap:0}
  .ntx .ntx-poa__d{height:1px;width:auto;margin:18px 0}
  .ntx .ntx-translation{grid-template-columns:1fr;gap:18px}
  .ntx .ntx-translation__b{padding:0 0 4px}
  .ntx .ntx-use-cases{grid-template-columns:1fr}
  .ntx .ntx-row{grid-template-columns:34px minmax(0,1fr);gap:6px 14px;padding:16px 18px}
  .ntx .ntx-row__price{grid-column:2;text-align:left;margin-top:8px}
  .ntx .ntx-row__act{grid-column:2;justify-self:start;margin-top:10px}
}

/* ---------------- mobile ---------------- */
@media (max-width:640px){
  .ntx .ntx-feat{padding:0 18px 20px;border-radius:14px}
  .ntx .ntx-feat::before{margin:0 -18px 18px}
  .ntx .ntx-feat__t{font-size:19px}
  .ntx .ntx-feat__ic{width:40px;height:40px;margin-bottom:12px}
  .ntx .ntx-feat__act{gap:10px}
  .ntx .ntx-feat__act .onh-btn{width:100%}

  .ntx .ntx-directory{border-radius:14px}
  .ntx .ntx-row{padding:16px 16px}
  .ntx .ntx-row__t{font-size:15.5px}
  .ntx .ntx-row__act .onh-btn{min-height:44px}

  .ntx .ntx-authority__col{padding:20px 18px}
  .ntx .ntx-comparison__c{padding:20px 18px}
  .ntx .ntx-comparison__p{font-size:18px}

  .ntx .ntx-poa__band{border-radius:14px}
  .ntx .ntx-poa__tier{grid-template-columns:1fr;gap:8px;padding:18px 18px}
  .ntx .ntx-poa__val{text-align:left;font-size:20px}

  .ntx .ntx-price-rows{border-radius:14px}
  .ntx .ntx-price-rows__r{grid-template-columns:1fr;gap:6px;padding:18px}
  .ntx .ntx-price-rows__p{grid-column:1;grid-row:auto;text-align:left;font-size:16px}

  .ntx .ntx-translation__a{padding:18px 16px}
  .ntx .ntx-apostille{padding:20px 18px;border-radius:0 14px 14px 0}
  .ntx .ntx-use-cases{border-radius:14px}
  .ntx .ntx-use-cases__c{padding:20px 18px}

  .ntx .ntx-process{border-radius:14px}
  .ntx .ntx-process__s{grid-template-columns:52px minmax(0,1fr);padding:16px 18px 16px 0}
  .ntx .ntx-process__n{width:28px;height:28px;font-size:13px}
  .ntx .ntx-process__t{font-size:15.5px}

  .ntx .ntx-price-table{border-radius:14px}
  .ntx .ntx-price-table .onh-pt__row{padding:13px 16px;gap:12px}
  .ntx .ntx-faq .onh-faq__q{padding:13px 42px 13px 16px;font-size:15px}
  .ntx .ntx-faq .onh-faq__a{padding:0 42px 14px 16px}
  .ntx .ntx-final .onh-final__panel{padding:26px 20px}

  /* §20 mobile floating-action safe zone — page-scoped, minimum, no change to the global stack.
     The global .okno-fa is fixed at the bottom-right and occupies roughly the right 56px of the
     viewport. Left- and centre-aligned text sits well clear of it, but RIGHT-ALIGNED content (the
     quick-pick prices, the price-table values, the FAQ disclosure marker) is painted exactly where the
     stack sits, so those three are inset far enough that the stack can never cover them at any scroll
     offset. Nothing is hidden, no label changes, no action is removed. */
  .ntx .onh-quick__b{padding-right:64px}
  /* long UA service names wrap before they can reach the stack */
  .ntx .ntx-feat__t,.ntx .ntx-row__t{max-width:calc(100% - 48px)}
  /* the row action pair wraps instead of running its secondary link into the stack */
  .ntx .ntx-row__act{flex-wrap:wrap;gap:10px 14px;max-width:calc(100% - 56px)}
  /* the final panel keeps its centred composition, inset symmetrically so its ink clears the stack */
  .ntx .ntx-final .onh-final__panel{padding-left:30px;padding-right:30px}
  .ntx .ntx-price-table .onh-pt__row{padding-right:64px}
  .ntx .ntx-faq .onh-faq__q{padding-right:76px}
  .ntx .ntx-faq .onh-faq__mk{right:64px}
  .ntx .ntx-faq .onh-faq__a{padding-right:64px}
}
