/* ==========================================================================
   BYB Global — COUNTRY PAGE TEMPLATE  ·  APPROVED editorial-luxury system
   Cormorant Garamond + Outfit · gold/black · sharp 90° corners ·
   hairline gold grids · flat gold accents. Mirrors the confirmed homepage.
   Shared by page-country.php (every country) and page-countries.php (hub).
   Scoped to .rk-page.

   Two parts: the shared foundation and chrome first (type, reveal, hero,
   tables, FAQ, final CTA, breadcrumbs, sibling strip, hub grid), then the
   FINAL SECTION ORDER block that styles the schema-2 sections and the
   per-country modules. The pre-migration sections were deleted in Phase 04
   along with inc/country-legacy.php.
   ========================================================================== */

.rk-page {
	/* Brand colour + type tokens are global — see assets/css/tokens.css.
	   Only page-local aliases live here. */
	--line:var(--hairline);

	font-family:var(--sans);
	color:var(--text);
	background:#fff;
	font-size:15px;
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
	overflow-x:hidden;
}
.rk-page *,
.rk-page *::before,
.rk-page *::after { box-sizing:border-box; }
.rk-page .serif { font-family:var(--serif); }

.rk-container { max-width:1240px; margin:0 auto; padding:0 48px; }

/* ---------- Shared type ---------- */
.rk-h2 { font-family:var(--serif); font-weight:300; font-size:clamp(28px,3.8vw,44px); line-height:1.15; letter-spacing:0; color:var(--black); margin:0; }
.rk-h2--light { color:#fff; }
.rk-gold { color:var(--gold); font-style:normal; }
.rk-gold-ink { color:var(--gold-dark); font-style:normal; }
.rk-body { font-size:15px; line-height:1.85; color:var(--muted); margin:0 0 18px; }
.rk-eyebrow { display:block; font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold-dark); margin-bottom:12px; }
.rk-eyebrow--light { color:var(--gold-light); }
.rk-section-head { margin-bottom:44px; }
.rk-section-head--center { text-align:center; max-width:760px; margin-left:auto; margin-right:auto; }
.rk-section-head__lead { margin:16px 0 0; }

/* Buttons: the two global ones in components.css. This page's own button
   rules were removed there so the site has a single source. */

/* ---------- Reveal / stagger ---------- */
.rk-reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
.rk-reveal.is-visible { opacity:1; transform:none; }
.rk-stagger > * { opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease; }
.rk-stagger.is-visible > * { opacity:1; transform:none; }
.rk-stagger.is-visible > *:nth-child(1){transition-delay:.04s}
.rk-stagger.is-visible > *:nth-child(2){transition-delay:.10s}
.rk-stagger.is-visible > *:nth-child(3){transition-delay:.16s}
.rk-stagger.is-visible > *:nth-child(4){transition-delay:.22s}
.rk-stagger.is-visible > *:nth-child(5){transition-delay:.28s}
.rk-stagger.is-visible > *:nth-child(6){transition-delay:.34s}
.rk-stagger.is-visible > *:nth-child(7){transition-delay:.40s}
.rk-stagger.is-visible > *:nth-child(8){transition-delay:.46s}
/* Phones: a shorter, gentler rise, so content that scrolls in fast is
   already readable (the reveal also fires earlier there, see the template). */
@media (max-width: 720px) {
	.rk-reveal, .rk-stagger > * { transform:translateY(12px); transition-duration:.4s; }
}
@media (prefers-reduced-motion: reduce) {
	.rk-reveal, .rk-stagger > * { opacity:1 !important; transform:none !important; transition:none !important; }
	.rk-hero__scroll span { animation:none !important; }
}

/* ==========================================================================
   HERO (map bg, centred — mirrors homepage)
   ========================================================================== */
.rk-hero {
	position:relative; overflow:hidden;
	background-color:var(--ink);
	background-size:cover; background-position:center; background-repeat:no-repeat;
	min-height:76vh; padding:96px 0;
	display:flex; align-items:center;
}
.rk-hero__overlay { position:absolute; inset:0; z-index:1; pointer-events:none;
	background:
		linear-gradient(180deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0) 24%, rgba(0,0,0,0) 68%, rgba(0,0,0,0.70) 100%),
		radial-gradient(ellipse 82% 86% at 50% 48%, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.50) 55%, rgba(0,0,0,0.70) 100%); }
.rk-hero > .rk-container { position:relative; z-index:2; width:100%; }
.rk-hero__inner { max-width:840px; margin:0 auto; text-align:center; }
.rk-kicker { display:inline-flex; align-items:center; gap:14px; font-size:11px; letter-spacing:0.24em; text-transform:uppercase; color:var(--gold-light); margin-bottom:24px; }
.rk-kicker::before, .rk-kicker::after { content:""; width:34px; height:1px; background:linear-gradient(90deg, transparent, var(--gold)); }
.rk-kicker::after { background:linear-gradient(90deg, var(--gold), transparent); }
.rk-hero__title { font-family:var(--serif); font-weight:300; font-size:clamp(34px,4.6vw,58px); line-height:1.1; color:#fff; margin:0 0 16px; text-wrap:balance; }
.rk-hero__subtitle { font-size:15px; color:rgba(255,255,255,0.85); max-width:540px; line-height:1.8; margin:0 auto 30px; text-shadow:0 2px 14px rgba(0,0,0,0.8); }
.rk-hero__actions { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }
.rk-hero__scroll { position:absolute; left:50%; bottom:26px; transform:translateX(-50%); z-index:3; display:flex; flex-direction:column; align-items:center; gap:10px; text-decoration:none; }
.rk-hero__scroll::before { content:""; width:1px; height:32px; background:linear-gradient(180deg, transparent, rgba(214,195,130,0.65)); }
.rk-hero__scroll span { display:block; width:10px; height:10px; border-right:1.5px solid var(--gold-light); border-bottom:1.5px solid var(--gold-light); transform:rotate(45deg); animation:rk-scroll 1.9s ease-in-out infinite; }
@keyframes rk-scroll { 0%,100%{ transform:rotate(45deg) translate(-2px,-2px); opacity:.45 } 50%{ transform:rotate(45deg) translate(2px,2px); opacity:1 } }

/* ==========================================================================
   TABLES (sharp, hairline, black th)
   ========================================================================== */
.rk-table-section { padding:88px 0; background:var(--paper); }
.rk-table-wrap { overflow-x:auto; border:1px solid var(--line); background:#fff; }
.rk-table { width:100%; border-collapse:collapse; min-width:720px; font-size:14px; }
.rk-table thead th { background:var(--ink); color:#fff; text-align:left; font-weight:500; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; padding:16px 20px; }
.rk-table tbody td { padding:18px 20px; border-bottom:1px solid var(--line); color:var(--text); line-height:1.6; vertical-align:top; }
.rk-table tbody tr:last-child td { border-bottom:none; }
.rk-table tbody tr { transition:background .2s ease, box-shadow .2s ease; }
.rk-table tbody tr:hover { background:var(--paper); box-shadow:inset 3px 0 0 var(--gold); }
.rk-table strong { color:var(--ink); font-weight:600; }

/* ==========================================================================
   FAQ (hairline-divided list + dark side panel)
   ========================================================================== */
.rk-faq { padding:88px 0; background:var(--paper); }
.rk-faq__grid { display:grid; grid-template-columns:0.8fr 1.2fr; gap:56px; align-items:start; }
.rk-faq__intro { position:sticky; top:100px; }
.rk-faq__panel { margin-top:28px; background:var(--grad-dark-gold); color:#fff; padding:28px 26px; }
.rk-faq__panel-icon { display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; border:1px solid rgba(255,255,255,0.2); color:var(--gold-light); margin-bottom:16px; }
.rk-faq__panel-icon svg { width:22px; height:22px; }
.rk-faq__panel p { margin:0 0 18px; font-size:13.5px; line-height:1.6; color:rgba(255,255,255,0.8); }
.rk-faq-list { display:block; border-top:1px solid var(--line); }
.rk-faq-item { border-bottom:1px solid var(--line); background:transparent; padding:0 4px; }
.rk-faq-item summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:20px 0; font-family:var(--sans); font-weight:500; font-size:15px; color:var(--ink); }
.rk-faq-item summary::-webkit-details-marker { display:none; }
.rk-faq-item[open] summary { color:var(--gold-dark); }
.rk-faq-item__icon { flex:none; position:relative; width:20px; height:20px; }
.rk-faq-item__icon::before, .rk-faq-item__icon::after { content:""; position:absolute; background:var(--gold-dark); border-radius:1px; transition:transform .3s ease, opacity .3s ease; }
.rk-faq-item__icon::before { top:9px; left:1px; width:18px; height:2px; }
.rk-faq-item__icon::after { left:9px; top:1px; width:2px; height:18px; }
.rk-faq-item[open] .rk-faq-item__icon::after { transform:rotate(90deg); opacity:0; }
.rk-faq-item p { margin:0; padding:0 0 22px; font-size:13.5px; line-height:1.72; color:var(--muted); }

/* ==========================================================================
   FINAL CTA (dark band)
   ========================================================================== */
.rk-final-wrap { padding:96px 0; background:radial-gradient(ellipse 60% 80% at 82% 16%, rgba(183,162,106,0.16), transparent 55%), linear-gradient(160deg, var(--ink) 0%, var(--ink-2) 58%, var(--ink) 100%); }
.rk-final { position:relative; overflow:hidden; text-align:center; }
.rk-final__glow { display:none; }
.rk-final__inner { position:relative; z-index:1; max-width:720px; margin:0 auto; }
.rk-final__text { color:rgba(255,255,255,0.8) !important; font-size:15px; line-height:1.85; margin:20px 0 32px; }
.rk-final__inner .rk-hero__actions { justify-content:center; }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1040px) {
	.rk-faq__grid { grid-template-columns:1fr; gap:36px; }
	.rk-faq__intro { position:static; }
}
@media (max-width: 560px) {
	.rk-container { padding:0 22px; }
	.rk-hero { min-height:0; padding:88px 0 72px; }
	.rk-hero__overlay { background:linear-gradient(180deg, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.68) 100%); }
	.rk-btn { width:100%; }
	.rk-hero__actions .rk-btn { flex:1 1 auto; }
}

/* ==========================================================================
   BREADCRUMBS  (Home › Countries › Country) — SEO + orientation
   Sits just under the hero on a hairline; matches the paper sections.
   ========================================================================== */
.rk-crumbs { background:var(--paper); border-bottom:1px solid var(--line); }
.rk-crumbs__list { display:flex; flex-wrap:wrap; align-items:center; gap:8px; list-style:none; margin:0; padding:14px 0; font-size:12px; letter-spacing:0.02em; }
.rk-crumbs__list li { display:flex; align-items:center; gap:8px; color:var(--muted); }
.rk-crumbs__list a { color:var(--muted); text-decoration:none; transition:color .2s ease; }
.rk-crumbs__list a:hover { color:var(--gold-dark) !important; }
.rk-crumbs__sep { color:var(--gold); }
.rk-crumbs__current { color:var(--text); font-weight:500; }

/* ==========================================================================
   OTHER JURISDICTIONS  — internal-link strip to sibling country pages
   ========================================================================== */
.rk-more { padding:76px 0; background:var(--paper); border-top:1px solid var(--line); }
.rk-more__head { max-width:640px; margin:0 auto 36px; text-align:center; }
.rk-more__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.rk-more__card { display:flex; flex-direction:column; gap:6px; background:#fff; border:1px solid var(--line-2); border-top:2px solid var(--gold); padding:22px 22px 20px; text-decoration:none; transition:transform .3s ease, box-shadow .3s ease, border-top-color .3s ease; }
.rk-more__card:hover { transform:translateY(-5px); box-shadow:0 24px 44px -32px rgba(0,0,0,0.4); border-top-color:var(--gold-dark); }
.rk-more__name { font-family:var(--serif); font-size:22px; font-weight:600; color:var(--ink); line-height:1.2; }
.rk-more__desc { font-size:13px; color:var(--muted); line-height:1.65; margin:0; }
.rk-more__link { margin-top:6px; font-size:11px; font-weight:500; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold-dark); }
.rk-more__card:hover .rk-more__link { color:var(--gold); }
.rk-more__all { text-align:center; margin-top:34px; }

/* ==========================================================================
   COUNTRIES HUB  (page-countries.php)  — index of every jurisdiction
   ========================================================================== */
.rk-hub-intro { padding:82px 0 32px; background:#fff; text-align:center; }
.rk-hub-intro__inner { max-width:720px; margin:0 auto; }

/* Region jump nav — pill links to each region anchor */
.rk-regionnav { background:#fff; padding:6px 0 30px; }
.rk-regionnav__list { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; list-style:none; margin:0; padding:0; }
.rk-regionnav__list a { display:inline-block; font-size:11px; font-weight:500; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold-dark); background:#fff; border:1px solid var(--line); padding:10px 20px; text-decoration:none; transition:background .2s ease, color .2s ease, border-color .2s ease; }
.rk-regionnav__list a:hover { background:var(--gold); color:#fff !important; border-color:var(--gold); }

/* Region group */
.rk-hub { padding:26px 0 22px; background:#fff; scroll-margin-top:90px; }
.rk-hub:last-of-type { padding-bottom:86px; }
.rk-hub__region-head { display:flex; align-items:center; gap:18px; margin-bottom:26px; }
.rk-hub__region-title { font-family:var(--serif); font-weight:600; font-size:clamp(22px,2.6vw,30px); color:var(--ink); margin:0; white-space:nowrap; }
.rk-hub__region-rule { flex:1; height:1px; background:var(--line); }
.rk-hub__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
/* Fewer, roomier cards per row on desktop (client note, FINAL 187) — was 3. */
.rk-hub__card { position:relative; display:flex; flex-direction:column; min-height:210px; background:var(--ink); border-top:2px solid var(--gold); overflow:hidden; text-decoration:none; transition:transform .3s ease, box-shadow .3s ease; }
.rk-hub__card__img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.rk-hub__card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(11,11,13,0.35) 0%, rgba(11,11,13,0.82) 100%); z-index:1; transition:background .3s ease; }
.rk-hub__card:hover { transform:translateY(-6px); box-shadow:0 30px 54px -34px rgba(0,0,0,0.55); }
.rk-hub__card:hover::after { background:linear-gradient(180deg, rgba(11,11,13,0.28) 0%, rgba(11,11,13,0.9) 100%); }
.rk-hub__body { position:relative; z-index:2; margin-top:auto; padding:26px 26px 24px; }
.rk-hub__name { font-family:var(--serif); font-weight:600; font-size:26px; color:#fff; line-height:1.15; margin:0 0 6px; }
.rk-hub__desc { font-size:13px; color:rgba(255,255,255,0.82) !important; line-height:1.6; margin:0 0 12px; }
.rk-hub__link { display:inline-flex; align-items:center; gap:8px; font-size:11px; font-weight:500; letter-spacing:0.09em; text-transform:uppercase; color:var(--gold-light); }
.rk-hub__link svg { width:15px; height:15px; transition:transform .25s ease; }
.rk-hub__card:hover .rk-hub__link svg { transform:translateX(5px); }
/* Soon (no page yet) — non-clickable card */
.rk-hub__card--soon { pointer-events:none; }
.rk-hub__badge { position:relative; z-index:2; align-self:flex-start; margin:20px 0 0 20px; font-size:9px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:var(--ink); background:var(--gold); padding:5px 12px; }

@media (max-width: 1040px) {
	.rk-more__grid { grid-template-columns:repeat(2,1fr); }
	.rk-hub__grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 560px) {
	.rk-more__grid { grid-template-columns:1fr; }
	.rk-hub__grid { grid-template-columns:1fr; }
}

/* ==========================================================================
   ==========================================================================
   FINAL SECTION ORDER  (schema-2 country pages — inc/country-engine.php)
   Hero · Best for / Think twice · Structure options · Ownership & tax
   snapshot · Setup process · Compliance calendar · FAQs · Reviewer line.

   Colours, type, radii and spacing all come from assets/css/tokens.css — no
   token is re-declared here. The blocks above this line still serve the
   country blocks that have not been migrated yet; delete them together with
   inc/country-legacy.php once all 12 are on schema 2.
   ==========================================================================
   ========================================================================== */

/* ---------- Hero -----------------------------------------------------------
   Same DNA as the approved hero, one size down: the H1 is now a fixed pattern
   ("Company Formation & Corporate Services in X") and runs long, so it needs a
   smaller cap — but it must still break on two or three lines, not five, so it
   is given the full measure of the hero column rather than a narrow one. */
.rk-hero--country { min-height:62vh; padding:110px 0 96px; }
.rk-hero--country .rk-hero__inner { max-width:900px; }
.rk-hero--country .rk-hero__title { font-size:clamp(32px,4.4vw,56px); line-height:1.08; max-width:none; text-wrap:balance; }
.rk-hero__subtitle--wide { max-width:660px; font-size:16px; }

/* ---------- Section rhythm -------------------------------------------------
   The page alternates white / paper so each section reads as its own block.
   Order: fit (white) > structure (paper) > snapshot (white) > process (paper)
   > compliance (white) > FAQs (paper, approved) > review (white). */

/* ---------- Best for / Think twice if --------------------------------------
   The signature hairline grid: the wrapper is a gold hairline, the 1px gap
   lets it through between the two white cells. These cells hold two or three
   sentences, so they carry a larger measure than a card — the type is sized to
   be read, not skimmed. */
.rk-fit { padding:92px 0; background:#fff; }
.rk-fit__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.rk-fit__col { background:#fff; padding:44px 42px; transition:background var(--t-base); }
.rk-fit__col:hover { background:var(--paper); }
.rk-fit__col--caution { background:var(--paper); }
.rk-fit__col--caution:hover { background:#fff; }
.rk-fit__icon { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border:1px solid var(--line); color:var(--gold-dark); margin-bottom:22px; }
.rk-fit__icon svg { width:20px; height:20px; }
.rk-fit__col--caution .rk-fit__icon { color:var(--ink); }
.rk-fit__label { font-family:var(--serif); font-weight:400; font-size:26px; line-height:1.2; letter-spacing:0; text-transform:none; color:var(--black); margin:0 0 16px; }
.rk-fit__col--good .rk-fit__label { color:var(--gold-dark); }
.rk-fit__text { margin:0; font-size:16px; line-height:1.85; color:var(--text); }
.rk-fit__list { margin:0; padding:0; list-style:none; }
.rk-fit__list li { position:relative; padding:0 0 14px 24px; font-size:16px; line-height:1.8; color:var(--text); }
.rk-fit__list li:last-child { padding-bottom:0; }
.rk-fit__list li::before { content:""; position:absolute; left:0; top:13px; width:10px; height:1px; background:var(--gold); }

/* ---------- Structure options table (module: table) ----------------------- */
.rk-table__rowhead { text-align:left; font-family:var(--sans); font-weight:600; font-size:14px; color:var(--ink); padding:20px 22px; border-bottom:1px solid var(--line); vertical-align:top; white-space:nowrap; background:var(--paper); }
.rk-table tbody tr:last-child .rk-table__rowhead { border-bottom:none; }
.rk-table tbody tr:hover .rk-table__rowhead { background:#f1efe8; }
.rk-table thead th:first-child { background:var(--ink); }
/* The scroll container is focusable so a keyboard user can reach a wide table. */
.rk-table-wrap:focus-visible { outline:2px solid var(--gold); outline-offset:2px; }
.rk-table__note { margin:18px 0 0; font-size:13px; line-height:1.7; color:var(--muted); }

/* ---------- Ownership & tax snapshot ---------------------------------------
   Prose, not a badge: the conditions attached to a rate are the point (L10).
   Two columns on desktop so a long passage does not run to a single narrow
   strip with the rest of the section empty beside it. */
.rk-snapshot { padding:92px 0; background:#fff; }
.rk-snapshot__panel { background:var(--paper); border:1px solid var(--line); border-left:2px solid var(--gold); padding:46px 50px; columns:2; column-gap:52px; column-rule:1px solid var(--line); }
.rk-snapshot__para { margin:0 0 22px; font-size:16px; line-height:1.9; color:var(--text); break-inside:avoid; }
.rk-snapshot__para:last-child { margin-bottom:0; }
.rk-snapshot__panel--single { columns:1; }

/* ---------- Setup process --------------------------------------------------
   A numbered sequence, so the numerals carry weight rather than sitting as a
   small label — the order is the information. */
.rk-steps { padding:92px 0; background:var(--paper); }
.rk-steps__list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.rk-step { background:#fff; padding:36px 32px 34px; display:flex; gap:20px; align-items:flex-start; transition:background var(--t-base); }
.rk-step:hover { background:var(--paper); }
.rk-step__num { flex:none; font-family:var(--serif); font-weight:600; font-size:38px; line-height:.9; color:var(--gold); }
.rk-step__title { font-family:var(--sans); font-weight:400; font-size:15px; line-height:1.7; color:var(--text); margin:0; }
.rk-step__text { margin:10px 0 0; font-size:14px; line-height:1.75; color:var(--muted); }

/* ---------- Ongoing compliance calendar ------------------------------------ */
.rk-cal { padding:92px 0; background:#fff; }
.rk-cal__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.rk-cal__group { background:#fff; padding:40px 34px; }
.rk-cal__icon { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border:1px solid var(--line); color:var(--gold-dark); margin-bottom:20px; }
.rk-cal__icon svg { width:20px; height:20px; }
.rk-cal__title { font-family:var(--serif); font-weight:400; font-size:23px; letter-spacing:0; text-transform:none; color:var(--black); margin:0 0 18px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.rk-cal__list { margin:0; padding:0; list-style:none; }
.rk-cal__list li { position:relative; padding:0 0 14px 22px; font-size:15px; line-height:1.75; color:var(--text); }
.rk-cal__list li:last-child { padding-bottom:0; }
.rk-cal__list li::before { content:""; position:absolute; left:0; top:12px; width:9px; height:1px; background:var(--gold); }

/* ---------- Provenance panel -----------------------------------------------
   A deliberate block, not a stray footnote: label on the left, what was
   checked on the right. Parts the client has not signed off simply do not
   render (CB5), so the panel stays readable while the sign-off is pending. */
.rk-review { padding:0 0 92px; background:var(--paper); }
.rk-review__panel { display:grid; grid-template-columns:220px 1fr; gap:0 44px; background:#fff; border:1px solid var(--line); border-top:2px solid var(--gold); padding:40px 44px; }
.rk-review__head { display:flex; flex-direction:column; gap:14px; align-items:flex-start; }
.rk-review__icon { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border:1px solid var(--line); color:var(--gold-dark); }
.rk-review__icon svg { width:19px; height:19px; }
.rk-review__label { font-family:var(--sans); font-size:11px; font-weight:500; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold-dark); line-height:1.7; }
.rk-review__body { border-left:1px solid var(--line); padding-left:44px; }
.rk-review__line { margin:0; font-size:15px; line-height:1.8; color:var(--text); }
.rk-review__signoff { margin:10px 0 0; font-size:14px; line-height:1.7; color:var(--muted); }
.rk-review__source { margin:18px 0 0; display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 12px; font-size:14px; }
.rk-review__source-k { font-size:11px; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted); }
.rk-review__source a { color:var(--gold-dark); text-decoration:none; border-bottom:1px solid var(--hairline); padding-bottom:1px; }
.rk-review__source a:hover { color:var(--ink); border-bottom-color:var(--gold); }
.rk-review__ext { margin-left:5px; font-size:.9em; }
.rk-review__disclaimer { margin:20px 0 0; padding-top:18px; border-top:1px solid var(--line); font-size:13px; line-height:1.75; color:var(--muted); }

/* ---------- Module: flow (an investor route worth walking through) --------- */
.rk-flow { padding:92px 0; background:#fff; }
.rk-flow__list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.rk-flow__step { position:relative; background:#fff; border:1px solid var(--line); border-top:2px solid var(--gold); padding:36px 24px 26px; }
.rk-flow__num { position:absolute; top:-14px; left:24px; min-width:28px; height:28px; padding:0 9px; background:var(--gold); color:#fff; font-family:var(--serif); font-weight:600; font-size:15px; display:flex; align-items:center; justify-content:center; }
.rk-flow__title { font-family:var(--sans); font-weight:600; font-size:14px; line-height:1.55; color:var(--ink); margin:8px 0 0; }
.rk-flow__text { margin:8px 0 0; font-size:13px; line-height:1.7; color:var(--muted); }
.rk-flow__note { margin:28px auto 0; max-width:820px; text-align:center; }

/* ---------- Module: callout (the one thing not to miss) -------------------- */
.rk-callout-wrap { padding:92px 0; background:#fff; }
.rk-callout { display:flex; gap:26px; align-items:flex-start; border:1px solid var(--line); border-left:2px solid var(--gold); background:var(--paper); padding:34px 36px; }
.rk-callout__icon { flex:none; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid var(--line); background:#fff; color:var(--gold-dark); }
.rk-callout__icon svg { width:20px; height:20px; }
.rk-callout__title { font-family:var(--serif); font-weight:300; font-size:26px; line-height:1.25; color:var(--black); margin:0 0 12px; }
.rk-callout__text { margin:0 0 14px; font-size:15px; line-height:1.85; color:var(--text); }
.rk-callout__text:last-child { margin-bottom:0; }
.rk-callout--warn { background:var(--grad-dark-gold); border-color:var(--line-dark); border-left-color:var(--gold); }
.rk-callout--warn .rk-callout__icon { border-color:rgba(255,255,255,0.2); background:transparent; color:var(--gold-light); }
.rk-callout--warn .rk-eyebrow { color:var(--gold-light); }
.rk-callout--warn .rk-callout__title { color:#fff; }
.rk-callout--warn .rk-callout__text { color:rgba(255,255,255,0.8); }

/* ---------- Module: context ("At a Glance") --------------------------------
   Sourced stats + main industries + why-choose. Added 28 Sep 2026 (client
   feedback, all 12 country pages). Stats reuse the .rk-step numeral pattern
   for visual consistency rather than inventing a new numeral style. */
.rk-context { padding:92px 0; background:#fff; }
.rk-context__stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); margin-bottom:52px; }
.rk-context__stat { background:#fff; padding:32px 28px; display:flex; flex-direction:column; gap:8px; }
.rk-context__stat-value { font-family:var(--serif); font-weight:600; font-size:36px; line-height:1; color:var(--gold-dark); }
.rk-context__stat-label { font-family:var(--sans); font-size:14px; color:var(--text); }
.rk-context__stat-source { font-family:var(--sans); font-size:11.5px; letter-spacing:.02em; color:var(--muted); }
.rk-context__stat-source a { color:var(--muted); margin-left:2px; }
.rk-context__stat-source a:hover { color:var(--gold-dark); }
.rk-context__cols { display:grid; grid-template-columns:repeat(2,1fr); gap:52px; }
.rk-context__col-title { font-family:var(--serif); font-weight:400; font-size:22px; letter-spacing:0; text-transform:none; color:var(--black); margin:0 0 18px; }
.rk-context__tags { margin:0; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:10px; }
.rk-context__tags li { font-family:var(--sans); font-size:13.5px; color:var(--text); background:var(--paper); border:1px solid var(--line); padding:8px 16px; }
.rk-context__why-text { margin:0; font-size:16px; line-height:1.85; color:var(--text); }
.rk-context__why-list { margin:0; padding:0; list-style:none; }
.rk-context__why-list li { position:relative; padding:0 0 14px 24px; font-size:15px; line-height:1.8; color:var(--text); }
.rk-context__why-list li:last-child { padding-bottom:0; }
.rk-context__why-list li::before { content:""; position:absolute; left:0; top:9px; width:10px; height:1px; background:var(--gold); }

/* ---------- Placeholder page (slug with no data block yet) ----------------- */
.rk-intro { padding:88px 0; background:#fff; }
.rk-intro--empty { padding:120px 0; }

/* ---------- Responsive -----------------------------------------------------
   Same two breakpoints as the rest of the site: ~1040px drops multi-column
   grids to two, ~720px to one. Wide tables scroll rather than reflow. */
@media (max-width: 1040px) {
	.rk-steps__list { grid-template-columns:repeat(2,1fr); }
	.rk-cal__grid { grid-template-columns:1fr; }
	.rk-flow__list { grid-template-columns:repeat(2,1fr); row-gap:34px; }
	.rk-snapshot__panel { columns:1; }
	.rk-review__panel { grid-template-columns:1fr; gap:26px; }
	.rk-review__head { flex-direction:row; align-items:center; gap:16px; }
	.rk-review__body { border-left:none; padding-left:0; border-top:1px solid var(--line); padding-top:26px; }
}
@media (max-width: 720px) {
	.rk-fit__grid { grid-template-columns:1fr; }
	.rk-fit__col { padding:34px 26px; }
	.rk-fit__label { font-size:23px; }
	.rk-steps__list { grid-template-columns:1fr; }
	.rk-flow__list { grid-template-columns:1fr; }
	.rk-snapshot__panel { padding:32px 26px; }
	.rk-review__panel { padding:30px 26px; }
	.rk-callout { flex-direction:column; gap:18px; padding:28px 26px; }
	.rk-hero--country { min-height:0; padding:84px 0 68px; }
	.rk-context__cols { grid-template-columns:1fr; gap:34px; }

	/* Phone section rhythm (design.md: 56px), in place of the 76–96px desktop bands. */
	.rk-table-section, .rk-faq, .rk-final-wrap, .rk-more, .rk-fit, .rk-snapshot, .rk-steps,
	.rk-cal, .rk-flow, .rk-callout-wrap, .rk-context, .rk-intro, .rk-insights { padding-top:var(--sec-py-mobile); padding-bottom:var(--sec-py-mobile); }
	.rk-hub-intro { padding-top:var(--sec-py-mobile); }

	/* Wide tables still scroll sideways, but the row labels stay pinned on the
	   left and a hint above says there is more, so a comparison no longer shows
	   only its first column with nothing to suggest the rest. */
	.rk-table-wrap::before {
		content:"Swipe to see all columns \2192"; position:sticky; left:0; display:block;
		padding:10px 16px; border-bottom:1px solid var(--line); background:var(--paper);
		font-family:var(--sans); font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--muted);
	}
	.rk-table { min-width:640px; }
	.rk-table thead th { padding:14px 16px; }
	.rk-table tbody td { padding:16px; }
	.rk-table thead th:first-child,
	.rk-table__rowhead { position:sticky; left:0; z-index:1; width:118px; min-width:118px; max-width:118px; white-space:normal; padding:16px 14px; box-shadow:inset -1px 0 0 var(--line); }
}

/* ---------- Section bands ---------------------------------------------------
   Sections alternate white / paper so each reads as its own block. Which one a
   section gets depends on where it lands, not on what it is: every market
   omits a section or two, and the per-country modules drop in at different
   points, so the sequence is computed in byb_country_band() and applied here.
   These come last in the file deliberately — they override the background each
   section declares for itself, which stands only as a fallback. */
.rk-band--light { background:#fff; }
.rk-band--paper { background:var(--paper); }

/* ---------- Hub hero image: mobile variant (F06/B06) ----------------------
   Scoped to .rk-hero--worldmap only — country pages reuse .rk-hero with a
   per-country hero image and must not be overridden here. */
@media (max-width: 760px) {
	.rk-hero--worldmap { background-image:url('../img/hero/world-map-800.webp') !important; }
}

/* ---------- Working hub filter (Phase 05) ---------------------------------
   [hidden] must be declared after .rk-hub / .rk-hub__card's own `display`
   rules — same specificity, so source order decides, and it needs to win. */
.rk-hub[hidden], .rk-hub__card[hidden] { display:none; }

.rk-hub-filters { padding:0 0 28px; background:#fff; }
.rk-filters__form { display:flex; flex-wrap:wrap; align-items:flex-end; gap:16px 22px; }
.rk-filters__group { display:flex; flex-direction:column; gap:6px; min-width:180px; flex:1 1 200px; }
.rk-filters__group label { font-family:var(--sans); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
.rk-filters__group select {
	width:100%; font-family:var(--sans); font-size:14px; color:var(--text);
	background:#fff; border:1px solid var(--line-2); border-radius:var(--input-radius);
	padding:11px 14px; outline:none; transition:border-color .2s ease, box-shadow .2s ease;
}
.rk-filters__group select:focus-visible { border-color:var(--gold); box-shadow:0 0 0 3px rgba(183,162,106,0.16); }
.rk-filters__clear {
	flex:none; font-family:var(--sans); font-size:13px; font-weight:500; color:var(--gold-dark);
	background:none; border:1px solid var(--hairline); border-radius:var(--input-radius);
	padding:11px 18px; cursor:pointer; transition:background .2s ease, border-color .2s ease;
}
.rk-filters__clear:hover { background:var(--paper); border-color:var(--gold); }
.rk-filters__status { margin:14px 0 0; font-size:13px; color:var(--muted); }
@media (max-width: 720px) {
	/* Two filters per row on phones: one per row put ~700px of filters ahead
	   of the first country. */
	.rk-filters__form { gap:12px; }
	.rk-filters__group { min-width:0; flex:1 1 calc(50% - 6px); }
	.rk-filters__group select { padding:10px 12px; font-size:13.5px; }
}

/* ---------- Country insights grid (replaces the Phase 12 related-resource bar, 16 Oct 2026).
   Cards are the blog's own .blog-item (blog.css); this only places them. ---------- */
.rk-insights { padding:92px 0; }
.rk-insights__grid { background:transparent; }
.rk-insights__all { display:inline-flex; align-items:center; gap:10px; margin-top:32px; font-family:var(--sans); font-size:14px; font-weight:500; color:var(--gold-dark); text-decoration:none; }
.rk-insights__all svg { width:16px; height:16px; transition:transform .25s ease; }
.rk-insights__all:hover svg { transform:translateX(4px); }
