/* IDRE public re-skin — V1.3 neutral navy/blue system.
   Loaded AFTER design-tokens.css + frameworks.css to remap the brand tokens without
   touching component structure. Retires Raj Yellow as the primary accent.
   Palette: primary dark #081A2B · secondary dark #10263B · primary accent #2F80ED ·
   secondary accent #7DB3F4 · light bg #F7F8FA. */
:root{
	/* Accent (was Raj Yellow) → primary blue; text on accent is now white */
	--rk-yellow:#2F80ED;
	--rk-yellow-hover:#1F6FD6;
	--rk-yellow-ink:#FFFFFF;

	/* Dark surfaces → deep navy */
	--rk-black:#081A2B;
	--rk-charcoal:#081A2B;
	--rk-charcoal-2:#10263B;

	/* Light neutrals */
	--rk-neutral:#F7F8FA;

	/* Accessible accent for links/text on light surfaces (was gold) */
	--rk-gold-text-light:#1F6FD6;

	/* On-dark hairlines/dividers tuned for navy */
	--rk-hair-dark:#173047;
	--rk-divider-dark:rgba(255,255,255,.12);
}

/* Secondary accent helper (light blue) for subtle highlights */
:root{ --idre-accent-2:#7DB3F4; }

/* Any component that hardcoded the old yellow hex — nudge to the new accent. */
[style*="#FFC800"]{ /* inline yellow refs are re-pointed case-by-case in templates */ }

/* Skip-link / focus ring uses the accent */
:focus-visible{ outline-color:#2F80ED; }

/* Neutral two-line text wordmark (replaces the personal monogram+serif lockup) */
.idre-wordmark{ display:flex; flex-direction:column; line-height:1.05; }
.idre-wordmark__1{ font-family:var(--rk-font-sans); font-weight:800; letter-spacing:.04em; font-size:1.02rem; text-transform:uppercase; color:var(--rk-on-dark-strong,#fff); }
.idre-wordmark__2{ font-family:var(--rk-font-sans); font-weight:600; letter-spacing:.14em; font-size:.66rem; text-transform:uppercase; color:var(--idre-accent-2,#7DB3F4); margin-top:.15rem; }
/* On light masthead variants keep the primary line readable */
.rk-masthead .idre-wordmark__1{ color:inherit; }

/* ---- V1.3 section-rhythm: light-dominant balance (≈60–65% light / 25–30% navy / 10% accent) ----
   Base .rk-section stays dark (navy) for hero/CTA/result/footer bands; educational templates use
   --light / --neutral. A secondary-navy emphasis band for risk / key callouts: */
.rk-section--navy2{ background:var(--rk-charcoal-2)!important; } /* #10263B, keeps on-dark text */

/* Cards authored for dark (--onblack) auto-adapt when their section is lightened. */
.rk-section--light .rk-card--onblack,.rk-section--neutral .rk-card--onblack,.rk-section--offwhite .rk-card--onblack{ background:#fff!important; border:1px solid var(--rk-hair-light)!important; color:var(--rk-body)!important; }
.rk-section--light .rk-card--onblack .rk-card__h,.rk-section--neutral .rk-card--onblack .rk-card__h,.rk-section--offwhite .rk-card--onblack .rk-card__h{ color:var(--rk-ink)!important; }
.rk-section--light .rk-card--onblack .rk-card__p,.rk-section--neutral .rk-card--onblack .rk-card__p,.rk-section--offwhite .rk-card--onblack .rk-card__p{ color:var(--rk-body)!important; }

/* Retire residual warm-gold accents inside light sections → brand blue. */
.rk-section--light .rk-pathway__ico,.rk-section--neutral .rk-pathway__ico,.rk-section--offwhite .rk-pathway__ico{ background:#EAF1FB!important; color:#1F6FD6!important; }
.rk-section--light .rk-matrix .rk-hi,.rk-section--neutral .rk-matrix .rk-hi,.rk-section--offwhite .rk-matrix .rk-hi{ color:#0B1F33!important; }
/* Text links on light surfaces → brand blue, but NEVER buttons (a.rk-btn keeps its own colours). */
.rk-section--light a:not(.rk-btn),.rk-section--neutral a:not(.rk-btn),.rk-section--offwhite a:not(.rk-btn){ color:#1F6FD6; }

/* Section head rule accent → brand blue everywhere. */
.rk-rule{ background:var(--rk-yellow); }
.rk-eyebrow{ color:var(--idre-accent-2,#7DB3F4); }
.rk-section--light .rk-eyebrow,.rk-section--neutral .rk-eyebrow,.rk-section--offwhite .rk-eyebrow{ color:#1F6FD6; }

/* Header logo — transparent reversed logo (white + blue accent) directly on the navy header.
   No plate, box, border or background. Natural master logo (idre-logo.png) is reserved for light use. */
.idre-logo{ display:flex; align-items:center; flex:0 0 auto; }
.idre-logo img{ height:36px; width:auto; display:block; background:transparent; }
@media (max-width:600px){ .idre-logo img{ height:28px; } }

/* Masthead layout hardening — brand fits its content (logo + country label); nav right-aligns in
   the remaining space; no overlap, no white plate, no horizontal scroll. */
.rk-masthead__inner{ gap:1.25rem; flex-wrap:nowrap; }
.rk-masthead__brand{ flex:0 0 auto; display:flex; align-items:center; overflow:visible; }
.rk-brand.idre-brand{ flex:0 0 auto; max-width:none; overflow:visible; }
@media (min-width:901px){ .rk-primary-nav{ flex:0 1 auto; min-width:0; } .rk-menu{ flex-wrap:nowrap; } }
/* Tighten nav so 7 items + CTA fit with no horizontal scroll and never touch the brand. */
@media (max-width:1560px) and (min-width:901px){ .rk-masthead__inner{ padding-left:32px; padding-right:32px; } .rk-primary-nav{ gap:.6rem; } .rk-menu{ gap:.5rem; } .rk-menu__link{ font-size:.86rem; } .rk-primary-nav__cta{ padding:.55rem .85rem; font-size:.88rem; } }
/* Below ~1460 the brand's auxiliary country label collapses first so the 7-item nav + CTA
   always fit with zero horizontal scroll (logo + emblem keep the brand identity). */
@media (max-width:1460px) and (min-width:901px){ .rk-menu{ gap:.4rem; } .rk-menu__link{ font-size:.84rem; } .idre-logo__country{ display:none; } }
.idre-logo__country{ margin-left:.7rem; padding-left:.7rem; border-left:1px solid var(--rk-hair-dark); font-family:var(--rk-font-sans); font-weight:600; letter-spacing:.12em; font-size:.62rem; text-transform:uppercase; color:var(--idre-accent-2,#7DB3F4); white-space:nowrap; }
@media (max-width:600px){ .idre-logo__country{ display:none; } }


/* ================= V1.5 GLOBAL DESIGN NORMALISATION ================= */

/* Global layout container tokens (single source; benchmarked to RajKhaleel proportions). */
:root{
  --idre-site-max:1200px;
  --idre-reading:70ch;
  --idre-sec-pad-d:5rem;   /* desktop section vertical padding */
  --idre-sec-pad-t:3.5rem; /* tablet */
  --idre-sec-pad-m:2.75rem;/* mobile */
  --idre-grid-gap:1.5rem;
}

/* ---- BUTTON SYSTEM (one system, high contrast, consistent) ---- */
.rk-btn{ min-height:48px; padding:.8rem 1.4rem; font-weight:700; border-radius:10px; letter-spacing:.01em; line-height:1.1; }
.rk-btn--sm{ min-height:40px; padding:.55rem 1rem; font-size:.85rem; }
/* Primary = blue bg + WHITE text in every context/state. */
.rk-btn--primary,
.rk-section--light .rk-btn--primary,.rk-section--neutral .rk-btn--primary,.rk-section--offwhite .rk-btn--primary{
  background:#2F80ED!important; border-color:#2F80ED!important; color:#fff!important;
}
.rk-btn--primary:hover,.rk-btn--primary:focus-visible{ background:#1F6FD6!important; border-color:#1F6FD6!important; color:#fff!important; }
/* Ghost on dark = white text/border; on light = navy text/border. */
.rk-btn--ghost{ background:transparent; color:#fff; border-color:rgba(255,255,255,.55); }
.rk-btn--ghost:hover,.rk-btn--ghost:focus-visible{ background:#fff; color:#081A2B; border-color:#fff; }
.rk-section--light .rk-btn--ghost,.rk-section--neutral .rk-btn--ghost,.rk-section--offwhite .rk-btn--ghost{ color:#10263B; border-color:#10263B; }
.rk-section--light .rk-btn--ghost:hover,.rk-section--neutral .rk-btn--ghost:hover,.rk-section--offwhite .rk-btn--ghost:hover{ background:#10263B; color:#fff; border-color:#10263B; }
.rk-btn:focus-visible{ outline:3px solid #7DB3F4; outline-offset:2px; }

/* ---- EQUAL-HEIGHT CARDS + CTA ANCHORED TO BOTTOM ---- */
.rk-grid{ align-items:stretch; }
.rk-grid>.rk-card{ display:flex; flex-direction:column; height:100%; }
.rk-card{ padding:1.5rem; border-radius:14px; }
.rk-card .rk-card__p{ flex:1 1 auto; }               /* copy grows so CTAs align */
.rk-card>.rk-btn{ margin-top:auto; align-self:flex-start; }
.rk-section--light .rk-card,.rk-section--neutral .rk-card,.rk-section--offwhite .rk-card{ background:#fff; border:1px solid var(--rk-hair-light); box-shadow:0 1px 2px rgba(8,26,43,.04); }

/* ---- SECTION RHYTHM (consistent vertical padding + head spacing) ---- */
.rk-section{ padding-top:var(--idre-sec-pad-d); padding-bottom:var(--idre-sec-pad-d); }
@media (max-width:1024px){ .rk-section{ padding-top:var(--idre-sec-pad-t); padding-bottom:var(--idre-sec-pad-t); } }
@media (max-width:600px){ .rk-section{ padding-top:var(--idre-sec-pad-m); padding-bottom:var(--idre-sec-pad-m); } }
.rk-shead{ margin-bottom:1.5rem; }
.rk-shead__title{ margin:.35rem 0 0; }
.rk-shead__sub{ margin-top:.6rem; }
.rk-cta-row{ margin-top:1.5rem!important; }

/* ---- FAQ ACCORDION AFFORDANCE ---- */
.idre-faq__item{ transition:border-color .15s, box-shadow .15s; }
.idre-faq__item:hover{ border-color:#7DB3F4; }
.idre-faq__item summary{ position:relative; padding-right:2rem; }
.idre-faq__item summary::-webkit-details-marker{ display:none; }
.idre-faq__item summary::after{ content:"+"; position:absolute; right:.4rem; top:50%; transform:translateY(-50%); font-weight:400; font-size:1.4rem; color:#2F80ED; line-height:1; }
.idre-faq__item[open] summary::after{ content:"–"; }
.idre-faq__item summary:focus-visible{ outline:2px solid #2F80ED; outline-offset:3px; border-radius:4px; }

/* ---- NEWSLETTER INLINE FORM ---- */
.idre-news{ display:grid; grid-template-columns:1.1fr 1fr; gap:2rem; align-items:center; }
@media (max-width:820px){ .idre-news{ grid-template-columns:1fr; gap:1.25rem; } }
.idre-news__form{ display:flex; flex-wrap:wrap; gap:.6rem; }
.idre-news__form input{ flex:1 1 180px; min-height:48px; padding:.7rem .9rem; border:1px solid rgba(255,255,255,.25); border-radius:10px; background:rgba(255,255,255,.06); color:#fff; font:inherit; }
.idre-news__form input::placeholder{ color:#c9d4e0; }
.idre-news__form input:focus{ outline:2px solid #7DB3F4; outline-offset:1px; }
.idre-news__form .rk-btn{ flex:0 0 auto; }
.idre-news__msg{ width:100%; margin:.4rem 0 0; min-height:1.2em; color:#cfe0f5; font-size:.9rem; }
.idre-news__msg.is-err{ color:#ffb4b4; }

/* ---- AWARD BLOCK ---- */
.idre-award{ display:grid; grid-template-columns:auto 1fr; gap:1.6rem; align-items:center; max-width:900px; }
@media (max-width:700px){ .idre-award{ grid-template-columns:1fr; text-align:center; justify-items:center; gap:1rem; } }
.idre-award__badge img{ height:96px; width:auto; display:block; }
.idre-award__body h2{ margin:.2rem 0 .5rem; }
.idre-award__body .rk-btn{ margin-top:1rem; }

/* ---- RISK GRID (compact) ---- */
.idre-risk{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:1.4rem; }
@media (max-width:900px){ .idre-risk{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .idre-risk{ grid-template-columns:1fr; } }
.idre-risk__item{ background:rgba(255,255,255,.04); border:1px solid var(--rk-hair-dark); border-left:3px solid #2F80ED; border-radius:10px; padding:1rem 1.1rem; }
.idre-risk__item h3{ margin:0 0 .3rem; font-size:1rem; color:#fff; }
.idre-risk__item p{ margin:0; font-size:.9rem; color:var(--rk-on-dark); line-height:1.5; }

/* ---- PILLS / NOTE-CARD contrast on dark ---- */
.rk-section--navy .rk-chip,.rk-section--navy2 .rk-chip,.rk-section--dark .rk-chip{ background:rgba(255,255,255,.06)!important; border-color:var(--rk-hair-dark)!important; color:#e7eef6!important; }

/* ================= V1.6 HOME ART-DIRECTION ================= */
/* Soft blue-grey tints (reuse light component styling via rk-section--neutral). */
.idre-tint{ background:#F1F5F9!important; }
.idre-tint2{ background:#F3F7FB!important; }

/* Section-level CTA row (sits after the whole grid, aligned to section content). */
.idre-sec-cta{ margin-top:1.75rem; display:flex; gap:.75rem; flex-wrap:wrap; }
.idre-sec-cta--center{ justify-content:center; }

/* Split editorial: copy left + visual right (55/45), stacks on mobile. */
.idre-split{ display:grid; grid-template-columns:1.1fr .9fr; gap:2.5rem; align-items:start; }
.idre-split--rev{ grid-template-columns:.85fr 1.15fr; }
.idre-split--mid{ align-items:center; }
@media (max-width:860px){ .idre-split,.idre-split--rev{ grid-template-columns:1fr; gap:1.5rem; } }
.idre-split__visual{ min-width:0; }

/* Card icon marker. */
.idre-ico{ display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:11px; background:#EAF1FB; color:#2F80ED; margin-bottom:.9rem; }
.idre-ico svg{ width:22px; height:22px; }
.rk-section--black .idre-ico,.rk-section--navy2 .idre-ico,.rk-section--dark .idre-ico{ background:rgba(47,128,237,.16); color:#7DB3F4; }

/* Dark feature cards (Real Estate sectors band). */
.idre-featgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-top:1.4rem; }
@media (max-width:900px){ .idre-featgrid{ grid-template-columns:1fr; } }
.idre-featcard{ display:flex; flex-direction:column; background:#10263B; border:1px solid #1c3a55; border-top:3px solid #2F80ED; border-radius:14px; padding:1.5rem; }
.idre-featcard h3{ color:#fff; font-family:var(--rk-font-display); font-size:1.2rem; margin:.2rem 0 .5rem; }
.idre-featcard p{ color:#c9d6e5; font-size:.96rem; line-height:1.6; flex:1 1 auto; margin:0 0 1.1rem; }

/* Tool cards (Decision Lab) — subtle top accent + meta line. */
.idre-toolcard{ position:relative; }
.idre-toolcard .idre-tool-meta{ font-size:.78rem; letter-spacing:.05em; text-transform:uppercase; color:#1F6FD6; font-weight:700; margin:.2rem 0 .4rem; }

/* Vertical process diagram (business setup, entry point). */
.idre-vproc{ display:flex; flex-direction:column; gap:.5rem; }
.idre-vproc__step{ display:flex; align-items:center; gap:.8rem; background:#fff; border:1px solid var(--rk-hair-light); border-radius:10px; padding:.7rem .9rem; }
.idre-vproc__n{ flex:0 0 auto; width:28px; height:28px; border-radius:50%; background:#2F80ED; color:#fff; font-weight:700; font-size:.85rem; display:flex; align-items:center; justify-content:center; }
.idre-vproc__t{ font-weight:600; color:var(--rk-ink); font-size:.95rem; }
.idre-vproc__arrow{ text-align:center; color:#7DB3F4; line-height:.4; }

/* Document checklist panel (legal). */
.idre-doclist{ background:#fff; border:1px solid var(--rk-hair-light); border-radius:14px; padding:1.2rem 1.3rem; }
.idre-doclist li{ display:flex; align-items:center; gap:.6rem; padding:.55rem 0; border-bottom:1px solid var(--rk-hair-light); color:var(--rk-body-strong); font-weight:600; }
.idre-doclist li:last-child{ border-bottom:0; }
.idre-doclist li svg{ width:18px; height:18px; color:#2F80ED; flex:0 0 auto; }
.idre-doclist ul{ list-style:none; margin:0; padding:0; }
/* V2.1.5 — compact 2-column checklist (6+ items) so short lists stop forming a tall rail */
.idre-doclist--2col ul{ display:grid; grid-template-columns:1fr 1fr; column-gap:1.6rem; }
.idre-doclist--2col li{ padding:.5rem 0; }
@media (max-width:560px){ .idre-doclist--2col ul{ grid-template-columns:1fr; } }
/* Grouped compact checklist panel (one card, semantic groups, 2-col rows) */
.idre-clpanel{ background:#fff; border:1px solid var(--rk-hair-light); border-radius:14px; padding:1.2rem 1.3rem; }
.idre-clgroup + .idre-clgroup{ margin-top:1rem; padding-top:.9rem; border-top:1px solid var(--rk-hair-light); }
.idre-clgroup__t{ font-size:.7rem; letter-spacing:.09em; text-transform:uppercase; color:#1F6FD6; font-weight:800; margin:0 0 .35rem; }
.idre-cl2{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; column-gap:1.5rem; }
.idre-cl2 li{ display:flex; align-items:center; gap:.55rem; padding:.42rem 0; color:var(--rk-body-strong); font-weight:600; font-size:.95rem; }
.idre-cl2 li svg{ width:17px; height:17px; color:#2F80ED; flex:0 0 auto; }
@media (max-width:560px){ .idre-cl2{ grid-template-columns:1fr; } }
/* Compact process matrix (5–8 nodes → pairs + connector, trailing odd = full-width result) */
.idre-pmatrix{ display:flex; flex-direction:column; gap:.7rem; margin-top:.1rem; }
.idre-pmatrix__row{ display:grid; grid-template-columns:1fr auto 1fr; align-items:stretch; gap:.55rem; }
.idre-pmatrix__cell,.idre-pmatrix__result{ display:flex; align-items:center; gap:.6rem; background:#fff; border:1px solid var(--rk-hair-light); border-radius:10px; padding:.7rem .85rem; font-weight:600; color:var(--rk-body-strong); font-size:.92rem; box-shadow:0 1px 2px rgba(8,26,43,.04); }
.idre-pmatrix__result{ border-color:#2F80ED; border-left:3px solid #2F80ED; background:#F5F9FF; justify-content:center; }
.idre-pmatrix__n{ display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%; background:#EAF1FB; color:#1F6FD6; font-size:.72rem; font-weight:800; flex:0 0 auto; }
.idre-pmatrix__arrow{ align-self:center; color:#7DB3F4; font-weight:700; font-size:1.05rem; }
@media (max-width:560px){ .idre-pmatrix__row{ grid-template-columns:1fr; gap:.4rem; } .idre-pmatrix__arrow{ transform:rotate(90deg); } }
.idre-pmatrix-note{ margin-top:.9rem; font-size:.86rem; line-height:1.5; color:var(--rk-body-strong); }
/* Dark compliance panel (navy principle split — website can / licensed professionals handle) */
.idre-compliance{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.idre-compliance__col{ background:rgba(255,255,255,.05); border:1px solid var(--rk-hair-dark); border-radius:12px; padding:1.1rem 1.2rem; }
.idre-compliance__t{ font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; font-weight:800; margin:0 0 .7rem; }
.idre-compliance__col--can .idre-compliance__t{ color:#7DB3F4; }
.idre-compliance__col--handle .idre-compliance__t{ color:#9fb3c8; }
.idre-compliance ul{ list-style:none; margin:0; padding:0; }
.idre-compliance li{ display:flex; gap:.5rem; align-items:flex-start; padding:.34rem 0; color:#dbe6f1; font-size:.9rem; line-height:1.45; }
.idre-compliance--can li svg{ width:16px; height:16px; color:#4d9bff; flex:0 0 auto; margin-top:.12rem; }
.idre-compliance--handle li::before{ content:"—"; color:#5a7186; flex:0 0 auto; }
@media (max-width:560px){ .idre-compliance{ grid-template-columns:1fr; } }
.idre-darknote{ margin-top:1.6rem; padding-top:1.1rem; border-top:1px solid var(--rk-hair-dark); color:#fff; font-weight:700; font-size:1.02rem; }

/* ===== V2.1.6 — compact grouped taxonomy micro-cards (short labels, not giant cards) ===== */
.idre-taxo{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:1.4rem; align-items:stretch; }
@media (max-width:820px){ .idre-taxo{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .idre-taxo{ grid-template-columns:1fr; } }
.idre-taxo--g2{ grid-template-columns:repeat(2,1fr); }
@media (max-width:520px){ .idre-taxo--g2{ grid-template-columns:1fr; } }
.idre-taxo--center{ display:flex; flex-wrap:wrap; justify-content:center; }
.idre-taxo--center .idre-taxo__card{ flex:1 1 220px; max-width:300px; }
.idre-taxo__card{ border-radius:12px; padding:1.05rem 1.2rem; height:100%; }
.idre-taxo__k{ font-size:.7rem; letter-spacing:.09em; text-transform:uppercase; font-weight:800; margin:0 0 .55rem; }
.idre-taxo__list{ list-style:none; margin:0; padding:0; }
.idre-taxo__list li{ display:flex; align-items:center; gap:.5rem; padding:.28rem 0; font-size:.94rem; font-weight:600; line-height:1.4; }
.idre-taxo__list li svg{ width:15px; height:15px; flex:0 0 auto; }
.rk-section--light .idre-taxo__card,.rk-section--neutral .idre-taxo__card{ background:#fff; border:1px solid var(--rk-hair-light); box-shadow:0 1px 2px rgba(8,26,43,.04); }
.rk-section--light .idre-taxo__k,.rk-section--neutral .idre-taxo__k{ color:#1F6FD6; }
.rk-section--light .idre-taxo__list li,.rk-section--neutral .idre-taxo__list li{ color:var(--rk-body-strong); }
.rk-section--light .idre-taxo__list li svg,.rk-section--neutral .idre-taxo__list li svg{ color:#2F80ED; }
.rk-section--black .idre-taxo__card,.rk-section--navy2 .idre-taxo__card,.rk-section--dark .idre-taxo__card{ background:rgba(255,255,255,.04); border:1px solid var(--rk-hair-dark); }
.rk-section--black .idre-taxo__k,.rk-section--navy2 .idre-taxo__k,.rk-section--dark .idre-taxo__k{ color:#7DB3F4; }
.rk-section--black .idre-taxo__list li,.rk-section--navy2 .idre-taxo__list li,.rk-section--dark .idre-taxo__list li{ color:#dbe6f1; }
.rk-section--black .idre-taxo__list li svg,.rk-section--navy2 .idre-taxo__list li svg,.rk-section--dark .idre-taxo__list li svg{ color:#4d9bff; }
/* Dark A-vs-B comparison cards (decision band) */
.idre-cmpdark{ display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; margin-top:1.4rem; align-items:stretch; }
@media (max-width:800px){ .idre-cmpdark{ grid-template-columns:1fr; } }
.idre-cmpdark__card{ background:rgba(255,255,255,.05); border:1px solid var(--rk-hair-dark); border-top:3px solid #2F80ED; border-radius:14px; padding:1.4rem 1.5rem; height:100%; display:flex; flex-direction:column; }
.idre-cmpdark__card h3{ color:#fff; font-family:var(--rk-font-display); font-size:1.25rem; margin:.1rem 0 .9rem; }
.idre-cmpdark__card ul{ list-style:none; margin:0; padding:0; }
.idre-cmpdark__card li{ display:flex; gap:.55rem; align-items:flex-start; padding:.4rem 0; color:#dbe6f1; font-size:.94rem; line-height:1.5; }
.idre-cmpdark__card li svg{ width:16px; height:16px; color:#4d9bff; flex:0 0 auto; margin-top:.15rem; }
/* Dark decision-principle panel */
.idre-dprinciple{ margin-top:1.4rem; background:rgba(47,128,237,.10); border:1px solid var(--rk-hair-dark); border-left:4px solid #2F80ED; border-radius:12px; padding:1.1rem 1.3rem; }
.idre-dprinciple__k{ font-size:.7rem; letter-spacing:.09em; text-transform:uppercase; color:#7DB3F4; font-weight:800; margin:0 0 .5rem; }
.idre-dprinciple__l{ color:#dbe6f1; margin:.3rem 0 0; line-height:1.55; }

/* Entry-point SVG wrapper. */
.idre-diagram{ width:100%; height:auto; }

/* 5-stage macro journey (numbered). */
.idre-macro{ display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; margin-top:1.4rem; }
@media (max-width:900px){ .idre-macro{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .idre-macro{ grid-template-columns:1fr; } }
.idre-macro__step{ background:rgba(255,255,255,.04); border:1px solid var(--rk-hair-dark); border-radius:12px; padding:1rem; }
.idre-macro__n{ font-family:var(--rk-font-display); font-size:1.6rem; color:#7DB3F4; line-height:1; }
.idre-macro__t{ color:#fff; font-weight:700; margin:.4rem 0 .2rem; font-size:1rem; }
.idre-macro__s{ color:var(--rk-on-dark); font-size:.85rem; line-height:1.4; }

/* Question cards with tag + affordance. */
.idre-qgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:1.2rem; }
@media (max-width:900px){ .idre-qgrid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .idre-qgrid{ grid-template-columns:1fr; } }
.idre-qcard{ display:flex; align-items:flex-start; gap:.7rem; background:#fff; border:1px solid var(--rk-hair-light); border-radius:12px; padding:1rem 1.1rem; transition:border-color .15s, box-shadow .15s; }
.idre-qcard:hover{ border-color:#7DB3F4; box-shadow:0 4px 14px rgba(8,26,43,.06); }
.idre-qcard__tag{ flex:0 0 auto; font-size:.62rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#1F6FD6; background:#EAF1FB; border-radius:6px; padding:.2rem .4rem; margin-top:.1rem; }
.idre-qcard__t{ color:var(--rk-ink); font-weight:600; font-size:.95rem; line-height:1.4; }

/* V1.6 Footer — 5-column layout (BRAND / INVEST / REAL ESTATE / ADVISORY / RESEARCH), compact award. */
@media (min-width:1080px){
  .rk-footer__grid{ grid-template-columns:1.7fr 1fr 1fr 1.15fr .8fr!important; }
}
.rk-footer__award-line{ font-size:.82rem!important; line-height:1.5!important; max-width:34ch; }
.rk-footer__logo{ height:30px!important; }
.rk-footer__award-badge img{ height:60px!important; }
.rk-footer__coverage{ max-width:36ch; }

/* ================= V1.6.1 HOME MICRO-ALIGNMENT ================= */
/* Same Capital — equal-height two-column grid; CTA anchored to the bottom of the left
   column, on the same visual baseline as the right preview card. */
.idre-sc{ display:grid; grid-template-columns:1.34fr 1fr; grid-template-areas:"copy preview" "cta preview"; grid-template-rows:1fr auto; column-gap:2.5rem; align-items:start; margin-top:1.4rem; }
.idre-sc__copy{ grid-area:copy; min-width:0; }
.idre-sc__preview{ grid-area:preview; min-width:0; align-self:stretch; }
.idre-sc__preview .idre-doclist{ height:100%; display:flex; flex-direction:column; }
.idre-sc__cta{ grid-area:cta; align-self:end; padding-top:1.5rem; }
.idre-sc__cta .rk-btn{ margin:0; }
@media (max-width:860px){
  .idre-sc{ grid-template-columns:1fr; grid-template-areas:"copy" "preview" "cta"; grid-template-rows:auto auto auto; row-gap:1.25rem; }
  .idre-sc__cta{ padding-top:0; align-self:start; }
}

/* Recognition — one balanced 3-part component: badge · context · proof panel. */
.idre-recog{ display:grid; grid-template-columns:250px minmax(0,1fr) 320px; gap:52px; align-items:center; }
.idre-recog__badge{ display:flex; justify-content:center; }
.idre-recog__badge img{ max-width:240px; width:100%; height:auto; display:block; }
.idre-recog__body{ min-width:0; }
.idre-recog__body .rk-measure{ max-width:46ch; }
.idre-recog__panel{ background:#F1F5F9; border:1px solid #D5E0EC; border-radius:14px; padding:1.3rem 1.4rem; }
.idre-recog__panel .rk-eyebrow{ margin:0 0 .55rem; }
.idre-recog__row{ display:flex; align-items:center; gap:.6rem; font-weight:600; color:var(--rk-ink); padding:.42rem 0; line-height:1.35; }
.idre-recog__row svg{ width:18px; height:18px; color:#2F80ED; flex:0 0 auto; }
.idre-recog__note{ font-size:.8rem; color:var(--rk-body); margin:.55rem 0 1rem; }
@media (max-width:1024px){
  .idre-recog{ grid-template-columns:210px minmax(0,1fr); gap:36px; }
  .idre-recog__panel{ grid-column:1 / -1; }
}
@media (max-width:640px){
  .idre-recog{ grid-template-columns:1fr; gap:24px; justify-items:start; }
  .idre-recog__badge{ justify-content:flex-start; }
  .idre-recog__badge img{ max-width:200px; }
}

/* ================= V1.7 SHARED EVIDENCE / DATA COMPONENTS (master system) ================= */
/* One shared DATA CARD: value · label · context · source/period/reviewed. */
.idre-dcard{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--rk-hair-light); border-radius:14px; padding:1.4rem; box-shadow:0 1px 2px rgba(8,26,43,.04); height:100%; }
.idre-dcard__v{ font-family:var(--rk-font-display); font-size:2rem; line-height:1.05; color:#0F2438; }
.idre-dcard__l{ font-size:.72rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:#1F6FD6; margin:.5rem 0 .35rem; }
.idre-dcard__c{ color:var(--rk-body); font-size:.92rem; line-height:1.5; flex:1 1 auto; }
.idre-dcard__meta{ margin-top:1rem; padding-top:.75rem; border-top:1px solid var(--rk-hair-light); font-size:.72rem; line-height:1.5; color:#6b7a89; }
.idre-dcard__delta{ display:inline-block; margin-top:.4rem; font-size:.8rem; font-weight:700; color:#1F6FD6; }

/* EVIDENCE PANEL: prominent single metric panel (split right column). */
.idre-epanel{ background:#fff; border:1px solid var(--rk-hair-light); border-radius:16px; padding:1.6rem 1.7rem; }
.idre-epanel--hi{ background:#EAF1FB; border-color:#BcD6F5; }
.idre-epanel__eyebrow{ font-size:.72rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:#1F6FD6; margin:0 0 .6rem; }
.idre-epanel__v{ font-family:var(--rk-font-display); font-size:2.7rem; line-height:1; color:#0F2438; }
.idre-epanel__l{ font-weight:700; color:var(--rk-ink); margin:.5rem 0 .5rem; }
.idre-epanel__c{ color:var(--rk-body); font-size:.95rem; line-height:1.55; }
.idre-epanel__meta{ margin-top:1.1rem; padding-top:.85rem; border-top:1px solid rgba(8,26,43,.12); font-size:.74rem; line-height:1.55; color:#5b6a79; }

/* DARK STAT CARDS (navy planning / comparison bands): label + value rows + brief. */
.idre-statgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-top:1.4rem; }
@media (max-width:900px){ .idre-statgrid{ grid-template-columns:1fr; } }
.idre-statcard{ display:flex; flex-direction:column; background:#10263B; border:1px solid #1c3a55; border-top:3px solid #2F80ED; border-radius:14px; padding:1.5rem; }
.idre-statcard__eyebrow{ font-size:.68rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:#7DB3F4; margin:0 0 .9rem; }
.idre-statcard__row{ margin:.2rem 0 .7rem; }
.idre-statcard__v{ font-family:var(--rk-font-display); font-size:1.9rem; line-height:1; color:#fff; }
.idre-statcard__s{ display:block; font-size:.82rem; color:#c9d6e5; margin-top:.15rem; }
.idre-statcard__brief{ color:#aebccb; font-size:.9rem; line-height:1.55; margin:.4rem 0 0; flex:1 1 auto; }
.idre-statcard__meta{ margin-top:1rem; padding-top:.7rem; border-top:1px solid #1c3a55; font-size:.72rem; color:#8ea3b7; line-height:1.5; }

/* Dark two-column cards with lists (UAE vs UK). */
.idre-dcards2{ display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; margin-top:1.4rem; }
@media (max-width:800px){ .idre-dcards2{ grid-template-columns:1fr; } }
.idre-dcard--dark{ background:#10263B; border:1px solid #1c3a55; border-top:3px solid #2F80ED; border-radius:14px; padding:1.5rem; color:#c9d6e5; }
.idre-dcard--dark h3{ color:#fff; font-family:var(--rk-font-display); font-size:1.2rem; margin:.1rem 0 .8rem; }
.idre-dcard--dark ul{ list-style:none; margin:0; padding:0; }
.idre-dcard--dark li{ display:flex; gap:.55rem; padding:.4rem 0; font-size:.94rem; line-height:1.5; }
.idre-dcard--dark li::before{ content:""; flex:0 0 auto; width:7px; height:7px; margin-top:.5rem; border-radius:50%; background:#2F80ED; }

/* VERTICAL NODE FLOW (ownership / ecosystem) — rounded nodes + blue connectors, no numbers. */
.idre-vflow{ display:flex; flex-direction:column; gap:.3rem; }
.idre-vflow__node{ background:#fff; border:1px solid var(--rk-hair-light); border-radius:10px; padding:.85rem 1rem; font-weight:600; color:var(--rk-ink); text-align:center; }
.idre-vflow__node--accent{ background:#10263B; border-color:#10263B; color:#fff; }
.idre-vflow__arrow{ text-align:center; color:#7DB3F4; line-height:.5; font-size:1.1rem; }

/* PRINCIPLE PANEL (regulation) — bordered callout, blue left accent, "does not remove" chips. */
.idre-principle{ margin-top:1.6rem; background:#F7F9FC; border:1px solid var(--rk-hair-light); border-left:4px solid #2F80ED; border-radius:12px; padding:1.4rem 1.6rem; }
.idre-principle__t{ font-weight:700; color:var(--rk-ink); font-size:1.05rem; margin:0 0 .3rem; }
.idre-principle__s{ color:var(--rk-body); font-size:.92rem; margin:0 0 1rem; }
.idre-principle__chips{ display:flex; flex-wrap:wrap; gap:.5rem; }
.idre-principle__chips span{ display:inline-block; padding:.35rem .75rem; border-radius:999px; background:#fff; border:1px solid var(--rk-hair-light); font-size:.85rem; font-weight:600; color:var(--rk-body-strong); }

/* Small legal/disclaimer note under a CTA. */
.idre-cta-note{ font-size:.8rem; color:var(--rk-body); margin:.7rem 0 0; }
.rk-section--black .idre-cta-note,.rk-section--navy2 .idre-cta-note{ color:var(--rk-on-dark); }

/* ================= V1.7.1 — centred CTA axis + data-card baseline ================= */
/* Centred sections (idre_cta_band / any rk-wrap--center): blue rule, eyebrow, heading,
   copy and buttons all share ONE centre axis (fixes off-axis blue rule/title). */
.rk-wrap--center{ text-align:center; }
.rk-wrap--center .rk-shead,
.rk-wrap--center .rk-shead__title{ text-align:center; }
.rk-wrap--center .rk-shead{ margin-left:auto; margin-right:auto; }   /* centre the heading block itself, not just its text */
.rk-wrap--center .rk-rule{ margin-left:auto!important; margin-right:auto!important; }
.rk-wrap--center .rk-measure,
.rk-wrap--center .rk-lead{ margin-left:auto; margin-right:auto; }
.rk-wrap--center .idre-sec-cta,
.rk-wrap--center .rk-hero__actions{ justify-content:center; }
/* Keep the data-card metadata on a shared bottom baseline across an evidence row. */
.idre-dcard__delta{ margin-top:auto; }
.idre-dcard__c + .idre-dcard__meta{ margin-top:1rem; }

/* ================= V1.8 — dark-band plain cards + centred odd-count rows ================= */
/* Plain .rk-card rendered on a navy band = dark card (so note/objective cards match the
   Home dark-band grammar instead of light-on-dark). */
.rk-section--navy2 .rk-card,.rk-section--black .rk-card{ background:#10263B; border:1px solid #1c3a55; box-shadow:none; }
.rk-section--navy2 .rk-card .rk-card__h,.rk-section--black .rk-card .rk-card__h{ color:#fff; }
.rk-section--navy2 .rk-card .rk-card__p,.rk-section--black .rk-card .rk-card__p{ color:#c9d6e5; }
/* Centred card row for odd counts (e.g. 7) — last row centres instead of orphaning left. */
.idre-cards-center{ display:flex; flex-wrap:wrap; justify-content:center; gap:1.25rem; margin-top:1.2rem; align-items:stretch; }
.idre-cards-center>.rk-card{ flex:1 1 280px; max-width:360px; margin:0; display:flex; flex-direction:column; }
@media (max-width:560px){ .idre-cards-center>.rk-card{ flex-basis:100%; max-width:none; } }
/* Bulleted list inside a light card (blue dots) — used by 2-col comparisons. */
.idre-ul{ list-style:none; margin:.5rem 0 0; padding:0; }
.idre-ul li{ position:relative; padding:.4rem 0 .4rem 1.15rem; color:var(--rk-body-strong); font-size:.95rem; line-height:1.5; }
.idre-ul li::before{ content:""; position:absolute; left:0; top:.72rem; width:6px; height:6px; border-radius:50%; background:#2F80ED; }

/* ================= V2.0 — 4-quadrant evidence matrix (Advisory cluster) ================= */
.idre-matrix{ display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; margin-top:1.2rem; }
@media (max-width:760px){ .idre-matrix{ grid-template-columns:1fr; } }
.idre-matrix__q{ background:#fff; border:1px solid var(--rk-hair-light); border-top:3px solid #2F80ED; border-radius:14px; padding:1.4rem 1.5rem; box-shadow:0 1px 2px rgba(8,26,43,.04); }
.idre-matrix__k{ font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:#1F6FD6; font-weight:800; margin:0 0 .15rem; }
.idre-matrix__q h3{ font-family:var(--rk-font-display); font-size:1.15rem; margin:.1rem 0 .6rem; color:var(--rk-ink); }

/* ================= V2.0A — numbered stage cards (macro framework + 9-step journey) ================= */
.idre-stage{ display:flex; flex-direction:column; border-radius:12px; padding:1.1rem 1.2rem; height:100%; }
.rk-section--light .idre-stage,.rk-section--neutral .idre-stage,.rk-section--offwhite .idre-stage{ background:#fff; border:1px solid var(--rk-hair-light); box-shadow:0 1px 2px rgba(8,26,43,.04); }
.rk-section--black .idre-stage,.rk-section--navy2 .idre-stage,.rk-section--dark .idre-stage{ background:rgba(255,255,255,.04); border:1px solid var(--rk-hair-dark); }
.idre-stage__n{ font-family:var(--rk-font-display); font-size:1.5rem; line-height:1; color:#2F80ED; }
.rk-section--black .idre-stage__n,.rk-section--navy2 .idre-stage__n,.rk-section--dark .idre-stage__n{ color:#7DB3F4; }
.idre-stage__t{ font-weight:700; margin:.45rem 0 .2rem; font-size:.98rem; color:var(--rk-ink); }
.rk-section--black .idre-stage__t,.rk-section--navy2 .idre-stage__t,.rk-section--dark .idre-stage__t{ color:#fff; }
.idre-stage__s{ font-size:.86rem; line-height:1.45; color:var(--rk-body); }
.rk-section--black .idre-stage__s,.rk-section--navy2 .idre-stage__s,.rk-section--dark .idre-stage__s{ color:var(--rk-on-dark); }
/* 2×2 macro framework grid */
.idre-stagegrid{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; align-items:stretch; }
@media (max-width:560px){ .idre-stagegrid{ grid-template-columns:1fr; } }
/* 9-step journey: 5 top, 4 CENTRED bottom */
.idre-j9{ display:flex; flex-direction:column; gap:1rem; margin-top:1.4rem; }
.idre-j9__row{ display:grid; gap:1rem; align-items:stretch; }
.idre-j9__row--5{ grid-template-columns:repeat(5,1fr); }
.idre-j9__row--4{ grid-template-columns:repeat(4,1fr); width:80%; margin:0 auto; }
.idre-j9__row--3{ grid-template-columns:repeat(3,1fr); width:72%; margin:0 auto; }
@media (max-width:900px){ .idre-j9__row--5,.idre-j9__row--4,.idre-j9__row--3{ grid-template-columns:repeat(3,1fr); width:auto; margin:0; } }
@media (max-width:560px){ .idre-j9__row--5,.idre-j9__row--4,.idre-j9__row--3{ grid-template-columns:1fr; } }

/* ================= V2.0 — BALANCED SPLIT & COMPACT WATERFALL (global standard) ================= */
/* Balanced 2-column educational split: equal weight, CTA anchors to the bottom of the copy column. */
.idre-split-balanced{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:2.5rem; align-items:stretch; }
@media (max-width:860px){ .idre-split-balanced{ grid-template-columns:1fr; gap:1.5rem; } }
.idre-copy-col{ display:flex; flex-direction:column; min-width:0; }
.idre-copy-col .idre-sec-cta{ margin-top:auto; }
@media (max-width:860px){ .idre-copy-col .idre-sec-cta{ margin-top:1.25rem; } }

/* Compact cashflow waterfall: gross bar → 2×N deduction grid → navy net bar (replaces tall rails). */
.idre-waterfall{ background:#fff; border:1px solid var(--rk-hair-light); border-radius:16px; padding:1.4rem 1.5rem; box-shadow:0 1px 2px rgba(8,26,43,.04); height:100%; display:flex; flex-direction:column; }
.idre-waterfall__k{ font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:#1F6FD6; font-weight:800; margin:0 0 .8rem; }
.idre-waterfall__bar{ background:#EAF1FB; border:1px solid #BcD6F5; border-radius:10px; padding:.75rem 1rem; font-weight:800; color:#0F2438; text-align:center; letter-spacing:.02em; }
.idre-wf-grid{ display:grid; grid-template-columns:1fr 1fr; gap:.7rem; margin:.7rem 0; }
.idre-wf-cell{ display:flex; align-items:center; gap:.5rem; background:#fff; border:1px solid var(--rk-hair-light); border-radius:10px; padding:.6rem .8rem; font-weight:600; color:var(--rk-body-strong); font-size:.9rem; line-height:1.3; }
.idre-wf-op{ flex:0 0 auto; width:22px; height:22px; border-radius:6px; background:#EAF1FB; color:#1F6FD6; font-weight:800; display:flex; align-items:center; justify-content:center; }
.idre-waterfall__net{ margin-top:auto; background:#10263B; border-radius:10px; padding:.85rem 1rem; font-weight:800; color:#fff; text-align:center; letter-spacing:.02em; }
@media (max-width:420px){ .idre-wf-grid{ grid-template-columns:1fr; } }

/* ================= V2.2B — Market Intelligence research library ================= */
.idre-filterbar{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.2rem; }
.idre-chip-btn{ padding:.45rem .95rem; border:1px solid var(--rk-hair-light); border-radius:999px; background:#fff; font-size:.84rem; font-weight:600; color:var(--rk-body-strong); cursor:pointer; transition:background .15s,border-color .15s,color .15s; }
.idre-chip-btn:hover{ border-color:#7DB3F4; }
.idre-chip-btn[aria-pressed="true"]{ background:#2F80ED; border-color:#2F80ED; color:#fff; }
/* Featured research — strong dark banner above the library. */
.idre-featured{ background:linear-gradient(135deg,#081A2B,#10263B); border:1px solid #1c3a55; border-radius:16px; padding:1.9rem 2rem; margin-top:1.3rem; display:flex; flex-direction:column; }
.idre-featured__cat{ align-self:flex-start; font-size:.66rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#7DB3F4; background:rgba(47,128,237,.16); border-radius:6px; padding:.28rem .55rem; }
.idre-featured__label{ font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:#7DB3F4; font-weight:800; margin:0 0 .7rem; }
.idre-featured__h{ font-family:var(--rk-font-display); font-size:1.7rem; line-height:1.15; color:#fff; margin:.7rem 0 .5rem; max-width:34ch; }
.idre-featured__dek{ color:#c9d6e5; line-height:1.6; max-width:70ch; }
.idre-featured__meta{ font-size:.78rem; color:#8ea3b7; margin:.9rem 0 1.2rem; display:flex; gap:.8rem; flex-wrap:wrap; }
/* Library cards */
.idre-libcard__cat{ font-size:.68rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:#1F6FD6; margin:0 0 .35rem; }
.idre-libcard__meta{ margin-top:auto; padding-top:.7rem; border-top:1px solid var(--rk-hair-light); font-size:.74rem; color:#6b7a89; display:flex; gap:.7rem; flex-wrap:wrap; }
/* Library grid: fixed 3-per-row with a centred final row (8 cards → 3 + 3 + 2 centred) */
.idre-libgrid{ display:flex; flex-wrap:wrap; justify-content:center; gap:1.4rem; align-items:stretch; }
.idre-libgrid > .idre-libcard{ flex:1 1 320px; max-width:380px; margin:0; display:flex; flex-direction:column; }
@media (max-width:860px){ .idre-libgrid > .idre-libcard{ flex-basis:44%; } }
@media (max-width:560px){ .idre-libgrid > .idre-libcard{ flex-basis:100%; max-width:none; } }
/* Featured title sits on a dark card — force white over any heading colour rule. */
.idre-featured .idre-featured__h{ color:#fff!important; }

/* ===== V2.2C — Market Intelligence editorial ARTICLE template ===== */
/* Editorial header (navy, no split hero) */
.idre-arthead{ padding-top:2.6rem; padding-bottom:2.6rem; }
.idre-crumbs{ font-size:.8rem; color:#8ea3b7; display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; margin-bottom:1.1rem; }
.idre-crumbs a{ color:#9fc0e6; text-decoration:none; }
.idre-crumbs a:hover{ text-decoration:underline; }
.idre-crumbs span[aria-hidden]{ color:#4d6a86; }
.idre-crumbs span[aria-current]{ color:#c9d6e5; }
.idre-arthead__cat{ font-size:.68rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:#7DB3F4; margin:0 0 .55rem; }
.idre-arthead__h1{ font-family:var(--rk-font-display); color:#fff; font-size:clamp(1.8rem,3.4vw,2.6rem); line-height:1.12; margin:0; max-width:24ch; }
.idre-arthead__dek{ color:#c9d6e5; font-size:1.08rem; line-height:1.6; margin:1rem 0 0; max-width:66ch; }
.idre-artmeta{ list-style:none; margin:1.5rem 0 0; padding:1.1rem 0 0; border-top:1px solid #1c3a55; display:flex; flex-wrap:wrap; gap:1.8rem; }
.idre-artmeta li{ font-size:.92rem; color:#dfe8f2; display:flex; flex-direction:column; gap:.15rem; }
.idre-artmeta li span{ font-size:.66rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#7f96ac; }

/* Topic lens chips */
.idre-lens{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.2rem; }
.idre-lens__item{ font-size:.9rem; font-weight:600; color:var(--rk-body-strong); background:#fff; border:1px solid var(--rk-hair-light); border-left:3px solid #2F80ED; border-radius:8px; padding:.5rem .9rem; }

/* Decision in Brief */
.idre-brief{ list-style:none; margin:1.2rem 0 0; padding:0; display:grid; gap:.7rem; }
.idre-brief li{ display:flex; gap:.7rem; align-items:flex-start; background:#fff; border:1px solid var(--rk-hair-light); border-radius:10px; padding:.85rem 1.05rem; line-height:1.55; color:var(--rk-body-strong); }
.idre-brief li svg{ flex:0 0 auto; width:20px; height:20px; color:#2F80ED; margin-top:.15rem; }
@media(min-width:820px){ .idre-brief{ grid-template-columns:1fr 1fr; } }

/* In this article — TOC */
.idre-toc{ margin-top:1.2rem; padding-left:0; list-style:none; counter-reset:toc; columns:2; column-gap:2.2rem; }
.idre-toc li{ counter-increment:toc; break-inside:avoid; margin:0 0 .55rem; padding-left:2rem; position:relative; }
.idre-toc li::before{ content:counter(toc,decimal-leading-zero); position:absolute; left:0; top:.05rem; font-size:.74rem; font-weight:800; color:#1F6FD6; letter-spacing:.02em; }
.idre-toc a{ color:var(--rk-body-strong); text-decoration:none; border-bottom:1px solid transparent; line-height:1.4; }
.idre-toc a:hover{ color:#1F6FD6; border-bottom-color:#1F6FD6; }
@media(max-width:640px){ .idre-toc{ columns:1; } }

/* ===== V2.2 — editorial article GRID (main .rk-prose + sticky sidebar) ===== */
.idre-artbody{ display:block; }
@media (min-width:1100px){
	.idre-artbody{ display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:56px; align-items:start; }
}
.idre-artmain{ min-width:0; order:0; }
.idre-artmain.rk-prose{ max-width:820px; order:0; }
.idre-artbody > .idre-artside{ order:1; }
.idre-artmain h2:first-child{ margin-top:0; }
.idre-artbody__note{ margin-top:2.4rem; padding-top:1.1rem; border-top:1px solid var(--rk-hair-light); font-size:.86rem; line-height:1.6; color:var(--rk-body-strong); }
.idre-sources{ margin:.8rem 0 0; padding-left:1.15rem; }
.idre-sources li{ line-height:1.6; color:var(--rk-body); margin-bottom:.5rem; font-size:.94rem; }
/* Analytical modules sit inside the prose column with breathing room */
.idre-artmod{ margin:1.6rem 0 .4rem; }
.idre-artmod .rk-grid,.idre-artmod .idre-taxo,.idre-artmod .idre-principle,.idre-artmod .idre-waterfall,.idre-artmod .idre-dual,.idre-artmod .rk-journey{ margin-top:0; }

/* Sticky editorial sidebar */
.idre-artside{ margin-top:2.2rem; }
@media (min-width:1100px){ .idre-artside{ margin-top:.35rem; position:sticky; top:96px; } }
.idre-artside__mod + .idre-artside__mod{ margin-top:1.4rem; }
.idre-artside__k{ font-size:.66rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; color:#1F6FD6; margin:0 0 .7rem; }
.idre-artside__toclist{ list-style:none; margin:0; padding:0; display:grid; gap:.12rem; max-height:min(50vh,480px); overflow:auto; }
.idre-artside__toclist a{ display:flex; gap:.6rem; align-items:baseline; color:var(--rk-body-strong); text-decoration:none; font-size:.86rem; line-height:1.35; padding:.32rem .5rem .32rem 0; border-left:2px solid var(--rk-hair-light); padding-left:.7rem; }
.idre-artside__toclist a:hover,.idre-artside__toclist a.is-active{ color:#1F6FD6; border-left-color:#2F80ED; }
.idre-artside__n{ font-size:.66rem; font-weight:800; color:#1F6FD6; flex:0 0 auto; }
.idre-artside__tools ul{ list-style:none; margin:0; padding:0; display:grid; gap:.15rem; }
.idre-artside__tools a{ display:flex; align-items:center; gap:.55rem; padding:.45rem .55rem; border-radius:8px; color:var(--rk-body-strong); text-decoration:none; font-size:.9rem; font-weight:600; }
.idre-artside__tools a:hover{ background:#F1F5F9; color:#1F6FD6; }
.idre-artside__tools svg{ width:16px; height:16px; color:#2F80ED; flex:0 0 auto; }
.idre-artside__meta{ background:#F7F9FC; border:1px solid var(--rk-hair-light); border-radius:12px; padding:1.1rem 1.2rem; }
.idre-artside__meta dl{ margin:0; display:grid; gap:.5rem; }
.idre-artside__meta dl div{ display:flex; justify-content:space-between; gap:1rem; font-size:.84rem; }
.idre-artside__meta dt{ color:var(--rk-body); }
.idre-artside__meta dd{ margin:0; font-weight:700; color:var(--rk-ink); text-align:right; }
.idre-artside__std{ margin:.9rem 0 0; padding-top:.8rem; border-top:1px solid var(--rk-hair-light); font-size:.78rem; line-height:1.5; color:var(--rk-body); }
@media (max-width:1099px){ .idre-artside__toc{ display:none; } }

/* Compact mobile TOC accordion (before the grid, <1100 only) */
.idre-arttoc-m{ margin:0 0 1.6rem; border:1px solid var(--rk-hair-light); border-radius:10px; background:#fff; }
@media (min-width:1100px){ .idre-arttoc-m{ display:none; } }
.idre-arttoc-m summary{ cursor:pointer; list-style:none; font-weight:700; color:var(--rk-ink); padding:.85rem 1.1rem; font-size:.9rem; }
.idre-arttoc-m summary::marker{ content:""; }
.idre-arttoc-m summary::after{ content:"▾"; float:right; color:#1F6FD6; }
.idre-arttoc-m[open] summary::after{ content:"▴"; }
.idre-arttoc-m__list{ list-style:none; margin:0; padding:.2rem 1.1rem 1rem; columns:2; column-gap:1.4rem; }
.idre-arttoc-m__list li{ break-inside:avoid; margin:0 0 .4rem; }
.idre-arttoc-m__list a{ color:var(--rk-body-strong); text-decoration:none; font-size:.85rem; }
@media (max-width:560px){ .idre-arttoc-m__list{ columns:1; } }

/* Light dual panel (can support / does not guarantee) */
.idre-dual{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media (max-width:640px){ .idre-dual{ grid-template-columns:1fr; } }
.idre-dual__col{ border:1px solid var(--rk-hair-light); border-radius:12px; padding:1.1rem 1.2rem; background:#fff; }
.idre-dual__col--can{ border-top:3px solid #2F80ED; }
.idre-dual__col--not{ border-top:3px solid #94a3b8; background:#F7F9FC; }
.idre-dual__t{ font-size:.7rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; margin:0 0 .6rem; }
.idre-dual__col--can .idre-dual__t{ color:#1F6FD6; }
.idre-dual__col--not .idre-dual__t{ color:#5b6b7b; }
.idre-dual ul{ list-style:none; margin:0; padding:0; }
.idre-dual li{ display:flex; gap:.55rem; align-items:flex-start; padding:.35rem 0; color:var(--rk-body-strong); font-size:.94rem; line-height:1.45; }
.idre-dual li svg{ width:17px; height:17px; flex:0 0 auto; margin-top:.12rem; }
.idre-dual__col--can li svg{ color:#2F80ED; }
.idre-dual__col--not li svg{ color:#94a3b8; }

/* Structured sources */
.idre-srcgrid{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:.6rem 0 0; }
@media (max-width:720px){ .idre-srcgrid{ grid-template-columns:1fr; } }
.idre-srccard{ border:1px solid var(--rk-hair-light); border-left:3px solid #2F80ED; border-radius:10px; padding:1rem 1.1rem; background:#fff; }
.idre-srccard__a{ font-weight:700; color:var(--rk-ink); margin:0 0 .5rem; font-size:.98rem; }
.idre-srccard__r{ margin:.28rem 0 0; font-size:.85rem; line-height:1.45; color:var(--rk-body); display:flex; gap:.5rem; }
.idre-srccard__r span{ flex:0 0 92px; font-size:.64rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#8395a6; padding-top:.15rem; }

/* Related article cards (RajKhaleel rk-relcard system) */
.idre-relgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-top:1.2rem; align-items:stretch; }
@media (max-width:820px){ .idre-relgrid{ grid-template-columns:1fr; } }
.idre-relgrid .rk-relcard{ height:100%; }
.idre-relcard__d{ color:var(--rk-body); font-size:.9rem; line-height:1.5; margin:.4rem 0 0; }

/* ===== V2.2D — Contact / Dubai Services enquiry ===== */
.idre-hp{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
.idre-ctgrid{ display:grid; grid-template-columns:1fr; gap:2.2rem; margin-top:1.4rem; align-items:start; }
@media (min-width:1000px){ .idre-ctgrid{ grid-template-columns:minmax(0,1.62fr) minmax(0,1fr); gap:3rem; } }
.idre-ctform{ min-width:0; }
.idre-ctaside{ min-width:0; display:grid; gap:1.2rem; }
@media (min-width:1000px){ .idre-ctaside{ position:sticky; top:96px; } }
/* Form fields */
.idre-form .idre-fs{ border:0; padding:0; margin:0 0 1.5rem; }
.idre-form legend{ font-weight:700; color:var(--rk-ink); font-size:1.05rem; margin-bottom:.7rem; padding:0; }
.idre-field{ display:flex; flex-direction:column; gap:.35rem; margin-bottom:1rem; font-weight:600; color:var(--rk-ink); }
.idre-field input,.idre-field select,.idre-field textarea,.idre-phone select,.idre-phone input{ font:inherit; font-weight:400; padding:.7rem .8rem; border:1px solid var(--rk-hair-light); border-radius:8px; background:#fff; color:var(--rk-ink); width:100%; }
.idre-field input:focus,.idre-field select:focus,.idre-field textarea:focus,.idre-phone select:focus,.idre-phone input:focus,.idre-chk input:focus-visible,.idre-svccard input:focus-visible{ outline:2px solid #2F80ED; outline-offset:1px; }
.idre-opt{ font-weight:400; color:var(--rk-body); font-size:.85em; }
.idre-hint{ margin:0 0 .7rem; color:var(--rk-body); font-size:.9rem; }
.idre-help{ font-weight:400; color:var(--rk-body); font-size:.84rem; }
.idre-phone{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:.6rem; }
@media (max-width:520px){ .idre-phone{ grid-template-columns:1fr; } }
/* Service multi-select cards */
.idre-svcpick{ display:grid; grid-template-columns:1fr 1fr; gap:.6rem; }
@media (max-width:560px){ .idre-svcpick{ grid-template-columns:1fr; } }
.idre-svccard{ display:flex; align-items:center; gap:.6rem; border:1px solid var(--rk-hair-light); border-radius:10px; padding:.75rem .9rem; background:#fff; font-weight:600; cursor:pointer; transition:border-color .15s, background .15s; }
.idre-svccard:hover{ border-color:#7DB3F4; }
.idre-svccard input{ width:18px; height:18px; flex:0 0 auto; accent-color:#2F80ED; }
.idre-svccard:has(input:checked){ border-color:#2F80ED; background:#F5F9FF; }
/* Sub-options + checkbox rows */
.idre-sub{ margin-top:.9rem; padding:.9rem 1rem; background:#F7F9FC; border:1px solid var(--rk-hair-light); border-radius:10px; }
.idre-sub__k{ font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#1F6FD6; margin:0 0 .55rem; }
.idre-suboptions,.idre-radios{ display:grid; grid-template-columns:1fr 1fr; gap:.4rem .9rem; }
@media (max-width:560px){ .idre-suboptions,.idre-radios{ grid-template-columns:1fr; } }
.idre-chk{ display:flex; align-items:flex-start; gap:.55rem; font-weight:500; color:var(--rk-body-strong); font-size:.94rem; line-height:1.4; padding:.25rem 0; cursor:pointer; }
.idre-chk input{ width:17px; height:17px; flex:0 0 auto; margin-top:.12rem; accent-color:#2F80ED; }
.idre-chk--req{ font-weight:600; color:var(--rk-ink); }
.idre-ctopt{ margin:0 0 1.4rem; }
.idre-ctopt summary{ cursor:pointer; font-weight:700; color:var(--rk-ink); }
/* Notes / privacy / marketing panels */
.idre-notepanel{ background:#fff; border:1px solid var(--rk-hair-light); border-radius:10px; padding:1.1rem 1.2rem; margin:0 0 1.2rem; }
.idre-notepanel__k{ font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#1F6FD6; margin:0 0 .3rem; }
.idre-notepanel p:not(.idre-notepanel__k){ margin:.2rem 0 0; color:var(--rk-body); font-size:.9rem; line-height:1.55; }
.idre-privacy{ background:#F1F5F9; border:1px solid var(--rk-hair-light); border-left:4px solid #2F80ED; border-radius:10px; padding:1.1rem 1.2rem; margin:0 0 1.2rem; }
.idre-privacy__k{ font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#1F6FD6; margin:0 0 .4rem; }
.idre-privacy p{ margin:0 0 .8rem; color:var(--rk-body-strong); font-size:.9rem; line-height:1.55; }
.idre-mkt{ margin:0 0 1.4rem; display:grid; gap:.4rem; }
.idre-mkt__k{ font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#5b6b7b; margin:0 0 .2rem; }
.idre-form__msg{ min-height:1.4em; margin:.4rem 0 .8rem; }
.idre-form__msg.is-err{ color:#b00020; font-weight:600; }
/* Support panels (right) */
.idre-ctpanel{ background:#fff; border:1px solid var(--rk-hair-light); border-radius:12px; padding:1.3rem 1.4rem; }
.idre-ctpanel__k{ font-family:var(--rk-font-display); font-size:1.1rem; color:var(--rk-ink); margin:0 0 .8rem; }
.idre-ctlist{ list-style:none; margin:0; padding:0; display:grid; gap:.4rem; }
.idre-ctlist li{ display:flex; gap:.55rem; align-items:center; font-weight:600; color:var(--rk-body-strong); font-size:.92rem; }
.idre-ctlist li svg{ width:16px; height:16px; color:#2F80ED; flex:0 0 auto; }
.idre-ctsteps{ list-style:none; margin:0; padding:0; display:grid; gap:.7rem; }
.idre-ctsteps li{ display:flex; gap:.7rem; align-items:flex-start; color:var(--rk-body-strong); font-size:.92rem; line-height:1.4; }
.idre-ctsteps__n{ display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:50%; background:#EAF1FB; color:#1F6FD6; font-size:.78rem; font-weight:800; flex:0 0 auto; }
.idre-ctpanel__note{ margin:1rem 0 0; padding-top:.8rem; border-top:1px solid var(--rk-hair-light); font-size:.82rem; line-height:1.5; color:var(--rk-body); }
/* Success state */
.idre-ctdone__card{ background:#fff; border:1px solid var(--rk-hair-light); border-top:4px solid #2F80ED; border-radius:14px; padding:1.8rem 2rem; box-shadow:0 1px 2px rgba(8,26,43,.04); }
.idre-ctdone__card h2{ font-family:var(--rk-font-display); color:var(--rk-ink); font-size:1.5rem; margin:0 0 .6rem; }
.idre-ctdone__card p{ color:var(--rk-body); line-height:1.6; margin:.5rem 0 0; }

/* ===== V2.3 — Legal / utility editorial template ===== */
.idre-legalhead{ padding-top:2.6rem; padding-bottom:2.4rem; }
.idre-legalhead__eyebrow{ font-size:.68rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:#7DB3F4; margin:0 0 .55rem; }
.idre-legalhead__h1{ font-family:var(--rk-font-display); color:#fff; font-size:clamp(1.9rem,3.4vw,2.7rem); line-height:1.12; margin:0; max-width:22ch; }
.idre-legalhead__lead{ color:#c9d6e5; font-size:1.05rem; line-height:1.6; margin:1rem 0 0; max-width:70ch; }
.idre-legalgrid{ display:block; }
@media (min-width:1040px){ .idre-legalgrid{ display:grid; grid-template-columns:250px minmax(0,1fr); gap:56px; align-items:start; } .idre-legalgrid--solo{ display:block; } }
.idre-legalbody{ min-width:0; max-width:80ch; }
.idre-legalgrid--solo .idre-legalbody{ margin:0 auto; }
.idre-legalbody__h2{ font-family:var(--rk-font-display); color:var(--rk-ink); font-size:clamp(1.35rem,2.2vw,1.7rem); line-height:1.2; margin:2.4rem 0 0; scroll-margin-top:96px; }
.idre-legalbody__h2:first-child{ margin-top:0; }
.idre-legal-updated{ font-size:.85rem; color:var(--rk-body); margin:0 0 1.4rem; }
.idre-legalnav{ order:-1; }
@media (min-width:1040px){ .idre-legalnav{ position:sticky; top:96px; } }
.idre-legalnav__k{ font-size:.66rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#1F6FD6; margin:0 0 .7rem; }
.idre-legalnav ol{ list-style:none; margin:0 0 1.6rem; padding:0; display:grid; gap:.3rem; max-height:min(64vh,600px); overflow:auto; }
.idre-legalnav a{ display:block; color:var(--rk-body-strong); text-decoration:none; font-size:.84rem; line-height:1.35; padding:.28rem 0 .28rem .7rem; border-left:2px solid var(--rk-hair-light); }
.idre-legalnav a:hover,.idre-legalnav a.is-active{ color:#1F6FD6; border-left-color:#2F80ED; }
/* Dev-only production blocker + inline required markers */
.idre-legal-blocker{ background:#fff5f5; border:1px solid #f3b4b4; border-left:4px solid #d33; border-radius:10px; padding:1.1rem 1.3rem; margin:0 0 1.8rem; }
.idre-legal-blocker__k{ font-weight:800; color:#b00020; margin:0 0 .4rem; }
.idre-legal-blocker p{ color:var(--rk-body-strong); font-size:.9rem; margin:.2rem 0; }
.idre-legal-blocker ul{ margin:.6rem 0 0; padding-left:1.1rem; }
.idre-legal-blocker li{ font-size:.86rem; margin:.2rem 0; }
.idre-legal-req{ background:#ffe08a; color:#7a5c00; font-weight:700; padding:.05rem .35rem; border-radius:4px; }

/* Footer legal menu now has 5 items — allow wrap so it never overflows on mobile */
.rk-footer__legal-menu{ flex-wrap:wrap; gap:.4rem 1.2rem; row-gap:.4rem; }
/* Legal tables (scroll inside their own container on mobile) */
.idre-legaltable{ overflow-x:auto; margin:1.3rem 0; }
.idre-legaltable table{ width:100%; border-collapse:collapse; min-width:520px; font-size:.92rem; }
.idre-legaltable th,.idre-legaltable td{ text-align:left; padding:.6rem .8rem; border-top:1px solid var(--rk-hair-light); vertical-align:top; }
.idre-legaltable thead th{ background:var(--rk-ink); color:#fff; border:0; }
/* Sitemap directory */
.idre-smgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-top:1.2rem; }
@media (max-width:860px){ .idre-smgrid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .idre-smgrid{ grid-template-columns:1fr; } }
.idre-smcard{ background:#fff; border:1px solid var(--rk-hair-light); border-top:3px solid #2F80ED; border-radius:12px; padding:1.2rem 1.3rem; }
.idre-smcard__k{ font-family:var(--rk-font-display); font-size:1.05rem; color:var(--rk-ink); margin:0 0 .6rem; }
.idre-smcard__sub{ font-size:.66rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#1F6FD6; margin:1rem 0 .4rem; }
.idre-smcard ul{ list-style:none; margin:0; padding:0; }
.idre-smcard li{ margin:.35rem 0; }
.idre-smcard a{ color:var(--rk-body-strong); text-decoration:none; }
.idre-smcard a:hover{ color:#1F6FD6; text-decoration:underline; }

/* V3.0A (audit §8): article comparison tables scroll inside their own container on small phones,
 * so a wide table never forces horizontal scroll on the page body. Shared article-component fix;
 * desktop layout unchanged. Verified at 320/360/390. */
.idre-artbody .dvg-cmp,
.idre-artbody .rk-prose table,
.rk-prose .dvg-cmp{ max-width:100%; }
@media (max-width:600px){
	.idre-artbody .dvg-cmp,
	.idre-artbody .rk-prose table,
	.rk-prose .dvg-cmp{ display:block; width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
}

/* Shared Back-to-Top arrow (all countries inherit). Navy/blue design system; no Raj yellow.
 * Hidden near top, appears after scroll, fixed bottom-right, smooth scroll, keyboard accessible. */
.idre-backtotop{
	position:fixed; right:1.25rem; bottom:1.25rem; z-index:900;
	width:44px; height:44px; border-radius:50%;
	display:inline-flex; align-items:center; justify-content:center;
	background:#0A2540; color:#fff; border:1px solid rgba(255,255,255,.16);
	box-shadow:0 6px 20px rgba(10,37,64,.30);
	cursor:pointer; padding:0;
	opacity:0; visibility:hidden; transform:translateY(8px);
	transition:opacity .25s ease, transform .25s ease, background-color .2s ease, visibility .25s;
	-webkit-tap-highlight-color:transparent;
}
.idre-backtotop.is-visible{ opacity:1; visibility:visible; transform:translateY(0); }
.idre-backtotop:hover{ background:#1F6FD6; }
.idre-backtotop:focus-visible{ outline:2px solid #2F80ED; outline-offset:2px; }
.idre-backtotop svg{ width:20px; height:20px; display:block; }
@media (max-width:600px){ .idre-backtotop{ right:1rem; bottom:1rem; width:42px; height:42px; } }
@media print{ .idre-backtotop{ display:none !important; } }
