/* ============================================================================
   DocsOrigin · fx-site.css — the public marketing surface.
   ----------------------------------------------------------------------------
   ⚠ The layer added on top of fx.css / fx-home.css for the pages that did not
     exist before: pricing, services, a service, the country hub, a country
     guide, the legal set and the enquiry form.
   ⛔ Every layout rule is written in **logical properties** (inline-start /
     inline-end / block). Hebrew and Arabic get dir="rtl" on <html> and that
     has to be enough — a `left:` in here is a bug, not a shortcut.
   ⛔ No backdrop-filter anywhere. It photographs well and costs real frames.
   ⚠ Palette: ink #0b1020, accent #4361ee, gold #e8b53d. The gold works
     because it is **rare** — it marks a seal, a rule, a single number.
   ⚠ Media queries are written as `screen and (…)`, never bare: a bare
     `max-width` query fires on an A4 print sheet (~744px) and prints the
     phone layout. That has burned this project before.
   ========================================================================== */

/* ------------------------------------------------------------- utilities -- */
.skip{
  position:absolute; inset-inline-start:-9999px; inset-block-start:0; z-index:99;
  background:var(--accent); color:#fff; padding:10px 16px; border-radius:0 0 var(--r-sm) 0;
}
.skip:focus{ inset-inline-start:0; }
.vh{
  position:absolute; inline-size:1px; block-size:1px; overflow:hidden;
  clip-path:inset(50%); white-space:nowrap;
}
.mut{ color:var(--tx3); }
.site .pill{
  display:inline-flex; align-items:center; gap:5px; padding:2px 9px; border-radius:999px;
  background:var(--accent-soft); color:var(--accent2); font-size:12.5px; font-weight:600;
  font-variant-numeric:tabular-nums;
}
.site code{
  font-family:var(--mono); font-size:12.5px; background:#f2f4fb; border:1px solid var(--line2);
  border-radius:6px; padding:2px 7px; display:inline-block; max-inline-size:100%;
  overflow-x:auto; white-space:nowrap;
}

/* ------------------------------------------------------------ page shell -- */
.page-main{ background:var(--bg); }
.page-hero{
  position:relative; padding-block:64px 44px; background:var(--ink); color:#eef1fb;
  overflow:hidden; isolation:isolate;
}
.page-hero .art-hero{ position:absolute; inset:0; z-index:-1; opacity:.8; }
.page-hero h1{ margin-block:10px 12px; color:#fff; }
.page-hero .lead{ font-size:clamp(16px,1.6vw,19px); color:#c6cee8; max-inline-size:70ch; }
.page-hero .eyebrow{
  display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:700;
  letter-spacing:.10em; text-transform:uppercase; color:var(--gold);
}
.page-hero .cta{ display:flex; flex-wrap:wrap; gap:12px; margin-block-start:22px; }
.page-hero .btn:not(.accent){ background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.22); color:#eef1fb; }
.page-hero .btn:not(.accent):hover{ background:rgba(255,255,255,.13); }
.hero-boundary,.country-free{
  display:flex; gap:9px; align-items:flex-start; margin-block-start:18px;
  font-size:13.5px; color:#aab5d6; max-inline-size:68ch;
}
.hero-boundary .ic,.country-free .ic{ margin-block-start:2px; color:var(--gold); }

/* ------------------------------------------------------------ breadcrumb -- */
.crumbs{ padding-block:14px 0; }
.crumbs ol{ display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none; font-size:12.5px; color:var(--tx3); }
.crumbs li + li::before{ content:"/"; margin-inline-end:6px; color:var(--line); }
.crumbs a{ color:var(--tx2); }
.crumbs a:hover{ color:var(--accent); text-decoration:underline; }

/* ------------------------------------------------------- country switcher -- */
.switch-explain{
  display:grid; grid-template-columns:1.6fr 1fr; gap:32px; align-items:center;
  margin-block-start:34px; padding:26px; border:1px solid var(--line);
  border-radius:var(--r); background:var(--card); box-shadow:var(--sh);
}
.switch-explain h2{ font-size:clamp(21px,2.2vw,28px); margin-block-end:10px; }
.switch-explain p{ color:var(--tx2); max-inline-size:62ch; }
.switch-hint{
  display:flex; gap:8px; align-items:flex-start; font-size:13.5px; color:var(--tx3);
  border-inline-start:3px solid var(--gold); padding-inline-start:11px;
}
.switch-control{ display:flex; flex-direction:column; gap:12px; align-items:flex-start; }
.switch-control .sw{ inline-size:100%; }
.switch-note{ font-size:12.5px; color:var(--tx3); }

/* ---------------------------------------------------------- the tax cards -- */
.tax-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px; }
.tax-card{
  position:relative; background:var(--card); border:1px solid var(--line);
  border-radius:var(--r); padding:22px 20px 20px; box-shadow:var(--sh);
}
.tax-card h3{ margin-block:8px 8px; font-size:17px; }
.tax-card p{ margin:0; color:var(--tx2); font-size:14px; }
.tax-index{
  font-size:12px; font-weight:700; color:var(--gold); letter-spacing:.08em;
}
.tax-proof{
  margin:26px 0 0; padding:22px; border:1px solid var(--line); border-radius:var(--r);
  background:var(--surface-subtle);
}
.tax-proof figcaption{ display:flex; flex-direction:column; gap:4px; margin-block-end:14px; }
.tax-proof figcaption b{ font-family:var(--fd); font-size:19px; font-weight:600; }
.tax-proof figcaption span{ font-size:13.5px; color:var(--tx3); }
.tax-tbl th[scope=row]{ display:flex; flex-direction:column; gap:1px; }
.tax-tbl th[scope=row] small{ font-size:11.5px; color:var(--tx3); }
.tax-tbl tfoot th,.tax-tbl tfoot td{ font-weight:700; border-block-start:2px solid var(--tx); }
.tax-note{
  display:flex; gap:8px; align-items:flex-start; margin:12px 0 0;
  font-size:12.5px; color:var(--tx3);
}

/* --------------------------------------------------------- document chips -- */
.docs-strip{
  margin-block-start:34px; padding:24px; border:1px solid var(--line);
  border-radius:var(--r); background:var(--card);
}
.docs-strip h3{ font-family:var(--fd); font-size:21px; font-weight:600; }
.docs-strip p{ color:var(--tx2); max-inline-size:76ch; }
.doc-chips{ display:flex; flex-wrap:wrap; gap:9px; margin:0; padding:0; list-style:none; }
.doc-chips li{
  display:inline-flex; align-items:center; gap:7px; padding:7px 13px; border-radius:999px;
  border:1px solid var(--line); background:var(--surface-subtle); font-size:13.5px; font-weight:600;
}
.doc-chips .ic{ color:var(--accent); }

/* ------------------------------------------------------------- free / not -- */
.free-sec{ position:relative; overflow:hidden; }
.free-grid{ display:grid; grid-template-columns:1.15fr 1fr; gap:22px; margin-block-start:26px; }
.free-col{ border:1px solid var(--line); border-radius:var(--r); background:var(--card); padding:24px; }
.free-col h3{
  display:flex; align-items:center; gap:9px; font-size:16px; letter-spacing:.01em;
  margin-block-end:14px; padding-block-end:12px; border-block-end:1px solid var(--line2);
}
.free-col ul{ margin:0; padding:0; list-style:none; display:grid; gap:10px; }
.free-col li{ position:relative; padding-inline-start:22px; color:var(--tx2); font-size:14.5px; }
.free-col li::before{
  content:""; position:absolute; inset-inline-start:0; inset-block-start:.55em;
  inline-size:8px; block-size:8px; border-radius:2px; background:var(--green);
}
.free-out li::before{ background:var(--amber); }
.free-in h3 .ic{ color:var(--green); }
.free-out h3 .ic{ color:var(--amber); }
.free-scope{
  margin-block-start:16px; padding-block-start:14px; border-block-start:1px dashed var(--line);
  font-size:12.5px; color:var(--tx3);
}
.free-actions{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-block-start:28px; }

/* ------------------------------------------------------------ price page --- */
.zero-card{
  display:grid; grid-template-columns:auto 1fr; gap:34px; align-items:center;
  padding:34px; border:1px solid var(--line); border-radius:var(--r);
  background:var(--card); box-shadow:var(--sh-lg);
  background-image:linear-gradient(180deg,rgba(232,181,61,.07),transparent 42%);
}
.zero-card-price{ text-align:center; }
.zero-card-price b{
  display:block; font-family:var(--fd); font-size:clamp(72px,11vw,132px); line-height:.9;
  background:var(--gold-foil); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.zero-card-price span{ font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--tx3); }
.zero-card-copy h2{ margin-block-end:8px; }
.zero-card-copy p{ color:var(--tx2); max-inline-size:60ch; }
.zero-checks{ display:flex; flex-wrap:wrap; gap:10px 18px; margin:16px 0 20px; padding:0; list-style:none; }
.zero-checks li{ display:inline-flex; align-items:center; gap:7px; font-size:14px; font-weight:600; }
.zero-checks .ic{ color:var(--green); }
.price-tbl th[scope=row]{ display:flex; flex-direction:column; gap:3px; }
.price-tbl th[scope=row] small{ font-weight:400; color:var(--tx3); }
.price-packs{ display:flex; flex-wrap:wrap; gap:6px; }
.pack-chip{
  display:inline-block; padding:2px 9px; border-radius:999px; border:1px solid var(--line);
  font-size:12px; color:var(--tx2);
}
.price-note{
  display:flex; gap:9px; align-items:flex-start; margin-block-start:14px;
  font-size:12.5px; color:var(--tx3);
}
.why-sec .why-body{ font-size:17px; line-height:1.7; color:var(--tx2); }
.why-boundary{ display:flex; gap:9px; align-items:flex-start; font-size:13px; color:var(--tx3); }

/* ------------------------------------------------------------- price bits -- */
.price{ display:inline-flex; flex-direction:column; align-items:flex-end; gap:1px; }
.price i{ font-style:normal; font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--tx3); }
.price b{ font-family:var(--fd); font-size:20px; font-weight:600; font-variant-numeric:tabular-nums; }
.price small{ font-size:11px; color:var(--tx3); }
.price.price-lg b{ font-size:30px; }
.price.is-quote{ font-size:14px; font-weight:600; color:var(--accent2); }
[dir=rtl] .price{ align-items:flex-start; }

/* ------------------------------------------------------------- services --- */
.svc-cards{ display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:18px; }
.svc-card{
  position:relative; display:flex; flex-direction:column; gap:10px;
  background:var(--card); border:1px solid var(--line); border-radius:var(--r);
  padding:22px 20px; box-shadow:var(--sh); transition:box-shadow .18s, transform .18s;
}
.svc-card:hover{ box-shadow:var(--sh-lg); transform:translateY(-2px); }
.svc-card h3{ font-size:18px; }
.svc-card h3 a::after{ content:""; position:absolute; inset:0; }
.svc-card > p{ margin:0; color:var(--tx2); font-size:14px; }
.svc-flag{
  position:absolute; inset-block-start:-9px; inset-inline-end:14px; padding:3px 10px;
  border-radius:999px; background:var(--gold-foil); color:#40320c;
  font-size:11px; font-weight:700; letter-spacing:.05em;
}
.svc-mini{ margin:0; padding:0; list-style:none; display:grid; gap:6px; }
.svc-mini li{ display:flex; gap:7px; align-items:flex-start; font-size:13px; color:var(--tx2); }
.svc-mini .ic{ color:var(--green); margin-block-start:2px; }
.svc-card-foot{
  margin-block-start:auto; padding-block-start:12px; border-block-start:1px solid var(--line2);
  display:flex; align-items:flex-end; justify-content:space-between; gap:12px;
}
.svc-go{ color:var(--accent); }
[dir=rtl] .svc-go .ic,[dir=rtl] .svc-go-link .ic{ transform:scaleX(-1); }
.svc-go-link{ display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:600; color:var(--accent); }
.svc-meta{ display:flex; align-items:center; gap:6px; color:var(--tx3); }
.cat-count{ font-size:12.5px; color:var(--tx3); font-variant-numeric:tabular-nums; }
.svc-boundary{
  display:flex; gap:9px; align-items:flex-start; justify-content:center;
  margin-block-start:22px; font-size:13px; color:var(--tx3); max-inline-size:80ch;
  margin-inline:auto;
}
.boundary-card{
  border:1px solid var(--line); border-radius:var(--r); background:var(--card); padding:26px;
  box-shadow:var(--sh);
}
.boundary-two{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-block-start:14px; }
.boundary-two h3{ display:flex; align-items:center; gap:8px; font-size:15px; margin-block-end:6px; }
.boundary-two p{ margin:0; font-size:13.5px; color:var(--tx2); }

/* --------------------------------------------------------- service page --- */
.svc-hero-grid{ display:grid; grid-template-columns:1.5fr 1fr; gap:34px; align-items:start; }
.svc-facts{
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.15);
  border-radius:var(--r); padding:20px; display:grid; gap:14px;
}
.svc-fact{ display:flex; flex-direction:column; gap:3px; }
.svc-fact small{ font-size:11.5px; letter-spacing:.09em; text-transform:uppercase; color:#8d9ac2; }
.svc-fact b{ font-size:15px; color:#fff; font-weight:600; }
.svc-facts .price b{ color:#fff; }
.svc-facts .price i,.svc-facts .price small{ color:#a9b4d6; }
.svc-fact-note{ display:flex; gap:8px; font-size:12px; color:#8d9ac2; margin:0; }
.big-body{ font-size:17px; line-height:1.72; color:var(--tx2); }
.fit-note{
  display:flex; gap:9px; align-items:flex-start; padding:14px 16px; border-radius:var(--r-sm);
  background:var(--green-soft); font-size:14px;
}
.fit-note .ic{ color:var(--green); margin-block-start:2px; }
.inc-grid{ display:grid; grid-template-columns:1.3fr 1fr; gap:24px; }
.inc-col h2{ display:flex; align-items:center; gap:9px; font-size:20px; margin-block-end:12px; }
.inc-col h2 .ic{ color:var(--accent); }
.inc-need h2 .ic{ color:var(--amber); }
.inc-list{ margin:0; padding:0; list-style:none; display:grid; gap:10px; }
.inc-list li{
  position:relative; padding-inline-start:24px; color:var(--tx2); font-size:14.5px;
}
.inc-list li::before{
  content:""; position:absolute; inset-inline-start:0; inset-block-start:.5em;
  inline-size:10px; block-size:2px; background:var(--accent);
}
.inc-need .inc-list li::before{ background:var(--amber); }
.pack-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:18px; }
.pack{
  display:flex; flex-direction:column; gap:12px; padding:24px 20px;
  border:1px solid var(--line); border-radius:var(--r); background:var(--card); box-shadow:var(--sh);
}
.pack.pack-hi{ border-color:var(--accent); box-shadow:var(--sh-lg); }
.pack h3{ font-size:17px; }
.pack .price{ align-items:flex-start; }
.pack-sum{ margin:0; font-size:13.5px; color:var(--tx3); }
.pack ul{ margin:0; padding:0; list-style:none; display:grid; gap:8px; }
.pack li{ display:flex; gap:8px; align-items:flex-start; font-size:13.5px; color:var(--tx2); }
.pack li .ic{ color:var(--green); margin-block-start:2px; }
.pack .btn{ margin-block-start:auto; justify-content:center; }
.flow-steps{ margin:0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px; counter-reset:f; }
.flow-steps li{
  position:relative; padding:22px 20px; border-radius:var(--r);
  background:var(--card); border:1px solid var(--line);
}
.flow-n{ font-size:12px; font-weight:700; color:var(--gold); letter-spacing:.1em; }
.flow-steps h3{ font-size:16px; margin-block:6px 6px; }
.flow-steps p{ margin:0; font-size:13.5px; color:var(--tx2); }
.who-not{
  margin-block-start:24px; padding:20px 22px; border-radius:var(--r);
  border:1px dashed var(--line); background:var(--surface-subtle);
}
.who-not h3{ display:flex; align-items:center; gap:9px; font-size:16px; margin-block-end:6px; }
.who-not p{ margin:0 0 10px; color:var(--tx2); font-size:14px; }

/* ------------------------------------------------------------------ FAQ --- */
.faq{ display:grid; gap:10px; }
.faq details{
  border:1px solid var(--line); border-radius:var(--r-sm); background:var(--card);
  padding:2px 18px;
}
.faq summary{
  cursor:pointer; padding:15px 0; font-weight:600; font-size:15.5px; list-style:none;
  display:flex; align-items:center; justify-content:space-between; gap:14px;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{
  content:"+"; color:var(--accent); font-size:20px; line-height:1; flex:none;
}
.faq details[open] summary::after{ content:"–"; }
.faq details p{ margin:0 0 16px; color:var(--tx2); font-size:14.5px; max-inline-size:78ch; }

/* ------------------------------------------------------------- the proof -- */
.proof-sec{ background:var(--surface-subtle); }
.proof-card{
  border:1px dashed var(--line); border-radius:var(--r); background:var(--card);
  padding:30px; text-align:center;
}
.proof-lead{ font-size:16px; color:var(--tx2); }
/* ⛔ Deliberately empty placeholders. Real quotes replace them; nothing is
   invented to fill the space, and no rating markup is emitted for them. */
.proof-slots{ display:flex; gap:14px; justify-content:center; margin-block:18px; }
.proof-slots span{
  inline-size:min(210px,30%); block-size:96px; border-radius:var(--r-sm);
  border:1px dashed var(--line); background:repeating-linear-gradient(
    135deg,transparent,transparent 8px,var(--line2) 8px,var(--line2) 9px);
}
.proof-note{
  display:flex; gap:9px; align-items:flex-start; justify-content:center;
  font-size:13px; color:var(--tx3); max-inline-size:72ch; margin-inline:auto; text-align:start;
}
.proof-invite a{ color:var(--accent); font-weight:600; text-decoration:underline; }

/* ------------------------------------------------------------------ trust -- */
.trust-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px; }
.trust-card{
  background:var(--card); border:1px solid var(--line); border-radius:var(--r);
  padding:24px 22px; box-shadow:var(--sh);
}
.trust-ic{
  display:inline-flex; align-items:center; justify-content:center;
  inline-size:40px; block-size:40px; border-radius:11px;
  background:var(--accent-soft); color:var(--accent2); margin-block-end:12px;
}
.trust-card h3{ font-size:17px; margin-block-end:8px; }
.trust-card p{ margin:0; color:var(--tx2); font-size:14px; }
.trust-sec-card ul{ margin:0; padding:0; list-style:none; display:grid; gap:9px; }
.trust-sec-card li{ position:relative; padding-inline-start:20px; font-size:13.5px; color:var(--tx2); }
.trust-sec-card li::before{
  content:""; position:absolute; inset-inline-start:0; inset-block-start:.55em;
  inline-size:7px; block-size:7px; border-radius:999px; background:var(--accent);
}
.trust-nocert{
  display:flex; gap:10px; align-items:flex-start; margin-block-start:22px; padding:16px 18px;
  border-radius:var(--r-sm); background:var(--amber-soft); color:#6a4708; font-size:13.5px;
}
.trust-links{ display:flex; flex-wrap:wrap; gap:16px; margin-block-start:16px; font-size:13.5px; }
.trust-links a{ color:var(--accent); text-decoration:underline; }

/* ------------------------------------------------------------ country hub -- */
.cy-tbl th[scope=row]{ display:flex; flex-direction:column; gap:1px; }
.cy-tbl th[scope=row] a{ color:var(--tx); font-weight:600; }
.cy-tbl th[scope=row] a:hover{ color:var(--accent); text-decoration:underline; }
.cy-tbl th[scope=row] small{ font-size:11px; color:var(--tx3); letter-spacing:.06em; }
.conf{
  display:inline-block; padding:2px 9px; border-radius:999px; font-size:11.5px;
  font-weight:700; letter-spacing:.05em; text-transform:uppercase;
}
.conf-high{ background:var(--green-soft); color:#0a7350; }
.conf-med{ background:var(--amber-soft); color:#7a5006; }
.conf-low{ background:var(--red-soft); color:#8f2438; }

/* --------------------------------------------------------- country guide -- */
.country-hero-grid{ display:grid; grid-template-columns:1.55fr 1fr; gap:34px; align-items:start; }
.country-facts{
  display:grid; grid-template-columns:1fr 1fr; gap:14px 20px; padding:20px;
  border:1px solid rgba(255,255,255,.15); border-radius:var(--r); background:rgba(255,255,255,.05);
}
.cf{ display:flex; flex-direction:column; gap:2px; }
.cf small{ font-size:11px; letter-spacing:.09em; text-transform:uppercase; color:#8d9ac2; }
.cf b{ font-size:16px; color:#fff; font-weight:600; }
.rate-grid{ display:grid; grid-template-columns:1fr 1.4fr; gap:22px; align-items:stretch; }
.rate-main{
  padding:26px; border-radius:var(--r); border:1px solid var(--line); background:var(--card);
  display:flex; flex-direction:column; gap:6px; justify-content:center;
}
.rate-label{ font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--tx3); font-weight:700; }
.rate-big{
  font-family:var(--fd); font-size:clamp(48px,7vw,78px); line-height:1; font-weight:600;
  font-variant-numeric:tabular-nums;
}
.rate-none{ font-family:var(--fd); font-size:22px; font-weight:600; color:var(--tx2); }
.rate-reduced{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-block-start:10px; }
.rate-reduced small{ font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--tx3); }
.conf-card{ padding:24px; border-radius:var(--r); border:1px solid var(--line); background:var(--card); }
.conf-card h3{ display:flex; align-items:center; gap:9px; font-size:16px; margin-block-end:8px; }
.conf-card p{ color:var(--tx2); font-size:14px; }
.conf-card.conf-low{ border-inline-start:4px solid var(--red); background:var(--red-soft); }
.conf-card.conf-med{ border-inline-start:4px solid var(--amber); background:var(--amber-soft); }
.conf-card.conf-high{ border-inline-start:4px solid var(--green); }
.conf-ver{ font-size:12.5px; color:var(--tx3); }
.conf-override{ display:flex; gap:8px; align-items:flex-start; font-size:12.5px; margin:0; color:var(--tx2); }
.hist{ margin-block-start:22px; }
.hist h3{ font-size:16px; }
.hist p{ color:var(--tx2); font-size:14px; max-inline-size:76ch; }
.hist-list{ display:flex; flex-wrap:wrap; gap:10px; margin:0; padding:0; list-style:none; }
.hist-list li{
  display:inline-flex; align-items:baseline; gap:8px; padding:6px 12px; border-radius:999px;
  border:1px solid var(--line); background:var(--card); font-size:13px;
}
.hist-list b{ font-variant-numeric:tabular-nums; }
.sub-tbl td,.sub-tbl th{ white-space:nowrap; }
.sub-tbl th[scope=row]{ display:flex; flex-direction:column; gap:1px; white-space:normal; }
.sub-tbl th[scope=row] small{ font-size:11px; color:var(--tx3); }
.doc-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:16px; }
.doc-card{
  padding:20px; border-radius:var(--r); border:1px solid var(--line); background:var(--card);
}
.doc-ic{
  display:inline-flex; align-items:center; justify-content:center; inline-size:34px; block-size:34px;
  border-radius:9px; background:var(--accent-soft); color:var(--accent2); margin-block-end:10px;
}
.doc-card h3{ font-size:16px; margin-block-end:6px; }
.doc-card p{ margin:0; font-size:13.5px; color:var(--tx2); }
.kinds{ margin-block-start:30px; }
.kinds h3{ font-size:19px; font-family:var(--fd); font-weight:600; }
.kind-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px; }
.kind{
  padding:18px; border-radius:var(--r-sm); border:1px solid var(--line); background:var(--card);
  display:flex; flex-direction:column; gap:7px; align-items:flex-start;
}
.kind small{ font-size:12.5px; color:var(--tx3); }
.kind-docs{ margin:0; padding-inline-start:16px; font-size:12.5px; color:var(--tx2); }
.detail-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px; }
.detail{
  padding:24px; border-radius:var(--r); border:1px solid var(--line); background:var(--card);
}
.detail h2{ display:flex; align-items:center; gap:9px; font-size:19px; margin-block-end:10px; }
.detail h2 .ic{ color:var(--accent); }
.detail p{ color:var(--tx2); font-size:14px; }
.detail-eu{ border-inline-start:4px solid var(--accent); }
.pattern{ display:flex; flex-direction:column; gap:5px; align-items:flex-start; }
.pattern small{ font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--tx3); }
.fmt-list{ display:grid; grid-template-columns:auto 1fr; gap:8px 16px; margin:0 0 12px; }
.fmt-list dt{ font-size:12.5px; color:var(--tx3); }
.fmt-list dd{ margin:0; font-weight:600; font-variant-numeric:tabular-nums; }
.regimes{ margin-block-start:30px; }
.regimes h2{ font-size:22px; margin-block-end:14px; }
.regime-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:16px; }
.regime{
  padding:18px 20px; border-radius:var(--r-sm); background:var(--card);
  border:1px solid var(--line); border-block-start:3px solid var(--gold);
}
.regime-lbl{ font-size:11.5px; letter-spacing:.09em; text-transform:uppercase; color:var(--tx3); font-weight:700; }
.regime b{ display:block; margin-block:5px 4px; font-size:15px; }
.regime p{ margin:0 0 6px; font-size:13.5px; color:var(--tx2); }
.regime small{ font-size:12px; color:var(--tx3); }
.cnotes{ margin-block-start:30px; }
.cnotes h2{ font-size:22px; margin-block-end:12px; }
.cnotes ul{ margin:0; padding:0; list-style:none; display:grid; gap:10px; max-inline-size:86ch; }
.cnotes li{ display:flex; gap:10px; align-items:flex-start; font-size:14.5px; color:var(--tx2); }
.cnotes .ic{ color:var(--gold); margin-block-start:3px; }
.demo-page{ max-inline-size:820px; margin-inline:auto; }
.rel-list{ display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.rel-list li a{
  display:inline-block; padding:6px 13px; border-radius:999px; border:1px solid var(--line);
  background:var(--card); font-size:13.5px;
}
.rel-list li a:hover{ border-color:var(--accent); color:var(--accent); }
.rel-more{ align-self:center; font-size:13px; color:var(--tx3); }
.country-disc{ margin-block-start:18px; font-size:12.5px; color:var(--tx3); max-inline-size:80ch; margin-inline:auto; }

/* -------------------------------------------------------------- the form -- */
.lead-sec .lead-form{
  background:var(--card); border:1px solid var(--line); border-radius:var(--r);
  padding:26px; box-shadow:var(--sh);
}
/* ⛔⛔ The honeypot is hidden the same way a visually-hidden label is, NOT with
   display:none — plenty of bots skip display:none and fill everything else,
   which would make the trap useless. It is aria-hidden and tabindex=-1, so
   nobody using a keyboard or a screen reader ever reaches it. */
.hp{
  position:absolute; inline-size:1px; block-size:1px; overflow:hidden;
  clip-path:inset(50%); white-space:nowrap;
}
.lead-form .frow{ display:grid; grid-template-columns:1fr 1fr; gap:0 18px; }
.lead-legal{
  display:flex; gap:9px; align-items:flex-start; font-size:12.5px; color:var(--tx3);
  margin-block-start:6px;
}
.lead-legal a{ color:var(--accent); text-decoration:underline; }
.lead-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-block-start:16px; }
.lead-actions small{ color:var(--tx3); }
.lead-done{
  text-align:center; padding:40px 26px; border-radius:var(--r); background:var(--card);
  border:1px solid var(--green); box-shadow:var(--sh);
}
.lead-done h2{ margin-block:14px 8px; }
.lead-done p{ color:var(--tx2); max-inline-size:56ch; margin-inline:auto; }
.lead-free{ display:flex; gap:9px; align-items:flex-start; margin-block-start:16px; font-size:13px; color:var(--tx3); }
.lead-free .ic{ color:var(--green); }
.contact-alt h2{ font-size:22px; }
.contact-boundary{ display:flex; gap:9px; align-items:flex-start; font-size:12.5px; color:var(--tx3); }

/* ----------------------------------------------------------------- legal -- */
.legal-hero{ background:var(--ink2); }
.legal-meta{ display:flex; flex-wrap:wrap; gap:8px 20px; font-size:12.5px; color:#9aa5c8; }
.legal-grid{ display:grid; grid-template-columns:250px 1fr; gap:36px; align-items:start; }
.legal-toc{
  position:sticky; inset-block-start:16px; padding:20px; border-radius:var(--r);
  border:1px solid var(--line); background:var(--card);
}
.legal-toc h2{ font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--tx3); font-family:var(--f); font-weight:700; }
.legal-toc ol,.legal-toc ul{ margin:8px 0 0; padding-inline-start:18px; display:grid; gap:7px; }
.legal-toc ul{ list-style:none; padding-inline-start:0; }
.legal-toc a{ font-size:13px; color:var(--tx2); }
.legal-toc a:hover{ color:var(--accent); text-decoration:underline; }
.legal-toc-all{ margin-block-start:18px; padding-block-start:14px; border-block-start:1px solid var(--line2); }
.legal-doc{
  background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:34px;
}
.legal-doc section{ margin-block-end:26px; scroll-margin-block-start:16px; }
.legal-doc h2{
  display:flex; gap:12px; align-items:baseline; font-size:21px; margin-block-end:10px;
  padding-block-end:8px; border-block-end:1px solid var(--line2);
}
.legal-doc h2 .num{ color:var(--gold); font-size:14px; font-weight:700; }
.legal-doc p{ color:var(--tx2); font-size:15px; line-height:1.72; max-inline-size:76ch; }
.legal-contact{ border-block-start:2px solid var(--line); padding-block-start:20px; }

/* ---------------------------------------------------------------- footer -- */
.site-foot{ background:var(--ink); color:#aeb8d6; padding-block:52px 30px; margin-block-start:0; }
.foot-grid{ display:grid; grid-template-columns:1.6fr repeat(4,1fr); gap:30px; }
.foot-brand .logo b{ color:#fff; }
.foot-brand p{ font-size:13px; max-inline-size:38ch; }
.foot-boundary{ color:#7f8bb0; font-size:12.5px; }
.foot-col h3,.foot-fold > summary{
  font-size:11.5px; letter-spacing:.11em; text-transform:uppercase; color:var(--gold);
  font-family:var(--f); font-weight:700; margin-block-end:12px;
}
.foot-col ul{ margin:0; padding:0; list-style:none; display:grid; gap:8px; }
.foot-col a{ font-size:13.5px; color:#c3cbe4; }
.foot-col a:hover{ color:#fff; text-decoration:underline; }
.foot-langs{ margin-block-start:34px; padding-block-start:24px; border-block-start:1px solid rgba(255,255,255,.12); }
.foot-langs h3,.foot-langs-disclosure > summary{
  font-size:11.5px; letter-spacing:.11em; text-transform:uppercase; color:#8390b6;
  font-family:var(--f); font-weight:700; margin-block-end:10px;
}
.foot-langs ul{ display:flex; flex-wrap:wrap; gap:6px 14px; margin:0; padding:0; list-style:none; }
.foot-langs a{ font-size:13px; color:#9aa5c8; }
.foot-langs a:hover,.foot-langs a[aria-current]{ color:#fff; }
.foot-fold > summary,.foot-langs-disclosure > summary{ list-style:none; cursor:pointer; }
.foot-fold > summary::-webkit-details-marker,
.foot-langs-disclosure > summary::-webkit-details-marker{ display:none; }
/* Desktop presents the footer as an editorial index. On a phone the same
   groups become native disclosures, shortening the page without removing a
   single crawler- or keyboard-accessible link. */
@media screen and (min-width:521px){
  .foot-fold > summary,.foot-langs-disclosure > summary{ display:none; }
  .foot-fold:not([open]) > .foot-fold-panel{ display:grid !important; }
  .foot-langs-disclosure:not([open]) > .foot-langs-panel{ display:flex !important; }
}
.foot-legal{
  margin-block-start:26px; padding-block-start:20px; border-block-start:1px solid rgba(255,255,255,.12);
  display:grid; gap:8px; font-size:12px; color:#7f8bb0;
}
.foot-legal a{ color:#9aa5c8; text-decoration:underline; }

/* ------------------------------------------------------------ responsive -- */
/* ⛔ `screen and` is not decoration: a bare max-width query also matches the
   print sheet (an A4 page is about 744 CSS px) and would print the phone
   layout — a two-page invoice instead of one. */
@media screen and (max-width:1080px){
  .foot-grid{ grid-template-columns:1fr 1fr 1fr; }
  .legal-grid{ grid-template-columns:1fr; }
  .legal-toc{ position:static; }
}
@media screen and (max-width:900px){
  .switch-explain,.free-grid,.rate-grid,.inc-grid,.boundary-two,
  .country-hero-grid,.svc-hero-grid{ grid-template-columns:1fr; }
  .zero-card{ grid-template-columns:1fr; gap:18px; text-align:center; }
  .zero-checks{ justify-content:center; }
  .country-facts{ grid-template-columns:1fr 1fr; }
}
@media screen and (max-width:720px){
  .foot-grid{ grid-template-columns:1fr 1fr; }
  .lead-form .frow{ grid-template-columns:1fr; }
  .page-hero{ padding-block:44px 32px; }
  .legal-doc{ padding:22px; }
  .proof-slots{ flex-direction:column; align-items:center; }
  .proof-slots span{ inline-size:min(280px,100%); block-size:70px; }
}
@media screen and (max-width:520px){
  .foot-grid{ grid-template-columns:1fr; gap:9px; }
  .foot-brand{ padding-block-end:18px; }
  .foot-fold{ border-block-start:1px solid rgba(255,255,255,.1); }
  .foot-fold > summary,.foot-langs-disclosure > summary{
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    min-block-size:48px; padding-block:12px; color:#eef1fb;
    font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  }
  [dir=rtl] .foot-fold > summary,[dir=rtl] .foot-langs-disclosure > summary{
    letter-spacing:0; text-transform:none; font-size:13px;
  }
  .foot-fold > summary::after,.foot-langs-disclosure > summary::after{
    content:'+'; display:grid; place-items:center; flex:none;
    inline-size:26px; block-size:26px; border:1px solid rgba(229,194,111,.24);
    border-radius:50%; color:#e5c26f; font-size:17px; font-weight:400;
    transition:transform .18s ease;
  }
  .foot-fold[open] > summary::after,.foot-langs-disclosure[open] > summary::after{ transform:rotate(45deg); }
  .foot-fold:not([open]) > .foot-fold-panel,
  .foot-langs-disclosure:not([open]) > .foot-langs-panel{ display:none !important; }
  .foot-fold[open] > .foot-fold-panel{ padding-block:2px 14px; }
  .foot-langs{ margin-block-start:18px; padding-block-start:0; }
  .foot-langs[open] > .foot-langs-panel{
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 10px;
    padding-block-end:16px;
  }
  .foot-langs a{ display:flex; align-items:center; min-block-size:44px; }
  .country-facts{ grid-template-columns:1fr; }
}

/* ----------------------------------------------------------------- print -- */
@media print{
  .site-header,.site-foot,.crumbs,.lead-form,.lead-sec,.proof-slots,.skip{ display:none !important; }
  .page-hero{ background:#fff; color:#000; padding-block:0 18px; }
  .page-hero h1,.page-hero .lead,.cf b{ color:#000; }
  .country-facts,.svc-facts{ border:1px solid #bbb; background:#fff; }
  .faq details{ break-inside:avoid; }
  .faq details p{ display:block; }
}

/* -------------------------------------------------------- reduced motion -- */
@media (prefers-reduced-motion:reduce){
  .svc-card{ transition:none; }
  .svc-card:hover{ transform:none; }
}


/* ============================================================================
   ⛔⛔ תיקון ירושת צבע מ-`.lp` — הבאג שהפך טקסט ציבורי לבלתי קריא
   ----------------------------------------------------------------------------
   `views/site/_chrome.php` נותן ל-<body> את המחלקה `lp site`. `lp` היא
   **דף הנחיתה הכהה**: `fx.css` מגדיר `.lp{ background:var(--ink);
   color:#e9ecf7 }`, ו-107 כללים ב-fx-home.css + הכותרת ב-fx-brand.css
   תלויים בה. ⛔ אי אפשר להסיר אותה, ו⛔ אי אפשר גם פשוט להבהיר את הגוף:
   נמדד — זה מתקן את המקטעים הבהירים ו**שובר** את הכותרת, הבורר והפוטר,
   שאין להם רקע משלהם ונשענים על הגוף הכהה. (86 → 96 כשלים. נמדד, לא הונח.)

   ⚠ **הכלל הנכון, וזה מה שמיושם כאן: אלמנט שצובע לעצמו רקע בהיר חייב
     לקבוע לעצמו גם צבע טקסט כהה.** כך התיקון חי על המשטח הבהיר עצמו,
     עובד בכל עמוד בלי קשר לצבע הגוף, ⛔ ואינו יכול לגעת בכרום הכהה.

   ⚠ הסימן המזהה של הבאג: מה שיש לו `color` מפורש (`.pack-sum`,
     `.pack li`) נראה מצוין, ומה שיורש (h3, `.price b`, `.btn`) נעלם.
   ⚠ הגיליון הזה נטען אחרון ⇒ בספציפיות שווה הוא מנצח.
   ========================================================================== */

/* 1 · המשטחים הבהירים. ⚠ `.page-main` הוא גוף העמודים הפנימיים;
   ⛔ `views/site/home.php` משתמש ב-`<main>` **בלי** המחלקה הזו בכוונה —
   הוא נשאר דף הנחיתה הכהה, ולכן אינו נכלל כאן. */
/* ⚠ **הפתרון הוא הגדרה מחדש של הטוקנים לפי המשטח, לא צביעה של אלמנטים
   בודדים.** כל צאצא שמשתמש ב-var(--tx2/--tx3) מקבל את הערך הנכון
   אוטומטית, ⛔ בלי רשימת סלקטורים שתמיד תהיה חסרה אחד.
   ⚠ **הסדר כאן הוא הלוגיקה**: בהיר → כהה → כרטיס בהיר בתוך כהה.
     שלושתם (0,2,0), ולכן האחרון מנצח בדיוק היכן שהוא חל. ⛔ אל תמיין. */

/* (א) גוף העמודים הפנימיים — בהיר. */
body.site .page-main{
  --tx:#111629; --tx2:#4a5270; --tx3:#666f8d;
  color:var(--tx);
}

/* (ב) המשטחים ה**כהים**: הכותרת, חלון הבורר, הפוטר, הירו, ודף הבית כולו
   (`home.php` משתמש ב-`<main>` בלי `page-main` בכוונה — הוא נשאר דף
   הנחיתה הכהה). ⛔⛔ כאן היה החצי השני של הבאג: `--tx3` הוא אפור כהה
   שנועד לנייר לבן, ועל נייבי הוא 3.3:1. */
body.site .lp-header,
body.site .sw-pop,
body.site .site-foot,
body.site .page-hero{
  --tx:#e9ecf7; --tx2:#c3cbe6; --tx3:#aab3cf;
}
/* ⛔⛔ **נמדד ונדחה:** להוסיף כאן `main:not(.page-main)` (כלומר לצבוע את
   כל דף הבית כמשטח כהה) הקפיץ את דף הבית מ-86 ל-123 כשלי ניגודיות.
   ⚠ הסיבה: `home.php` הוא **מעורב** — רצועות כהות ובהירות לסירוגין —
   ולכן אין לו טוקן אחד נכון. הוא נשאר כפי שהוא, ומטופל דרך המשטחים
   הבודדים בלבד. ⛔ אל תנסה את זה שוב בלי למדוד. */

/* (ג) כרטיס בהיר שיושב **בתוך** מקטע כהה (למשל כרטיסי השירותים בדף
   הבית) לוקח את הטוקנים הבהירים בחזרה. ⚠ זה מה שמייתר טיפול פרטני. */
body.site .pack,
body.site .svc-card,
body.site .card,
body.site .feat{
  --tx:#111629; --tx2:#4a5270; --tx3:#666f8d;
  color:var(--tx);
}

/* 2 · כפתורים. `.lp .btn` נותן לכל כפתור שאינו accent מראה "רפאים" לבן
   שנועד לרקע כהה — וזה מה שהפך את "לשאול על השירות הזה" לבלתי נראה
   בתוך כרטיס לבן. ⚠ מוחזר **רק** בתוך משטח בהיר. */
body.site .page-main .btn:not(.accent),
body.site .pack .btn:not(.accent),
body.site .svc-card .btn:not(.accent){
  background:var(--card); border-color:var(--line); color:var(--tx);
}
body.site .page-main .btn:not(.accent):hover,
body.site .pack .btn:not(.accent):hover,
body.site .svc-card .btn:not(.accent):hover{
  background:var(--card); border-color:#cfd4e4; box-shadow:0 2px 8px rgba(16,22,45,.07);
}
body.site .page-main .btn.ghost{ background:transparent; border-color:transparent; color:var(--tx2); }
/* ⛔ הירו בתוך .page-main **כהה** — הכלל שלו כבר קיים למעלה בקובץ
   (`.page-hero .btn:not(.accent)`), וספציפיות (0,3,0) גוברת. ⚠ נבדק. */

/* 3 · כותרת המשנה של מקטע. `.lp .sec-head p{ color:#b8c1e0 }` הוא כחלחל
   בהיר לרקע כהה. ⛔ מתוקן רק ב-`.page-main`: בדף הבית ה-`sec-head` באמת
   יושב על רקע כהה ושם הצבע המקורי נכון. */
body.site .page-main .sec-head p{ color:var(--tx2); }

/* 4 · ⛔⛔ **זהב על לבן הוא 1.89:1 — בלתי קריא.** הזהב עובד על נייבי
   ודווקא בגלל שהוא נדיר; על נייר לבן הוא צהוב חיוור. ⚠ אותו תפקיד
   ויזואלי, גוון כהה מספיק לקריאה (4.53:1). */
/* ⚠ מכויל מול --bg (#f5f6fa) ולא מול לבן טהור — רוב הטקסט יושב על
   רקע העמוד, ⛔ ולא בתוך כרטיס. 4.62:1. */
body.site .page-main{ --gold-on-light:#956626; }
body.site .page-main .flow-n,
body.site .page-main .flow-steps li::before,
body.site .page-main .sec-head .section-kicker,
body.site .page-main .num.flow-n{ color:var(--gold-on-light); }

/* 5 · טבעת המיקוד. `.lp a:focus-visible` צובעת אותה בזהב חיוור — קריא
   על נייבי, ⛔ כמעט בלתי נראה על לבן. ⚠ נגישות מקלדת אינה קישוט. */
body.site .page-main a:focus-visible,
body.site .page-main button:focus-visible,
body.site .page-main summary:focus-visible{ outline-color:var(--accent); }

/* ------------------------------------------------------------- WhatsApp -- */
/* ⚠ ירוק וואטסאפ מזוהה מיידית ומרוויח את הקליק. ⛔ אבל הוא **לא** צבע
   המותג — הוא מופיע רק על הכפתור הזה, ולא נכנס לפלטה.
   ⚠ #128c7e (ולא #25d366 הבהיר) כדי שטקסט לבן עליו יעבור AA. */
.wa-block{ display:flex; flex-direction:column; gap:7px; align-items:flex-start; }
.wa-block .wa-btn{
  background:#0b6f65; border-color:#0b6f65; color:#fff;
  box-shadow:0 6px 18px rgba(11,111,101,.24);
}
.wa-block .wa-btn:hover{ background:#085b53; border-color:#085b53; }
.wa-block .wa-btn .ic{ flex:none; }
/* ⛔ המספר הוא הרשת הביטחון של הכפתור ולכן הוא **טקסט**, ניתן לסימון
   ולהעתקה — ⚠ ועטוף ב-.ltr, כי בעברית ובערבית 054-742-3399 מתהפך לעין. */
.wa-alt{ margin:0; font-size:12.5px; color:var(--tx3); }
.wa-alt .wa-num{
  font-weight:600; color:var(--tx2); text-decoration:underline;
  text-underline-offset:2px; white-space:nowrap;
}
.wa-alt .wa-num:hover{ color:var(--accent2); }
.wa-inline{ margin-block-start:4px; }
.wa-lead{ align-items:center; text-align:center; margin-block-end:20px; }
.wa-lead .wa-btn{ min-inline-size:min(320px,100%); }
/* ⚠ בתוך הירו הכהה הטקסט המשני חייב להיות בהיר. */
.page-hero .wa-alt{ color:#aab5d6; }
.page-hero .wa-alt .wa-num{ color:#eef1fb; }

/* ========================================================================
   MOBILE / RTL / ACCESSIBILITY FINAL PASS
   ======================================================================== */

/* A skip link parked at -9999px enlarges the body's scrollable area in RTL.
   Keep it at the real reading edge and move it above the viewport instead. */
.skip{
  position:fixed; z-index:1000;
  inset-inline-start:max(8px,env(safe-area-inset-left)); inset-block-start:0;
  max-inline-size:calc(100vw - 16px); border-radius:0 0 var(--r-sm) var(--r-sm);
  transform:translateY(-125%); translate:none;
}
[dir=rtl] .skip{
  inset-inline-start:max(8px,env(safe-area-inset-right));
}
.skip:focus,.skip:focus-visible{ inset-inline-start:max(8px,env(safe-area-inset-left)); transform:translateY(0); }
[dir=rtl] .skip:focus,[dir=rtl] .skip:focus-visible{ inset-inline-start:max(8px,env(safe-area-inset-right)); }

body.site .page-main,body.site .page-main > *,body.site .page-main .wrap,
body.site .page-main .sec > .wrap{ min-inline-size:0; max-inline-size:100%; }
.page-hero h1,.page-hero .lead,.sec-head h2,.sec-head p,.legal-doc,
.svc-card,.pack,.detail,.kind,.regime{ overflow-wrap:anywhere; }

/* Subpages load the shared brand sheet but not the landing-only home sheet.
   Supply the complete responsive chrome here; otherwise the desktop actions
   and an unstyled <details> menu render together on phones. */
body.site:not(.site-home) .lpbar{ inline-size:100%; justify-content:space-between; }
body.site:not(.site-home) .lp-brand{ gap:12px; min-inline-size:0; }
body.site:not(.site-home) .lp-brand-proof{
  display:grid; gap:1px; padding-inline-start:12px;
  border-inline-start:1px solid rgba(186,202,249,.16); line-height:1.15;
}
body.site:not(.site-home) .lp-brand-proof bdi{ color:#f0d58d; font-size:9px; font-weight:800; }
body.site:not(.site-home) .lp-brand-proof small{ color:#9aa7ca; font-size:9px; font-weight:700; }
body.site:not(.site-home) .lp-desktop-nav{ display:flex; align-items:center; margin-inline-start:auto; }
body.site:not(.site-home) .lp-mobile-nav{ display:none; position:relative; margin-inline-start:auto; }
body.site:not(.site-home) .lp-mobile-nav:not([open]) > .lp-mobile-panel{ display:none; }

@media screen and (max-width:1100px){
  body.site:not(.site-home) .lp-brand-proof{ display:none; }
}

@media screen and (max-width:900px){
  body.site:not(.site-home) .lp-desktop-nav{ display:none !important; }
  body.site:not(.site-home) .lp-mobile-nav{ display:block; }
  body.site:not(.site-home) .lp-mobile-nav > summary{
    position:relative; z-index:72; list-style:none; cursor:pointer;
    display:inline-flex; align-items:center; justify-content:center; gap:7px;
    min-block-size:44px; padding:9px 12px;
    border:1px solid rgba(181,198,246,.22); border-radius:12px;
    color:#e5eafd; background:rgba(255,255,255,.075);
    font-size:12px; font-weight:800;
  }
  body.site:not(.site-home) .lp-mobile-nav > summary::-webkit-details-marker{ display:none; }
  body.site:not(.site-home) .lp-mobile-nav[open] > summary{
    color:#fff; border-color:rgba(127,151,255,.48); background:rgba(85,110,224,.24);
  }
  body.site:not(.site-home) .lp-mobile-nav[open]::before{
    content:""; position:fixed; z-index:68;
    inset-block-start:76px; inset-inline:0; inset-block-end:0;
    background:rgba(3,7,17,.72); pointer-events:none;
  }
  body.site:not(.site-home) .lp-mobile-panel{
    position:fixed; z-index:70; inset-block-start:84px; inset-inline:12px;
    display:grid; gap:12px; max-block-size:calc(100dvh - 96px); overflow:auto;
    padding:14px; border:1px solid rgba(175,194,250,.2); border-radius:18px;
    color:#e8edfb; background:linear-gradient(155deg,#111c38,#071023 72%);
    box-shadow:0 30px 80px rgba(0,0,0,.5);
  }
  body.site:not(.site-home) .lp-mobile-promise{
    display:flex; align-items:center; justify-content:space-between; gap:10px;
    min-block-size:52px; padding:10px 12px; border:1px solid rgba(80,210,174,.2);
    border-radius:13px; background:rgba(35,179,143,.11);
  }
  body.site:not(.site-home) .lp-mobile-zero{ color:#eff7d5; font-size:13px; font-weight:800; }
  body.site:not(.site-home) .lp-mobile-promise strong{ color:#aee8d7; font-size:12px; }
  body.site:not(.site-home) .lp-mobile-links{
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px;
  }
  body.site:not(.site-home) .lp-mobile-links a{
    display:flex; align-items:center; min-inline-size:0; min-block-size:46px;
    padding:10px 11px; border:1px solid rgba(174,192,242,.14); border-radius:12px;
    color:#d2dcf3; background:rgba(255,255,255,.04); font-size:13px; font-weight:700;
  }
  body.site:not(.site-home) .lp-mobile-switcher .sw,
  body.site:not(.site-home) .lp-mobile-switcher .sw > summary{ inline-size:100%; }
  body.site:not(.site-home) .lp-mobile-switcher .sw > summary{ justify-content:center; }
  body.site:not(.site-home) .lp-mobile-switcher .sw-pop{
    position:static; inline-size:100%; max-inline-size:100%; max-block-size:42vh;
    overflow:auto; margin-block-start:8px; box-shadow:none;
  }
  body.site:not(.site-home) .lp-mobile-actions{
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px;
  }
  body.site:not(.site-home) .lp-mobile-actions .btn{ inline-size:100%; min-block-size:46px; white-space:normal; }
  body.site:not(.site-home) .lp-mobile-actions .btn:only-child{ grid-column:1 / -1; }
}

@media screen and (max-width:520px){
  body.site:not(.site-home) .lpbar{ block-size:68px; padding-inline:14px; }
  body.site:not(.site-home) .lp-mobile-nav[open]::before{ inset-block-start:68px; }
  body.site:not(.site-home) .lp-mobile-panel{
    inset-block-start:75px; inset-inline:8px; max-block-size:calc(100dvh - 83px); padding:12px;
  }
  body.site:not(.site-home) .lp-mobile-links{ grid-template-columns:1fr; }
}

/* The switcher's desktop popover must never define the width of a narrow
   page. In an in-content switcher it becomes an ordinary local disclosure. */
.switch-control,.switch-control .sw{ inline-size:100%; min-inline-size:0; }
.switch-control .sw > summary{ inline-size:100%; justify-content:center; white-space:normal; text-align:center; }
.switch-control .sw-pop{
  inset-inline:0 auto; inline-size:min(330px,100%); max-inline-size:100%;
}

/* Keyboard focus and touch size for controls that are unique to public pages. */
.faq summary{ min-block-size:48px; }
.crumbs a,.svc-go-link,.foot-col a,.foot-langs a,.rel-list li a{
  display:inline-flex; align-items:center; min-inline-size:24px; min-block-size:28px;
}
.foot-legal a,.wa-alt .wa-num,.price-tbl th[scope=row] > a,.cy-tbl th[scope=row] > a{
  display:inline-flex; align-items:center; min-inline-size:24px; min-block-size:28px;
}
.site a:focus-visible,.site button:focus-visible,.site summary:focus-visible,
.site select:focus-visible,.site input:focus-visible,.site textarea:focus-visible{
  position:relative; z-index:3;
}

@media screen and (pointer:coarse){
  .faq summary,.page-hero .cta .btn,.free-actions .btn,.lead-actions .btn,
  .rel-list li a{ min-block-size:44px; }
  .svc-go-link{ min-block-size:32px; padding-block:4px; }
}

@media screen and (max-width:720px){
  .page-hero .cta,.free-actions,.lead-actions{ align-items:stretch; }
  .page-hero .cta > .btn,.free-actions > .btn,.lead-actions > .btn{
    max-inline-size:100%; white-space:normal; text-align:center;
  }
  .switch-explain,.zero-card,.boundary-card,.proof-card,
  .lead-sec .lead-form,.lead-done{ padding:20px 18px; }
  .switch-control .sw-pop{
    position:static; inline-size:100%; max-inline-size:100%;
    margin-block-start:8px; box-shadow:none;
  }
  .legal-doc h2{ align-items:flex-start; }
  .tbl-wrap{
    border:1px solid var(--line); border-radius:var(--r-sm);
    background:var(--card); overscroll-behavior-inline:contain;
  }
  .tbl-wrap .tbl{ min-inline-size:max-content; }
}

@media screen and (max-width:520px){
  .page-hero{ padding-block:38px 30px; }
  .page-hero h1{ font-size:clamp(29px,10vw,38px); }
  .sec{ padding-block:46px; }
  .sec-head{ margin-block-end:26px; }
  .tax-grid,.svc-cards,.pack-grid,.flow-steps,.trust-grid,.doc-grid,
  .kind-grid,.detail-grid,.regime-grid{ grid-template-columns:minmax(0,1fr); }
  .tax-card,.svc-card,.pack,.trust-card,.doc-card,.detail,.conf-card,
  .kind,.regime,.free-col{ padding:19px 17px; }
  .zero-card{ gap:20px; }
  .zero-card-price b{ font-size:clamp(68px,30vw,104px); }
  .svc-card-foot{ align-items:flex-start; flex-wrap:wrap; }
  .country-facts,.svc-facts{ padding:17px; }
  .legal-doc{ padding:18px 16px; }
  .legal-doc h2{ gap:8px; font-size:19px; }
  .lead-actions > .btn,.free-actions > .btn,.page-hero .cta > .btn{ inline-size:100%; }
  .wa-block,.wa-block .wa-btn{ max-inline-size:100%; }
  .wa-block .wa-btn{ white-space:normal; text-align:center; }
}

/* Public pages should print as documents, not as a viewport-sized dark scene. */
@media print{
  @page{ margin:14mm; }
  html,body,body.site,.page-main,.page-main .sec{ background:#fff !important; color:#000 !important; }
  .page-main{ overflow:visible !important; }
  .page-hero{ break-after:avoid; }
  .page-hero .art-hero,.closing-zero{ display:none !important; }
  .page-main .card,.tax-card,.zero-card,.free-col,.svc-card,.pack,.flow-steps li,
  .trust-card,.detail,.kind,.regime,.legal-doc,.boundary-card,.docs-strip{
    box-shadow:none !important; break-inside:avoid;
  }
  .tbl-wrap{ overflow:visible !important; border:0; }
  .tbl{ font-size:10pt; }
  .faq details:not([open]) > *:not(summary){ display:block !important; }
  .faq summary::after{ display:none; }
  .legal-grid{ display:block; }
  .legal-toc{ display:none; }
}

/* ========================================================================
   PUBLIC MOBILE CROWN + FOOTER / final pocket-shell pass
   ======================================================================== */
@media screen and (max-width:640px){
  body.site{ -webkit-tap-highlight-color:rgba(64,89,214,.14); }
  body.site .skip{ min-block-size:44px; }
  body.site input,body.site select,body.site textarea{ font-size:16px; }
  body.site :is(main,section,article,aside,footer) :is(h1,h2,h3,p,li){ overflow-wrap:anywhere; }
  body.site :is(#main,[id]){ scroll-margin-block-start:74px; }
  body.site .page-hero .art-hero{ opacity:.3; }
  body.site .page-main .page-hero .btn:not(.accent){
    color:#eef1fb; border-color:rgba(255,255,255,.22); background:rgba(255,255,255,.075);
    box-shadow:none;
  }
  body.site .page-main .page-hero .wa-btn:not(.accent){
    color:#fff; border-color:#0b6f65; background:#0b6f65;
    box-shadow:0 8px 20px rgba(11,111,101,.2);
  }

  /* A compact, solid crown remains readable while content moves beneath it. */
  .lp .lp-header{
    min-block-size:64px; border-block-end-color:rgba(218,227,255,.13);
    box-shadow:0 9px 28px rgba(2,7,20,.2),inset 0 -1px rgba(255,255,255,.025);
  }
  .lp .lpbar{
    block-size:calc(64px + env(safe-area-inset-top)); min-block-size:64px;
    padding-block-start:env(safe-area-inset-top); padding-inline:12px; gap:9px;
  }
  .lp .lp-brand{ max-inline-size:66%; gap:9px; padding-block:6px; }
  .lp .lp-brand::after{ inset-inline-start:38px; inset-block-end:2px; inline-size:42px; }
  .lp .lpbar .logo{ gap:8px; min-inline-size:0; }
  .lp .lpbar .brand-mark{ inline-size:32px; block-size:32px; min-inline-size:32px; }
  .lp .lpbar .logo b{ overflow:hidden; font-size:17px; text-overflow:ellipsis; white-space:nowrap; }
  .lp .lp-mobile-nav > summary{
    min-block-size:44px; padding:8px 11px; border-radius:12px; font-size:12px;
  }
  .lp .lp-mobile-nav[open]::before{
    inset-block-start:calc(64px + env(safe-area-inset-top)); background:rgba(3,7,17,.78);
  }
  .lp .lp-mobile-panel,
  body.site:not(.site-home) .lp-mobile-panel{
    inset-block-start:calc(70px + env(safe-area-inset-top)); inset-inline:8px;
    max-block-size:calc(100dvh - 78px - env(safe-area-inset-top)); gap:9px;
    padding:11px; border-radius:17px;
    box-shadow:0 24px 70px rgba(0,0,0,.52),inset 0 1px rgba(255,255,255,.06);
  }
  .lp .lp-mobile-promise,
  body.site:not(.site-home) .lp-mobile-promise{
    align-items:center; flex-direction:row; min-block-size:50px; padding:9px 11px; border-radius:13px;
  }
  .lp .lp-mobile-links,
  body.site:not(.site-home) .lp-mobile-links{
    grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px;
    inline-size:100%; margin-inline:0;
  }
  .lp .lp-mobile-links a,
  body.site:not(.site-home) .lp-mobile-links a{
    inline-size:100%; min-block-size:46px; padding:9px 11px; border-radius:12px; font-size:12px;
  }
  .lp .lp-mobile-switcher .sw > summary,
  body.site:not(.site-home) .lp-mobile-switcher .sw > summary{ min-block-size:46px; }
  .lp .lp-mobile-switcher .sw-l,
  body.site:not(.site-home) .lp-mobile-switcher .sw-l,
  body.site .switch-control .sw-l{
    display:flex; align-items:center; min-inline-size:44px; min-block-size:44px; padding-block:8px;
  }
  body.site .switch-control .sw > summary{ min-block-size:44px; }
  body.site .sw-country select{ min-block-size:44px; }
  .lp .lp-mobile-actions .btn,
  body.site:not(.site-home) .lp-mobile-actions .btn{ min-block-size:48px; border-radius:12px; }
  body.site:has(.lp-mobile-nav[open]){ overflow:hidden; }

  /* The footer reads like a compact index instead of another long page. */
  .site-foot{ padding-block:38px 22px; }
  .site-foot .wrap{ padding-inline:16px; }
  .foot-grid{ gap:5px; }
  .foot-brand{ padding-block-end:14px; }
  .foot-brand .logo{ display:inline-flex; align-items:center; gap:9px; }
  .foot-brand > a{ display:inline-flex; align-items:center; min-block-size:44px; }
  .foot-brand .brand-mark{ inline-size:32px; block-size:32px; }
  .foot-brand p{ margin-block:10px 0; font-size:12px; line-height:1.55; }
  .foot-brand .foot-boundary{ margin-block-start:7px; color:#93a0c3; font-size:11.25px; }
  .foot-fold > summary,.foot-langs-disclosure > summary{
    min-block-size:50px; margin:0; padding-block:10px; text-transform:none;
  }
  .foot-fold[open] > .foot-fold-panel{ gap:2px; padding-block:0 10px; }
  .foot-fold[open] > .foot-fold-panel a{ min-block-size:40px; }
  .foot-langs{ margin-block-start:10px; }
  .foot-langs[open] > .foot-langs-panel{ gap:0 8px; }
  .foot-legal{ margin-block-start:16px; padding-block-start:15px; gap:7px; font-size:10.75px; line-height:1.55; }
  .foot-legal p{ margin:0; }
  .foot-legal a{ min-block-size:44px; }
}

@media screen and (max-width:340px){
  .lp .lpbar{ padding-inline:10px; }
  .lp .lp-mobile-nav > summary{ inline-size:44px; padding:0; }
  .lp .lp-mobile-nav > summary span{ display:none; }
  .lp .lp-mobile-links,
  body.site:not(.site-home) .lp-mobile-links{ grid-template-columns:1fr; }
  .lp .lp-mobile-panel,
  body.site:not(.site-home) .lp-mobile-panel{ inset-inline:6px; }
  .foot-langs[open] > .foot-langs-panel{ grid-template-columns:1fr; }
}

/* Pricing is a catalogue on phones, not a desktop table hidden in a scroller.
   Column names remain in the markup and are repeated from data-label so each
   card is understandable without relying on horizontal position. */
@media screen and (max-width:620px){
  body.site-pricing #services .tbl-wrap{
    overflow:visible; contain:none; scrollbar-gutter:auto;
    border:0; border-radius:0; background:transparent;
  }
  body.site-pricing #services .price-tbl{
    display:block; inline-size:100%; min-inline-size:0; border:0;
    border-collapse:separate; background:transparent; box-shadow:none;
  }
  body.site-pricing #services .price-tbl thead{
    position:absolute; inline-size:1px; block-size:1px; overflow:hidden;
    clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap;
  }
  body.site-pricing #services .price-tbl tbody{
    display:grid; grid-template-columns:minmax(0,1fr); gap:11px; inline-size:100%;
  }
  body.site-pricing #services .price-tbl tbody tr{
    position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(104px,.58fr);
    min-inline-size:0; inline-size:100%; overflow:hidden;
    border:1px solid #d9deea; border-radius:16px;
    background:linear-gradient(155deg,#fff,#f5f7fb);
    box-shadow:0 8px 24px rgba(27,39,74,.065),inset 0 1px #fff;
  }
  body.site-pricing #services .price-tbl tbody tr::before{
    content:''; position:absolute; inset-inline:0; inset-block-start:0; block-size:2px;
    background:linear-gradient(90deg,#c9a354,#7189ef,transparent); opacity:.72;
  }
  [dir=rtl] body.site-pricing #services .price-tbl tbody tr::before,
  [dir=ar] body.site-pricing #services .price-tbl tbody tr::before{
    background:linear-gradient(90deg,transparent,#7189ef,#c9a354);
  }
  body.site-pricing #services .price-tbl :is(th,td){
    display:block; min-inline-size:0; border:0; text-align:start;
  }
  body.site-pricing #services .price-tbl th[scope=row]{
    grid-column:1 / -1; padding:14px 14px 10px;
  }
  body.site-pricing #services .price-tbl th[scope=row]::before,
  body.site-pricing #services .price-tbl td::before{
    content:attr(data-label); display:block; margin-block-end:5px;
    color:#8a651d; font-size:9px; font-weight:850; line-height:1.2;
    letter-spacing:.09em; text-transform:uppercase;
  }
  body.site-pricing #services .price-tbl th[scope=row] > a{
    display:flex; align-items:center; min-block-size:44px; min-inline-size:0; max-inline-size:100%;
    color:#151b2d; font-size:17px; line-height:1.25; white-space:normal; overflow-wrap:anywhere;
  }
  body.site-pricing #services .price-tbl th[scope=row] small{
    display:block; overflow:visible; margin-block-start:3px;
    color:#626a7f; font-size:12.5px; line-height:1.5;
    white-space:normal; overflow-wrap:anywhere; text-overflow:initial;
  }
  body.site-pricing #services .price-tbl td.price-packs{
    grid-column:1; display:block; padding:9px 13px 11px; border-block-start:1px solid #e5e8f0;
  }
  body.site-pricing #services .price-tbl .pack-chip{
    display:inline-flex; align-items:center; min-block-size:30px; margin:2px 0;
    max-inline-size:100%; padding:4px 8px; border-color:#d8ddeb; color:#3c465d; background:#fff;
    font-size:11px; line-height:1.25; white-space:normal;
  }
  body.site-pricing #services .price-tbl td.r{
    grid-column:2; display:flex; flex-direction:column; align-items:flex-end; justify-content:flex-start; gap:4px;
    padding:9px 13px 11px; border-block-start:1px solid #e5e8f0;
    border-inline-start:1px solid #e5e8f0;
  }
  body.site-pricing #services .price-tbl td.r::before{ align-self:stretch; margin-block:0 3px; }
  body.site-pricing #services .price-tbl td.r .price{
    flex:none; margin-inline-start:0; align-items:flex-end; text-align:end;
  }
  [dir=rtl] body.site-pricing #services .price-tbl td.r .price,
  [dir=ar] body.site-pricing #services .price-tbl td.r .price{ align-items:flex-start; text-align:start; }
  body.site-pricing #services .price-tbl td.r .price b{ font-size:22px; }
  body.site-pricing #services .price-tbl tbody tr:hover{
    background:linear-gradient(155deg,#fff,#f5f7fb);
  }
}

@media screen and (min-width:521px){
  body.site .site-foot .foot-fold > summary,
  body.site .site-foot .foot-langs-disclosure > summary{
    display:block;
    margin-block:0 16px;
    padding:0;
    color:#7896ff;
    cursor:default;
    pointer-events:none;
    font-family:var(--f);
    font-size:10px;
    font-weight:850;
    letter-spacing:.1em;
    text-transform:uppercase;
  }
  [dir=rtl] body.site .site-foot .foot-fold > summary,
  [dir=rtl] body.site .site-foot .foot-langs-disclosure > summary,
  [dir=ar] body.site .site-foot .foot-fold > summary,
  [dir=ar] body.site .site-foot .foot-langs-disclosure > summary{
    letter-spacing:0;
    text-transform:none;
  }
}

/* ========================================================================
   PUBLIC V3 / Precision Aperture
   A shared editorial shell for every public page except the image-led home.
   Ink, optical white, measured cobalt and a small signal-red accent replace
   the previous cream, gold, serif, pill and floating-card vocabulary.
   ======================================================================== */
body.site:not(.site-home){
  --ink:#080b12;
  --ink2:#0d121c;
  --bg:#f4f5f7;
  --card:#fff;
  --surface-subtle:#eaedf2;
  --tx:#080b12;
  --tx2:#4f596a;
  --tx3:#747d8d;
  --line:#cfd4dc;
  --line2:#e1e4e9;
  --accent:#2457ff;
  --accent2:#173ecc;
  --accent-soft:#e9eeff;
  --gold:#2457ff;
  --amber:#ff4d36;
  --r:3px;
  --r-sm:2px;
  --sh:none;
  --sh-lg:none;
  background:var(--ink);
}
body.site:not(.site-home) .page-main{
  color:var(--tx);
  background:var(--bg);
}
body.site:not(.site-home) .page-main :is(h1,h2,h3,h4),
body.site:not(.site-home) .page-hero :is(h1,h2,h3,h4),
body.site:not(.site-home) .price b,
body.site:not(.site-home) .rate-big,
body.site:not(.site-home) .rate-none,
body.site:not(.site-home) .tax-proof figcaption b,
body.site:not(.site-home) .docs-strip h3,
body.site:not(.site-home) .kinds h3{
  font-family:var(--f);
  font-style:normal;
}
body.site:not(.site-home) .page-main :is(.art-foil,.brand-foil){
  color:inherit;
  background:none;
  -webkit-text-fill-color:currentColor;
}
body.site:not(.site-home) :is(.brand-seal-stack,.lp-header-foil,.lp-brand-proof){ display:none; }

/* A single precise crown. */
body.site:not(.site-home) .lp-header{
  position:sticky;
  z-index:80;
  inset-block-start:0;
  min-block-size:76px;
  border:0;
  border-block-end:1px solid rgba(255,255,255,.14);
  background:rgba(8,11,18,.98);
  box-shadow:none;
}
body.site:not(.site-home) .lpbar{ block-size:76px; gap:30px; }
body.site:not(.site-home) .lp-brand{ gap:10px; }
body.site:not(.site-home) .lp-brand::after{ display:none; }
body.site:not(.site-home) .lpbar .logo b{ color:#fff; }
body.site:not(.site-home) .lp-desktop-nav{ gap:20px; }
body.site:not(.site-home) .lp-links{ gap:25px; }
body.site:not(.site-home) .lp-links a{
  min-block-size:44px;
  padding:12px 0;
  color:#adb6c6;
  border:0;
  border-radius:0;
  background:none;
  font-size:13px;
  font-weight:760;
}
body.site:not(.site-home) .lp-links a:is(:hover,:focus-visible,[aria-current=page]){
  color:#fff;
  background:none;
}
body.site:not(.site-home) .lp-desktop-nav > .sw > summary{
  min-block-size:42px;
  padding:9px 12px;
  color:#dce2ee;
  border:1px solid rgba(255,255,255,.22);
  border-radius:2px;
  background:transparent;
}
body.site:not(.site-home) .lp-header .btn{
  min-block-size:42px;
  padding:9px 16px;
  border-radius:2px;
  box-shadow:none;
}
body.site:not(.site-home) .lp-header .btn.accent{
  color:#fff;
  border-color:var(--accent);
  background:var(--accent);
}
body.site:not(.site-home) .lp-header .lp-login{
  color:#dce2ee;
  border-color:transparent;
  background:transparent;
}

/* Page introductions are typographic fields, not ornamental banners. */
body.site:not(.site-home) .crumbs{
  padding-block:15px;
  border-block-end:1px solid var(--line2);
}
body.site:not(.site-home) .crumbs ol{ color:#5f6878; font-size:11px; }
body.site:not(.site-home) .crumbs li + li::before{ color:#aeb5c0; }
body.site:not(.site-home) .page-hero{
  min-block-size:480px;
  display:flex;
  align-items:center;
  padding-block:96px 88px;
  color:#fff;
  background:var(--ink);
  isolation:isolate;
}
body.site:not(.site-home) .page-hero .art-hero{ display:none; }
body.site:not(.site-home) .page-hero > .wrap{
  position:relative;
  z-index:2;
  inline-size:100%;
  max-inline-size:1240px;
}
body.site:not(.site-home) .page-hero .eyebrow{
  display:flex;
  align-items:center;
  gap:10px;
  inline-size:fit-content;
  padding:0;
  color:#7392ff;
  border:0;
  border-radius:0;
  background:none;
  font-size:10px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}
[dir=rtl] body.site:not(.site-home) .page-hero .eyebrow,
[dir=ar] body.site:not(.site-home) .page-hero .eyebrow{ letter-spacing:0; }
body.site:not(.site-home) .page-hero h1{
  max-inline-size:12ch;
  margin:20px 0 24px;
  color:#fff;
  font-size:clamp(58px,7.4vw,104px);
  font-weight:860;
  line-height:.91;
  letter-spacing:-.055em;
  text-shadow:none;
  text-wrap:balance;
}
[dir=rtl] body.site:not(.site-home) .page-hero h1,
[dir=ar] body.site:not(.site-home) .page-hero h1{
  max-inline-size:14ch;
  line-height:1;
  letter-spacing:-.018em;
}
body.site:not(.site-home) .page-hero .lead{
  max-inline-size:58ch;
  margin:0;
  color:#b7bfcd;
  font-size:18px;
  line-height:1.7;
}
body.site:not(.site-home) .page-hero .hero-boundary{
  color:#98a3b5;
  font-size:11.5px;
}
body.site:not(.site-home) .page-hero .hero-boundary .ic{ color:#7392ff; }
body.site:not(.site-home) .page-hero .cta{ gap:10px; margin-block-start:30px; }
body.site:not(.site-home) .page-hero .btn{
  min-block-size:54px;
  padding:14px 21px;
  border-radius:3px;
  box-shadow:none;
}
body.site:not(.site-home) .page-main .btn{
  border-radius:3px;
  box-shadow:none;
}
body.site:not(.site-home) .page-main .btn.accent{
  color:#fff;
  border-color:var(--accent);
  background:var(--accent);
}
body.site.site-services .page-hero .cta > a.btn:not(.accent){
  color:var(--ink);
  border-color:#fff;
  background:#fff;
}
body.site.site-services .page-hero .cta > a.btn:not(.accent):hover{
  color:var(--ink);
  border-color:#e3e8f1;
  background:#e3e8f1;
}
body.site.site-services .page-hero .cta .wa-block .wa-btn:not(.accent){
  color:#fff;
  border-color:#0b6f65;
  background:#0b6f65;
}
body.site.site-services .page-hero .cta .wa-block .wa-btn:not(.accent):hover{
  color:#fff;
  border-color:#085b53;
  background:#085b53;
}

/* Services receives the real editorial photography used by the new system. */
body.site.site-services .page-hero{
  min-block-size:680px;
  overflow:hidden;
}
body.site.site-services .page-hero::before{
  content:'';
  position:absolute;
  z-index:0;
  inset-block:0;
  inset-inline-end:0;
  inline-size:48%;
  background:url('/assets/art/do-v3-services-studio.webp') 62% center / cover no-repeat;
}
body.site.site-services .page-hero::after{
  content:'';
  position:absolute;
  z-index:1;
  inset-block:0;
  inset-inline-end:43%;
  inline-size:10%;
  background:linear-gradient(to var(--v3-seam, right),var(--ink),transparent);
  pointer-events:none;
}
[dir=rtl] body.site.site-services .page-hero{ --v3-seam:left; }
body.site.site-services .page-hero > .wrap{ padding-inline-end:54%; }
body.site.site-services .page-hero h1{ font-size:clamp(56px,6vw,88px); }

/* Large ruled chapters replace floating panels. */
body.site:not(.site-home) .sec{ padding-block:108px; }
body.site:not(.site-home) .sec.tint{ background:#eaedf2; }
body.site:not(.site-home) .sec.light{ background:#fff; }
body.site:not(.site-home) .sec-head.editorial-head{
  align-items:flex-end;
  margin-block-end:45px;
  padding-block-end:22px;
  border-block-end:1px solid var(--line);
}
body.site:not(.site-home) .sec-head h2{
  font-size:clamp(39px,4.6vw,64px);
  font-weight:850;
  line-height:1;
  letter-spacing:-.045em;
}
[dir=rtl] body.site:not(.site-home) .sec-head h2,
[dir=ar] body.site:not(.site-home) .sec-head h2{ letter-spacing:-.012em; }
body.site:not(.site-home) .section-kicker,
body.site:not(.site-home) .cat-count,
body.site:not(.site-home) .flow-n{
  color:var(--accent) !important;
  background:none;
  font-size:10px;
  font-weight:850;
  letter-spacing:.1em;
}

/* Pricing: one large zero and a clean ledger. */
body.site-pricing .zero-card{
  grid-template-columns:minmax(180px,.32fr) minmax(0,1fr);
  gap:70px;
  padding:72px 0;
  border:0;
  border-block:1px solid var(--line);
  border-radius:0;
  background:transparent;
  background-image:none;
  box-shadow:none;
}
body.site-pricing .zero-card-price{ text-align:start; }
body.site-pricing .zero-card-price b{
  color:var(--accent);
  background:none;
  -webkit-text-fill-color:currentColor;
  font-family:var(--f);
  font-size:clamp(112px,17vw,220px);
  font-weight:800;
  letter-spacing:-.09em;
}
body.site-pricing .zero-card-price span{ color:#5f6878; font-size:10px; }
body.site:not(.site-home) .price-note,
body.site:not(.site-home) .contact-boundary{ color:#596475; }
body.site-pricing .zero-card-copy h2{ font-size:clamp(34px,4.2vw,58px); line-height:1.02; }
body.site-pricing .zero-checks .ic{ color:var(--accent); }
body.site-pricing .free-grid{ gap:0; border-block-end:1px solid var(--line); }
body.site-pricing .free-col{
  padding:38px 0;
  border:0;
  border-block-start:1px solid var(--line);
  border-radius:0;
  background:transparent;
}
body.site-pricing .free-col + .free-col{ padding-inline-start:42px; border-inline-start:1px solid var(--line); }
body.site-pricing .free-col h3{ font-size:22px; }
body.site-pricing .pack-chip{
  padding:2px 0;
  color:#4f596a;
  border:0;
  border-radius:0;
  background:none;
  text-decoration:underline;
  text-decoration-color:#c7ccd5;
  text-underline-offset:3px;
}
body.site-pricing .tbl-wrap,
body.site-countries .tbl-wrap{
  border:1px solid var(--line);
  border-radius:0;
  background:#fff;
  box-shadow:none;
}
body.site-pricing .tbl thead th,
body.site-countries .tbl thead th{ background:#e8ebf0; color:#4d5667; }
body.site-pricing .tbl tbody tr:hover,
body.site-countries .tbl tbody tr:hover{ background:#f1f4ff; }

/* Catalogues become typographic ledgers rather than a deck of cards. */
body.site-services .boundary-card{
  padding:34px 0;
  border:0;
  border-block:1px solid var(--line);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.site-services .svc-cards{ gap:0 36px; }
body.site-services .svc-card{
  gap:12px;
  padding:30px 2px;
  border:0;
  border-block-start:1px solid var(--line);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transform:none;
}
body.site-services .svc-card:hover{ box-shadow:none; transform:none; }
body.site-services .svc-card h3{ font-size:24px; line-height:1.15; }
body.site-services .svc-flag{
  position:static;
  order:-1;
  inline-size:fit-content;
  padding:0;
  color:var(--accent2);
  border:0;
  border-radius:0;
  background:none;
  font-size:9px;
  letter-spacing:.09em;
  text-transform:uppercase;
}
body.site-services .svc-card-foot{ border-block-start-color:var(--line); }
body.site-services .flow-steps{ gap:0; border-block-end:1px solid var(--line); }
body.site-services .flow-steps li{
  padding:30px 24px;
  border:0;
  border-block-start:1px solid var(--line);
  border-radius:0;
  background:transparent;
}
body.site-services .flow-steps h3{ font-size:20px; }
body.site-services .who-not{
  padding:28px 0;
  border:0;
  border-block:1px solid var(--line);
  border-radius:0;
  background:transparent;
}

/* Shared information components stay sharp and quiet. */
body.site:not(.site-home) .faq{ gap:0; border-block-end:1px solid var(--line); }
body.site:not(.site-home) .faq details{
  padding:0;
  border:0;
  border-block-start:1px solid var(--line);
  border-radius:0;
  background:transparent;
}
body.site:not(.site-home) .faq summary{ min-block-size:62px; padding:17px 0; }
body.site:not(.site-home) .faq summary::after{
  color:var(--accent);
  border-radius:0;
  background:none;
}
body.site:not(.site-home) :is(.pack,.detail,.kind,.regime,.conf-card,.doc-card,.rate-main,.svc-facts,.proof-card,.trust-card,.legal-toc,.legal-doc){
  border-radius:3px;
  box-shadow:none;
}
body.site:not(.site-home) :is(.pill,.conf,.rel-list li a){ border-radius:2px; }
body.site:not(.site-home) .lead-sec .lead-form{
  padding:42px 0;
  border:0;
  border-block:1px solid var(--line);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.site:not(.site-home) :is(input,select,textarea){
  border-radius:2px;
  border-color:#c7cdd7;
  background:#fff;
  box-shadow:none;
}
body.site:not(.site-home) :is(input,select,textarea):focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(36,87,255,.12);
}
body.site:not(.site-home) .closing-cta{
  padding-block:112px;
  color:#fff;
  background:var(--ink);
}
body.site:not(.site-home) .closing-panel{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.site:not(.site-home) .closing-panel h2{ color:#fff; font-size:clamp(42px,5vw,72px); }
body.site:not(.site-home) .closing-zero{ color:rgba(36,87,255,.24); font-family:var(--f); }

/* Footer: a black editorial index with cobalt wayfinding. */
body.site:not(.site-home) .site-foot{
  padding-block:70px 32px;
  color:#aeb7c7;
  background:var(--ink);
  border-block-start:1px solid rgba(255,255,255,.14);
}
body.site:not(.site-home) .foot-grid{ gap:42px; }
body.site:not(.site-home) .foot-fold > summary,
body.site:not(.site-home) .foot-col h3{ color:#7896ff; }
body.site:not(.site-home) .foot-col a{ color:#b8c1cf; }
body.site:not(.site-home) .foot-col a:hover{ color:#fff; }
body.site:not(.site-home) .foot-langs,
body.site:not(.site-home) .foot-legal{ border-block-start-color:rgba(255,255,255,.16); }

@media screen and (max-width:900px){
  body.site:not(.site-home) .lp-header{ min-block-size:68px; }
  body.site:not(.site-home) .lpbar{ block-size:68px; }
  body.site:not(.site-home) .lp-mobile-nav > summary{
    min-inline-size:46px;
    min-block-size:46px;
    color:#fff;
    border:1px solid rgba(255,255,255,.26);
    border-radius:2px;
    background:transparent;
  }
  body.site:not(.site-home) .lp-mobile-nav[open]::before{ inset-block-start:68px; background:rgba(0,0,0,.72); }
  body.site:not(.site-home) .lp-mobile-panel{
    inset-block-start:68px;
    inset-inline:0;
    max-block-size:calc(100dvh - 68px);
    gap:0;
    padding:24px 22px 30px;
    color:#fff;
    border:0;
    border-radius:0;
    background:var(--ink);
    box-shadow:none;
  }
  body.site:not(.site-home) .lp-mobile-promise{
    min-block-size:54px;
    padding:0 0 18px;
    border:0;
    border-block-end:1px solid rgba(255,255,255,.18);
    border-radius:0;
    background:none;
  }
  body.site:not(.site-home) .lp-mobile-zero{ color:#7896ff; }
  body.site:not(.site-home) .lp-mobile-links{ grid-template-columns:1fr; gap:0; }
  body.site:not(.site-home) .lp-mobile-links a{
    min-block-size:54px;
    padding:13px 0;
    color:#d8deea;
    border:0;
    border-block-end:1px solid rgba(255,255,255,.18);
    border-radius:0;
    background:none;
    font-size:14px;
  }
  body.site:not(.site-home) .lp-mobile-switcher{ padding-block:18px; border-block-end:1px solid rgba(255,255,255,.18); }
  body.site:not(.site-home) .lp-mobile-switcher .sw > summary{ border-radius:2px; }
  body.site:not(.site-home) .lp-mobile-actions{ grid-template-columns:1fr 1fr; gap:8px; padding-block-start:20px; }
  body.site:not(.site-home) .lp-mobile-actions .btn{ border-radius:2px; }
  body.site:not(.site-home) .page-hero{ min-block-size:420px; padding-block:78px 70px; }
  body.site:not(.site-home) .page-hero h1{ font-size:clamp(52px,11vw,76px); }
  body.site.site-services .page-hero{ min-block-size:780px; align-items:flex-start; padding-block:70px 340px; }
  body.site.site-services .page-hero::before{
    inset-block:auto 0;
    inline-size:100%;
    block-size:300px;
    background-position:62% 42%;
  }
  body.site.site-services .page-hero::after{
    inset-block:auto 265px;
    inset-inline:0;
    inline-size:100%;
    block-size:76px;
    background:linear-gradient(180deg,var(--ink),transparent);
  }
  body.site.site-services .page-hero > .wrap{ padding-inline-end:0; }
  body.site:not(.site-home) .sec{ padding-block:82px; }
  body.site-pricing .zero-card{ gap:32px; }
}

@media screen and (max-width:640px){
  body.site:not(.site-home) .lp-header{ min-block-size:64px; }
  body.site:not(.site-home) .lpbar{
    block-size:calc(64px + env(safe-area-inset-top));
    padding-inline:14px;
  }
  body.site:not(.site-home) .lp-mobile-nav[open]::before{ inset-block-start:64px; }
  body.site:not(.site-home) .lp-mobile-panel{
    inset-block-start:calc(64px + env(safe-area-inset-top));
    inset-inline:0;
    max-block-size:calc(100dvh - 64px - env(safe-area-inset-top));
    padding-inline:20px;
  }
  body.site:not(.site-home) .crumbs{ padding:11px 18px; }
  body.site:not(.site-home) .page-hero{
    min-block-size:0;
    padding-block:68px 62px;
  }
  body.site:not(.site-home) .page-hero > .wrap{ padding-inline:20px; }
  body.site:not(.site-home) .page-hero h1{
    max-inline-size:11ch;
    margin-block:17px 18px;
    font-size:clamp(43px,13vw,57px);
    line-height:.94;
  }
  [dir=rtl] body.site:not(.site-home) .page-hero h1,
  [dir=ar] body.site:not(.site-home) .page-hero h1{ max-inline-size:13ch; line-height:1; }
  body.site:not(.site-home) .page-hero .lead{ font-size:15px; line-height:1.62; }
  body.site:not(.site-home) .page-hero .cta{ display:grid; grid-template-columns:1fr; }
  body.site:not(.site-home) .page-hero .btn{ inline-size:100%; }
  body.site.site-services .page-hero{ min-block-size:0; padding-block:62px 300px; }
  body.site.site-services .page-hero::before{ block-size:260px; background-position:61% center; }
  body.site.site-services .page-hero::after{ inset-block-end:225px; }
  body.site:not(.site-home) .sec{ padding-block:72px; }
  body.site:not(.site-home) .sec-head.editorial-head{ display:block; margin-block-end:32px; padding-block-end:18px; }
  body.site:not(.site-home) .sec-head h2{ font-size:40px; }
  body.site-pricing .zero-card{
    grid-template-columns:1fr;
    gap:22px;
    padding-block:46px;
    text-align:start;
  }
  body.site-pricing .zero-card-price{ text-align:start; }
  body.site-pricing .zero-card-price b{ font-size:112px; }
  body.site-pricing .zero-checks{ justify-content:flex-start; }
  body.site-pricing .free-grid{ grid-template-columns:1fr; }
  body.site-pricing .free-col + .free-col{ padding-inline-start:0; border-inline-start:0; }
  body.site-pricing #services .price-tbl tbody tr{
    border-radius:2px;
    background:#fff;
    box-shadow:none;
  }
  body.site-pricing #services .price-tbl tbody tr::before{ background:var(--accent); opacity:1; }
  [dir=rtl] body.site-pricing #services .price-tbl tbody tr::before,
  [dir=ar] body.site-pricing #services .price-tbl tbody tr::before{ background:var(--accent); }
  body.site-pricing #services .price-tbl th[scope=row]::before,
  body.site-pricing #services .price-tbl td::before{ color:var(--accent2); }
  body.site-pricing #services .price-tbl tbody tr:hover{ background:#fff; }
  body.site-services .svc-cards{ grid-template-columns:1fr; }
  body.site-services .svc-card{ padding-block:27px; }
  body.site-services .flow-steps{ grid-template-columns:1fr; }
  body.site-services .flow-steps li{ padding-inline:0; }
  body.site:not(.site-home) .lead-sec .lead-form{ padding-block:34px; }
  body.site:not(.site-home) .site-foot{ padding-block:48px 24px; }
  body.site:not(.site-home) .foot-fold > summary,
  body.site:not(.site-home) .foot-langs-disclosure > summary{ border-radius:0; }
  body.site:not(.site-home) .foot-fold > summary::after,
  body.site:not(.site-home) .foot-langs-disclosure > summary::after{
    color:#7896ff;
    border-color:rgba(120,150,255,.35);
    border-radius:2px;
  }

  body.site-countries .cy-sec .tbl-wrap{ overflow:visible; }
  body.site-countries .cy-tbl{
    inline-size:100%;
    min-inline-size:0;
    table-layout:fixed;
    font-size:11px;
  }
  body.site-countries .cy-tbl :is(th,td){
    min-inline-size:0;
    padding:9px 6px;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  body.site-countries .cy-tbl thead th:first-child{ inline-size:42%; }
  body.site-countries .cy-tbl thead th:nth-child(2){ inline-size:20%; }
  body.site-countries .cy-tbl thead th:nth-child(3){ inline-size:16%; }
  body.site-countries .cy-tbl thead th:nth-child(4){ inline-size:22%; }
  body.site-countries .cy-tbl th[scope=row]{ display:table-cell; }
  body.site-countries .cy-tbl th[scope=row] :is(a,small){ display:block; }
  body.site-countries .cy-tbl .conf{ padding-inline:4px; font-size:8px; }

  .lp.site-home .foot-fold > summary::after,
  .lp.site-home .foot-langs-disclosure > summary::after{
    color:#7896ff;
    border-color:rgba(120,150,255,.38);
    border-radius:2px;
  }
}
