@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:400 700;font-display:swap;src:url("/assets/fonts/bricolage-grotesque-latin-ext-400-700.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}@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:400 700;font-display:swap;src:url("/assets/fonts/bricolage-grotesque-latin-400-700.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}@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:400 600;font-display:swap;src:url("/assets/fonts/instrument-sans-latin-ext-400-600.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}@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:400 600;font-display:swap;src:url("/assets/fonts/instrument-sans-latin-400-600.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}@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/ibm-plex-sans-arabic-arabic-400.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}@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/ibm-plex-sans-arabic-arabic-500.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}@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/ibm-plex-sans-arabic-arabic-600.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}:root{color-scheme:light;--bg:#fcfbfe;--bg-elevated:#ffffff;--bg-sunken:#f5f1fb;--surface-brand:#8a2be2;--surface-brand-deep:#6d17bd;--surface-anchor:#150e24;--surface-anchor-soft:#22163a;--text:#17102a;--text-muted:#4f4867;--text-subtle:#635c7c;--on-brand:#ffffff;--on-brand-muted:#f0e6fd;--on-anchor:#f2eefb;--on-anchor-muted:#b9b0d0;--border:#e6dff3;--border-strong:#cdc0e6;--border-control:#8b83a3;--border-anchor:#33254f;--accent:#7a1fd0;--accent-hover:#5f14a8;--accent-soft:#f1e8fd;--focus:#8a2be2;--danger:#a11b12;--danger-border:#d9a6a1;--danger-bg:#fdf3f2;--shadow-1:0 1px 2px rgba(23,16,42,0.06);--shadow-2:0 6px 24px rgba(23,16,42,0.09);--shadow-3:0 14px 40px rgba(23,16,42,0.12);--font-display:"Bricolage Grotesque","Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-body:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--fs-hero:clamp(2.4rem,5vw,3.75rem);--fs-display:clamp(2.25rem,4.6vw,3.25rem);--fs-h2:clamp(1.75rem,2.6vw,2.125rem);--fs-h3:1.25rem;--fs-h4:1.0625rem;--fs-body:1.0625rem;--fs-lead:clamp(1.125rem,1.4vw,1.25rem);--fs-small:0.875rem;--fs-eyebrow:0.8125rem;--lh-hero:1.04;--lh-display:1.08;--lh-h2:1.16;--lh-h3:1.3;--lh-body:1.6;--space-1:0.375rem;--space-2:0.625rem;--space-3:1rem;--space-4:1.5rem;--space-5:2.25rem;--space-6:3.25rem;--space-7:4.5rem;--space-8:6.5rem;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-xl:22px;--wrap:1180px;--wrap-narrow:760px;--header-h:66px;--ease-out:cubic-bezier(0.23,1,0.32,1);--ease-in-out:cubic-bezier(0.77,0,0.175,1);--ease-drawer:cubic-bezier(0.32,0.72,0,1)}[data-theme="dark"]{color-scheme:dark;--bg:#0e0a16;--bg-elevated:#171025;--bg-sunken:#0a0711;--surface-brand:#7d27cc;--surface-brand-deep:#5d19a0;--surface-anchor:#0a0711;--surface-anchor-soft:#150e24;--text:#f2eefb;--text-muted:#b6aecb;--text-subtle:#9990ad;--on-brand:#ffffff;--on-brand-muted:#e2d2f8;--on-anchor:#f2eefb;--on-anchor-muted:#b6aecb;--border:#2a1f3d;--border-strong:#3d2d59;--border-control:#6f5f96;--border-anchor:#2a1f3d;--accent:#c69cf5;--accent-hover:#dcc2ff;--accent-soft:#1d1430;--focus:#c69cf5;--danger:#ffb3ab;--danger-border:#6b2b25;--danger-bg:#24110f;--shadow-1:0 1px 2px rgba(0,0,0,0.4);--shadow-2:0 6px 24px rgba(0,0,0,0.45);--shadow-3:0 14px 40px rgba(0,0,0,0.55)}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:dark;--bg:#0e0a16;--bg-elevated:#171025;--bg-sunken:#0a0711;--surface-brand:#7d27cc;--surface-brand-deep:#5d19a0;--surface-anchor:#0a0711;--surface-anchor-soft:#150e24;--text:#f2eefb;--text-muted:#b6aecb;--text-subtle:#9990ad;--on-brand:#ffffff;--on-brand-muted:#e2d2f8;--on-anchor:#f2eefb;--on-anchor-muted:#b6aecb;--border:#2a1f3d;--border-strong:#3d2d59;--border-anchor:#2a1f3d;--accent:#c69cf5;--accent-hover:#dcc2ff;--accent-soft:#1d1430;--focus:#c69cf5;--danger:#ffb3ab;--danger-border:#6b2b25;--danger-bg:#24110f;--shadow-1:0 1px 2px rgba(0,0,0,0.4);--shadow-2:0 6px 24px rgba(0,0,0,0.45);--shadow-3:0 14px 40px rgba(0,0,0,0.55)}:root:not([data-theme="light"]) .theme-toggle__icon--dark{display:none}:root:not([data-theme="light"]) .theme-toggle__icon--light{display:inline-flex}}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}html.theme-ready body,html.theme-ready .site-header,html.theme-ready .card,html.theme-ready .btn,html.theme-ready .section{transition:background-color 150ms ease,color 150ms ease,border-color 150ms ease}@media (prefers-reduced-motion:reduce){html.theme-ready body,html.theme-ready .site-header,html.theme-ready .card,html.theme-ready .btn,html.theme-ready .section{transition:none !important}}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;margin:0;text-wrap:balance;letter-spacing:-0.018em}h1{font-size:var(--fs-display);line-height:var(--lh-display)}h2{font-size:var(--fs-h2);line-height:var(--lh-h2)}h3{font-size:var(--fs-h3);line-height:var(--lh-h3);letter-spacing:-0.01em}h4{font-size:var(--fs-h4);line-height:1.4;letter-spacing:0;font-weight:600}p{margin:0;text-wrap:pretty}ul,ol{margin:0;padding:0;list-style:none}img,svg{max-width:100%}img{height:auto}address{font-style:normal}figure{margin:0}:where(a){color:var(--accent);text-decoration-thickness:1px;text-underline-offset:0.18em}:where(a):hover{color:var(--accent-hover)}[dir="ltr"],.ltr,.stack,.mail{unicode-bidi:isolate}::selection{background:var(--surface-brand);color:#fff}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:3px}.site-header:focus-visible,.band:focus-visible,.anchor:focus-visible{outline-color:currentColor}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--space-4)}@media (min-width:700px){.wrap{padding-inline:var(--space-5)}}.wrap--narrow{max-width:var(--wrap-narrow)}main:focus{outline:none}.eyebrow{font-family:var(--font-body);font-size:var(--fs-eyebrow);font-weight:500;color:var(--text-subtle);letter-spacing:0;margin-block-end:var(--space-2)}.eyebrow--brand{color:var(--on-brand-muted)}.eyebrow--anchor{color:var(--on-anchor-muted)}.lead{font-size:var(--fs-lead);color:var(--text-muted);max-inline-size:62ch}.measure{max-inline-size:68ch}.prose>p{margin-block-start:var(--space-3);color:var(--text-muted);max-inline-size:68ch}.prose>p:first-child{margin-block-start:0}.prose>h3{margin-block-start:var(--space-5)}.prose>h4{margin-block-start:var(--space-4)}.prose strong{color:var(--text);font-weight:600}.small{font-size:var(--fs-small);color:var(--text-subtle)}.stack{font-family:var(--font-mono);font-size:0.8rem;color:var(--text-subtle);line-height:1.9}.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;min-height:44px;padding:0.65rem 1.15rem;border:1px solid transparent;border-radius:var(--radius);font:inherit;font-weight:500;line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color 140ms ease,border-color 140ms ease,color 140ms ease,transform 160ms var(--ease-out)}.btn--sm{min-height:38px;padding:0.4rem 0.85rem;font-size:var(--fs-small)}.btn--primary{background:var(--surface-brand);color:var(--on-brand)}.btn--secondary{background:transparent;color:var(--accent);border-color:var(--border-strong)}.btn--onbrand{background:#fff;color:#5f14a8}.btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,0.5)}.btn:active{transform:scale(0.97)}@media (hover:hover) and (pointer:fine){.btn--primary:hover{background:var(--surface-brand-deep)}.btn--secondary:hover{background:var(--accent-soft);border-color:var(--surface-brand);color:var(--accent-hover)}.btn--onbrand:hover{background:#f0e6fd}.btn--ghost:hover{background:rgba(255,255,255,0.14);border-color:#fff}}.link-arrow{display:inline-flex;align-items:center;gap:0.45rem;font-weight:500;text-decoration:none;border-block-end:1px solid var(--border-strong);padding-block-end:2px;transition:border-color 140ms ease,color 140ms ease}.link-arrow::after{content:"→";transition:transform 160ms var(--ease-out)}[dir="rtl"] .link-arrow::after{content:"←"}@media (hover:hover) and (pointer:fine){.link-arrow:hover{border-color:var(--surface-brand)}.link-arrow:hover::after{transform:translateX(3px)}[dir="rtl"] .link-arrow:hover::after{transform:translateX(-3px)}}.site-header{position:sticky;inset-block-start:0;z-index:50;background:var(--bg);border-block-end:1px solid transparent}.site-header[data-scrolled="true"]{background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:saturate(140%) blur(10px);border-block-end-color:var(--border)}@supports not (backdrop-filter:blur(4px)){.site-header[data-scrolled="true"]{background:var(--bg)}}.site-header__inner{display:flex;align-items:center;gap:var(--space-4);min-height:var(--header-h)}.logo{display:inline-flex;align-items:center;gap:0.55rem;text-decoration:none;color:var(--text);font-family:var(--font-display);font-weight:600;direction:ltr}.logo__mark{display:grid;place-items:center;inline-size:30px;block-size:30px;border-radius:9px;background:var(--surface-brand);color:#fff;font-size:1rem;line-height:1;font-weight:600}.logo__word{font-size:1.06rem;letter-spacing:-0.02em}.site-nav{margin-inline-start:auto}.site-nav ul{display:flex;gap:var(--space-4)}.site-nav a{color:var(--text-muted);text-decoration:none;font-size:var(--fs-small);padding-block:0.35rem;border-block-end:2px solid transparent;transition:color 120ms ease,border-color 120ms ease}.site-nav a[aria-current="page"]{color:var(--text);border-color:var(--surface-brand)}@media (hover:hover) and (pointer:fine){.site-nav a:hover{color:var(--accent)}}.site-header__actions{display:flex;align-items:center;gap:var(--space-2);margin-inline-start:auto}.site-nav+.site-header__actions{margin-inline-start:0}.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:0.35rem;min-height:38px;min-width:38px;padding:0.35rem 0.55rem;background:transparent;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);font:inherit;font-size:var(--fs-small);cursor:pointer;transition:background-color 140ms ease,border-color 140ms ease,color 140ms ease,transform 160ms var(--ease-out)}.icon-button:active{transform:scale(0.97)}@media (hover:hover) and (pointer:fine){.icon-button:hover{border-color:var(--border-strong);color:var(--text)}}.theme-toggle__icon{display:none}:root:not([data-theme="dark"]) .theme-toggle__icon--dark{display:inline-flex}[data-theme="dark"] .theme-toggle__icon--light{display:inline-flex}.langswitch__button{gap:0.35rem}.langswitch__globe{display:inline-flex}.langswitch__code{font-variant-numeric:tabular-nums}.langswitch{position:relative}.langswitch__chevron{display:inline-flex;transition:transform 160ms var(--ease-out)}.langswitch__button[aria-expanded="true"] .langswitch__chevron{transform:rotate(180deg)}.langmenu{position:absolute;inset-block-start:calc(100%+6px);inset-inline-end:0;z-index:60;min-inline-size:190px;padding:6px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-2);transform-origin:top right;opacity:0;transform:scale(0.96) translateY(-4px);visibility:hidden;transition:opacity 160ms var(--ease-out),transform 160ms var(--ease-out),visibility 0s linear 160ms}[dir="rtl"] .langmenu{transform-origin:top left}.langmenu[data-state="open"]{opacity:1;transform:scale(1) translateY(0);visibility:visible;transition:opacity 160ms var(--ease-out),transform 160ms var(--ease-out),visibility 0s}.langmenu__item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:0.5rem 0.6rem;border-radius:var(--radius-sm);color:var(--text);text-decoration:none;font-size:var(--fs-small);transition:background-color 120ms ease}.langmenu__item.is-current{color:var(--accent);font-weight:500}.langmenu__code{color:var(--text-subtle);font-size:0.75rem;font-variant-numeric:tabular-nums}@media (hover:hover) and (pointer:fine){.langmenu__item:hover{background:var(--accent-soft)}}.drawer-backdrop{position:fixed;inset:0;z-index:70;background:rgba(10,7,17,0.5);opacity:0;transition:opacity 240ms var(--ease-out)}.drawer-backdrop[data-state="open"]{opacity:1}.drawer{position:fixed;inset-block:0;inset-inline-end:0;z-index:80;inline-size:min(88vw,340px);background:var(--bg-elevated);border-inline-start:1px solid var(--border);transform:translateX(100%);visibility:hidden;overflow-y:auto;transition:transform 320ms var(--ease-drawer),visibility 0s linear 320ms}[dir="rtl"] .drawer{transform:translateX(-100%)}.drawer[data-state="open"]{transform:translateX(0);visibility:visible;transition:transform 320ms var(--ease-drawer),visibility 0s}.drawer__inner{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4);min-block-size:100%}.drawer__head{display:flex;align-items:center;justify-content:space-between}.drawer__title{font-family:var(--font-display);font-weight:600}.drawer__nav{display:flex;flex-direction:column}.drawer__nav a{display:block;padding-block:0.8rem;border-block-end:1px solid var(--border);color:var(--text);text-decoration:none;font-size:var(--fs-h3);font-family:var(--font-display)}.drawer__nav a[aria-current="page"]{color:var(--accent)}.drawer__cta{inline-size:100%}.drawer__label{font-size:var(--fs-small);color:var(--text-subtle);font-family:var(--font-body);font-weight:500;margin-block-end:var(--space-2)}.langlist{display:flex;flex-wrap:wrap;gap:var(--space-2)}.langlist .langmenu__item{border:1px solid var(--border)}.menu-toggle{display:none;align-items:center;gap:0.45rem;min-height:38px;padding:0.35rem 0.6rem;background:transparent;border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font:inherit;font-size:var(--fs-small);cursor:pointer;transition:border-color 140ms ease,transform 160ms var(--ease-out)}.menu-toggle:active{transform:scale(0.97)}.menu-toggle__bars{display:inline-flex;flex-direction:column;gap:4px;inline-size:16px}.menu-toggle__bars span{display:block;block-size:1.5px;background:currentColor}.drawer__close{display:grid;place-items:center;inline-size:40px;block-size:40px;background:transparent;border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;transition:border-color 140ms ease,transform 160ms var(--ease-out)}.drawer__close:active{transform:scale(0.97)}@media (max-width:419px){.site-header__inner{gap:var(--space-2)}.wrap{padding-inline:var(--space-3)}.menu-toggle__label,.langswitch__code{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.menu-toggle,.langswitch__button{padding-inline:0.5rem}}@media (max-width:979px){.site-nav{display:none}.site-header__cta{display:none}.menu-toggle{display:inline-flex}.site-header__actions{margin-inline-start:auto}}@media (min-width:980px){.menu-toggle{display:none}}.section{padding-block:var(--space-6)}@media (min-width:900px){.section{padding-block:var(--space-7)}}.section--tight{padding-block:var(--space-5)}.section--sunken{background:var(--bg-sunken);border-block:1px solid var(--border)}.section__head{max-inline-size:62ch}.section__head h2{max-inline-size:22ch}.section__lead{margin-block-start:var(--space-3);color:var(--text-muted);font-size:var(--fs-lead);max-inline-size:62ch}.section__more{margin-block-start:var(--space-5)}.anchor{position:relative;isolation:isolate;overflow:hidden;background:var(--surface-anchor);color:var(--on-anchor)}.anchor::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(currentColor 1px,transparent 1px);background-size:14px 14px;opacity:0.055;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,#000 0%,transparent 55%);mask-image:linear-gradient(to bottom,#000 0%,transparent 55%)}.anchor>*{position:relative;z-index:0}.anchor h2,.anchor h3{color:var(--on-anchor)}.anchor p{color:var(--on-anchor-muted)}.anchor a{color:#d9bffa}.anchor .section__lead{color:var(--on-anchor-muted)}.anchor-inner{background:var(--surface-anchor)}.pagehead{padding-block:var(--space-6) var(--space-5);border-block-end:1px solid var(--border)}@media (min-width:900px){.pagehead{padding-block:var(--space-7) var(--space-6)}}.pagehead h1{max-inline-size:20ch}.pagehead__lead{margin-block-start:var(--space-4);font-size:var(--fs-lead);color:var(--text-muted);max-inline-size:62ch}.pagehead__date{margin-block-start:var(--space-3);font-size:var(--fs-small);color:var(--text-subtle)}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);transition:border-color 140ms ease,box-shadow 160ms var(--ease-out),transform 160ms var(--ease-out)}@media (hover:hover) and (pointer:fine){a.card:hover,.card--interactive:hover{border-color:var(--border-strong);box-shadow:var(--shadow-2)}}a.card{text-decoration:none;color:inherit;display:block}a.card:active{transform:scale(0.99)}.card__title{font-size:var(--fs-h3)}.card__body{margin-block-start:var(--space-2);color:var(--text-muted)}.grid{display:grid;gap:var(--space-4)}@media (min-width:760px){.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:900px){.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}.hero{padding-block:var(--space-6)}@media (min-width:980px){.hero{padding-block:var(--space-7) var(--space-7)}}.hero__inner{display:grid;gap:var(--space-5);align-items:start}@media (min-width:980px){.hero__inner{grid-template-columns:minmax(0,1.08fr) minmax(0,0.92fr);gap:var(--space-6);align-items:center}}.hero__title{font-size:var(--fs-hero);line-height:var(--lh-hero);max-inline-size:18ch}.hero__lead{margin-block-start:var(--space-4);font-size:var(--fs-lead);color:var(--text-muted);max-inline-size:54ch}.hero__actions{margin-block-start:var(--space-5);display:flex;flex-wrap:wrap;gap:var(--space-2)}.hero__trust{margin-block-start:var(--space-5);padding-block-start:var(--space-4);border-block-start:1px solid var(--border)}.hero__trust-label{font-size:var(--fs-eyebrow);color:var(--text-subtle)}.hero__trust-list{margin-block-start:var(--space-2);display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4)}.hero__trust-list li{font-size:var(--fs-small);color:var(--text)}.hero__trust-list a{color:var(--text);text-decoration:none;border-block-end:1px solid var(--border-strong)}.hero__trust-list .country{color:var(--text-subtle)}.hero__panel{min-inline-size:0}.stages{position:relative;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-4);box-shadow:var(--shadow-1)}.stages::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--surface-brand) 12%,transparent),transparent 62%);pointer-events:none}[dir="rtl"] .stages::before{background:radial-gradient(circle at 0% 0%,color-mix(in srgb,var(--surface-brand) 12%,transparent),transparent 62%)}.stages__head{position:relative;display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.stages__title{font-size:var(--fs-h4);font-family:var(--font-display)}.stages__meta{font-size:var(--fs-eyebrow);color:var(--text-subtle)}.stages__list{position:relative;margin-block-start:var(--space-3)}.stages__item{display:grid;grid-template-columns:14px minmax(0,1fr);gap:var(--space-3);padding-block:0.7rem;border-block-start:1px solid var(--border)}.stages__item:first-child{border-block-start:0}.stages__dot{position:relative;inline-size:9px;block-size:9px;margin-block-start:0.5rem;border-radius:50%;background:var(--surface-brand)}.stages__dot::after{content:"";position:absolute;inset-inline-start:4px;inset-block-start:9px;block-size:calc(100%+1.4rem);border-inline-start:1px solid var(--border-strong)}.stages__item:last-child .stages__dot::after{display:none}.stages__name{font-weight:600;font-size:var(--fs-small)}.stages__artefact{font-size:var(--fs-small);color:var(--text-muted)}.stages>.stages__artefact{margin-block-start:var(--space-4)}.stages .dg{margin-block-start:var(--space-3)}.js .stages__item{opacity:0}.js .stages.is-lit .stages__item{animation:stage-in 300ms var(--ease-out) forwards;animation-delay:calc(var(--i) * 55ms)}@keyframes stage-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.ruled{margin-block-start:var(--space-5);border-block-start:1px solid var(--border)}.ruled__item{border-block-end:1px solid var(--border)}.ruled__row{display:grid;gap:var(--space-1) var(--space-4);padding-block:var(--space-4);color:inherit;text-decoration:none;align-items:baseline;transition:background-color 140ms ease}@media (min-width:880px){.ruled__row{grid-template-columns:minmax(0,15rem) minmax(0,1fr) minmax(0,13rem) 2rem;padding-inline:var(--space-2);margin-inline:calc(var(--space-2) * -1)}}.ruled__name{font-family:var(--font-display);font-weight:600;font-size:var(--fs-h3)}.ruled__summary{color:var(--text-muted)}.ruled__stack{font-family:var(--font-mono);font-size:0.78rem;color:var(--text-subtle)}.ruled__arrow{display:none;color:var(--accent);justify-self:end}@media (min-width:880px){.ruled__arrow{display:block}}[dir="rtl"] .ruled__arrow svg{transform:scaleX(-1)}@media (hover:hover) and (pointer:fine){.ruled__row:hover{background:var(--bg-sunken)}.ruled__row:hover .ruled__name{color:var(--accent)}}.steps{display:grid;gap:0}.steps__item{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:var(--space-2) var(--space-5);padding-block:var(--space-4);border-block-start:1px solid var(--border)}.anchor .steps__item{border-block-start-color:var(--border-anchor)}@media (max-width:719px){.steps__item{grid-template-columns:minmax(0,1fr)}}.steps__name{font-size:var(--fs-h3)}.steps__text p{color:var(--text-muted);max-inline-size:62ch}.steps__text p+p{margin-block-start:var(--space-3)}.anchor .steps__text p{color:var(--on-anchor-muted)}.steps__text p+.steps__artefact{margin-block-start:var(--space-3)}.steps__artefact{margin-block-start:var(--space-2);font-size:var(--fs-small);color:var(--text-subtle)}.anchor .steps__artefact{color:var(--on-anchor-muted)}.steps__artefact b{color:var(--text);font-weight:600}.anchor .steps__artefact b{color:var(--on-anchor)}.check{display:grid;gap:var(--space-2)}.check li{position:relative;padding-inline-start:1.6rem;color:var(--text-muted);max-inline-size:68ch}.check li::before{content:"";position:absolute;inset-inline-start:0;inset-block-start:0.42em;inline-size:0.78rem;block-size:0.78rem;background:currentColor;color:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1.6 6.4l2.9 2.9L10.4 2.6' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1.6 6.4l2.9 2.9L10.4 2.6' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain}.check--minus li::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.4 6h7.2' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.4 6h7.2' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");color:var(--text-subtle)}.bullets{display:grid;gap:var(--space-2)}.bullets li{position:relative;padding-inline-start:1.1rem;color:var(--text-muted);max-inline-size:68ch}.bullets li::before{content:"";position:absolute;inset-inline-start:0;inset-block-start:0.68em;inline-size:5px;block-size:5px;border-radius:50%;background:var(--surface-brand)}.practices{display:grid;gap:var(--space-6)}@media (min-width:1000px){.services-layout{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:var(--space-6);align-items:start}}.rail{display:none}@media (min-width:1000px){.rail{display:block;position:sticky;inset-block-start:calc(var(--header-h)+var(--space-4))}.rail ol{display:grid;gap:2px}.rail a{display:block;padding:0.45rem 0.7rem;border-radius:var(--radius-sm);border-inline-start:2px solid transparent;color:var(--text-muted);text-decoration:none;font-size:var(--fs-small);transition:color 120ms ease,background-color 120ms ease,border-color 120ms ease}.rail a[aria-current="true"]{color:var(--text);border-inline-start-color:var(--surface-brand);background:var(--bg-sunken);font-weight:500}}@media (hover:hover) and (pointer:fine){.rail a:hover{color:var(--accent)}}.chiprow{display:flex;gap:var(--space-2);overflow-x:auto;padding-block-end:var(--space-2);scrollbar-width:thin}.chiprow::-webkit-scrollbar{height:4px}.chiprow::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:2px}.chiprow a{flex:0 0 auto;padding:0.4rem 0.8rem;border:1px solid var(--border);border-radius:999px;background:var(--bg-elevated);color:var(--text-muted);text-decoration:none;font-size:var(--fs-small);white-space:nowrap;transition:border-color 140ms ease,color 140ms ease,background-color 140ms ease}.chiprow a[aria-current="true"]{color:var(--on-brand);background:var(--surface-brand);border-color:var(--surface-brand)}@media (min-width:1000px){.chiprow{display:none}}.practice{border-block-start:1px solid var(--border);padding-block-start:var(--space-5);scroll-margin-block-start:calc(var(--header-h)+2rem)}.practice:first-child{border-block-start:0;padding-block-start:0}.practice__summary{margin-block-start:var(--space-3);font-size:var(--fs-lead);color:var(--text-muted);max-inline-size:58ch}.practice__body>p{margin-block-start:var(--space-3);color:var(--text-muted);max-inline-size:68ch}.practice__label{margin-block-start:var(--space-4);margin-block-end:var(--space-2);font-family:var(--font-body);font-size:var(--fs-eyebrow);font-weight:600;color:var(--text-subtle)}.practice__cols{display:grid;gap:var(--space-4)}@media (min-width:720px){.practice__cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}}.practice__meta{margin-block-start:var(--space-4);display:grid;gap:var(--space-3)}@media (min-width:720px){.practice__meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}}.practice__meta div{border-block-start:1px solid var(--border);padding-block-start:var(--space-2)}.practice__meta dt{font-size:var(--fs-eyebrow);color:var(--text-subtle)}.practice__meta dd{margin:0;margin-block-start:0.2rem;color:var(--text-muted)}.faq{display:grid;gap:0;border-block-start:1px solid var(--border)}.faq__item{border-block-end:1px solid var(--border)}.faq__item summary{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding-block:var(--space-3);cursor:pointer;font-weight:600;list-style:none;transition:color 120ms ease}.faq__item summary::-webkit-details-marker{display:none}.faq__item summary::after{content:"";flex:0 0 auto;inline-size:12px;block-size:12px;margin-block-start:0.35rem;background:currentColor;color:var(--text-subtle);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M6 1.5v9M1.5 6h9' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center / contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M6 1.5v9M1.5 6h9' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center / contain;transition:transform 160ms var(--ease-out)}.faq__item[open] summary::after{transform:rotate(45deg)}@media (hover:hover) and (pointer:fine){.faq__item summary:hover{color:var(--accent)}}.faq__answer{padding-block-end:var(--space-4);color:var(--text-muted);max-inline-size:68ch}.faq__answer p+p{margin-block-start:var(--space-3)}.case{scroll-margin-block-start:calc(var(--header-h)+2rem)}.case+.case{margin-block-start:var(--space-7);padding-block-start:var(--space-7);border-block-start:1px solid var(--border)}.case__head{display:grid;gap:var(--space-3)}.case .figure-frame{margin-block-start:var(--space-5)}@media (min-width:900px){.case__head{grid-template-columns:minmax(0,1fr) minmax(0,22rem);gap:var(--space-6);align-items:end}}.case__meta{font-size:var(--fs-small);color:var(--text-subtle)}.case__summary{font-size:var(--fs-lead);color:var(--text-muted);max-inline-size:56ch}.case__figure{margin-block-start:var(--space-5);background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4)}.case__figure svg{display:block;inline-size:100%;height:auto}.case__figure figcaption{margin-block-start:var(--space-3);font-size:var(--fs-small);color:var(--text-subtle)}.case__grid{margin-block-start:var(--space-5);display:grid;gap:var(--space-5)}@media (min-width:900px){.case__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}}.case__block h3{margin-block-end:var(--space-2)}.case__block p{color:var(--text-muted);max-inline-size:62ch}.case__block p+p{margin-block-start:var(--space-3)}.case__decisions{display:grid;gap:var(--space-4);margin-block-start:var(--space-2)}.case__decision{border-inline-start:2px solid var(--border-strong);padding-inline-start:var(--space-3)}.case__decision h4{color:var(--text)}.case__decision p{margin-block-start:0.35rem}.case__evidence{margin-block-start:var(--space-5);display:grid;gap:var(--space-3)}@media (min-width:720px){.case__evidence{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}}.case__fact{border-block-start:2px solid var(--surface-brand);padding-block-start:var(--space-2)}.case__fact dt{font-size:var(--fs-eyebrow);color:var(--text-subtle)}.case__fact dd{margin:0;margin-block-start:0.2rem;font-family:var(--font-display);font-size:var(--fs-h3);font-weight:600}.case__fact .case__fact-note{display:block;font-family:var(--font-body);font-size:var(--fs-small);font-weight:400;color:var(--text-muted);margin-block-start:0.2rem}.article{max-inline-size:70ch}.article>*+*{margin-block-start:var(--space-4)}.article h2{margin-block-start:var(--space-6)}.article h3{margin-block-start:var(--space-5)}.article p{color:var(--text-muted)}.article ul{display:grid;gap:var(--space-2)}.article ul li{position:relative;padding-inline-start:1.1rem;color:var(--text-muted)}.article ul li::before{content:"";position:absolute;inset-inline-start:0;inset-block-start:0.68em;inline-size:5px;block-size:5px;border-radius:50%;background:var(--surface-brand)}.article code{font-family:var(--font-mono);font-size:0.86em;background:var(--bg-sunken);border:1px solid var(--border);border-radius:5px;padding:0.1em 0.35em}.article blockquote{margin:0;border-inline-start:2px solid var(--surface-brand);padding-inline-start:var(--space-4);color:var(--text)}.article__meta{font-size:var(--fs-small);color:var(--text-subtle)}.notelist{display:grid;gap:var(--space-4)}@media (min-width:900px){.notelist{grid-template-columns:repeat(3,minmax(0,1fr))}}.note__kicker{font-size:var(--fs-eyebrow);color:var(--text-subtle)}.note__title{margin-block-start:var(--space-2);font-size:var(--fs-h3)}.note__excerpt{margin-block-start:var(--space-2);color:var(--text-muted)}.dg{display:grid;gap:var(--space-2);font-size:var(--fs-small)}.dg__row{display:grid;gap:var(--space-2)}.dg__row--roles{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:620px){.dg__row--roles{grid-template-columns:repeat(4,minmax(0,1fr))}}.dg__row--tenants{grid-template-columns:repeat(2,minmax(0,1fr))}.dg__node{border:1px solid var(--border-strong);background:var(--bg-elevated);border-radius:var(--radius);padding:0.55rem 0.7rem;text-align:center;color:var(--text)}.dg__node--brand{background:var(--surface-brand);border-color:var(--surface-brand);color:#fff}.dg__band{border:1px solid var(--surface-brand);background:var(--accent-soft);color:var(--text);border-radius:var(--radius);padding:0.6rem 0.7rem;text-align:center;font-weight:600}.dg__tenant{border:1px dashed var(--border-strong);border-radius:var(--radius);padding:0.85rem 0.7rem;text-align:center;color:var(--text-muted);background:var(--bg-sunken)}.dg__link{justify-self:center;inline-size:1px;block-size:14px;background:var(--border-strong)}.dg--pipeline{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.dg__step{flex:1 1 8rem;border:1px solid var(--border-strong);background:var(--bg-elevated);border-radius:var(--radius);padding:0.55rem 0.7rem;text-align:center;color:var(--text)}.dg__step--mark{border-color:var(--surface-brand);box-shadow:inset 0 -2px 0 var(--surface-brand)}.dg__arrow{flex:0 0 auto;inline-size:16px;block-size:1px;background:var(--border-strong);position:relative}.dg__arrow::after{content:"";position:absolute;inset-inline-end:0;inset-block-start:-3px;inline-size:7px;block-size:7px;border-block-start:1px solid var(--border-strong);border-inline-end:1px solid var(--border-strong);transform:rotate(45deg)}[dir="rtl"] .dg__arrow::after{transform:rotate(225deg);inset-inline-end:auto;inset-inline-start:0}.dg--confidential .dg__row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}.dg__veil{margin-block-start:var(--space-2);border:1px dashed var(--border-strong);border-radius:var(--radius);padding:0.85rem 0.7rem;text-align:center;color:var(--text-subtle);background:repeating-linear-gradient( 135deg,transparent 0 6px,color-mix(in srgb,var(--border) 60%,transparent) 6px 7px )}.relatedlinks ul{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5)}.relatedlinks a{font-size:var(--fs-small)}.breadcrumb{margin-block-end:var(--space-4)}.breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:0.4rem;font-size:var(--fs-small)}.breadcrumb li{color:var(--text-subtle);display:flex;align-items:center;gap:0.4rem}.breadcrumb li+li::before{content:"/";color:var(--border-strong)}[dir="rtl"] .breadcrumb li+li::before{content:"\\"; }
.breadcrumb a { color: var(--text-muted); text-decoration: none; }
@media (hover: hover) and (pointer: fine) { .breadcrumb a:hover { color: var(--accent); text-decoration: underline; } }

/* ---------------------------------------------------------------- badge */

.badge {
  display: inline-block;
  padding: 0.1rem 0.45rem;
  border-radius: 999px;
  border: 1px solid var(--surface-brand);
  color: var(--accent);
  font-size: 0.75em;
  font-weight: 600;
  white-space: nowrap;
}

/* ------------------------------------------------------- photo figures */

.figure-frame--photo { padding: 0; overflow: hidden; }
.figure-frame--photo picture, .figure-frame--photo img { display: block; inline-size: 100%; height: auto; }

/* ------------------------------------------------- diagrams: layers/flow */

.dg--layers { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.dg--layers-vertical { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
.dg--layers-vertical .dg__step { flex: none; }
.dg__step--end { border-color: var(--surface-brand); box-shadow: inset 0 -2px 0 var(--surface-brand); }

.dg--flow { display: grid; gap: 0; justify-items: stretch; }
.dg__stage {
  border: 1px solid var(--border-strong);
  background: var(--bg-elevated);
  border-radius: var(--radius);
  padding: 0.6rem 0.85rem;
  color: var(--text);
}
.dg__arrow--down {
  inline-size: 1px;
  block-size: 18px;
  justify-self: center;
  background: var(--border-strong);
  margin-block: 4px;
}
.dg__arrow--down::after {
  inset-inline-end: -3px;
  inset-block-start: auto;
  inset-block-end: 0;
  transform: rotate(135deg);
}
[dir="rtl"] .dg__arrow--down::after { inset-inline-start: auto; inset-inline-end: -3px; transform: rotate(135deg); }

.dg--topology { display: grid; gap: 0; }
.dg__tier { display: grid; gap: var(--space-2); }
.dg__tier-label { font-size: var(--fs-eyebrow); color: var(--text-subtle); }
.dg__pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); }
.dg--topology .dg__link { block-size: 18px; margin-block: 2px; }

/* --------------------------------------------------------------- figures */

.figure-frame {
  background: var(--bg-sunken);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
}
.figure-frame svg { display: block; inline-size: 100%; height: auto; }
.figure-frame figcaption { margin-block-start: var(--space-3); font-size: var(--fs-small); color: var(--text-subtle); }

.portrait {
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 5;
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
  background: var(--bg-sunken);
  overflow: hidden;
}
.portrait img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.portrait__monogram {
  display: grid; place-items: center;
  inline-size: 96px; block-size: 96px;
  border-radius: 26px;
  background: var(--surface-brand);
  color: #fff;
  font-family: var(--font-display);
  font-size: 2.4rem;
  font-weight: 600;
}
.portrait__note { font-size: var(--fs-small); color: var(--text-subtle); margin-block-start: var(--space-3); text-align: center; padding-inline: var(--space-3); }

/* --------------------------------------------------------------- band */

.band { background: var(--surface-brand); color: #fff; padding-block: var(--space-7); position: relative; overflow: hidden; }
.band::before {
  content: "";
  position: absolute; inset: 0;
  background-image: radial-gradient(rgba(255, 255, 255, 0.13) 1px, transparent 1px);
  background-size: 14px 14px;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, transparent 60%);
  mask-image: linear-gradient(to bottom, #000 0%, transparent 60%);
}
.band__inner { position: relative; display: grid; gap: var(--space-3); }
.band__title { font-size: var(--fs-h2); color: #fff; max-inline-size: 20ch; }
.band__body { color: var(--on-brand-muted); max-inline-size: 58ch; }
.band__actions { margin-block-start: var(--space-3); display: flex; flex-wrap: wrap; gap: var(--space-2); }
.band a.mail { color: #fff; }

/* -------------------------------------------------------------- facts */

.facts { display: grid; gap: 0; border-block-start: 1px solid var(--border); }
.facts__row { display: grid; gap: var(--space-1); padding-block: var(--space-3); border-block-end: 1px solid var(--border); }
@media (min-width: 720px) { .facts__row { grid-template-columns: minmax(0, 14rem) minmax(0, 1fr); gap: var(--space-4); } }
.facts dt { color: var(--text-subtle); font-size: var(--fs-small); }
.facts dd { margin: 0; color: var(--text); max-inline-size: 68ch; }

/* -------------------------------------------------------------- founder */

.founder { display: grid; gap: var(--space-5); }
@media (min-width: 900px) { .founder { grid-template-columns: minmax(0, 17rem) minmax(0, 1fr); gap: var(--space-6); align-items: start; } }
.founder__name { font-family: var(--font-display); font-weight: 600; font-size: var(--fs-h2); }
.founder__role { margin-block-start: var(--space-1); color: var(--text-subtle); }

/* ------------------------------------------------------------------- legal */

.legal { max-inline-size: 76ch; }
.legal__section + .legal__section { margin-block-start: var(--space-6); }
.legal__section h2 { font-size: var(--fs-h3); }
.legal__section p { margin-block-start: var(--space-3); color: var(--text-muted); }
.legal__section .bullets { margin-block-start: var(--space-3); }

/* ------------------------------------------------------------- contact */

.contact { display: grid; gap: var(--space-6); }
@media (min-width: 900px) { .contact { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-7); } }

.contact__write > p { margin-block-start: var(--space-3); color: var(--text-muted); max-inline-size: 60ch; }
.contact__action { margin-block-start: var(--space-4); }
.contact__action .btn { font-size: var(--fs-body); }
.contact__note { font-size: var(--fs-small); color: var(--text-subtle); }
.contact__sub { margin-block-start: var(--space-6); font-size: var(--fs-h3); }
.contact__write .bullets { margin-block-start: var(--space-3); }

/* --------------------------------------------------------------- consent */
/* Rendered only when an analytics provider that sets cookies is configured.
   Bottom-anchored rather than modal: it never blocks reading the page. */

.consent {
  position: fixed;
  inset-block-end: var(--space-4);
  inset-inline: var(--space-4);
  z-index: 60;
  margin-inline: auto;
  max-inline-size: 34rem;
  padding: var(--space-4);
  background: var(--bg-elevated);
  border: 1px solid var(--border-control);
  border-radius: var(--radius-lg);
  box-shadow: 0 18px 40px rgb(0 0 0 / 0.22);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 200ms var(--ease-out), transform 200ms var(--ease-out);
}
.consent[data-state="visible"] { opacity: 1; transform: none; }
.consent__title { font-weight: 600; }
.consent__body { margin-block-start: var(--space-2); font-size: var(--fs-small); color: var(--text-muted); }
.consent__actions { margin-block-start: var(--space-3); display: flex; flex-wrap: wrap; gap: var(--space-2); }

/* --------------------------------------------------------------- footer */

.site-footer { border-block-start: 1px solid var(--border); padding-block: var(--space-6) var(--space-4); background: var(--bg-sunken); }
.site-footer__top { display: grid; gap: var(--space-5); }
@media (min-width: 900px) { .site-footer__top { grid-template-columns: minmax(0, 1fr) minmax(0, 2.1fr); gap: var(--space-6); } }
.site-footer__tagline { margin-block-start: var(--space-3); color: var(--text-muted); max-inline-size: 32ch; }
.site-footer__cols { display: grid; gap: var(--space-4); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 640px) { .site-footer__cols { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.site-footer__label { font-family: var(--font-body); font-size: var(--fs-eyebrow); font-weight: 600; color: var(--text); }
.site-footer__col ul { margin-block-start: var(--space-2); display: grid; gap: var(--space-2); }
.site-footer__col a { color: var(--text-muted); text-decoration: none; font-size: var(--fs-small); }
@media (hover: hover) and (pointer: fine) { .site-footer__col a:hover { color: var(--accent); text-decoration: underline; } }
.site-footer__address { margin-block-start: var(--space-3); color: var(--text-subtle); font-size: var(--fs-small); line-height: 1.7; }
.site-footer__bottom {
  margin-block-start: var(--space-5);
  padding-block-start: var(--space-3);
  border-block-start: 1px solid var(--border);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-4);
  justify-content: space-between;
  color: var(--text-subtle);
  font-size: var(--fs-small);
}
.site-footer__registry { font-variant-numeric: tabular-nums; }
html:not([lang="ar"]) a[lang="ar"] { font-size: 1.1em; }

.address-ltr { text-align: start; }
[dir="rtl"] .address-ltr,
[dir="rtl"] .stack,
[dir="rtl"] .ruled__stack { text-align: right; }

/* ------------------------------------------------------------------- 404 */

.notfound__code { font-family: var(--font-display); font-size: var(--fs-h2); color: var(--accent); font-variant-numeric: tabular-nums; }
.page-notfound h2 { margin-block-start: var(--space-5); }
.page-notfound .bullets { margin-block-start: var(--space-3); }

/* ----------------------------------------------------------- review-only */

.marker {
  margin-block-start: var(--space-4);
  padding: 0.6rem 0.8rem;
  border-inline-start: 3px solid var(--surface-brand);
  background: var(--accent-soft);
  color: var(--text);
  font-size: var(--fs-small);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}
[dir="rtl"] .marker { border-radius: var(--radius-sm) 0 0 var(--radius-sm); }

/* --------------------------------------------------------------- Arabic */

html[lang="ar"] {
  --font-display: "IBM Plex Sans Arabic", -apple-system, "Segoe UI", Tahoma, sans-serif;
  --font-body: "IBM Plex Sans Arabic", -apple-system, "Segoe UI", Tahoma, sans-serif;
  --fs-body: 1.125rem;
  --fs-small: 0.9375rem;
  --fs-eyebrow: 0.875rem;
  --fs-hero: clamp(2.25rem, 4.6vw, 3.5rem);
  --fs-display: clamp(1.9rem, 3.4vw, 2.6rem);
  --fs-h2: clamp(1.5rem, 2.1vw, 1.85rem);
  --fs-h3: 1.1875rem;
  --lh-hero: 1.5;
  --lh-display: 1.5;
  --lh-h2: 1.5;
  --lh-h3: 1.55;
  --lh-body: 1.85;
}
html[lang="ar"] h1, html[lang="ar"] h2, html[lang="ar"] h3, html[lang="ar"] h4,
html[lang="ar"] .btn, html[lang="ar"] .eyebrow, html[lang="ar"] .logo__word { letter-spacing: 0; }
html[lang="ar"] .logo__word, html[lang="ar"] .logo__mark {
  font-family: "Instrument Sans", system-ui, sans-serif;
}
html[lang="ar"] .stack, html[lang="ar"] .ruled__stack { font-family: var(--font-mono); }
html[lang="ar"] .hero__title { max-inline-size: 17ch; }
/* Arabic sets no separate italic or small-caps: keep the synthesis off. */
html[lang="ar"] em, html[lang="ar"] i { font-style: normal; font-weight: 600; }

/* -------------------------------------------------------- reduced motion */

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-delay: 0ms !important;
    animation-iteration-count: 1 !important;
    transition-property: opacity, background-color, border-color, color, visibility, filter !important;
  }
  .btn:active, .icon-button:active, a.card:active { transform: none; }
  .langmenu, .langmenu[data-state="open"] { transform: none; }
  .drawer { transform: none; }
  .consent, .consent[data-state="visible"] { transform: none; }
  .js .stages__item { opacity: 1; }
}

@media print {
  .site-header, .drawer, .drawer-backdrop, .skip-link, .band { display: none !important; }
  body { background: #fff; color: #000; }
}

/* -------------------------------------------------------------- skip link */

.skip-link {
  position: absolute;
  inset-block-start: -100%;
  inset-inline-start: var(--space-3);
  z-index: 100;
  background: var(--surface-brand);
  color: #fff;
  padding: 0.7rem 1.1rem;
  border-radius: 0 0 var(--radius) var(--radius);
  text-decoration: none;
  font-weight: 500;
}
.skip-link:focus { inset-block-start: 0; }