/* Self-hosted fonts */
/* arabic */
@font-face {
  font-family: 'Amiri';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../assets/fonts/amiri-v30-J7aRnpd8CGxBHpUrtLMA7w.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
/* latin-ext */
@font-face {
  font-family: 'Amiri';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../assets/fonts/amiri-v30-J7aRnpd8CGxBHpUgtLMA7w.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Amiri';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../assets/fonts/amiri-v30-J7aRnpd8CGxBHpUutLM.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* arabic */
@font-face {
  font-family: 'Amiri';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../assets/fonts/amiri-v30-J7acnpd8CGxBHp2VkaY6zp5yGw.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
/* latin-ext */
@font-face {
  font-family: 'Amiri';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../assets/fonts/amiri-v30-J7acnpd8CGxBHp2VkaYxzp5yGw.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Amiri';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../assets/fonts/amiri-v30-J7acnpd8CGxBHp2VkaY_zp4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(../assets/fonts/fraunces-v38-6NUs8FyLNQOQZAnv9ZwNjucMHVn85Ni7emAe9lKqZTnbB-gzTK0K1ChJdt9hFwpX9W37lm1_mvIiQvTm.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(../assets/fonts/fraunces-v38-6NUs8FyLNQOQZAnv9ZwNjucMHVn85Ni7emAe9lKqZTnbB-gzTK0K1ChJdt9hFwpX9W37lm1_mvMiQvTm.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(../assets/fonts/fraunces-v38-6NUs8FyLNQOQZAnv9ZwNjucMHVn85Ni7emAe9lKqZTnbB-gzTK0K1ChJdt9hFwpX9W37lm1_mv0iQg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../assets/fonts/fraunces-v38-6NU78FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0KxCBTeO-U.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../assets/fonts/fraunces-v38-6NU78FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0KxCFTeO-U.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../assets/fonts/fraunces-v38-6NU78FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0KxC9TeA.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../assets/fonts/inter-v20-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../assets/fonts/inter-v20-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../assets/fonts/inter-v20-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../assets/fonts/inter-v20-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../assets/fonts/inter-v20-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../assets/fonts/inter-v20-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../assets/fonts/inter-v20-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ==========================================================================
   MedicAble Advisory — Design Tokens
   ========================================================================== */
:root{
  --ivory:        #F7F4EC;
  --ivory-deep:    #F1ECDF;
  --navy:      #101A2E;
  --navy-2:    #16244A;
  --navy-soft: #1B2C4F;
  --gold:         #C4AC94;
  --gold-soft:    #DACBB6;
  --gold-text:    #6F5228;
  --gold-deep:    #A68B6B;
  --charcoal:     #1E2430;

  --radius-sm: 2px;
  --radius-md: 4px;

  --font-display: "Fraunces", "Georgia", serif;
  --font-body: "Inter", -apple-system, "Segoe UI", sans-serif;
  --font-arabic: "Amiri", serif;

  --max-w: 1240px;
  --gutter: clamp(1.5rem, 5vw, 4rem);

  --ease: cubic-bezier(.22,.7,.2,1);
}
@font-face{
  font-family:"Amiri Verse";
  src:url("../assets/fonts/Amiri-verse.ttf") format("truetype");
  font-display:swap;
  font-style:normal;
  font-weight:400;
}

*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
  *, *::before, *::after{ animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
}

body{
  margin:0;
  background: var(--ivory);
  color: var(--charcoal);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img{ max-width:100%; display:block; }
a{ color: inherit; text-decoration:none; }
button{ font: inherit; }
ul{ margin:0; padding:0; list-style:none; }

h1,h2,h3,h4{
  font-family: var(--font-display);
  color: var(--navy);
  font-weight: 600;
  line-height: 1.1;
  margin: 0;
  letter-spacing: -0.01em;
}

.container{
  max-width: var(--max-w);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

:focus-visible{
  outline: 2px solid var(--gold-deep);
  outline-offset: 3px;
}

/* ---------- Arabesque tone-on-tone pattern ---------- */
.pattern-ivory{
  background-color: var(--ivory);
  background-image: var(--arabesque-navy);
  background-size: 220px 220px;
}
.pattern-navy{
  background-color: var(--navy);
  background-image: var(--arabesque-gold);
  background-size: 220px 220px;
}

/* ---------- Eyebrow / label ---------- */
.eyebrow{
  font-family: var(--font-body);
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold-deep);
  font-weight: 600;
  display:flex;
  align-items:center;
  gap: 0.75rem;
}
.eyebrow::before{
  content:"";
  width: 28px; height: 1px;
  background: var(--gold-deep);
  display:inline-block;
}
.eyebrow.on-dark{ color: var(--gold-soft); }
.eyebrow.on-dark::before{ background: var(--gold-soft); }
.eyebrow.center{ justify-content:center; }
.eyebrow.center::before{ display:none; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.5rem;
  padding: 0.95rem 1.9rem;
  font-size: 0.86rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  border-radius: var(--radius-sm);
  border: 1px solid transparent;
  cursor:pointer;
  transition: transform .35s var(--ease), background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
  white-space: nowrap;
}
.btn-primary{
  background: var(--navy);
  color: var(--ivory);
  border-color: var(--navy);
}
.btn-primary:hover{ background: var(--navy-soft); transform: translateY(-2px); }
.btn-gold{
  background: var(--gold);
  color: var(--navy);
  border-color: var(--gold);
}
.btn-gold:hover{ background: var(--gold-soft); transform: translateY(-2px); }
.btn-outline{
  background: transparent;
  color: var(--navy);
  border-color: var(--navy);
}
.btn-outline:hover{ background: var(--navy); color: var(--ivory); }
.btn-outline.on-dark{ color: var(--ivory); border-color: rgba(247,244,236,0.5); }
.btn-outline.on-dark:hover{ background: var(--ivory); color: var(--navy); border-color: var(--ivory); }
.btn-text{
  background:none; border:none; color: var(--navy);
  font-weight:600; font-size:0.85rem; letter-spacing:.02em;
  padding: 0.2rem 0; border-bottom: 1px solid var(--gold-deep);
  border-radius:0;
}
.btn-text:hover{ color: var(--gold-deep); }

/* ==========================================================================
   Header
   ========================================================================== */
.site-header{
  position: sticky; top:0; z-index: 100;
  background: rgba(247,244,236,0.9);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(16,26,46,0.1);
  transition: box-shadow .3s var(--ease);
}
.site-header.scrolled{ box-shadow: 0 6px 24px rgba(16,26,46,0.08); }
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding-block: 0.9rem;
  gap: 1.5rem;
}
.brand{ display:flex; align-items:center; gap:0.7rem; }
.brand-mark{ width:40px; height:40px; flex-shrink:0; }
.brand-word{ display:flex; flex-direction:column; line-height:1.05; }
.brand-word b{ font-family: var(--font-display); font-size:1.05rem; color:var(--navy); font-weight:600; }
.brand-word span{ font-size:0.6rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-deep); font-weight:600; }
.site-header .brand-word span{ white-space:nowrap; }
.header-inner .brand-word b{ white-space:nowrap; }
.no-js-nav{ display:flex; align-items:center; justify-content:center; gap:.55rem; flex-wrap:wrap; padding:.45rem 0 .7rem; border-top:1px solid rgba(16,26,46,.08); }
.no-js-nav a{ color:var(--navy); font-size:.72rem; font-weight:600; padding:.3rem .45rem; }
.no-js-nav a:hover,.no-js-nav a:focus-visible{ color:var(--gold-text); }
.brand{ flex-shrink:0; }

.main-nav{ display:flex; align-items:center; gap: 0.95rem; flex-shrink:0; }
.main-nav a{
  font-size:0.73rem; font-weight:500; color: var(--charcoal);
  position:relative; padding-block: 0.3rem; white-space:nowrap;
}
.main-nav a::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px; height:1px;
  background: var(--gold-deep); transform: scaleX(0); transform-origin:left;
  transition: transform .3s var(--ease);
}
.main-nav a:hover::after{ transform: scaleX(1); }

.header-actions{ display:flex; align-items:center; gap:1.1rem; }
.lang-switch{
  font-size:0.78rem; font-weight:600; color: var(--navy);
  display:flex; gap:0.4rem; align-items:center;
}
.lang-switch button{ background:none; border:none; cursor:pointer; color:inherit; padding:0.2rem 0.3rem; }
.lang-switch button[aria-current="true"]{ color: var(--gold-deep); text-decoration: underline; text-underline-offset:3px; }
.lang-divider{ opacity:.4; }

.nav-toggle{
  display:none; background:none; border:none; cursor:pointer;
  width:44px; height:44px; position:relative; padding:0;
}
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{
  content:""; position:absolute; left:10px; right:10px; height:2px; background:var(--navy);
  transition: transform .3s var(--ease), opacity .3s var(--ease);
}
.nav-toggle span{ top:21px; }
.nav-toggle span::before{ top:-8px; }
.nav-toggle span::after{ top:8px; }

@media (max-width: 1280px){
  .main-nav{ display:none; }
  .header-actions .btn-primary{ display:none; }
  .nav-toggle{ display:block; }
}

/* ==========================================================================
   Hero
   ========================================================================== */
.hero{
  position:relative;
  padding-top: clamp(4rem, 9vw, 7rem);
  padding-bottom: clamp(5rem, 10vw, 8rem);
  overflow:hidden;
}
.hero-grid{
  display:grid;
  grid-template-columns: minmax(0,1.1fr) minmax(0,0.9fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items:center;
  position:relative;
  z-index:2;
}
.hero-eyebrow{ margin-bottom: 1.6rem; }
.hero h1{
  font-size: clamp(2.6rem, 5.4vw, 4.4rem);
  margin-bottom: 1.2rem;
}
.hero .slogan{
  font-family: var(--font-display);
  font-style: italic;
  font-weight:500;
  font-size: clamp(1.15rem, 2vw, 1.5rem);
  color: var(--gold-deep);
  margin-bottom: 1.4rem;
}
.hero p.support{
  max-width: 46ch;
  color: var(--charcoal);
  opacity:0.86;
  font-size: 1.02rem;
  margin-bottom: 2.3rem;
}
.hero-ctas{ display:flex; flex-wrap:wrap; gap:0.9rem; margin-bottom: 1.4rem; }
.hero-tertiary{ font-size:0.85rem; }
.hero-tertiary a{ border-bottom:1px solid var(--gold-deep); padding-bottom:2px; font-weight:600; }

.hero-emblem-wrap{
  position:relative; display:flex; align-items:center; justify-content:center;
}
.hero-emblem{ width: min(100%, 420px); }

.hero-emblem-caption{
  position:absolute; bottom:-6px; left:50%; transform:translateX(-50%);
  font-family: var(--font-arabic); color: var(--gold-deep);
  font-size:1.35rem; white-space:nowrap;
}

/* ---------- Positioning strip ---------- */
.geo-strip{
  background: var(--navy);
  color: var(--ivory);
  padding-block: 2.4rem;
}
.geo-row{
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:1.6rem;
  border-top:1px solid rgba(247,244,236,0.15);
  border-bottom:1px solid rgba(247,244,236,0.15);
  padding-block:1.6rem;
}
.geo-item{ flex:1 1 180px; display:flex; align-items:baseline; gap:0.6rem; }
.geo-item .arrow{ color: var(--gold); opacity:0.6; font-size:1.1rem; }
.geo-item b{ font-family: var(--font-display); font-size:1.1rem; letter-spacing:0.02em; }
.geo-item span{ display:block; font-size:0.74rem; opacity:0.72; letter-spacing:0.04em; margin-top:0.15rem; }
.geo-support{ text-align:center; margin-top:1.5rem; font-size:0.92rem; opacity:0.85; font-style:italic; font-family: var(--font-display); }

/* ==========================================================================
   Generic section scaffolding
   ========================================================================== */
.section{ padding-block: clamp(4.5rem, 8vw, 7.5rem); position:relative; }
.section-head{ max-width: 680px; margin-bottom: 3rem; }
.section-head.center{ margin-inline:auto; text-align:center; }
.section-head h2{ font-size: clamp(1.9rem, 3.4vw, 2.7rem); margin-top:0.9rem; }
.section-head p{ margin-top:1rem; opacity:0.82; font-size:1.02rem; }
.on-dark .section-head h2, .on-dark h3, .on-dark h4{ color: var(--ivory); }
.on-dark{ background: var(--navy); color: var(--ivory); }
.on-ivory-deep{ background: var(--ivory-deep); }

/* ---------- Trust strip ---------- */
.trust-row{
  display:grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr));
  gap: 2.4rem;
}
.trust-item{ border-left: 2px solid var(--gold); padding-left:1.1rem; }
.trust-item h4{ font-size:1.05rem; margin-bottom:0.4rem; }
.trust-item p{ font-size:0.92rem; opacity:0.78; margin:0; }

/* ---------- About Dr Omar ---------- */
.about-grid{
  display:grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(2rem,5vw,4.5rem);
  align-items:center;
}
.portrait-frame{
  position:relative; aspect-ratio: 4/5; border-radius: var(--radius-md);
  background: linear-gradient(160deg, var(--navy), var(--navy-soft));
  overflow:hidden;
  border: 1px solid rgba(200,169,107,0.4);
}
.portrait-frame img{ width:100%; height:100%; object-fit:cover; object-position: center 15%; display:block; }
.portrait-frame .placeholder-label{
  color: var(--gold-soft); font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase;
  text-align:center; padding: 1rem; opacity:0.75;
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
}
.credential-strip{ display:flex; flex-wrap:wrap; gap:0.6rem; margin-top:1.6rem; }
.credential-chip{
  font-size:0.72rem; font-weight:600; letter-spacing:0.03em;
  border:1px solid var(--gold-deep); color: var(--navy);
  padding: 0.4rem 0.75rem; border-radius: 999px;
}
.credential-group{ margin-top:2.5rem; }
.credential-group h3{ margin-bottom:1.15rem; }
.credentials-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.credential-card{ background:var(--ivory); border:1px solid rgba(16,26,46,.14); border-radius:var(--radius-md); overflow:hidden; }
.credential-image-link{ display:block; background:var(--ivory-deep); border-bottom:1px solid rgba(16,26,46,.1); }
.credential-image-link:focus-visible{ outline:3px solid var(--gold-deep); outline-offset:-3px; }
.credential-image-link picture,.credential-image-link img{ display:block; width:100%; }
.credential-image-link img{ height:auto; aspect-ratio:1; object-fit:contain; }
.credential-card-body{ padding:1rem 1.05rem 1.15rem; }
.credential-issuer{ color:var(--gold-text); font-size:.72rem; font-weight:700; letter-spacing:.08em; line-height:1.45; text-transform:uppercase; }
.credential-card h4{ margin:.5rem 0 0; font-size:1rem; line-height:1.35; }
.credential-date{ margin:.55rem 0 0; color:var(--navy-soft); font-size:.84rem; }
.credential-note{ margin:.55rem 0 0; color:var(--navy-soft); font-size:.75rem; line-height:1.45; }
.credential-lightbox{ position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:.75rem; background:rgba(8,14,26,.9); }
.credential-lightbox[hidden]{ display:none; }
.credential-lightbox-dialog{ position:relative; display:grid; grid-template-rows:auto auto auto; width:min(94vw,980px); max-width:calc(100vw - 1.5rem); height:auto; max-height:calc(100vh - 1.5rem); box-sizing:border-box; overflow:hidden; padding:3.25rem .75rem .75rem; background:var(--ivory); border:1px solid var(--gold); box-shadow:0 24px 80px rgba(0,0,0,.4); }
.credential-lightbox-image{ display:block; align-self:center; justify-self:center; width:auto; height:auto; max-width:100%; max-height:calc(100vh - 7rem); min-width:0; min-height:0; object-fit:contain; }
.credential-lightbox-label{ position:absolute; top:.85rem; left:1rem; right:4rem; color:var(--navy); font-size:.9rem; font-weight:600; }
.credential-lightbox-close{ position:absolute; top:.55rem; right:.7rem; width:2.25rem; height:2.25rem; border:1px solid var(--gold-deep); border-radius:50%; background:transparent; color:var(--navy); font-size:1.35rem; line-height:1; cursor:pointer; }
.credential-lightbox-close:focus-visible{ outline:3px solid var(--gold-deep); outline-offset:2px; }
.credential-lightbox-open{ display:block; justify-self:center; margin-top:.65rem; color:var(--gold-text); font-size:.8rem; font-weight:700; text-decoration:underline; }
.about-copy h2{ margin-bottom:1rem; }
.about-copy p{ margin-bottom:1rem; opacity:0.85; }
.about-links{ display:flex; gap:1.3rem; margin-top:1.6rem; flex-wrap:wrap; }

/* ---------- Why MedicAble (pillars) ---------- */
.pillars{
  display:grid; grid-template-columns: repeat(auto-fit, minmax(230px,1fr)); gap:1.6rem;
}
.pillar-card{
  background: var(--ivory); border:1px solid rgba(16,26,46,0.12);
  padding: 2rem 1.7rem; border-radius: var(--radius-md);
  transition: border-color .3s var(--ease), transform .3s var(--ease);
}
.pillar-card:hover{ border-color: var(--gold); transform: translateY(-4px); }
.pillar-num{ font-family: var(--font-display); color: var(--gold-text); font-size:0.85rem; letter-spacing:0.1em; }
.pillar-card h4{ font-size:1.08rem; margin: 0.7rem 0 0.6rem; }
.pillar-card p{ font-size:0.9rem; opacity:0.78; margin:0; }

/* ---------- Who We Serve ---------- */
.audience-grid{
  display:grid; grid-template-columns: repeat(auto-fit, minmax(250px,1fr)); gap:1.4rem;
}
.audience-card{
  background: rgba(247,244,236,0.04);
  border: 1px solid rgba(200,169,107,0.3);
  border-radius: var(--radius-md);
  padding: 1.9rem 1.7rem;
  display:flex; flex-direction:column;
  transition: background .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);
}
.audience-card:hover{
  background: rgba(247,244,236,0.08);
  border-color: var(--gold);
  transform: translateY(-4px);
}
.audience-icon{ width:30px; height:30px; color: var(--gold); margin-bottom:1.1rem; }
.audience-card h4{ color: var(--ivory); font-size:1.05rem; margin-bottom:0.6rem; }
.audience-card p{ color: var(--ivory); opacity:0.75; font-size:0.88rem; margin-bottom:1.2rem; flex-grow:1; }
.audience-link{ color: var(--gold-soft); font-size:0.82rem; font-weight:600; }
.audience-card:hover .audience-link{ color: var(--gold); }

/* ---------- Services ---------- */
.services-grid{
  display:grid; grid-template-columns: repeat(auto-fit, minmax(280px,1fr)); gap:1.4rem;
}
.service-card{
  background: var(--ivory);
  border: 1px solid rgba(16,26,46,0.14);
  border-radius: var(--radius-md);
  padding: 1.9rem 1.7rem 1.6rem;
  display:flex; flex-direction:column;
  transition: box-shadow .35s var(--ease), transform .35s var(--ease), border-color .35s var(--ease);
}
.service-card:hover{
  box-shadow: 0 18px 40px rgba(16,26,46,0.1);
  transform: translateY(-4px);
  border-color: var(--gold);
}
.service-top{ display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:1.1rem; }
.service-num{ font-family: var(--font-display); font-size:1.6rem; color: var(--gold-text); font-weight:600; }
.service-icon{ width:34px; height:34px; color: var(--navy); }
.service-card h4{ font-size:1.08rem; margin-bottom:0.55rem; }
.service-card p{ font-size:0.89rem; opacity:0.78; margin-bottom:1.1rem; flex-grow:1; }
.service-card .btn-text{ align-self:flex-start; }

/* ---------- Premium services ---------- */
.premium-grid{
  display:grid; grid-template-columns: repeat(auto-fit, minmax(300px,1fr)); gap:1.6rem;
}
.premium-card{
  background: linear-gradient(165deg, var(--navy), #0A1424);
  color: var(--ivory);
  border-radius: var(--radius-md);
  padding: 2.3rem 2rem;
  border: 1px solid rgba(200,169,107,0.35);
  position:relative;
  overflow:hidden;
}
.premium-card::before{
  content:""; position:absolute; inset:0;
  background-image: var(--arabesque-gold);
  background-size:180px 180px;
  opacity:0.5;
}
.premium-card > *{ position:relative; z-index:1; }
.premium-tag{ font-size:0.68rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold-soft); font-weight:700; }
.premium-card .btn{ white-space: normal; text-align:center; line-height:1.3; width:100%; }
.premium-card h3{ color: var(--ivory); font-size:1.3rem; margin: 0.7rem 0 0.9rem; }
.premium-card p{ font-size:0.9rem; opacity:0.82; margin-bottom:1.4rem; }

/* ---------- Methodology ---------- */
.method-track{
  display:grid; grid-template-columns: repeat(4,1fr); gap:1.2rem; counter-reset: step;
}
.method-step{ position:relative; padding-top:2.6rem; }
.method-step::before{
  counter-increment: step; content: counter(step, decimal-leading-zero);
  font-family: var(--font-display); font-size:1.9rem; color: var(--gold);
  position:absolute; top:0; left:0;
}
.method-step::after{
  content:""; position:absolute; top:0.9rem; left:2.6rem; right:-1.2rem; height:1px;
  background: repeating-linear-gradient(90deg, var(--gold) 0 6px, transparent 6px 12px);
}
.method-track .method-step:last-child::after{ display:none; }
.method-step h4{ font-size:1rem; margin-bottom:0.5rem; }
.method-step p{ font-size:0.86rem; opacity:0.75; margin:0; }

/* ---------- Split feature (Family / Healthcare / UAE Entry) ---------- */
.feature-split{
  display:grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem,5vw,4.5rem); align-items:center;
}
.feature-split.reverse .feature-visual{ order:2; }
.feature-visual{
  aspect-ratio: 4/3; border-radius: var(--radius-md);
  background: var(--ivory-deep);
  border:1px solid rgba(16,26,46,0.12);
  display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
}
.feature-visual svg{ width:60%; }
.feature-copy .eyebrow{ margin-bottom:1rem; }
.feature-copy h2{ margin-bottom:1.1rem; font-size:clamp(1.7rem,3vw,2.3rem); }
.feature-copy p{ opacity:0.82; margin-bottom:1.3rem; }
.feature-list{ margin: 1.2rem 0 1.6rem; display:flex; flex-direction:column; gap:0.6rem; }
.feature-list li{ display:flex; gap:0.7rem; font-size:0.92rem; align-items:flex-start; }
.feature-list li::before{ content:"◆"; color: var(--gold-deep); font-size:0.55rem; margin-top:0.45rem; }

/* ---------- Tools ---------- */
.tools-grid{ display:grid; grid-template-columns: repeat(auto-fit, minmax(240px,1fr)); gap:1.4rem; }
.tool-card{
  background: var(--ivory); border:1px solid rgba(16,26,46,0.14); border-radius: var(--radius-md);
  padding: 1.8rem; text-align:left; color: var(--charcoal);
}
.tool-card .tool-icon{ width:30px; height:30px; color:var(--gold-deep); margin-bottom:0.9rem; }
.tool-card h4{ font-size:1rem; margin-bottom:0.5rem; color: var(--navy); }
.tool-card p{ font-size:0.86rem; opacity:0.76; margin-bottom:1rem; }

/* ---------- Podcast ---------- */
.podcast-feature{
  display:grid; grid-template-columns: 1.2fr 1fr; gap: 0; border-radius: var(--radius-md);
  overflow:hidden; border: 1px solid rgba(200,169,107,0.4);
}
.podcast-media{
  background: var(--navy); position:relative; min-height:320px;
  display:flex; align-items:center; justify-content:center;
}
.podcast-media::before{ content:""; position:absolute; inset:0; background-image: var(--arabesque-gold); background-size:160px 160px; opacity:0.45; }
.podcast-host-intro{ background:var(--ivory); }
.podcast-host-media{ border:1px solid rgba(16,26,46,.12); box-shadow:0 18px 48px rgba(16,26,46,.12); overflow:hidden; }
.podcast-host-media img{ display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.podcast-host-copy{ align-self:center; }
.play-btn{
  position:relative; z-index:1; width:70px; height:70px; border-radius:50%;
  background: var(--gold); display:flex; align-items:center; justify-content:center;
  color: var(--navy); cursor:pointer; border:none;
}
.podcast-copy{ background: var(--ivory); padding: clamp(1.8rem,4vw,3rem); display:flex; flex-direction:column; justify-content:center; }
.podcast-copy .eyebrow{ margin-bottom:1rem; }
.podcast-copy h3{ font-size:1.4rem; margin-bottom:0.7rem; }
.podcast-copy p{ opacity:0.8; margin-bottom:1.3rem; font-size:0.94rem; }
.podcast-meta{ display:flex; gap:1rem; font-size:0.78rem; opacity:0.65; margin-bottom:1.4rem; flex-wrap:wrap; }

/* ---------- Insights ---------- */
.insights-grid{ display:grid; grid-template-columns: repeat(auto-fit, minmax(260px,1fr)); gap:1.6rem; }
.insight-card{ display:flex; flex-direction:column; }
.insight-thumb{
  aspect-ratio: 16/10; background: var(--navy); border-radius: var(--radius-md);
  margin-bottom:1rem; border:1px solid rgba(16,26,46,0.1);
  display:flex; align-items:center; justify-content:center; color: var(--gold-soft);
  position:relative; overflow:hidden; isolation:isolate;
}
.insight-thumb::before{
  content:""; position:absolute; inset:12%; border:1px solid rgba(218,203,182,.32);
  transform:rotate(45deg); z-index:-1;
}
.insight-thumb::after{
  content:""; position:absolute; width:42%; aspect-ratio:1; border:1px solid rgba(218,203,182,.28);
  border-radius:50%; z-index:-1;
}
.insight-thumb-label{
  max-width:72%; color:var(--ivory); font:600 clamp(.72rem,1.4vw,1rem)/1.3 var(--font-body);
  letter-spacing:.12em; text-align:center; text-transform:uppercase;
}
.insight-cat{ font-size:0.7rem; letter-spacing:0.08em; text-transform:uppercase; color: var(--gold-text); font-weight:700; margin-bottom:0.5rem; }
.insight-card h4{ font-size:1.02rem; margin-bottom:0.5rem; }
.insight-card p{ font-size:0.87rem; opacity:0.76; }

/* ---------- Consultation CTA ---------- */
.cta-band{
  background: var(--navy); color: var(--ivory);
  padding-block: clamp(3.5rem,7vw,5.5rem);
  text-align:center; position:relative; overflow:hidden;
}
.cta-band::before{ content:""; position:absolute; inset:0; background-image: var(--arabesque-gold); background-size:220px 220px; opacity:0.5; }
.cta-band > *{ position:relative; z-index:1; }
.cta-band h2{ color: var(--ivory); font-size: clamp(1.9rem,3.6vw,2.6rem); max-width:30ch; margin: 0.8rem auto 1.1rem; }
.cta-band p{ opacity:0.82; max-width:52ch; margin:0 auto 2rem; }
.cta-actions{ display:flex; justify-content:center; gap:1rem; flex-wrap:wrap; }

/* ---------- Location ---------- */
.location-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem,5vw,4rem); align-items:stretch; }
.location-map{
  background: var(--ivory-deep); border-radius: var(--radius-md); border:1px solid rgba(16,26,46,0.12);
  min-height: 320px; display:flex; align-items:center; justify-content:center; color: var(--gold-text);
  font-size:0.85rem; text-align:center; padding:2rem;
}
.location-details{ display:flex; flex-direction:column; justify-content:center; }
.location-row{ display:flex; gap:1rem; padding-block:1rem; border-bottom:1px solid rgba(16,26,46,0.1); }
.location-row:first-child{ padding-top:0; }
.location-row svg{ width:20px; height:20px; color: var(--gold-deep); flex-shrink:0; margin-top:0.15rem; }
.location-row h4{ font-size:0.92rem; margin-bottom:0.2rem; }
.location-row p{ font-size:0.86rem; opacity:0.72; margin:0; }

/* ==========================================================================
   Footer
   ========================================================================== */
.site-footer{ background: var(--charcoal); color: rgba(247,244,236,0.82); padding-top: 4rem; }
.footer-grid{
  display:grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap:2.5rem;
  padding-bottom: 3rem; border-bottom:1px solid rgba(247,244,236,0.12);
}
.footer-brand .brand-word b, .footer-brand .brand-word span{ color: var(--ivory); }
.footer-brand .brand-word{ max-width: 46ch; }
.footer-brand .brand-word span{ white-space: normal; }
.footer-brand p{ font-size:0.85rem; opacity:0.6; margin-top:1rem; max-width:32ch; }
.footer-col h5{ font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase; color: var(--gold-soft); margin-bottom:1.1rem; }
.footer-col ul{ display:flex; flex-direction:column; gap:0.7rem; }
.footer-col a{ font-size:0.86rem; opacity:0.75; }
.footer-col a:hover{ opacity:1; color: var(--gold-soft); }
.footer-bottom{
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem;
  padding-block: 1.6rem; font-size:0.78rem; color:rgba(247,244,236,.75);
}
.footer-legal{ display:flex; gap:1.2rem; flex-wrap:wrap; }
#podcast .section-head p{ color:var(--gold-text) !important; opacity:1; }
.site-footer h3,.site-footer h4{ color:var(--ivory); }

/* ==========================================================================
   Mobile bottom bar
   ========================================================================== */
.mobile-bar{
  display:none; position:fixed; bottom:0; left:0; right:0; z-index:120;
  background: var(--navy); border-top:1px solid rgba(200,169,107,0.3);
}
.mobile-bar-inner{ display:flex; }
.mobile-bar a{
  flex:1; display:flex; flex-direction:column; align-items:center; gap:0.25rem;
  color: var(--ivory); font-size:0.68rem; padding: 0.7rem 0.4rem;
  border-right:1px solid rgba(247,244,236,0.1);
}
.mobile-bar a:last-child{ border-right:none; }
.mobile-bar svg{ width:20px; height:20px; }
.podcast-thumb{position:relative;}
.podcast-thumb iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.media-facade{position:absolute;inset:auto 1rem 1rem 1rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem .9rem;border:1px solid rgba(247,244,236,.6);background:rgba(16,26,46,.9);color:var(--ivory);font:600 .82rem var(--font-body);cursor:pointer;}
.media-facade span:first-child{font-size:1rem;color:var(--gold-soft);}
.podcast-guest{font-weight:600;color:var(--navy);}
.podcast-links{display:flex;flex-wrap:wrap;gap:.8rem 1rem;margin:.5rem 0 1rem;font-size:.84rem;color:var(--gold-text);}
.podcast-links a{text-decoration:underline;text-underline-offset:3px;}
@media (max-width: 700px){
  .mobile-bar{ display:block; }
  body{ padding-bottom: 62px; }
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 900px){
  .hero-grid{ grid-template-columns: minmax(0,1fr); }
  .hero-emblem-wrap{ order:-1; max-width:260px; margin-inline:auto; }
  .about-grid, .feature-split, .feature-split.reverse, .location-grid, .podcast-feature{
    grid-template-columns: 1fr;
  }
  .feature-split.reverse .feature-visual{ order:0; }
  .method-track{ grid-template-columns: repeat(2,1fr); row-gap:2.4rem; }
  .method-step::after{ display:none; }
  .footer-grid{ grid-template-columns: 1fr 1fr; }
  .credentials-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px){
  .footer-grid{ grid-template-columns: 1fr; }
  .method-track{ grid-template-columns: 1fr; }
  .btn{ white-space: normal; text-align:center; line-height:1.3; }
  .hero-ctas .btn{ width:100%; }
  .credentials-grid{ grid-template-columns:1fr; }
}

/* Mobile nav drawer */
.mobile-drawer{
  position:fixed; inset:0; background: var(--ivory); z-index:110;
  transform: translateX(100%); transition: transform .4s var(--ease);
  display:flex; flex-direction:column; padding: 6rem var(--gutter) 2rem;
  overflow-y:auto;
  visibility:hidden; pointer-events:none;
}
.mobile-drawer.open{ transform: translateX(0); visibility:visible; pointer-events:auto; }
.mobile-drawer a:not(.btn){ font-family: var(--font-display); font-size:1.5rem; padding-block:0.7rem; color: var(--navy); border-bottom:1px solid rgba(16,26,46,0.1); display:block; }
.mobile-drawer .btn{ margin-top:2rem; }

/* ==========================================================================
   Inner-page components (services, GCC/country, insights, podcast, legal)
   ========================================================================== */
.main-nav a.active{ color: var(--gold-deep); font-weight:600; }
.main-nav a.active::after{ transform: scaleX(1); }

.breadcrumbs{
  font-size:0.78rem; color: var(--charcoal);
  padding-block: 1.1rem; display:flex; gap:0.5rem; flex-wrap:wrap;
}
.breadcrumbs a{ color: var(--gold-text); opacity:1; }
.breadcrumbs a:hover{ color: var(--gold-deep); }
.breadcrumbs span.sep{ color:var(--navy); opacity:0.75; }
.breadcrumbs>span:not(.sep){ color:var(--navy); opacity:0.75; }

/* ---------- Page hero (inner pages) ---------- */
.page-hero{ padding-block: clamp(2.5rem, 5vw, 4rem) clamp(3rem, 6vw, 4.5rem); }
.page-hero h1{ font-size: clamp(2.1rem, 4vw, 3.1rem); margin: 0.8rem 0 1.1rem; max-width: 24ch; }
.page-hero .lede{ font-size: 1.08rem; opacity:0.82; max-width: 62ch; margin-bottom: 1.8rem; }
.page-hero-ctas{ display:flex; gap:0.9rem; flex-wrap:wrap; }
.page-hero.on-dark h1{ color: var(--ivory); }
.page-hero.on-dark .lede{ color: var(--ivory); opacity:0.82; }

/* ---------- Prose (article / long-form content) ---------- */
.prose{ max-width: 74ch; min-width: 0; }
.prose h2{ font-size:1.5rem; margin: 2.4rem 0 1rem; }
.prose h2:first-child{ margin-top:0; }
.prose h3{ font-size:1.15rem; margin: 1.8rem 0 0.8rem; color: var(--navy); font-family: var(--font-display); }
.prose p{ margin-bottom:1.1rem; opacity:0.86; font-size:1rem; }
.prose ul{ margin: 0 0 1.3rem; display:flex; flex-direction:column; gap:0.55rem; }
.prose ul li{ display:flex; gap:0.7rem; align-items:flex-start; font-size:0.97rem; opacity:0.86; }
.prose ul li::before{ content:"◆"; color: var(--gold-deep); font-size:0.5rem; margin-top:0.5rem; flex-shrink:0; }
.prose ol{ margin: 0 0 1.3rem; padding-left:1.3rem; display:flex; flex-direction:column; gap:0.55rem; }
.prose ol li{ font-size:0.97rem; opacity:0.86; padding-left:0.3rem; }
.prose strong{ color: var(--navy); }
.prose blockquote{
  border-left: 2px solid var(--gold); margin: 1.6rem 0; padding: 0.3rem 0 0.3rem 1.3rem;
  font-family: var(--font-display); font-style:italic; font-size:1.1rem; color: var(--navy);
}

/* ---------- Two-column page layout (content + sidebar) ---------- */
.page-layout{ display:grid; grid-template-columns: minmax(0,1fr) 300px; gap: clamp(2rem,4vw,4rem); align-items:start; }
.page-sidebar{ position:sticky; top:100px; display:flex; flex-direction:column; gap:1.4rem; }
.sidebar-card{
  background: var(--ivory-deep); border:1px solid rgba(16,26,46,0.1); border-radius: var(--radius-md);
  padding: 1.6rem;
}
.sidebar-card h5{ font-size:0.78rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:0.9rem; font-weight:700; }
.sidebar-card ul{ display:flex; flex-direction:column; gap:0.6rem; }
.sidebar-card ul li a{ font-size:0.9rem; color: var(--navy); }
.sidebar-card ul li a:hover{ color: var(--gold-deep); }
.sidebar-card.cta{ background: var(--navy); color: var(--ivory); }
.sidebar-card.cta h5{ color: var(--gold-soft); }
.sidebar-card.cta p{ font-size:0.88rem; opacity:0.85; margin-bottom:1.1rem; }
.sidebar-card.cta .btn{ width:100%; }
@media (max-width: 900px){ .page-layout{ grid-template-columns: minmax(0,1fr); } .page-sidebar{ position:static; } }

/* ---------- Country / market grid ---------- */
.market-grid{ display:grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap:1.4rem; }
.market-card{
  background: var(--ivory); border:1px solid rgba(16,26,46,0.12); border-radius: var(--radius-md);
  padding: 1.7rem; transition: border-color .3s var(--ease), transform .3s var(--ease);
}
.market-card:hover{ border-color: var(--gold); transform: translateY(-3px); }
.market-flag-tag{ font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-deep); font-weight:700; margin-bottom:0.6rem; }
.market-card h4{ font-size:1.05rem; margin-bottom:0.6rem; }
.market-card p{ font-size:0.88rem; opacity:0.78; margin-bottom:1rem; }

/* ---------- Stat / at-a-glance strip ---------- */
.glance-strip{ display:grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap:1.2rem; }
.glance-item{ border-top: 2px solid var(--gold); padding-top:0.9rem; }
.glance-item h4{ font-size:0.95rem; margin-bottom:0.4rem; }
.glance-item p{ font-size:0.85rem; opacity:0.75; margin:0; }

/* ---------- Insight / article cards (index pages) ---------- */
.article-grid{ display:grid; grid-template-columns: repeat(auto-fit, minmax(280px,1fr)); gap:1.6rem; }
.article-card{ display:flex; flex-direction:column; }
.article-card .insight-thumb{ margin-bottom:1.1rem; }
.article-card .insight-thumb img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.article-card h2,.article-card h3{ font-size:1.1rem; margin-bottom:0.6rem; }
.article-card p{ font-size:0.9rem; opacity:0.78; margin-bottom:0.8rem; }
.article-meta{ font-size:0.76rem; color:var(--gold-text); margin-top:auto; }

/* ---------- Framework / step diagram (SELF -> BUSINESS -> FAMILY -> LEGACY etc.) ---------- */
.framework-row{ display:grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap:1rem; }
.framework-step{
  background: var(--ivory-deep); border:1px solid rgba(16,26,46,0.1); border-radius: var(--radius-md);
  padding: 1.5rem 1.3rem; text-align:center;
}
.framework-step .fnum{ font-family: var(--font-display); color: var(--gold-text); font-size:1.3rem; display:block; margin-bottom:0.5rem; }
.framework-step h5{ font-size:0.95rem; color: var(--navy); font-family: var(--font-display); margin-bottom:0.4rem; }
.framework-step p{ font-size:0.82rem; opacity:0.72; margin:0; }

/* ---------- Placeholder / notice callout ---------- */
.notice-callout{
  background: var(--ivory-deep); border:1px dashed rgba(16,26,46,0.25); border-radius: var(--radius-md);
  padding: 1.4rem 1.6rem; font-size:0.9rem; opacity:0.85; margin: 1.6rem 0;
}
.notice-callout strong{ color: var(--navy); }

/* ---------- Legal page prose width ---------- */
.legal-prose{ max-width: 78ch; }
.legal-prose h2{ font-size:1.3rem; margin: 2rem 0 0.8rem; }
.legal-prose p, .legal-prose li{ opacity:0.82; }
.legal-updated{ font-size:0.85rem; opacity:0.6; margin-bottom:2rem; }
.legal-review-notice{
  border:1px solid rgba(166,139,107,.55);
  border-left:4px solid var(--gold-deep);
  background:rgba(218,203,182,.28);
  color:var(--navy);
  padding:1rem 1.1rem;
  margin-bottom:1.25rem;
  font-size:.94rem;
}
.footer-verse{
  color:var(--gold-soft);
  font-family:"Amiri Verse", "Amiri", "Noto Naskh Arabic", Georgia, serif;
  font-size:1.35rem;
  line-height:1.8;
  letter-spacing:.02em;
  text-align:center;
  direction:rtl;
  padding:1.25rem 1rem .75rem;
  border-top:1px solid rgba(218,203,182,.22);
}
.ar-verse{
  color:#DACBB6;
  font-family:"Amiri Verse", "Amiri", "Noto Naskh Arabic", Georgia, serif;
  font-size:1.65rem;
  line-height:2;
  text-align:center;
  direction:rtl;
  padding:1rem 1rem .75rem;
}
.legal-review-notice strong{ display:block; font-family:var(--font-display); margin-bottom:.2rem; }

/* ---------- Contact form ---------- */
.form-grid{ display:grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 1.1rem 1.3rem; margin-bottom:0.5rem; }
.form-grid label{ display:flex; flex-direction:column; gap:0.4rem; font-size:0.84rem; font-weight:600; color: var(--navy); }
.form-grid label.full{ grid-column: 1 / -1; }
.form-grid input, .form-grid select, .form-grid textarea{
  font-family: var(--font-body); font-size:0.92rem; font-weight:400; color: var(--charcoal);
  padding: 0.75rem 0.9rem; border: 1px solid rgba(16,26,46,0.22); border-radius: var(--radius-sm);
  background: var(--ivory); resize: vertical; width: 100%; min-width: 0; box-sizing: border-box;
}
.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus{
  outline: none; border-color: var(--gold-deep);
}
@media (max-width: 600px){ .form-grid{ grid-template-columns: minmax(0,1fr); } }


/* ===== MedicAble Advisory 2.0 accessibility, performance & UX layer ===== */
html{scroll-behavior:smooth;}
body{min-height:100vh;text-rendering:optimizeLegibility;}
.skip-link{position:fixed;left:1rem;top:1rem;z-index:9999;transform:translateY(-160%);background:var(--navy);color:var(--ivory);padding:.7rem 1rem;border-radius:6px;font-weight:700;box-shadow:0 8px 24px rgba(0,0,0,.18);}
.skip-link:focus{transform:translateY(0);}
button,.btn,a{touch-action:manipulation;}
.lang-switch button{font:inherit;}
.lang-switch button:focus-visible,.nav-toggle:focus-visible,.btn:focus-visible,.main-nav a:focus-visible,.mobile-drawer a:focus-visible{outline:3px solid var(--gold);outline-offset:3px;}
.mobile-drawer{z-index:2000;}
.nav-toggle{z-index:2100;}
.form-grid input,.form-grid select,.form-grid textarea{font:inherit;}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:3px solid rgba(196,172,148,.45);outline-offset:1px;border-color:var(--gold-deep);}
.notice-callout{border-left:3px solid var(--gold-deep);}
#content-listing:has(#content-renderer:empty),
#content-listing:has(.content-renderer-empty-static){display:none;}
#content-listing:has(.content-empty-notice){padding-block:1.5rem;}
#content-listing:has(.content-empty-notice)+.legacy-fallback,
#content-listing:has(.content-renderer-empty-static)+.legacy-fallback{padding-top:1.5rem;}
.content-empty-notice{margin:0;}
@media (max-width:700px){
  .header-inner{gap:.6rem;}
  .brand-word span{font-size:.54rem;}
  .hero-ctas .btn{width:100%;justify-content:center;}
  .hero-emblem{max-width:72vw;}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}

/* Shared pattern tokens previously duplicated in each page. */
:root{
  --arabesque-navy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'%3E%3Cg fill='none' stroke='%23101A2E' stroke-width='1' opacity='0.055'%3E%3Crect x='40' y='40' width='140' height='140'/%3E%3Crect x='40' y='40' width='140' height='140' transform='rotate(45 110 110)'/%3E%3Ccircle cx='110' cy='110' r='70'/%3E%3Ccircle cx='110' cy='110' r='40'/%3E%3C/g%3E%3C/svg%3E");
  --arabesque-gold: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'%3E%3Cg fill='none' stroke='%23C8A96B' stroke-width='1' opacity='0.16'%3E%3Crect x='40' y='40' width='140' height='140'/%3E%3Crect x='40' y='40' width='140' height='140' transform='rotate(45 110 110)'/%3E%3Ccircle cx='110' cy='110' r='70'/%3E%3Ccircle cx='110' cy='110' r='40'/%3E%3C/g%3E%3C/svg%3E");
}
.required-indicator{font-size:.72rem;color:var(--charcoal);font-weight:400;}
.field-error{min-height:1.2em;color:#8b1e2d;font-size:.78rem;font-weight:500;}
.form-grid [aria-invalid="true"]{border-color:#8b1e2d;}
.form-status{min-height:1.5em;margin-top:1rem;font-weight:600;}
.form-status.is-error{color:#8b1e2d;}.form-status.is-success{color:#245b45;}
.data-protection{font-size:.8rem;opacity:.78;margin-top:1.1rem;}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}
.location-map{padding:2rem;display:flex;flex-direction:column;justify-content:center;min-height:280px;}
.location-map h3{color:var(--navy);margin-bottom:1rem;}.location-map p{color:var(--navy);opacity:1;}
@media (max-width:700px){body{padding-bottom:calc(62px + env(safe-area-inset-bottom));}.mobile-bar{padding-bottom:env(safe-area-inset-bottom);}.mobile-bar a{min-height:62px;}}

/* Text-safe gold is reserved for small text on light backgrounds; decorative gold keeps the original palette. */
.eyebrow,.brand-word span,.lang-switch button[aria-current="true"],.btn-text:hover,.hero-tertiary a,.feature-list li::before,.prose ul li::before,.market-flag-tag,.sidebar-card h5,.main-nav a.active,.main-nav a:hover{color:var(--gold-text);}
.hero-tertiary a{border-color:var(--gold-text);}

/* Grouped navigation */
.main-nav{gap:.35rem;align-items:stretch;}
.nav-group{position:relative;display:flex;align-items:stretch;}
.nav-group-toggle{border:0;background:transparent;color:var(--navy);font:600 .7rem var(--font-body);letter-spacing:.025em;cursor:pointer;padding:.75rem .45rem;white-space:nowrap;}
.nav-group-toggle::after{content:'⌄';margin-left:.3rem;color:var(--gold-text);}
.nav-group.open .nav-group-toggle,.nav-group-toggle:hover,.nav-group-toggle:focus-visible{color:var(--gold-text);}
.nav-dropdown{position:absolute;top:100%;left:0;min-width:245px;padding:.55rem;background:var(--ivory);border:1px solid rgba(16,26,46,.14);box-shadow:0 14px 35px rgba(16,26,46,.16);z-index:2300;}
.nav-dropdown a{display:block;padding:.6rem .75rem;font-size:.78rem;line-height:1.25;color:var(--navy);}
.nav-dropdown a:hover,.nav-dropdown a:focus-visible,.nav-dropdown a.active{background:var(--ivory-deep);color:var(--gold-text);}
.mobile-drawer .nav-group{display:block}.mobile-drawer .nav-group-toggle{display:flex;width:100%;justify-content:space-between;text-align:left;font:600 1.35rem var(--font-display);padding:.7rem 0;color:var(--navy);border-bottom:1px solid rgba(16,26,46,.1);}.mobile-drawer .nav-group-toggle::after{content:'+';font:1.4rem var(--font-body);}.mobile-drawer .nav-group.open .nav-group-toggle::after{content:'−'}.mobile-drawer .nav-dropdown{position:static;min-width:0;border:0;box-shadow:none;padding:0 0 .4rem;background:transparent}.mobile-drawer .nav-dropdown a{font:1rem var(--font-body);padding:.5rem 1rem;color:var(--navy);border-bottom:0}.mobile-drawer .nav-dropdown a.active{color:var(--gold-text);background:transparent}
.legacy-fallback[hidden]{display:none}
@media(max-width:1100px){.nav-group-toggle{font-size:.64rem;padding-inline:.28rem}.main-nav{gap:.1rem}}
@media(max-width:900px){.main-nav{display:none}.mobile-drawer .nav-group-toggle{font-size:1.35rem}}
.related-pages h2{margin:.7rem 0 1.4rem}.related-links{display:flex;gap:.75rem;flex-wrap:wrap}.related-links a{border:1px solid rgba(16,26,46,.18);padding:.7rem 1rem;color:var(--navy);background:var(--ivory)}.related-links a:hover,.related-links a:focus-visible{border-color:var(--gold);color:var(--gold-text)}
.related-pages h2{margin:.7rem 0 1.4rem}.related-links{display:flex;gap:.75rem;flex-wrap:wrap}.related-links a{border:1px solid rgba(16,26,46,.18);padding:.7rem 1rem;color:var(--navy);background:var(--ivory)}.related-links a:hover,.related-links a:focus-visible{border-color:var(--gold);color:var(--gold-text)}

/* Phase B responsive navigation and location strip */
.header-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem}
.header-inner .brand{min-width:0}
.header-inner .brand-word span{font-size:.52rem;letter-spacing:.09em}
.main-nav{min-width:0;justify-content:center;gap:.05rem}
.nav-group-toggle{font-size:.62rem;padding:.65rem .32rem;letter-spacing:0}
.header-actions{gap:.55rem;white-space:nowrap}
.header-actions>.btn-primary{font-size:.64rem;padding:.7rem .8rem}
@media (max-width:1200px){
  .header-actions>.btn-primary{display:none}
  .header-inner{gap:.45rem}
  .brand-word b{font-size:.92rem}
  .main-nav{justify-content:flex-end}
  .nav-group-toggle{font-size:.56rem;padding-inline:.22rem}
}
@media (max-width:900px){.main-nav{display:none}.nav-toggle{display:block}.header-inner{display:flex;justify-content:space-between}.header-actions{margin-left:auto}.header-inner .brand-word span{font-size:.5rem}}
@media (max-width:520px){.header-inner .brand-word span{white-space:normal;max-width:145px;line-height:1.15}.brand-word b{font-size:.85rem}}
.geo-row{display:grid;grid-template-columns:1.15fr repeat(4,1fr);gap:1rem;align-items:stretch}
.geo-item{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:.25rem;padding:.25rem .5rem}
.geo-item .arrow{display:none}
.geo-item b{font-size:clamp(.78rem,1.2vw,1.05rem);line-height:1.15;white-space:normal}
.geo-item span{font-size:.68rem;line-height:1.35}
@media(max-width:800px){.geo-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.geo-item:first-child{grid-column:1/-1;border-bottom:1px solid rgba(247,244,236,.15);padding-bottom:.8rem}.geo-item b{font-size:.85rem}}
@media(max-width:420px){.geo-row{grid-template-columns:1fr}.geo-item:first-child{grid-column:auto}.geo-item{padding-inline:0}}
/* RTL Arabic grouped navigation */
.ar-main-nav{display:flex;align-items:stretch;gap:.1rem}
.ar-main-nav .nav-group{direction:rtl}
.ar-main-nav .nav-dropdown{right:0;left:auto;text-align:right}
.ar-main-nav .nav-group-toggle::after{margin-inline-start:.3rem}
.ar-mobile-drawer{direction:rtl;text-align:right}
.ar-mobile-drawer .nav-group-toggle{direction:rtl}
.ar-mobile-drawer .nav-dropdown a{padding-inline:1rem 0}
@media(max-width:900px){.ar-main-nav{display:none}}
.ar-mobile-drawer{transform:translateX(-100%)}
.ar-mobile-drawer.open{transform:translateX(0)}
.ar-nav-actions{display:flex;align-items:center;gap:1rem}
.ar-nav-actions .nav-toggle{display:none}
@media(max-width:900px){.ar-nav-actions .nav-toggle{display:block}}
.ar-header-cta{white-space:nowrap}
.ar-nav-note{font-family:var(--font-body);font-size:.9rem;line-height:1.7;color:var(--gold-text);margin:0 0 1rem}
.nav-lang-marker{display:inline-block;margin-inline-start:.45rem;padding:.08rem .3rem;border:1px solid currentColor;border-radius:999px;font:600 .62rem/1 var(--font-body);letter-spacing:.05em;vertical-align:middle;opacity:.7}

/* Final responsive guardrails: keep header clusters independent and readable. */
@media (min-width:1281px){
  .header-inner{display:flex;gap:1.5rem}
  .header-inner .brand{flex:0 0 220px;min-width:220px;align-items:center}
  .header-inner .brand{flex:0 0 205px;min-width:0}
  .main-nav{flex:1 1 auto;min-width:0;justify-content:center;gap:0}
  .nav-group-toggle{font-size:.58rem;padding-inline:.24rem}
  .header-actions{flex:0 0 auto;gap:.8rem}
  .lang-switch{direction:ltr;gap:.55rem;min-width:max-content}
  .header-actions>.btn-primary{font-size:.6rem;padding:.68rem .72rem}
}
@media (min-width:1281px) and (max-width:1500px){
  .header-inner .brand{flex-basis:195px}
  .main-nav{justify-content:flex-start}
  .nav-group-toggle{font-size:.55rem;padding-inline:.2rem}
  .header-actions{gap:.6rem}
  .header-actions>.btn-primary{font-size:.56rem;padding-inline:.6rem}
}
@media (max-width:900px){
  .header-inner{gap:.35rem}
  .header-inner .brand{flex:1 1 auto;min-width:0}
  .header-actions{gap:.3rem;flex:0 0 auto}
  .nav-toggle{display:block;width:44px;height:44px;padding:0}
  .nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{left:10px;right:10px}
  .header-inner .brand-word span{max-width:125px;overflow-wrap:anywhere}
  .hero-grid{grid-template-columns:minmax(0,1fr)}
  .hero-grid>div:first-child{order:1}
  .hero-emblem-wrap{order:2;max-width:180px;margin:1.5rem auto 0}
  .hero-emblem{width:180px;max-width:100%;max-height:180px;object-fit:contain}
  .hero-eyebrow,.hero h1,.hero p.support{overflow-wrap:anywhere}
  .hero-eyebrow{display:block}
  .hero-ctas .btn{white-space:normal;overflow-wrap:anywhere}
}
@media (max-width:420px){
  .geo-row,.geo-item{width:100%;max-width:100%}
  .geo-item b,.geo-item span{overflow-wrap:anywhere}
  .geo-item b{font-size:.82rem}
}
@media (max-width:480px){
  .site-header .brand-word span{display:none}
  .header-inner .brand-word b{font-size:.8rem}
}

/* FAQ */
.faq-list{ max-width:820px; margin:0 auto; }
.faq-item{ background:#fff; border:1px solid var(--gold-soft); border-radius:10px; margin-bottom:0.85rem; overflow:hidden; }
.faq-item summary{ cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.25rem; font-family:var(--font-display); font-weight:600; color:var(--navy); }
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{ content:"+"; flex:none; font-size:1.3rem; line-height:1; color:var(--gold-text); transition:transform .2s ease; }
.faq-item[open] summary::after{ content:"\2212"; }
.faq-item summary:focus-visible{ outline:2px solid var(--navy-soft); outline-offset:-2px; }
.faq-item p{ margin:0; padding:0 1.25rem 1.1rem; color:var(--navy-soft); line-height:1.65; }

/* Executive tools */
.tool-shell{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:2rem; align-items:start; }
.tool-panel{ background:#fff; border:1px solid var(--gold-soft); border-radius:12px; padding:1.6rem 1.7rem; outline:none; }
.tool-panel .tool-panel-title{ font-family:var(--font-display); color:var(--navy); margin:0 0 .6rem; font-size:1.45rem; }
.tool-panel-label{ font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-text); margin:1.1rem 0 .3rem; font-weight:600; }
.tool-panel p{ margin:.2rem 0 .4rem; line-height:1.65; color:var(--navy-soft); }
.tool-points{ margin:.3rem 0 .4rem 1.1rem; padding:0; }
.tool-points li{ margin:.3rem 0; line-height:1.55; color:var(--navy-soft); }
.tool-steps{ margin:.4rem 0 .6rem 1.2rem; padding:0; }
.tool-steps li{ margin:.45rem 0; line-height:1.6; color:var(--navy-soft); }
.tool-panel .btn{ margin-top:1rem; }
.tool-cta-row{ display:flex; gap:.7rem; flex-wrap:wrap; margin-top:1rem; }
.tool-note{ font-size:.85rem; color:var(--navy-soft); opacity:.85; max-width:720px; }
/* Radar & compass rings */
.radar-wheel,.compass-ring{ position:relative; width:100%; aspect-ratio:1; max-width:520px; margin:0 auto; border-radius:50%; border:1px dashed var(--gold-soft); }
.radar-wheel::before,.compass-ring::before{ content:""; position:absolute; inset:18%; border-radius:50%; border:1px dashed var(--gold-soft); opacity:.7; }
.radar-wheel::after,.compass-ring::after{ content:""; position:absolute; inset:36%; border-radius:50%; border:1px solid var(--gold-soft); opacity:.5; }
.compass-ring .compass-center{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); text-align:center; font-family:var(--font-display); color:var(--navy); font-weight:600; font-size:.95rem; max-width:38%; z-index:1; }
.radar-node,.compass-node{ position:absolute; left:var(--rx); top:var(--ry); transform:translate(-50%,-50%); background:#fff; border:1px solid var(--gold-soft); color:var(--navy); border-radius:999px; padding:.4rem .75rem; font-size:.78rem; font-weight:600; cursor:pointer; white-space:nowrap; z-index:2; }
.radar-node.active,.compass-node.active{ background:var(--navy); color:var(--ivory); border-color:var(--navy); }
.radar-node:focus-visible,.compass-node:focus-visible{ outline:2px solid var(--navy-soft); outline-offset:2px; }
@media (max-width:860px){
  .tool-shell{ grid-template-columns:minmax(0,1fr); }
  .radar-wheel,.compass-ring{ aspect-ratio:auto; border:none; border-radius:0; display:flex; flex-wrap:wrap; gap:.5rem; max-width:none; }
  .radar-wheel::before,.radar-wheel::after,.compass-ring::before,.compass-ring::after{ display:none; }
  .compass-ring .compass-center{ position:static; transform:none; width:100%; max-width:none; margin-bottom:.4rem; text-align:start; }
  .radar-node,.compass-node{ position:static; transform:none; white-space:normal; }
}
/* GCC map */
.gcc-tiles{ display:grid; grid-template-columns:repeat(3,1fr); grid-template-areas:"kw . ." "bh sa ae" "qa sa om"; gap:.6rem; max-width:460px; }
.gcc-tile{ border:1px solid var(--gold-soft); background:#fff; border-radius:10px; padding:1rem .8rem; font-weight:600; color:var(--navy); cursor:pointer; text-align:center; min-height:74px; }
.gcc-tile.active{ background:var(--navy); color:var(--ivory); border-color:var(--navy); }
.gcc-tile:focus-visible{ outline:2px solid var(--navy-soft); outline-offset:2px; }
.gcc-tile[data-country="kuwait"]{ grid-area:kw; } .gcc-tile[data-country="bahrain"]{ grid-area:bh; }
.gcc-tile[data-country="qatar"]{ grid-area:qa; } .gcc-tile[data-country="saudi"]{ grid-area:sa; }
.gcc-tile[data-country="uae"]{ grid-area:ae; } .gcc-tile[data-country="oman"]{ grid-area:om; }
.gcc-map-note{ font-size:.78rem; color:var(--navy-soft); opacity:.75; margin-top:.6rem; }
/* Scenario tabs */
.lab-scenarios{ display:flex; flex-direction:column; gap:.45rem; }
.lab-scenario{ text-align:start; border:1px solid var(--gold-soft); background:#fff; border-radius:10px; padding:.75rem 1rem; font-weight:600; color:var(--navy); cursor:pointer; }
.lab-scenario.active{ background:var(--navy); color:var(--ivory); border-color:var(--navy); }
.lab-scenario:focus-visible{ outline:2px solid var(--navy-soft); outline-offset:2px; }
/* Score tools */
.score-form{ background:#fff; border:1px solid var(--gold-soft); border-radius:12px; padding:1.4rem 1.5rem; }
.score-scale{ font-size:.88rem; color:var(--navy-soft); margin:0 0 1rem; }
.score-area{ border:none; border-top:1px solid var(--ivory-deep); margin:0; padding:.85rem 0; }
.score-area legend{ font-family:var(--font-display); font-weight:600; color:var(--navy); padding-top:.85rem; }
.score-area-hint{ font-size:.85rem; color:var(--navy-soft); margin:.15rem 0 .5rem; }
.score-options{ display:flex; gap:.5rem; }
.score-option{ display:flex; align-items:center; gap:.3rem; border:1px solid var(--gold-soft); border-radius:8px; padding:.35rem .6rem; cursor:pointer; font-weight:600; color:var(--navy); }
.score-option:has(input:checked){ background:var(--navy); color:var(--ivory); border-color:var(--navy); }
.score-result{ margin-top:1.6rem; background:#fff; border:1px solid var(--gold-soft); border-radius:12px; padding:1.5rem 1.6rem; outline:none; }
.score-headline{ display:flex; align-items:baseline; gap:1rem; flex-wrap:wrap; border-bottom:1px solid var(--ivory-deep); padding-bottom:.9rem; }
.score-headline-label{ font-family:var(--font-display); font-weight:600; color:var(--navy); font-size:1.15rem; }
.score-number{ font-family:var(--font-display); font-size:2.6rem; font-weight:700; color:var(--gold-text); }
.score-bars{ margin:1.1rem 0 .4rem; display:grid; gap:.45rem; }
.score-bar-row{ display:grid; grid-template-columns:minmax(120px,180px) 1fr 44px; gap:.7rem; align-items:center; font-size:.85rem; }
.score-bar-name{ color:var(--navy); font-weight:600; }
.score-bar-track{ background:var(--ivory-deep); border-radius:99px; height:10px; overflow:hidden; }
.score-bar-fill{ height:100%; background:var(--navy-soft); border-radius:99px; }
.score-bar-fill.is-strength{ background:var(--gold-text); }
.score-bar-fill.is-gap{ background:#9a3b2e; }
.score-bar-val{ color:var(--navy-soft); text-align:end; }
/* Succession */
.succession-journey{ display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; margin-bottom:1.4rem; }
.succession-stage{ border:1px solid var(--gold-soft); background:#fff; border-radius:999px; padding:.55rem 1.05rem; font-weight:600; color:var(--navy); cursor:pointer; }
.succession-stage.active{ background:var(--navy); color:var(--ivory); border-color:var(--navy); }
.succession-stage:focus-visible{ outline:2px solid var(--navy-soft); outline-offset:2px; }
.succession-arrow{ color:var(--gold-text); font-weight:700; }
.succession-topics{ margin-top:2rem; }
/* Boardroom */
.boardroom-prompt{ font-size:1.05rem; font-style:italic; border-inline-start:3px solid var(--gold); padding-inline-start:1rem; }
.boardroom-options{ display:grid; gap:.6rem; margin-top:.5rem; }
.boardroom-option{ display:flex; gap:.8rem; align-items:flex-start; text-align:start; border:1px solid var(--gold-soft); background:#fff; border-radius:10px; padding:.85rem 1rem; cursor:pointer; color:var(--navy); line-height:1.5; }
.boardroom-option:hover{ border-color:var(--navy); }
.boardroom-option:focus-visible{ outline:2px solid var(--navy-soft); outline-offset:2px; }
.boardroom-letter{ flex:none; width:1.7rem; height:1.7rem; border-radius:50%; background:var(--ivory-deep); color:var(--navy); display:inline-flex; align-items:center; justify-content:center; font-weight:700; font-size:.85rem; }
.boardroom-analysis{ border:1px solid var(--ivory-deep); border-radius:10px; padding:.9rem 1rem; margin:.55rem 0; }
.boardroom-analysis.chosen{ border-color:var(--gold-text); background:#fdfbf6; }
.boardroom-analysis-head{ display:flex; gap:.6rem; align-items:center; flex-wrap:wrap; margin-bottom:.35rem; color:var(--navy); }
.boardroom-chosen{ font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-text); font-weight:700; }
/* AI center */
.ai-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem; }
.ai-tile{ border:1px solid var(--gold-soft); background:#fff; border-radius:10px; padding:1rem .8rem; font-weight:600; color:var(--navy); cursor:pointer; text-align:center; }
.ai-tile.active{ background:var(--navy); color:var(--ivory); border-color:var(--navy); }
.ai-tile:focus-visible{ outline:2px solid var(--navy-soft); outline-offset:2px; }
@media (max-width:560px){ .ai-grid{ grid-template-columns:repeat(2,1fr); } .gcc-tiles{ max-width:none; } .score-options{ flex-wrap:wrap; } .score-bar-row{ grid-template-columns:1fr; gap:.15rem; } .score-bar-val{ text-align:start; } }
/* Pathways */
.pathways{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.pathway-card{ background:#fff; border:1px solid var(--gold-soft); border-radius:14px; padding:1.7rem 1.8rem; }
.pathway-card h3{ font-family:var(--font-display); color:var(--navy); margin:0 0 .4rem; font-size:1.4rem; }
.pathway-card ul{ margin:.7rem 0 0; padding:0; list-style:none; }
.pathway-card li{ border-top:1px solid var(--ivory-deep); }
.pathway-card li a{ display:block; padding:.6rem .1rem; color:var(--navy); text-decoration:none; font-weight:600; }
.pathway-card li a:hover{ color:var(--gold-text); }
@media (max-width:760px){ .pathways{ grid-template-columns:1fr; } }
/* Executive brief */
.brief-band{ background:var(--navy); color:var(--ivory); border-radius:14px; padding:2rem 2.2rem; }
.brief-band h2{ color:var(--ivory); margin-top:.2rem; }
.brief-form-row{ display:flex; gap:.6rem; flex-wrap:wrap; margin-top:1rem; }
.brief-form-row input[type="email"]{ flex:1 1 260px; padding:.75rem 1rem; border-radius:8px; border:1px solid var(--gold-soft); font:inherit; }
.brief-status{ margin-top:.7rem; font-size:.9rem; min-height:1.2em; }
.journey-flow{ display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; margin:1.2rem 0; }
.journey-step{ background:#fff; border:1px solid var(--gold-soft); border-radius:999px; padding:.5rem 1rem; font-weight:600; color:var(--navy); }
.journey-sep{ color:var(--gold-text); font-weight:700; }
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
/* Insight filters */
.filter-label{ font-size:.85rem; color:var(--navy-soft); margin:0 0 .5rem; }
.filter-bar{ display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:.6rem; }
.filter-chip{ border:1px solid var(--gold-soft); background:#fff; border-radius:999px; padding:.35rem .8rem; font-size:.8rem; font-weight:600; color:var(--navy); cursor:pointer; }
.filter-chip.active{ background:var(--navy); color:var(--ivory); border-color:var(--navy); }
.filter-chip:focus-visible{ outline:2px solid var(--navy-soft); outline-offset:2px; }
.filter-clear{ border-style:dashed; color:var(--gold-text); }
.filter-status{ font-size:.85rem; color:var(--gold-text); min-height:1.2em; margin:0 0 .4rem; }

/* ==========================================================================
   Signature Executive Programs
   ========================================================================== */
.sp-hero{ position:relative; overflow:hidden; }
.sp-hero .page-hero-ctas{ margin-top:1.6rem; }
.sp-hero h1{ max-width:30ch; }
.sp-hero .lede{ max-width:70ch; }
.sp-kicker{ font-family:var(--font-display); font-style:italic; color:var(--gold-soft); font-size:1.05rem; margin:0 0 .4rem; }

/* Program cards */
.program-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1.6rem; }
.program-card{
  background:linear-gradient(165deg, var(--navy), #0A1424);
  color:var(--ivory); border:1px solid rgba(200,169,107,.35);
  border-radius:var(--radius-md); padding:2.3rem 2rem; position:relative; overflow:hidden;
  display:flex; flex-direction:column;
  transition:transform .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);
}
.program-card::before{ content:""; position:absolute; inset:0; background-image:var(--arabesque-gold); background-size:180px 180px; opacity:.45; }
.program-card:hover{ transform:translateY(-5px); border-color:var(--gold); box-shadow:0 22px 50px rgba(16,26,46,.28); }
.program-card > *{ position:relative; z-index:1; }
.program-emblem{ width:44px; height:44px; color:var(--gold-soft); margin-bottom:1.1rem; }
.program-tag{ font-size:.66rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-soft); font-weight:700; }
.program-card h3{ color:var(--ivory); font-size:1.35rem; margin:.6rem 0 .2rem; }
.program-card .program-verb{ font-family:var(--font-display); font-style:italic; color:var(--gold-soft); font-size:1rem; margin:0 0 .9rem; }
.program-card p{ font-size:.9rem; opacity:.84; margin:0 0 1rem; }
.program-card h4{ color:var(--gold-soft); font-family:var(--font-body); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; margin:.9rem 0 .45rem; }
.program-card ul{ display:flex; flex-direction:column; gap:.35rem; margin-bottom:.4rem; }
.program-card ul li{ display:flex; gap:.6rem; font-size:.86rem; opacity:.88; align-items:flex-start; }
.program-card ul li::before{ content:"◆"; color:var(--gold); font-size:.5rem; margin-top:.45rem; flex-shrink:0; }
.program-card .btn{ margin-top:auto; width:100%; white-space:normal; text-align:center; line-height:1.3; }
.program-card .program-cta-wrap{ margin-top:1.4rem; }

/* Assess -> Develop -> Transform strip */
.sp-flow{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:.9rem 1.2rem; margin-top:2.6rem; text-align:center; }
.sp-flow-step{ border:1px solid var(--gold-deep); border-radius:var(--radius-md); padding:1rem 1.5rem; background:var(--ivory); min-width:200px; }
.sp-flow-step b{ font-family:var(--font-display); color:var(--navy); font-size:1rem; display:block; letter-spacing:.08em; }
.sp-flow-step span{ font-size:.78rem; color:var(--gold-text); font-weight:600; }
.sp-flow-arrow{ color:var(--gold-deep); font-size:1.3rem; }
@media (max-width:700px){ .sp-flow{ flex-direction:column; } .sp-flow-step{ width:100%; } }

/* Homepage hero callout */
.sp-callout{ margin-top:1.8rem; border:1px solid var(--gold-deep); border-radius:var(--radius-md); background:rgba(218,203,182,.22); padding:1rem 1.3rem; display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1.2rem; max-width:640px; }
.sp-callout .sp-callout-tag{ font-size:.64rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-text); font-weight:700; }
.sp-callout b{ font-family:var(--font-display); color:var(--navy); font-size:.95rem; font-weight:600; }
.sp-callout a{ font-size:.82rem; font-weight:700; color:var(--gold-text); border-bottom:1px solid var(--gold-deep); padding-bottom:1px; white-space:nowrap; }
.sp-callout a:hover{ color:var(--gold-deep); }

/* Assessment journey (vertical timeline) */
.journey{ position:relative; max-width:680px; margin:0 auto; padding-inline-start:2.1rem; display:flex; flex-direction:column; gap:1.15rem; }
.journey::before{ content:""; position:absolute; inset-block:8px; inset-inline-start:9px; width:1px; background:repeating-linear-gradient(180deg, var(--gold-deep) 0 6px, transparent 6px 12px); }
.journey-step{ position:relative; background:var(--ivory); border:1px solid rgba(16,26,46,.13); border-radius:var(--radius-md); padding:1rem 1.2rem; transition:border-color .3s var(--ease), transform .3s var(--ease); }
.journey-step:hover{ border-color:var(--gold); transform:translateX(4px); }
[dir="rtl"] .journey-step:hover{ transform:translateX(-4px); }
.journey-step::before{ content:""; position:absolute; inset-inline-start:-2.1rem; top:1.25rem; width:11px; height:11px; transform:rotate(45deg); background:var(--gold); border:1px solid var(--gold-deep); margin-inline-start:4px; }
.journey-step b{ font-family:var(--font-display); color:var(--navy); font-size:.98rem; display:block; }
.journey-step .journey-num{ font-size:.68rem; letter-spacing:.14em; color:var(--gold-text); font-weight:700; text-transform:uppercase; }
.journey-step p{ font-size:.86rem; opacity:.78; margin:.3rem 0 0; }

/* Dimensions chips */
.dim-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:.8rem; counter-reset:dim; }
.dim-item{ border:1px solid rgba(16,26,46,.13); border-inline-start:2px solid var(--gold); background:var(--ivory); border-radius:var(--radius-sm); padding:.75rem .95rem; font-size:.88rem; font-weight:600; color:var(--navy); display:flex; gap:.65rem; align-items:baseline; }
.dim-item::before{ counter-increment:dim; content:counter(dim, decimal-leading-zero); font-family:var(--font-display); color:var(--gold-text); font-size:.8rem; }

/* Deliverables */
.deliverable-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:.8rem; }
.deliverable-item{ display:flex; gap:.7rem; align-items:flex-start; font-size:.9rem; background:var(--ivory-deep); border:1px solid rgba(16,26,46,.1); border-radius:var(--radius-sm); padding:.75rem .95rem; }
.deliverable-item::before{ content:"◆"; color:var(--gold-deep); font-size:.5rem; margin-top:.5rem; flex-shrink:0; }

/* 360 wheel */
.sp-wheel{ position:relative; width:100%; max-width:560px; aspect-ratio:1; margin:0 auto; }
.sp-wheel svg{ width:100%; height:100%; }
.sp-wheel-center{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); text-align:center; font-family:var(--font-display); color:var(--navy); font-weight:600; font-size:clamp(.8rem,2vw,1rem); max-width:40%; }

/* Comparison table */
.compare-wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid rgba(16,26,46,.14); border-radius:var(--radius-md); }
.compare-table{ width:100%; border-collapse:collapse; min-width:720px; font-size:.86rem; background:var(--ivory); }
.compare-table th, .compare-table td{ padding:.85rem 1rem; border-bottom:1px solid rgba(16,26,46,.1); text-align:start; vertical-align:top; }
.compare-table thead th{ background:var(--navy); color:var(--ivory); font-family:var(--font-display); font-size:.95rem; font-weight:600; }
.compare-table thead th:first-child{ background:var(--navy); }
.compare-table tbody th{ font-weight:700; color:var(--navy); background:var(--ivory-deep); font-size:.8rem; letter-spacing:.03em; width:180px; }
.compare-table tbody tr:last-child th, .compare-table tbody tr:last-child td{ border-bottom:none; }
.compare-yes{ color:var(--gold-text); font-weight:700; }
.compare-dash{ opacity:.45; }

/* Trust list */
.trust-list{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem; }
.trust-list li{ display:flex; gap:.7rem; align-items:flex-start; font-size:.92rem; border:1px solid rgba(200,169,107,.35); border-radius:var(--radius-sm); padding:.9rem 1.05rem; background:rgba(247,244,236,.04); }
.trust-list li::before{ content:"◆"; color:var(--gold); font-size:.5rem; margin-top:.5rem; flex-shrink:0; }

/* Reveal animation */
@media (prefers-reduced-motion: no-preference){
  .reveal{ opacity:0; transform:translateY(18px); transition:opacity .6s var(--ease), transform .6s var(--ease); }
  .reveal.is-visible{ opacity:1; transform:none; }
}

/* Sticky mobile CTA on program pages */
.sp-sticky-cta{ display:none; }
@media (max-width:700px){
  .sp-sticky-cta{ display:block; position:fixed; bottom:calc(62px + env(safe-area-inset-bottom)); left:0; right:0; z-index:115; padding:.55rem var(--gutter); background:rgba(247,244,236,.95); backdrop-filter:blur(8px); border-top:1px solid rgba(16,26,46,.12); }
  .sp-sticky-cta .btn{ width:100%; }
}
