Qatar QFMA / QFCRA ISSB (IFRS S1 & S2) Platform
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@300;400;500;600&display=swap'); /* hide Dawn theme native purchase UI */ .product-form, .product__quantity, .price__container, .price, .product__tax, .product-form__buttons, .shopify-payment-button, .payment-button, [data-productid] form, .product__info-container .price, .product__info-container .product-form { display: none !important; } .elx *, .elx *::before, .elx *::after { margin:0; padding:0; box-sizing:border-box; } .elx img { display:block; max-width:100%; height:auto; } .elx{ --navy:#0A1628; --navy-h:#16233B; --ink:#0E1116; --teal:#4E9D8F; --teal-x:#7FBCAB; --mut:#5B6470; --mut-l:#8A929B; --faint:#98A0A8; --paper:#FBFBFA; --sage:#F4F8F6; --rule:#E7E9EC; --rule-l:#EFF1F3; --h1-max:54px; --impact-max:44px; font-family:'IBM Plex Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; color:var(--ink); line-height:1.6; background:#fff; -webkit-font-smoothing:antialiased; width:100%; overflow-x:hidden; } .elx a{ text-decoration:none; } /* ── rhythm ─────────────────────────────────────────────────────────── */ .elx .sec{ padding:clamp(60px,6vw,102px) 22px; } .elx .sec-hero{ padding:clamp(40px,4vw,64px) 22px clamp(48px,5vw,88px); } .elx .sec-minor{ padding:clamp(48px,4.5vw,78px) 22px; } .elx .sec-final{ padding:clamp(68px,6.6vw,120px) 22px; } .elx .wrap{ max-width:1240px; margin:0 auto; } .elx .paper{ background:var(--paper); } .elx .dark{ background:var(--navy); } /* ── type ───────────────────────────────────────────────────────────── */ .elx .eyebrow{ display:block; font-family:'IBM Plex Mono',monospace; font-size:11px; font-weight:500; letter-spacing:.13em; text-transform:uppercase; color:var(--teal); margin-bottom:14px; } .elx .dark .eyebrow{ color:var(--teal-x); } .elx h1{ font-weight:600; font-size:clamp(33px,4vw,var(--h1-max)); line-height:1.05; letter-spacing:-.026em; color:var(--ink); text-wrap:balance; } .elx h2{ font-weight:600; font-size:clamp(26px,2.9vw,36px); line-height:1.12; letter-spacing:-.026em; color:var(--ink); max-width:820px; text-wrap:balance; } .elx h2.impact{ font-size:clamp(27px,3.3vw,var(--impact-max)); line-height:1.08; max-width:900px; } .elx .dark h1, .elx .dark h2{ color:#fff; } .elx h3{ font-weight:600; font-size:clamp(20px,1.95vw,24px); line-height:1.24; letter-spacing:-.02em; } .elx .dark h3{ color:#fff; } .elx .lead{ font-size:clamp(16px,1.3vw,18px); line-height:1.6; font-weight:300; color:var(--mut); max-width:660px; margin-top:20px; } .elx .lead.wide{ max-width:780px; } .elx .dark .lead{ color:rgba(255,255,255,.74); } .elx .body{ font-size:clamp(14.5px,1.15vw,15.5px); line-height:1.65; font-weight:300; color:var(--mut); } .elx .dark .body{ color:rgba(255,255,255,.68); } .elx .statement{ font-weight:600; font-size:clamp(22px,2.4vw,30px); line-height:1.28; letter-spacing:-.02em; } .elx .dark .statement{ color:#fff; } .elx .mono{ font-family:'IBM Plex Mono',monospace; } .elx .small{ font-size:13px; line-height:1.5; color:var(--mut-l); font-weight:300; } /* ── actions ────────────────────────────────────────────────────────── */ .elx .ctas{ display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-top:26px; } .elx .btn{ display:inline-flex; align-items:center; gap:8px; font-size:14.5px; font-weight:600; padding:12px 22px; border-radius:8px; transition:background .2s, transform .15s, box-shadow .18s, border-color .2s; } .elx .btn.solid{ background:var(--navy); color:#fff; } .elx .btn.solid:hover{ background:var(--navy-h); transform:translateY(-2px); box-shadow:0 10px 24px rgba(10,22,40,.24); } .elx .btn.line{ color:var(--navy); border:1px solid rgba(10,22,40,.18); } .elx .btn.line:hover{ border-color:var(--navy); transform:translateY(-2px); } .elx .dark .btn.line{ color:#fff; border-color:rgba(255,255,255,.28); } .elx .dark .btn.line:hover{ border-color:#fff; } .elx .textcta{ display:inline-flex; align-items:center; gap:9px; font-size:15px; font-weight:500; color:var(--ink); border-bottom:1px solid #C6CCD2; padding-bottom:2px; transition:border-color .2s; } .elx .textcta:hover{ border-color:var(--ink); } .elx .dark .textcta{ color:#fff; border-color:rgba(255,255,255,.34); } .elx .dark .textcta:hover{ border-color:#fff; } .elx .textcta svg{ transition:transform .2s; } .elx .textcta:hover svg{ transform:translateX(3px); } /* ── hero variants ──────────────────────────────────────────────────── */ .elx .hero{ display:grid; grid-template-columns:55fr 45fr; gap:clamp(30px,4vw,58px); align-items:center; } .elx .hero.mirror{ grid-template-columns:45fr 55fr; } .elx .hero.mirror .hero-txt{ order:2; } .elx .hero-wide{ max-width:920px; } .elx .proof{ display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:30px; padding-top:16px; border-top:1px solid var(--rule); font-size:13.5px; color:var(--mut-l); font-weight:300; } .elx .keyfacts{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:38px; border-top:1px solid var(--ink); } .elx .keyfact{ padding:20px 24px 0; border-left:1px solid var(--rule); } .elx .keyfact:first-child{ padding-left:0; border-left:none; } .elx .keyfact .k{ font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--faint); margin-bottom:8px; } .elx .keyfact .v{ font-size:17px; font-weight:600; letter-spacing:-.02em; line-height:1.25; } .elx .keyfact p{ font-size:13.5px; line-height:1.55; color:var(--mut); font-weight:300; margin-top:6px; } /* ── browser frame and panels ───────────────────────────────────────── */ .elx .frame{ border:1px solid var(--rule); border-radius:12px; overflow:hidden; background:#fff; box-shadow:0 22px 52px rgba(10,22,40,.13); } .elx .frame.big{ box-shadow:0 26px 60px rgba(10,22,40,.15); } .elx .frame-bar{ display:flex; align-items:center; gap:7px; padding:10px 14px; border-bottom:1px solid var(--rule-l); background:var(--paper); } .elx .frame-bar i{ width:9px; height:9px; border-radius:50%; background:#DFE3E7; display:block; } .elx .frame-bar span{ margin-left:8px; font-size:11px; color:var(--mut-l); font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .elx .crop{ height:340px; overflow:hidden; } .elx .crop img{ width:100%; object-fit:cover; object-position:left top; height:100%; } .elx .panel-body{ padding:16px; } .elx .prow{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 13px; border:1px solid var(--rule-l); border-radius:8px; margin-bottom:8px; min-width:0; } .elx .prow:last-of-type{ margin-bottom:0; } .elx .prow.on{ border-color:var(--teal); background:#F7FBF9; } .elx .prow .pl{ font-size:13.5px; color:var(--ink); min-width:0; } .elx .prow .pr{ font-family:'IBM Plex Mono',monospace; font-size:11.5px; color:var(--mut); white-space:nowrap; } .elx .tag{ font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.06em; padding:4px 9px; border-radius:5px; white-space:nowrap; } .elx .tag.done{ color:var(--teal); background:#EAF3F0; } .elx .tag.wip{ color:#B9821F; background:#FBF3E4; } .elx .tag.na{ color:var(--mut); background:#F1F3F5; } .elx .pmeta{ display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:14px; padding-top:12px; border-top:1px solid var(--rule-l); font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--faint); } .elx .pair{ display:grid; grid-template-columns:1fr 260px; gap:16px; align-items:end; } .elx .detail{ border:1px solid var(--rule); border-radius:10px; background:#fff; padding:14px 15px; box-shadow:0 12px 30px rgba(10,22,40,.08); } .elx .detail .k{ font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:var(--faint); margin-bottom:7px; } .elx .detail .v{ font-size:19px; font-weight:600; letter-spacing:-.02em; } .elx .detail .s{ font-size:11.5px; color:var(--mut-l); margin-top:3px; line-height:1.45; } /* ── output and sample ──────────────────────────────────────────────── */ .elx .doc{ display:block; } .elx .doc img{ width:100%; border:1px solid var(--rule); box-shadow:0 30px 66px rgba(10,22,40,.15); transition:transform .25s, box-shadow .25s; } .elx .doc:hover img{ transform:translateY(-3px); box-shadow:0 36px 76px rgba(10,22,40,.2); } .elx .doc.narrow{ max-width:72%; margin-top:38px; } .elx .outgrid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,4.5vw,64px); align-items:center; margin-top:40px; } .elx .outgrid.flip .out-txt{ order:-1; } .elx .inside{ list-style:none; border-top:1px solid var(--rule); } .elx .inside li{ padding:13px 0; border-bottom:1px solid var(--rule-l); font-size:14.5px; color:#41474F; font-weight:300; display:flex; gap:14px; } .elx .inside li b{ font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.1em; color:var(--teal); font-weight:500; flex:0 0 46px; padding-top:3px; } .elx .pillars{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:42px; } .elx .pillar{ padding:0 24px; border-left:1px solid var(--rule); } .elx .pillar:first-child{ padding-left:0; border-left:none; } .elx .pillar .k{ font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.11em; text-transform:uppercase; color:var(--ink); margin-bottom:7px; } .elx .pillar p{ font-size:13.5px; line-height:1.55; color:var(--mut); font-weight:300; } /* ── perimeter table (rows of regime / instrument / who / when) ─────── */ .elx .per{ margin-top:44px; border-top:1px solid var(--ink); } .elx .per-hd, .elx .per-row{ display:grid; grid-template-columns:1.15fr 1.35fr 1.5fr 1.25fr; gap:0 28px; } .elx .per-hd{ padding:12px 0; border-bottom:1px solid var(--rule); } .elx .per-hd .k{ font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--faint); } .elx .per-row{ padding:24px 0; border-bottom:1px solid var(--rule); align-items:start; transition:background .2s; } .elx .per-row:hover{ background:var(--sage); } .elx .per-row .a{ font-size:15px; font-weight:600; letter-spacing:-.015em; color:var(--ink); } .elx .per-row .a em{ display:block; font-style:normal; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.11em; text-transform:uppercase; color:var(--teal); margin-bottom:6px; font-weight:500; } .elx .per-row p{ font-size:14px; line-height:1.6; color:var(--mut); font-weight:300; } .elx .per-row .when{ font-family:'IBM Plex Mono',monospace; font-size:12.5px; line-height:1.55; color:var(--ink); } .elx .per-row .when small{ display:block; font-family:'IBM Plex Sans',sans-serif; font-size:12px; color:var(--mut-l); margin-top:4px; font-weight:300; letter-spacing:0; } .elx .per-base{ padding:20px 22px; background:var(--navy); color:#fff; } .elx .per-base .k{ font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--teal-x); margin-bottom:6px; } .elx .per-base p{ font-size:15px; font-weight:300; color:rgba(255,255,255,.9); max-width:700px; } /* ── fork: one source, two outputs ──────────────────────────────────── */ .elx .duo{ display:grid; grid-template-columns:1fr 44px 1.15fr; gap:0; margin-top:40px; align-items:center; } .elx .duo-src{ border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.03); padding:24px 24px 22px; } .elx .duo-src .k{ font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--teal-x); margin-bottom:12px; } .elx .duo-src .v{ font-size:19px; font-weight:600; color:#fff; letter-spacing:-.02em; line-height:1.25; } .elx .duo-src ul{ list-style:none; margin-top:16px; } .elx .duo-src li{ font-size:13.5px; color:rgba(255,255,255,.6); font-weight:300; padding:5px 0; border-top:1px solid rgba(255,255,255,.09); } .elx .duo-fork{ position:relative; height:100%; min-height:180px; } .elx .duo-fork svg{ position:absolute; inset:0; width:100%; height:100%; } .elx .duo-out{ display:grid; gap:14px; } .elx .duo-card{ border:1px solid rgba(127,188,171,.4); background:rgba(78,157,143,.08); padding:20px 22px; } .elx .duo-card .k{ font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--teal-x); margin-bottom:9px; } .elx .duo-card .v{ font-size:16px; font-weight:600; color:#fff; letter-spacing:-.015em; line-height:1.3; } .elx .duo-card p{ font-size:13.5px; line-height:1.6; color:rgba(255,255,255,.66); font-weight:300; margin-top:7px; } .elx .duo-card a{ display:inline-block; margin-top:12px; font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--teal-x); border-bottom:1px solid rgba(127,188,171,.5); padding-bottom:2px; } .elx .duo-card a:hover{ border-color:var(--teal-x); } /* ── split path: two regimes side by side ───────────────────────────── */ .elx .paths{ display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:42px; border-top:1px solid var(--rule); } .elx .path{ padding:30px 32px 32px; border-left:1px solid var(--rule); } .elx .path:first-child{ padding-left:0; border-left:none; } .elx .path .k{ font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--teal); margin-bottom:10px; } .elx .path h3{ margin-bottom:6px; } .elx .path .sub{ font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--mut-l); margin-bottom:16px; } .elx .path p{ font-size:14.5px; line-height:1.65; color:var(--mut); font-weight:300; } .elx .path ul{ list-style:none; margin-top:18px; } .elx .path li{ font-size:14px; color:#41474F; font-weight:300; padding:9px 0; border-bottom:1px solid var(--rule-l); } .elx .path li:first-child{ border-top:1px solid var(--rule-l); } .elx .path .foot-note{ margin-top:18px; font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--faint); } .elx .paths-join{ margin-top:0; padding:22px; background:var(--navy); display:flex; align-items:center; gap:18px; flex-wrap:wrap; } .elx .paths-join .k{ font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--teal-x); } .elx .paths-join p{ font-size:15px; font-weight:300; color:rgba(255,255,255,.9); } /* ── transition map: from an old regime to a new one ────────────────── */ .elx .tmap{ margin-top:42px; border-top:1px solid var(--ink); } .elx .tmap-hd{ display:grid; grid-template-columns:1fr 56px 1fr; gap:0 24px; padding:12px 0; border-bottom:1px solid var(--rule); } .elx .tmap-hd .k{ font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--faint); } .elx .tmap-row{ display:grid; grid-template-columns:1fr 56px 1fr; gap:0 24px; padding:20px 0; border-bottom:1px solid var(--rule); align-items:center; } .elx .tmap-row .from{ font-size:14.5px; color:var(--mut); font-weight:300; } .elx .tmap-row .to{ font-size:14.5px; color:var(--ink); font-weight:400; } .elx .tmap-row .to b{ font-weight:600; } .elx .tmap-row .arr{ display:flex; align-items:center; justify-content:center; color:#C4CCD2; } .elx .tmap-row.new .to{ background:var(--sage); padding:10px 14px; border-left:2px solid var(--teal); } .elx .tmap-note{ padding:18px 0 0; font-size:13.5px; color:var(--mut-l); font-weight:300; } /* ── phased timeline ────────────────────────────────────────────────── */ .elx .phase{ margin-top:44px; } .elx .phase-track{ display:grid; grid-template-columns:repeat(var(--n,3),1fr); gap:0; } .elx .ph{ padding:0 22px; border-left:1px solid rgba(255,255,255,.16); position:relative; } .elx .ph:first-child{ padding-left:0; border-left:none; } .elx .ph .yr{ font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:.12em; color:var(--teal-x); margin-bottom:12px; } .elx .ph .bar{ height:3px; background:rgba(255,255,255,.16); margin-bottom:18px; } .elx .ph.on .bar{ background:var(--teal-x); } .elx .ph .t{ font-size:16px; font-weight:600; color:#fff; letter-spacing:-.015em; line-height:1.3; } .elx .ph p{ font-size:13.5px; line-height:1.6; color:rgba(255,255,255,.62); font-weight:300; margin-top:9px; } .elx .ph ul{ list-style:none; margin-top:12px; } .elx .ph li{ font-size:13px; color:rgba(255,255,255,.55); font-weight:300; padding:4px 0; } .elx .ph.on li{ color:rgba(255,255,255,.8); } /* light phased timeline */ .elx .phase.light .ph{ border-left-color:var(--rule); } .elx .phase.light .ph .yr{ color:var(--teal); } .elx .phase.light .ph .bar{ background:var(--rule); } .elx .phase.light .ph.on .bar{ background:var(--navy); } .elx .phase.light .ph .t{ color:var(--ink); } .elx .phase.light .ph p{ color:var(--mut); } .elx .phase.light .ph li{ color:var(--mut); } /* ── decision chain (gates) ─────────────────────────────────────────── */ .elx .gates{ margin-top:42px; display:grid; gap:0; } .elx .gate{ display:grid; grid-template-columns:52px 1fr 200px; gap:0 24px; padding:22px 0; border-top:1px solid var(--rule); align-items:start; } .elx .gate:last-of-type{ border-bottom:1px solid var(--rule); } .elx .gate .n{ font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.1em; color:var(--teal); padding-top:4px; } .elx .gate .t{ font-size:16.5px; font-weight:600; letter-spacing:-.018em; line-height:1.3; } .elx .gate p{ font-size:14px; line-height:1.6; color:var(--mut); font-weight:300; margin-top:7px; max-width:620px; } .elx .gate .res{ font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--mut-l); padding-top:5px; } .elx .gate .res b{ display:block; color:var(--ink); font-weight:500; } .elx .gate-out{ margin-top:0; padding:24px 26px; background:var(--navy); display:grid; grid-template-columns:repeat(3,1fr); gap:24px; } .elx .gate-out .k{ font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--teal-x); margin-bottom:8px; } .elx .gate-out .v{ font-size:24px; font-weight:600; color:#fff; letter-spacing:-.025em; } .elx .gate-out p{ font-size:12.5px; color:rgba(255,255,255,.6); font-weight:300; margin-top:5px; } /* ── materiality matrix ─────────────────────────────────────────────── */ .elx .matwrap{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,4.5vw,64px); align-items:center; margin-top:42px; } .elx .mat{ position:relative; border-left:1px solid var(--ink); border-bottom:1px solid var(--ink); padding:0 0 32px 34px; } .elx .mat-grid{ position:relative; aspect-ratio:1/1; background: linear-gradient(to right, var(--rule-l) 1px, transparent 1px) 0 0/25% 100%, linear-gradient(to top, var(--rule-l) 1px, transparent 1px) 0 100%/100% 25%; border:1px solid var(--rule-l); background-color:var(--paper); } .elx .mdot{ position:absolute; transform:translate(-50%,50%); } .elx .mdot i{ display:block; width:11px; height:11px; border-radius:50%; background:#C7CFD6; border:2px solid #fff; box-shadow:0 2px 6px rgba(10,22,40,.15); } .elx .mdot.mat-on i{ background:var(--teal); width:14px; height:14px; } .elx .mdot span{ position:absolute; left:19px; top:50%; transform:translateY(-50%); white-space:nowrap; font-size:11.5px; color:var(--mut); font-weight:300; } .elx .mdot.mat-on span{ color:var(--ink); font-weight:500; } .elx .mdot.flipL span, .elx .mdot span.flipL{ left:auto; right:19px; } .elx .mat-x, .elx .mat-y{ font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--faint); white-space:nowrap; } .elx .mat-x{ position:absolute; bottom:8px; left:34px; } .elx .mat-y{ position:absolute; left:-2px; top:50%; transform:rotate(-90deg) translateX(50%); transform-origin:left center; } .elx .mat-legend{ display:flex; gap:20px; margin-top:18px; flex-wrap:wrap; } .elx .mat-legend span{ font-size:12.5px; color:var(--mut-l); font-weight:300; display:inline-flex; align-items:center; gap:7px; } .elx .mat-legend i{ width:9px; height:9px; border-radius:50%; background:#C7CFD6; } .elx .mat-legend i.on{ background:var(--teal); } /* ── departmental / operational flow ────────────────────────────────── */ .elx .lanes{ margin-top:42px; border-top:1px solid var(--ink); } .elx .lane{ display:grid; grid-template-columns:190px 1fr 1fr; gap:0 26px; padding:20px 0; border-bottom:1px solid var(--rule); align-items:start; } .elx .lane .who{ font-size:15px; font-weight:600; letter-spacing:-.015em; } .elx .lane .who em{ display:block; font-style:normal; font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--teal); margin-bottom:6px; font-weight:500; } .elx .lane p{ font-size:14px; line-height:1.6; color:var(--mut); font-weight:300; } .elx .flowline{ display:flex; align-items:stretch; flex-wrap:wrap; gap:0; margin-top:42px; border:1px solid var(--rule); } .elx .fnode{ flex:1 1 0; min-width:170px; padding:22px 22px 24px; border-left:1px solid var(--rule); } .elx .fnode:first-child{ border-left:none; } .elx .fnode .n{ font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.13em; color:var(--teal); margin-bottom:10px; } .elx .fnode .t{ font-size:15px; font-weight:600; letter-spacing:-.015em; line-height:1.3; } .elx .fnode p{ font-size:13px; line-height:1.55; color:var(--mut); font-weight:300; margin-top:8px; } .elx .flowline.vert{ display:block; } .elx .flowline.vert .fnode{ display:grid; grid-template-columns:190px 1fr; gap:0 26px; border-left:none; border-top:1px solid var(--rule); padding:20px 24px; } .elx .flowline.vert .fnode:first-child{ border-top:none; } .elx .flowline.vert .fnode .n{ margin-bottom:7px; } .elx .flowline.vert .fnode p{ margin-top:0; font-size:14px; line-height:1.6; } .elx .fnode.end{ background:var(--navy); } .elx .fnode.end .n{ color:var(--teal-x); } .elx .fnode.end .t{ color:#fff; } .elx .fnode.end p{ color:rgba(255,255,255,.66); } /* ── layered baseline and overlay ───────────────────────────────────── */ .elx .layers{ margin-top:42px; } .elx .layer{ border:1px solid var(--rule); border-bottom:none; padding:22px 26px; background:#fff; display:grid; grid-template-columns:170px 1fr; gap:0 26px; align-items:start; } .elx .layer:last-child{ border-bottom:1px solid var(--rule); } .elx .layer.base{ background:var(--navy); border-color:var(--navy); } .elx .layer.base .k{ color:var(--teal-x); } .elx .layer.base .t{ color:#fff; } .elx .layer.base p{ color:rgba(255,255,255,.66); } .elx .layer.over{ background:var(--sage); border-left:2px solid var(--teal); } .elx .layer .k{ font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--teal); margin-bottom:7px; } .elx .layer .t{ font-size:15.5px; font-weight:600; letter-spacing:-.015em; line-height:1.3; } .elx .layer p{ font-size:14px; line-height:1.6; color:var(--mut); font-weight:300; } .elx .layer ul{ list-style:none; margin-top:10px; display:grid; grid-template-columns:1fr 1fr; gap:0 22px; } .elx .layer li{ font-size:13.5px; color:var(--mut); font-weight:300; padding:5px 0; border-top:1px solid var(--rule-l); } .elx .layer.base li{ color:rgba(255,255,255,.62); border-top-color:rgba(255,255,255,.1); } /* ── sticky workflow rail ───────────────────────────────────────────── */ .elx .flow{ display:grid; grid-template-columns:210px 1fr; gap:clamp(28px,5vw,72px); margin-top:44px; align-items:start; } .elx .rail{ position:sticky; top:100px; } .elx .rail a{ display:block; padding:11px 0 11px 15px; border-left:2px solid var(--rule); transition:border-color .25s, color .25s; } .elx .rail a .n{ font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.12em; color:var(--faint); display:block; margin-bottom:3px; } .elx .rail a .t{ font-size:15px; font-weight:500; color:var(--mut-l); letter-spacing:-.01em; transition:color .25s; } .elx .rail a.on{ border-left-color:var(--navy); } .elx .rail a.on .t{ color:var(--ink); } .elx .rail a.on .n{ color:var(--teal); } .elx .stage{ margin-bottom:76px; } .elx .stage:last-child{ margin-bottom:0; } .elx .stage .k{ font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--teal); margin-bottom:10px; } .elx .stage .body{ margin-top:11px; max-width:560px; } .elx .stage .vis{ margin-top:26px; } /* ── alternating build blocks ───────────────────────────────────────── */ .elx .blk{ display:grid; grid-template-columns:1fr 1.25fr; gap:clamp(28px,4.5vw,64px); align-items:center; margin-top:clamp(48px,5vw,78px); } .elx .blk.flip .blk-txt{ order:2; } .elx .blk .k{ font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--teal); margin-bottom:11px; } .elx .blk .body{ margin-top:11px; } .elx .blk ul{ list-style:none; margin-top:18px; } .elx .blk li{ font-size:14px; color:#41474F; font-weight:300; padding:8px 0; border-bottom:1px solid var(--rule-l); } .elx .cadence{ margin-top:clamp(46px,5vw,72px); padding-top:32px; border-top:1px solid var(--rule); display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; } .elx .dark .cadence{ border-top-color:rgba(255,255,255,.16); } /* ── calendar / cycle ───────────────────────────────────────────────── */ .elx .cal{ display:grid; grid-template-columns:repeat(var(--n,4),1fr); gap:0; margin-top:42px; } .elx .cstep{ padding:22px 24px 6px; border-top:2px solid rgba(255,255,255,.24); } .elx .cstep:first-child{ padding-left:0; } .elx .cstep.now{ border-top-color:var(--teal-x); } .elx .cstep .m{ font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--teal-x); margin-bottom:10px; } .elx .cstep .t{ font-size:15.5px; font-weight:600; color:#fff; letter-spacing:-.015em; line-height:1.3; } .elx .cstep p{ font-size:13.5px; line-height:1.6; color:rgba(255,255,255,.62); font-weight:300; margin-top:8px; } .elx .three{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(22px,3vw,44px); margin-top:44px; } .elx .three .k{ font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--teal-x); margin-bottom:8px; } .elx .three p{ font-size:14.5px; line-height:1.6; color:rgba(255,255,255,.72); font-weight:300; } .elx section:not(.dark) .three .k{ color:var(--teal); } .elx section:not(.dark) .three p{ color:var(--mut); } /* ── scale rail and columns ─────────────────────────────────────────── */ .elx .scale{ display:flex; align-items:center; flex-wrap:wrap; gap:10px 4px; margin-top:36px; padding:20px 0; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); } .elx .sstep{ font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink); padding:6px 0; } .elx .sarr{ color:#C4CCD2; padding:0 14px; display:flex; align-items:center; } .elx .cols3{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(24px,3.4vw,52px); margin-top:34px; } .elx .col .k{ font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--faint); margin-bottom:9px; } .elx .col p{ font-size:14.5px; line-height:1.6; color:var(--mut); font-weight:300; } /* ── topic grid ─────────────────────────────────────────────────────── */ .elx .topics{ display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin-top:42px; border-top:1px solid var(--ink); } .elx .topic{ padding:20px 20px 22px; border-left:1px solid var(--rule); border-bottom:1px solid var(--rule); transition:background .2s; } .elx .topic:hover{ background:var(--sage); } .elx .topic .c{ font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.1em; color:var(--teal); margin-bottom:8px; } .elx .topic .t{ font-size:14.5px; font-weight:600; letter-spacing:-.015em; line-height:1.3; } .elx .topic p{ font-size:12.5px; line-height:1.5; color:var(--mut); font-weight:300; margin-top:6px; } .elx .topic.cross{ background:var(--navy); border-color:var(--navy); } .elx .topic.cross .c{ color:var(--teal-x); } .elx .topic.cross .t{ color:#fff; } .elx .topic.cross p{ color:rgba(255,255,255,.62); } .elx .topics .topic:nth-child(5n+1){ border-left:none; } /* ── spec and faq ───────────────────────────────────────────────────── */ .elx .databar{ display:flex; flex-wrap:wrap; align-items:baseline; gap:10px 30px; padding:18px 0; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); margin-bottom:clamp(40px,4.5vw,66px); } .elx .databar .k{ font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--faint); } .elx .databar span{ font-size:14px; color:var(--ink); font-weight:300; } .elx .split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,76px); align-items:start; } .elx .speclist{ display:grid; grid-template-columns:1fr 1fr; gap:0 26px; margin-top:24px; } .elx .speclist ul{ list-style:none; } .elx .speclist li{ font-size:14.5px; color:#41474F; font-weight:300; padding:8px 0; border-bottom:1px solid var(--rule-l); } .elx .faq{ margin-top:24px; border-top:1px solid var(--rule); } .elx .faq details{ border-bottom:1px solid var(--rule); } .elx .faq summary{ list-style:none; cursor:pointer; padding:16px 0; font-size:15.5px; font-weight:500; letter-spacing:-.01em; color:var(--ink); display:flex; justify-content:space-between; gap:16px; } .elx .faq summary::-webkit-details-marker{ display:none; } .elx .faq summary::after{ content:'+'; color:var(--teal); font-size:20px; line-height:1; font-weight:400; } .elx .faq details[open] summary::after{ content:'\2013'; } .elx .faq p{ padding:0 0 18px; font-size:14.5px; line-height:1.7; color:var(--mut); font-weight:300; } /* ── close ──────────────────────────────────────────────────────────── */ .elx .close{ background:linear-gradient(180deg,#FFFFFF 0%,#F4F6F8 55%,#E9EDF1 100%); } .elx .foot{ padding:26px 22px; text-align:center; font-size:11.5px; line-height:1.7; color:#9AA3AD; font-weight:300; border-top:1px solid var(--rule-l); } /* ── tablet ─────────────────────────────────────────────────────────── */ @media (max-width:980px){ .elx .hero, .elx .hero.mirror{ grid-template-columns:1fr; gap:34px; } .elx .hero.mirror .hero-txt{ order:0; } .elx .crop{ height:280px; } .elx .doc.narrow{ max-width:100%; } .elx .outgrid{ grid-template-columns:1fr; gap:34px; } .elx .outgrid.flip .out-txt{ order:0; } .elx .keyfacts{ grid-template-columns:1fr; } .elx .keyfact{ padding:18px 0 0; border-left:none; border-top:1px solid var(--rule); } .elx .keyfact:first-child{ border-top:none; } .elx .per-hd, .elx .tmap-hd{ display:none; } .elx .per-row{ grid-template-columns:1fr; gap:10px; padding:22px 0; } .elx .tmap-row{ grid-template-columns:1fr; gap:10px; } .elx .tmap-row .arr{ justify-content:flex-start; transform:rotate(90deg); width:24px; } .elx .duo{ grid-template-columns:1fr; } .elx .duo-fork{ min-height:44px; } .elx .paths{ grid-template-columns:1fr; } .elx .path{ padding:26px 0 28px; border-left:none; border-top:1px solid var(--rule); } .elx .path:first-child{ border-top:none; padding-top:26px; } .elx .blk, .elx .blk.flip .blk-txt{ grid-template-columns:1fr; order:0; } .elx .blk{ gap:28px; } .elx .flow{ grid-template-columns:1fr; gap:26px; } .elx .rail{ position:static; display:flex; gap:0; border-bottom:1px solid var(--rule); } .elx .rail a{ flex:1; border-left:none; border-bottom:2px solid var(--rule); padding:0 0 10px; } .elx .rail a.on{ border-left-color:var(--rule); border-bottom-color:var(--navy); } .elx .split{ grid-template-columns:1fr; gap:44px; } .elx .matwrap{ grid-template-columns:1fr; gap:34px; } .elx .lane{ grid-template-columns:1fr; gap:10px; } .elx .layer{ grid-template-columns:1fr; gap:12px; } .elx .gate{ grid-template-columns:40px 1fr; } .elx .gate .res{ grid-column:2; padding-top:12px; } .elx .gate-out{ grid-template-columns:1fr; gap:18px; } .elx .cal, .elx .phase-track{ grid-template-columns:1fr 1fr; } .elx .topics{ grid-template-columns:repeat(2,1fr); } .elx .topics .topic:nth-child(5n+1){ border-left:1px solid var(--rule); } .elx .topics .topic:nth-child(2n+1){ border-left:none; } .elx .cstep:nth-child(3), .elx .ph:nth-child(3){ padding-left:0; border-left:none; } .elx .pair{ grid-template-columns:1fr; } .elx .detail{ max-width:320px; } } /* ── phone ──────────────────────────────────────────────────────────── */ @media (max-width:640px){ .elx .flowline.vert .fnode{ grid-template-columns:1fr; gap:10px; padding:18px 0; } .elx .topics{ grid-template-columns:1fr; } .elx .topics .topic{ border-left:none !important; } .elx .sec{ padding:clamp(52px,10vw,64px) 22px; } .elx .sec-minor{ padding:clamp(44px,8vw,56px) 22px; } .elx .pillars{ grid-template-columns:1fr 1fr; gap:20px 0; } .elx .pillar{ padding:0 16px; } .elx .pillar:nth-child(odd){ padding-left:0; border-left:none; } .elx .three{ grid-template-columns:1fr; gap:22px; } .elx .cols3{ grid-template-columns:1fr; gap:24px; } .elx .cal, .elx .phase-track{ grid-template-columns:1fr; gap:0; } .elx .cstep{ padding:18px 0 4px; } .elx .ph{ padding:18px 0 0; border-left:none; } .elx .ph:first-child{ padding-top:0; } .elx .flowline{ display:block; } .elx .fnode{ border-left:none; border-top:1px solid var(--rule); } .elx .fnode:first-child{ border-top:none; } .elx .layer ul{ grid-template-columns:1fr; } .elx .speclist{ grid-template-columns:1fr; } .elx .stage{ margin-bottom:52px; } .elx .btn{ width:100%; justify-content:center; } .elx .crop{ height:230px; } .elx .scale{ gap:6px 0; } .elx .sarr{ padding:0 10px; transform:rotate(90deg); } .elx .cadence{ flex-direction:column; align-items:flex-start; gap:18px; } .elx .rail a .t{ font-size:13.5px; } .elx .per-base, .elx .paths-join, .elx .gate-out{ padding:18px; } .elx .duo-src, .elx .duo-card{ padding:18px; } .elx .prow{ flex-wrap:wrap; } .elx .mdot span{ font-size:10.5px; } .elx h1, .elx h2, .elx .lead, .elx .body{ overflow-wrap:break-word; } .elx .frame *, .elx .panel-body *{ min-width:0; } } Qatar | IFRS S1 and IFRS S2 Reported for Doha. Readable in London, New York and Singapore. EcoLedger prepares sustainability and climate disclosure on the ISSB global baseline, so one Qatari reporting process answers the QFMA, the Qatar Financial Centre and the international investors reading the same report. See the platform View sample disclosure IFRS S1IFRS S2QFMAQFCScope 1 to 3Scenario analysis app.theecoledger.com Local expectation, global baseline The report is written in Qatar. The audience is not only in Qatar. Qatari sustainability reporting is read by the domestic regulator and by international capital at the same time. The basis of preparation is what decides whether the same document satisfies both. 01 Local expectation QFMA listing expectations and Qatar Financial Centre requirements set what has to be published and when. 02 Basis of preparation IFRS S1 and IFRS S2, the ISSB global baseline, chosen as the framework the disclosure is prepared under. 03 One reporting record Governance, risks and opportunities, scenarios, emissions and industry metrics, built once with evidence attached. 04 A disclosure that travels The same statement answers the local filing and the questions arriving from investors, lenders and index providers. The regulator Wants a complete, timely and consistent sustainability report against a recognised framework. The investor Wants comparability with the ISSB disclosures now being filed across other markets. The lender Wants emissions and transition data in a form that survives their own diligence. The output Start with what you actually have to publish. A complete IFRS S1 and IFRS S2 disclosure, with the calculations, industry metrics and evidence that sit behind every figure in it. S1Governance, oversight and the risk management process S2Climate risks and opportunities, with scenario analysis to 2030 and 2050 GHGScope 1, Scope 2 and all fifteen Scope 3 categories, on IEA and IPCC factors METRICSIndustry based metrics and climate targets, with the assurance position recorded REGISTERAn IRO register and a datapoint coverage table behind the narrative Read the full sample disclosure Governance Board oversight, responsibilities and controls Strategy Risks, opportunities, scenarios and resilience Risk management Identification, assessment and monitoring Metrics and targets Emissions, industry metrics and climate targets Inside EcoLedger One reporting process, from source data to published disclosure. 01Calculate 02Map 03Disclose 01 Calculate Build the numbers on the right factor edition. Scope 1, Scope 2 and Scope 3 are calculated with IEA and IPCC factors matched to the reporting year, with entity detail and data quality preserved against every figure. app.theecoledger.com · Emissions Scope 1 · FY2026 1,284 tCO₂e IPCC edition · primary data 02 Map Close the requirements. Every IFRS S1 and IFRS S2 requirement is tracked against the datapoints, narrative and evidence needed to satisfy it, alongside the industry metrics expected for your sector. app.theecoledger.com · Requirement tracker S2 29(a) Gross emissions, Scope 1 and 2Complete S2 29(a)(i) Scope 3 by categoryComplete S2 22(b) Climate scenario analysisIn progress S1 27 Governance and oversightComplete S2 29(f) Internal carbon priceNot applicable 84 of 91 addressedEvidence on 96 percent 03 Disclose Build the report from the record. Governance, strategy, risk management, scenarios, metrics and targets are assembled into a disclosure that links back to its supporting evidence, then exported in Word, PDF or HTML. app.theecoledger.com · Disclosure builder Calculate. Map. Disclose. See how EcoLedger maps IFRS S1 and IFRS S2 Built for the reporting cycle Built for review this year. Built to be reused next year. Sustainability builds the reporting record. Finance can review the process. Assurance teams can follow the evidence. When the next reporting year arrives the structure is already in place. Build Assemble the record Activity data, risks and opportunities, metrics, targets and narrative, with evidence attached as you go. Review Challenge and sign off Controls, evidence coverage and internal challenge, then formal sign off before publication. Refresh Roll the year forward Prior year structure, updated data, updated factor edition, updated disclosure. The first disclosure is an implementation. The next one should be a refresh. Reporting perimeter Start with one entity. Extend when the perimeter does. The same underlying data supports a single Qatari reporting entity, a group of subsidiaries, operations in other jurisdictions and additional disclosure frameworks. Single entity Group reporting Multiple jurisdictions Multiple frameworks Entities Sites, subsidiaries, joint arrangements and group consolidation. Jurisdictions The ISSB baseline with local adoption requirements layered over it. Frameworks Reuse the same underlying data across related sustainability disclosures. Discuss your reporting requirements Your data On device optionEncrypted syncPasswordless accessExport at any time What is included Qatar reporting in EcoLedger. IFRS S1 requirements IFRS S2 requirements Industry based metrics Scope 1, 2 and 3 IEA and IPCC factors Climate scenarios Materiality and IRO register Climate targets Evidence register Requirement mapping Multiple entity profiles Word, PDF and HTML output Common questions Is IFRS S1 and IFRS S2 required in Qatar today? IFRS S1 and IFRS S2 are the ISSB global baseline, adopted jurisdiction by jurisdiction. In Qatar they are the recognised basis of preparation that QFMA listed companies and Qatar Financial Centre firms are increasingly reporting against, and the framework international investors and lenders now expect. Reporting on the baseline early means later adoption becomes a refresh rather than a rebuild. Which emission factors are supported? IEA and IPCC factors across Scope 1, Scope 2 and Scope 3, matched to the reporting year rather than the current year, so prior year comparatives and restatements stay consistent. IEA grid factors cover operations outside Qatar. The factor edition and data quality are recorded against every figure, and new editions are added each reporting year. How much of the work is scenario analysis? IFRS S2 asks for climate resilience to be assessed using scenario analysis. EcoLedger provides a structured methodology, templates and drafted narrative across a low, moderate and high warming pathway, so the analysis is documented and repeatable rather than assembled once and forgotten. Can one platform cover several entities? Yes. Entities are configured individually and consolidated into group reporting, so each subsidiary holds its own activity data, metrics and narrative while the group reports on one dataset. A datapoint entered once carries through to every disclosure that needs it. How does EcoLedger support review and assurance? Each reported figure keeps its source data, calculation and attached evidence, and each disclosure statement carries the requirement it satisfies. Reviewers can move from a number in the report to the document behind it without raising a separate request, and the same structure is available to an external assurance provider. EcoLedger supports your own review process. It does not provide an assurance opinion. See it with your reporting Bring one Qatari reporting problem. We will show you how EcoLedger handles it. Bring an existing sustainability report, an emissions spreadsheet or an investor questionnaire you keep having to answer by hand. We will map it into the EcoLedger process and show you what the reporting record would look like. Discuss your reporting requirements View sample disclosure EcoLedger is built on IFRS S1 and IFRS S2, the ISSB global sustainability disclosure standards. It supports the preparation of your reporting and your own review and assurance process. It does not provide an assurance opinion. (function(){ var rail = document.querySelectorAll('.elx .rail a[data-rail]'); var stages = Array.prototype.map.call(rail,function(a){ return document.getElementById(a.getAttribute('data-rail')); }).filter(Boolean); if(!rail.length || !stages.length) return; function setActive(id){ rail.forEach(function(a){ a.classList.toggle('on', a.getAttribute('data-rail') === id); }); } if('IntersectionObserver' in window){ var io = new IntersectionObserver(function(entries){ entries.forEach(function(e){ if(e.isIntersecting) setActive(e.target.id); }); }, { rootMargin:'-45% 0px -50% 0px', threshold:0 }); stages.forEach(function(s){ io.observe(s); }); } rail.forEach(function(a){ a.addEventListener('click', function(ev){ ev.preventDefault(); var t = document.getElementById(a.getAttribute('data-rail')); if(t) window.scrollTo({ top: t.getBoundingClientRect().top + window.pageYOffset - 90, behavior:'smooth' }); }); }); })();