
.bam-ifrs18,
.bam-ifrs18 *,
.bam-ifrs18 *::before,
.bam-ifrs18 *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
.bam-ifrs18 {
  font-family: 'Nunito Sans', 'Segoe UI', sans-serif;
  font-size: 16px;
  color: #1a0a3e;
  background: #ffffff;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  --pk:      #7C3AED;
  --pu:      #5B21B6;
  --dp:      #2E1065;
  --navy:    #1a0a3e;
  --grad:    linear-gradient(135deg, #7C3AED 0%, #6D28D9 48%, #2E1065 100%);
  --grad-h:  linear-gradient(90deg,  #7C3AED 0%, #5B21B6 100%);
  --light-bg:#F5F0FF;
  --shadow:  0 4px 30px rgba(46,16,101,.10);
  --shadow-lg:0 12px 50px rgba(46,16,101,.16);
  --r: 12px;
}
.bam-ifrs18 .wrap      { max-width: 1160px; margin: 0 auto; padding: 0 40px; }
.bam-ifrs18 .wrap-wide { max-width: 1320px; margin: 0 auto; padding: 0 40px; }
.bam-ifrs18 h1,.bam-ifrs18 h2,.bam-ifrs18 h3,.bam-ifrs18 h4,.bam-ifrs18 h5 {
  font-family: 'Nunito Sans', sans-serif; line-height: 1.2; font-weight: 900;
}
.bam-ifrs18 p { margin: 0; }
.bam-ifrs18 ul, .bam-ifrs18 ol { list-style: none; }
.bam-ifrs18 .sec-title { font-size: clamp(26px, 3vw, 40px); letter-spacing: 0.025em; margin-bottom: 18px; color: var(--navy); }
.bam-ifrs18 .sec-title-white { color: #fff; }
.bam-ifrs18 .sec-body       { font-size: 15px; line-height: 1.8; color: #444; letter-spacing: 0.015em; }
.bam-ifrs18 .sec-body-white { color: rgba(255,255,255,.88); letter-spacing: 0.015em; }
.bam-ifrs18 .grad-text {
  background: var(--grad-h);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.bam-ifrs18 .divider       { width: 52px; height: 4px; background: var(--grad-h); border-radius: 2px; margin-bottom: 20px; }
.bam-ifrs18 .divider-white { width: 52px; height: 4px; background: rgba(255,255,255,.42); border-radius: 2px; margin-bottom: 20px; }
.bam-ifrs18 .section-grad  { background: var(--grad); padding: 88px 0; position: relative; overflow: hidden; }
.bam-ifrs18 .section-light { background: var(--light-bg); padding: 88px 0; }
.bam-ifrs18 .section-white { background: #fff; padding: 88px 0; }
.bam-ifrs18 .section-grad::before {
  content: '';
  position: absolute; inset: 0;
  background: repeating-linear-gradient(45deg, rgba(255,255,255,.02) 0, rgba(255,255,255,.02) 1px, transparent 1px, transparent 50px);
  pointer-events: none;
}

/* HERO */
.bam-ifrs18 .hero {
  background: linear-gradient(140deg, rgba(109,40,217,.93) 0%, rgba(80,24,140,.89) 45%, rgba(40,10,90,.96) 100%), linear-gradient(165deg, #0c1020 0%, #140628 38%, #0a1320 70%, #1a0a30 100%);
  padding: 80px 40px 88px; position: relative; overflow: hidden;
}
.bam-ifrs18 .hero::before {
  content: ''; position: absolute; inset: 0;
  background: repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0, rgba(255,255,255,.025) 1px, transparent 1px, transparent 60px);
  pointer-events: none;
}
.bam-ifrs18 .hero::after {
  content: ''; position: absolute; right: -10%; top: -20%;
  width: 60%; height: 140%;
  background: radial-gradient(ellipse, rgba(255,255,255,.06) 0%, transparent 65%);
  pointer-events: none;
}
.bam-ifrs18 .hero-inner { position: relative; z-index: 1; max-width: 1160px; margin: 0 auto; }
.bam-ifrs18 .hero h1 { font-size: clamp(36px, 5.5vw, 72px); color: #fff; letter-spacing: 0.03em; line-height: 1.05; margin-bottom: 10px; font-weight: 900; }
.bam-ifrs18 .hero-sub { font-size: clamp(13px, 1.4vw, 18px); color: rgba(255,255,255,.75); letter-spacing: 0.06em; font-weight: 700; margin-bottom: 60px; margin-top: 6px; }
.bam-ifrs18 .hero-cards { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; margin-top: 52px; }
.bam-ifrs18 .hero-card { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2); border-radius: var(--r); padding: 26px 18px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; backdrop-filter: blur(4px); transition: background .25s, transform .25s; }
.bam-ifrs18 .hero-card:hover { background: rgba(255,255,255,.2); transform: translateY(-3px); }
.bam-ifrs18 .hero-card-ico { width: 54px; height: 54px; border-radius: 50%; background: rgba(255,255,255,.96); display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 16px rgba(0,0,0,.18); flex-shrink: 0; }
.bam-ifrs18 .hero-card-ico svg { width: 28px; height: 28px; }
.bam-ifrs18 .hero-card-title { font-size: 13.5px; font-weight: 800; color: #fff; letter-spacing: 0.07em; line-height: 1.25; }
.bam-ifrs18 .hero-card-desc  { font-size: 11.5px; color: rgba(255,255,255,.72); letter-spacing: 0.02em; line-height: 1.5; }

/* SPLIT / PAGE 3 */
.bam-ifrs18 .split-grid { display: grid; grid-template-columns: 1fr 1fr; min-height: 460px; }
.bam-ifrs18 .split-left { background: #fff; padding: 72px 64px 72px max(40px, calc(50vw - 580px)); display: flex; flex-direction: column; justify-content: center; }
.bam-ifrs18 .split-right { background: linear-gradient(140deg, rgba(109,40,217,.9) 0%, rgba(80,24,140,.87) 55%, rgba(40,10,90,.93) 100%), linear-gradient(180deg, #d8d0c0 0%, #c0b8a8 40%, #b0a898 100%); padding: 72px max(40px, calc(50vw - 580px)) 72px 64px; display: flex; flex-direction: column; justify-content: center; position: relative; overflow: hidden; }
.bam-ifrs18 .split-right::before { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(90deg, rgba(255,255,255,.04) 0, rgba(255,255,255,.04) 1px, transparent 1px, transparent 60px), repeating-linear-gradient(180deg, rgba(255,255,255,.04) 0, rgba(255,255,255,.04) 1px, transparent 1px, transparent 40px); pointer-events: none; }
.bam-ifrs18 .split-right > * { position: relative; z-index: 1; }
.bam-ifrs18 .s3-heading       { font-size: clamp(22px, 2.5vw, 32px); font-weight: 900; color: var(--navy); letter-spacing: 0.025em; margin-bottom: 18px; }
.bam-ifrs18 .s3-heading span  { color: var(--pk); }
.bam-ifrs18 .s3-pink          { font-size: 14px; font-weight: 700; color: var(--pk); line-height: 1.75; font-style: italic; margin-bottom: 20px; letter-spacing: 0.015em; }
.bam-ifrs18 .s3-body          { font-size: 13.5px; color: #444; line-height: 1.8; margin-bottom: 16px; letter-spacing: 0.015em; }
.bam-ifrs18 .s3-right-h       { font-size: clamp(24px, 3vw, 38px); font-weight: 900; color: #fff; letter-spacing: 0.03em; margin-bottom: 20px; }
.bam-ifrs18 .s3-right-bold    { font-size: 14px; font-weight: 700; color: rgba(255,255,255,.94); line-height: 1.8; margin-bottom: 18px; letter-spacing: 0.015em; }
.bam-ifrs18 .s3-right-light   { font-size: 13.5px; font-style: italic; color: rgba(255,255,255,.8); line-height: 1.8; letter-spacing: 0.015em; }

/* ARCH / PAGE 4 */
.bam-ifrs18 .arch-body { font-size: 14.5px; color: #444; line-height: 1.8; letter-spacing: 0.015em; max-width: 820px; margin-bottom: 36px; }
.bam-ifrs18 .arch-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
.bam-ifrs18 .bullet-list li { display: flex; align-items: flex-start; gap: 14px; padding: 13px 0; border-bottom: 1px solid rgba(46,16,101,.06); font-size: 14px; font-weight: 700; color: var(--navy); letter-spacing: 0.02em; line-height: 1.55; }
.bam-ifrs18 .bullet-list li::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--grad-h); flex-shrink: 0; margin-top: 6px; }
.bam-ifrs18 .purple-card { background: linear-gradient(135deg, #5B21B6 0%, #2E1065 100%); color: #fff; border-radius: var(--r); padding: 36px; box-shadow: var(--shadow-lg); }
.bam-ifrs18 .purple-card h3 { font-size: 15px; letter-spacing: 0.06em; margin-bottom: 16px; color: #fff; font-weight: 800; }
.bam-ifrs18 .purple-card p  { font-size: 13.5px; line-height: 1.78; color: rgba(255,255,255,.88); letter-spacing: 0.015em; margin-bottom: 12px; }

/* ═══════════════════════════════════════
   PAGE 5 — FIVE CATEGORIES
   NEW structure: each category is a
   self-contained .cat-unit with its bar
   + description kept together.
   Desktop: CSS Grid subgrid for the
   alternating above/below visual.
   Mobile: simple flex column stack.
═══════════════════════════════════════ */
.bam-ifrs18 .cats-flow { position: relative; z-index: 1; margin-top: 48px; }

/* 5-col, 3-row grid on desktop */
.bam-ifrs18 .cats-wrapper {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: auto auto auto;
  gap: 8px 10px;
}

/* Each unit spans all 3 row tracks; subgrid aligns desc/bar/spacer across cols */
.bam-ifrs18 .cat-unit {
  grid-row: 1 / 4;
  display: grid;
  grid-template-rows: subgrid;
  gap: 8px 0;
}

.bam-ifrs18 .cat-spacer { min-height: 0; } /* invisible alignment placeholder */

.bam-ifrs18 .cat-bar {
  width: 100%; height: 68px;
  display: flex; align-items: center; justify-content: center; gap: 10px;
  border-radius: 8px; padding: 0 12px;
}
.bam-ifrs18 .cb-1 { background: rgba(70,15,120,.65); }
.bam-ifrs18 .cb-2 { background: #5B21B6; }
.bam-ifrs18 .cb-3 { background: rgb(171 117 255 / 70%); }
.bam-ifrs18 .cb-4 { background: #906cc9; }
.bam-ifrs18 .cb-5 { background: #2E1065; }
.bam-ifrs18 .cat-bar svg       { width: 22px; height: 22px; flex-shrink: 0; }
.bam-ifrs18 .cat-bar-label     { font-size: 11.5px; font-weight: 800; color: #fff; letter-spacing: 0.04em; text-align: center; line-height: 1.3; }
.bam-ifrs18 .cat-desc          { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2); border-radius: 8px; padding: 16px 14px; font-size: 12px; color: rgba(255,255,255,.9); letter-spacing: 0.01em; line-height: 1.55; }
.bam-ifrs18 .cat-desc h5       { font-size: 12.5px; font-weight: 800; color: #fff; letter-spacing: 0.06em; margin-bottom: 6px; }

/* SUBTOTALS / PAGE 6 */
.bam-ifrs18 .sub-intro        { font-size: 14.5px; color: #333; line-height: 1.8; letter-spacing: 0.015em; max-width: 860px; margin-bottom: 32px; }
.bam-ifrs18 .sub-intro strong { color: var(--pk); font-weight: 800; }
.bam-ifrs18 .subtotals-table  { display: flex; flex-direction: column; gap: 16px; margin-bottom: 28px; }
.bam-ifrs18 .subtotal-row { display: grid; grid-template-columns: 300px 1fr; border-radius: 10px; overflow: hidden; box-shadow: var(--shadow); min-height: 76px; }
.bam-ifrs18 .sub-label { display: flex; align-items: center; justify-content: center; text-align: center; padding: 18px 22px; color: #fff; font-size: 14px; font-weight: 800; letter-spacing: 0.04em; line-height: 1.3; }
.bam-ifrs18 .sub-desc  { display: flex; align-items: center; padding: 18px 32px; background: #fff; font-size: 14px; color: #333; letter-spacing: 0.015em; border: 1px solid rgba(46,16,101,.06); border-left: none; }
.bam-ifrs18 .sr-1 .sub-label { background: linear-gradient(90deg, #7C3AED, #5B21B6); }
.bam-ifrs18 .sr-2 .sub-label { background: linear-gradient(90deg, #6D28D9, #5B21B6); }
.bam-ifrs18 .sr-3 .sub-label { background: linear-gradient(90deg, #5B21B6, #2E1065); }
.bam-ifrs18 .footnote { font-size: 13.5px; color: #555; letter-spacing: 0.015em; line-height: 1.78; padding: 20px 24px; background: #e9e0f9; border-radius: 8px; border-left: 4px solid var(--pk); }

/* MPMs INTRO / PAGE 7 */
.bam-ifrs18 .mpm-intro-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.bam-ifrs18 .mpm-intro-h { font-size: clamp(30px, 4vw, 54px); color: #fff; letter-spacing: 0.025em; line-height: 1.12; }
.bam-ifrs18 .mpm-intro-h em { font-style: italic; font-family: 'DM Serif Display', serif; font-weight: 400; }
.bam-ifrs18 .mpm-intro-body { font-size: 15px; color: rgba(255,255,255,.88); line-height: 1.8; letter-spacing: 0.015em; }

/* MPMs DETAIL / PAGE 8 */
.bam-ifrs18 .mpm-intro-text        { font-size: 14.5px; color: #333; line-height: 1.78; letter-spacing: 0.015em; margin-bottom: 32px; }
.bam-ifrs18 .mpm-intro-text strong { color: var(--pk); font-weight: 800; }
.bam-ifrs18 .mpm-grid              { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 24px; }
.bam-ifrs18 .mpm-card              { border-radius: var(--r); overflow: hidden; box-shadow: var(--shadow); }
.bam-ifrs18 .mpm-card-head         { padding: 20px 24px; background: var(--grad); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; }
.bam-ifrs18 .mpm-card-body         { padding: 26px 24px; background: #fff; border: 1px solid rgba(46,16,101,.06); border-top: none; }
.bam-ifrs18 .mpm-criteria          { display: flex; flex-direction: column; gap: 22px; }
.bam-ifrs18 .criterion { display: flex; gap: 16px; align-items: flex-start; }
.bam-ifrs18 .crit-num  { width: 36px; height: 36px; background: var(--grad); transform: rotate(45deg); border-radius: 3px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.bam-ifrs18 .crit-num span { transform: rotate(-45deg); color: #fff; font-size: 12px; font-weight: 900; letter-spacing: 0.02em; }
.bam-ifrs18 .crit-text h4  { font-size: 13.5px; font-weight: 800; color: var(--navy); letter-spacing: 0.04em; margin-bottom: 6px; }
.bam-ifrs18 .crit-text p   { font-size: 13px; color: #555; line-height: 1.68; letter-spacing: 0.01em; }
.bam-ifrs18 .presumption-box    { background: linear-gradient(160deg, #5B21B6, #2E1065); color: #fff; padding: 32px 28px; border-radius: var(--r); }
.bam-ifrs18 .presumption-box h3 { font-size: 16px; letter-spacing: 0.05em; margin-bottom: 16px; color: #fff; font-weight: 800; }
.bam-ifrs18 .presumption-box p  { font-size: 13px; line-height: 1.78; color: rgba(255,255,255,.88); letter-spacing: 0.015em; margin-bottom: 12px; }
.bam-ifrs18 .exclusions-box        { background: linear-gradient(160deg, #7C3AED, #5B21B6); color: #fff; padding: 28px 24px; border-radius: var(--r); }
.bam-ifrs18 .exclusions-box h3     { font-size: 15.5px; letter-spacing: 0.05em; margin-bottom: 10px; color: #fff; text-align: center; font-weight: 800; }
.bam-ifrs18 .excl-note             { font-size: 12.5px; font-weight: 700; text-align: center; border-bottom: 1px solid rgba(255,255,255,.3); padding-bottom: 12px; margin-bottom: 14px; letter-spacing: 0.02em; color: rgba(255,255,255,.92); }
.bam-ifrs18 .excl-subtext          { font-size: 12px; color: rgba(255,255,255,.85); letter-spacing: 0.01em; line-height: 1.6; margin-bottom: 14px; }
.bam-ifrs18 .excl-item             { margin-bottom: 14px; }
.bam-ifrs18 .excl-item strong      { font-size: 12.5px; text-decoration: underline; display: block; margin-bottom: 4px; letter-spacing: 0.02em; color: #fff; }
.bam-ifrs18 .excl-item p           { font-size: 12px; line-height: 1.62; color: rgba(255,255,255,.88); letter-spacing: 0.01em; }

/* MPMs DISCLOSURE / PAGE 9 */
.bam-ifrs18 .disc-intro  { font-size: 14.5px; font-weight: 700; color: var(--navy); letter-spacing: 0.02em; margin-bottom: 36px; line-height: 1.7; }
.bam-ifrs18 .disclosure-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 28px; }
.bam-ifrs18 .disc-item   { display: flex; flex-direction: column; align-items: center; text-align: center; }
.bam-ifrs18 .disc-diamond { width: 72px; height: 72px; background: var(--grad); transform: rotate(45deg); border-radius: 6px; display: flex; align-items: center; justify-content: center; margin-bottom: 22px; box-shadow: 0 6px 20px rgba(91,33,182,.22); flex-shrink: 0; }
.bam-ifrs18 .disc-diamond svg { transform: rotate(-45deg); width: 32px; height: 32px; fill: #fff; }
.bam-ifrs18 .disc-item h4 { font-size: 13.5px; font-weight: 800; color: var(--navy); letter-spacing: 0.04em; margin-bottom: 10px; line-height: 1.3; }
.bam-ifrs18 .disc-item p  { font-size: 12.5px; color: #555; line-height: 1.65; letter-spacing: 0.01em; }

/* EXPENSE PRESENTATION / PAGE 10 */
.bam-ifrs18 .exp-intro  { font-size: 14px; color: #333; line-height: 1.8; letter-spacing: 0.015em; margin-bottom: 10px; max-width: 900px; }
.bam-ifrs18 .exp-intro2 { font-size: 14px; color: #333; line-height: 1.8; letter-spacing: 0.015em; margin-bottom: 30px; max-width: 900px; }
.bam-ifrs18 .expense-row { display: grid; grid-template-columns: 56px 240px 1fr 1fr; border-radius: 10px; overflow: hidden; box-shadow: var(--shadow); min-height: 110px; margin-bottom: 20px; }
.bam-ifrs18 .exp-num   { background: var(--grad); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 18px; font-weight: 900; letter-spacing: 0.02em; }
.bam-ifrs18 .exp-desc  { background: #f7f3fb; padding: 22px; display: flex; flex-direction: column; justify-content: center; border: 1px solid rgba(46,16,101,.06); }
.bam-ifrs18 .exp-desc h4 { font-size: 14px; font-weight: 800; color: var(--navy); letter-spacing: 0.05em; margin-bottom: 8px; }
.bam-ifrs18 .exp-desc p  { font-size: 12.5px; color: #444; line-height: 1.68; letter-spacing: 0.01em; }
.bam-ifrs18 .exp-focus   { background: var(--pk); padding: 22px; display: flex; flex-direction: column; justify-content: center; }
.bam-ifrs18 .exp-focus h4 { font-size: 12.5px; font-weight: 800; color: #fff; letter-spacing: 0.1em; margin-bottom: 8px; }
.bam-ifrs18 .exp-focus p  { font-size: 12.5px; color: rgba(255,255,255,.9); line-height: 1.65; letter-spacing: 0.01em; }
.bam-ifrs18 .exp-strat   { background: var(--pu); padding: 22px; display: flex; flex-direction: column; justify-content: center; }
.bam-ifrs18 .exp-strat h4 { font-size: 12.5px; font-weight: 800; color: #fff; letter-spacing: 0.1em; margin-bottom: 8px; }
.bam-ifrs18 .exp-strat p  { font-size: 12.5px; color: rgba(255,255,255,.9); line-height: 1.65; letter-spacing: 0.01em; }

/* PRACTICAL IMPLICATIONS / PAGE 11 */
.bam-ifrs18 .impl-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 48px; position: relative; z-index: 1; }
.bam-ifrs18 .impl-card       { border-radius: var(--r); padding: 32px 26px; backdrop-filter: blur(6px); }
.bam-ifrs18 .impl-card-dark  { background: rgba(30,11,75,.65);   border: 1px solid rgba(255,255,255,.12); }
.bam-ifrs18 .impl-card-pink  { background: rgba(91,33,182,.55); border: 1px solid rgba(255,255,255,.12); }
.bam-ifrs18 .impl-num        { font-size: 36px; font-weight: 900; color: rgba(255,255,255,.28); letter-spacing: 0.02em; margin-bottom: 6px; }
.bam-ifrs18 .impl-title      { font-size: 14px; font-weight: 800; color: #fff; letter-spacing: 0.07em; padding-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,.25); margin-bottom: 14px; line-height: 1.3; }
.bam-ifrs18 .impl-card p     { font-size: 13px; color: rgba(255,255,255,.85); line-height: 1.72; letter-spacing: 0.01em; }
.bam-ifrs18 .impl-card p + p { margin-top: 10px; }

/* TRANSITION / PAGE 12 */
.bam-ifrs18 .transition-eff { background: linear-gradient(90deg, rgba(124,58,237,.07), rgba(91,33,182,.07)); border: 1px solid rgba(91,33,182,.14); border-radius: 10px; padding: 22px 32px; text-align: center; font-size: 16px; font-weight: 800; color: var(--dp); letter-spacing: 0.04em; margin-bottom: 48px; line-height: 1.5; }
.bam-ifrs18 .transition-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.bam-ifrs18 .trans-card { background: #fff; border-radius: var(--r); padding: 36px 32px; box-shadow: var(--shadow); border-top: 4px solid var(--pk); }
.bam-ifrs18 .trans-card-ico { font-size: 32px; margin-bottom: 18px; display: block; }
.bam-ifrs18 .trans-card h4  { font-size: 15px; font-weight: 800; color: var(--pk); letter-spacing: 0.06em; margin-bottom: 14px; }
.bam-ifrs18 .trans-card p   { font-size: 13.5px; color: #444; line-height: 1.78; letter-spacing: 0.015em; }

/* STRATEGIC ADVISORY / PAGE 13 */
.bam-ifrs18 .advisory-grid { display: grid; grid-template-columns: 55% 1fr; border-radius: 16px; overflow: hidden; box-shadow: var(--shadow-lg); }
.bam-ifrs18 .advisory-left { background: var(--grad); padding: 72px 64px; position: relative; overflow: hidden; }
.bam-ifrs18 .advisory-left::after { content: 'B'; position: absolute; font-size: 280px; font-weight: 900; color: rgba(255,255,255,.05); bottom: -40px; left: -20px; line-height: 1; font-family: 'Nunito Sans', sans-serif; }
.bam-ifrs18 .advisory-left > * { position: relative; z-index: 1; }
.bam-ifrs18 .advisory-left p   { font-size: 15px; color: rgba(255,255,255,.9); line-height: 1.88; letter-spacing: 0.015em; margin-bottom: 18px; }
.bam-ifrs18 .advisory-right    { background: #fff; padding: 72px 56px; display: flex; flex-direction: column; justify-content: center; }
.bam-ifrs18 .advisory-right h2 { font-size: clamp(24px, 2.8vw, 38px); color: var(--navy); letter-spacing: 0.03em; line-height: 1.25; text-align: center; }
.bam-ifrs18 .advisory-right h2 span { color: var(--pk); }

/* HOW BAM ASSISTS / PAGE 14 */
.bam-ifrs18 .services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 48px; position: relative; z-index: 1; }
.bam-ifrs18 .service-card { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); border-radius: var(--r); padding: 28px 26px; backdrop-filter: blur(4px); }
.bam-ifrs18 .svc-ico      { width: 46px; height: 46px; background: rgba(255,255,255,.18); border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 20px; margin-bottom: 14px; }
.bam-ifrs18 .service-card h4 { font-size: 14px; font-weight: 800; color: #fff; letter-spacing: 0.05em; margin-bottom: 10px; line-height: 1.3; }
.bam-ifrs18 .service-card p  { font-size: 12.5px; color: rgba(255,255,255,.82); line-height: 1.72; letter-spacing: 0.01em; }
.bam-ifrs18 .svc-url { font-size: 13px; font-style: italic; text-align: center; color: rgba(255,255,255,.75); text-decoration: underline; letter-spacing: 0.02em; position: relative; z-index: 1; margin-top: 28px; }

/* ═══════════════════════════════════
   RESPONSIVE BREAKPOINTS
═══════════════════════════════════ */
@media (max-width: 1200px) {
  .bam-ifrs18 .wrap,
  .bam-ifrs18 .wrap-wide { padding: 0 32px; }
}

@media (max-width: 1024px) {
  .bam-ifrs18 .hero-cards      { grid-template-columns: repeat(3, 1fr); }
  .bam-ifrs18 .impl-cards      { grid-template-columns: repeat(2, 1fr); }
  .bam-ifrs18 .services-grid   { grid-template-columns: repeat(2, 1fr); }
  .bam-ifrs18 .disclosure-grid { grid-template-columns: repeat(3, 1fr); }
  .bam-ifrs18 .mpm-grid        { grid-template-columns: 1fr 1fr; }
  .bam-ifrs18 .advisory-grid   { grid-template-columns: 1fr 1fr; }
  .bam-ifrs18 .transition-grid { grid-template-columns: repeat(3, 1fr); }
  .bam-ifrs18 .expense-row     { grid-template-columns: 56px 200px 1fr 1fr; }
}

@media (max-width: 768px) {
  .bam-ifrs18 .wrap,
  .bam-ifrs18 .wrap-wide { padding: 0 20px; }
  .bam-ifrs18 .section-grad,
  .bam-ifrs18 .section-light,
  .bam-ifrs18 .section-white { padding: 60px 0; }

  .bam-ifrs18 .hero         { padding: 56px 20px 52px; }
  .bam-ifrs18 .hero-cards   { grid-template-columns: repeat(2, 1fr); gap: 12px; }

  .bam-ifrs18 .split-grid   { grid-template-columns: 1fr; }
  .bam-ifrs18 .split-left   { padding: 48px 24px; }
  .bam-ifrs18 .split-right  { padding: 48px 24px; }

  .bam-ifrs18 .arch-grid    { grid-template-columns: 1fr; gap: 28px; }

  /* ── Page 5 mobile fix ──
     Switch wrapper from grid to flex column.
     Each cat-unit becomes a flex column.
     Hide spacers (only used for desktop row alignment).
     For "above" units (desc first in DOM), re-order so
     the coloured bar always appears before the desc. */
  .bam-ifrs18 .cats-wrapper {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .bam-ifrs18 .cat-unit {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .bam-ifrs18 .cat-spacer                { display: none; }
  .bam-ifrs18 .cat-unit-above .cat-bar   { order: -1; }
  .bam-ifrs18 .cat-unit-above .cat-desc  { order: 1; }

  .bam-ifrs18 .subtotal-row  { grid-template-columns: 1fr; min-height: auto; }
  .bam-ifrs18 .sub-label     { padding: 14px 18px; }
  .bam-ifrs18 .sub-desc      { border-left: 1px solid rgba(46,16,101,.06); padding: 14px 18px; }

  .bam-ifrs18 .mpm-intro-grid  { grid-template-columns: 1fr; gap: 32px; }
  .bam-ifrs18 .mpm-grid        { grid-template-columns: 1fr; }

  .bam-ifrs18 .disclosure-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }

  .bam-ifrs18 .expense-row   { grid-template-columns: 1fr; }
  .bam-ifrs18 .exp-num       { display: none; }
  .bam-ifrs18 .exp-desc,
  .bam-ifrs18 .exp-focus,
  .bam-ifrs18 .exp-strat     { padding: 18px; }

  .bam-ifrs18 .impl-cards    { grid-template-columns: 1fr 1fr; }
  .bam-ifrs18 .transition-grid { grid-template-columns: 1fr; gap: 20px; }

  .bam-ifrs18 .advisory-grid  { grid-template-columns: 1fr; }
  .bam-ifrs18 .advisory-left,
  .bam-ifrs18 .advisory-right { padding: 48px 24px; }
  .bam-ifrs18 .advisory-right h2 { text-align: left; }

  .bam-ifrs18 .services-grid  { grid-template-columns: 1fr; }
  .bam-ifrs18 .transition-eff { padding: 18px 20px; font-size: 14px; }
}

@media (max-width: 480px) {
  .bam-ifrs18 .wrap,
  .bam-ifrs18 .wrap-wide { padding: 0 16px; }
  .bam-ifrs18 .hero-cards      { grid-template-columns: 1fr; }
  .bam-ifrs18 .disclosure-grid { grid-template-columns: 1fr; }
  .bam-ifrs18 .impl-cards      { grid-template-columns: 1fr; }
  .bam-ifrs18 .section-grad,
  .bam-ifrs18 .section-light,
  .bam-ifrs18 .section-white   { padding: 48px 0; }
  .bam-ifrs18 .hero             { padding: 40px 16px 44px; }
  .bam-ifrs18 .hero-sub         { margin-bottom: 36px; }
  .bam-ifrs18 .mpm-grid         { grid-template-columns: 1fr; }
  .bam-ifrs18 .arch-grid        { grid-template-columns: 1fr; }
  .bam-ifrs18 .advisory-grid    { grid-template-columns: 1fr; }
}
