/* Hallmark · pre-emit critique: P5 H5 E4 S5 R5 V4 */
/* Hallmark · genre: editorial systems · macrostructure: partner register · theme: Verified Atlantic · design-system: ../DESIGN.md · designed-as-app · nav: N3 · footer: Ft2 · contrast: pass (40–41) · slop: pass (42–49) · mobile: pass (34, 49, 50–57) */
:root{
  --color-night:oklch(27% .055 205);
  --color-night-raised:oklch(31% .055 205);
  --color-paper:oklch(94% .018 85);
  --color-paper-2:oklch(90% .022 78);
  --color-ink:oklch(28% .05 205);
  --color-muted:oklch(43% .035 205);
  --color-rule:oklch(70% .025 200);
  --color-teal:oklch(76% .105 183);
  --color-orange:oklch(68% .19 42);
  --color-focus:oklch(78% .15 78);
  --color-text-on-dark:oklch(94% .018 85);
  --color-accent-ink:oklch(24% .05 205);
  --color-glow:oklch(76% .105 183 / .18);
  --color-shadow:oklch(18% .045 205 / .22);
  --font-display:"Bricolage Grotesque",sans-serif;
  --font-body:"Newsreader",serif;
  --font-arabic:"Noto Sans Arabic",sans-serif;
  --font-tifinagh:"Noto Sans Tifinagh","Segoe UI Historic",sans-serif;
  --space-3xs:.25rem;
  --space-2xs:.5rem;
  --space-xs:.75rem;
  --space-sm:1rem;
  --space-md:1.5rem;
  --space-lg:2rem;
  --space-xl:3rem;
  --space-2xl:4.5rem;
  --space-3xl:7rem;
  --space-4xl:10rem;
  --gutter:clamp(var(--space-sm),5vw,var(--space-3xl));
  --container:88rem;
  --ease-out:cubic-bezier(.16,1,.3,1);
}

*{box-sizing:border-box}
html,body{overflow-x:clip}
html{scroll-behavior:smooth}
body{margin:0;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-display);line-height:1.5}
html[dir="rtl"] body{font-family:var(--font-arabic)}
html[dir="rtl"] .partner-row__number{font-family:var(--font-display)}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit}
h1,h2,h3{min-width:0;overflow-wrap:anywhere;text-wrap:balance}

.skip-link{position:fixed;z-index:20;inset-block-start:var(--space-xs);inset-inline-start:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--color-paper);color:var(--color-ink);transform:translateY(-180%)}
.skip-link:focus{transform:none}
.masthead{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--gutter);background:var(--color-night);color:var(--color-text-on-dark)}
.brand{display:flex;align-items:center;gap:var(--space-xs);min-height:44px;text-decoration:none;white-space:nowrap}
.brand img{width:clamp(7rem,14vw,9rem);height:auto}
.brand span{padding-inline-start:var(--space-xs);border-inline-start:1px solid var(--color-rule);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;line-height:1}.brand .brand__amazigh{color:var(--color-teal);direction:ltr;font-family:var(--font-tifinagh);font-weight:600;text-transform:none;letter-spacing:.025em}
.languages{display:flex;align-items:center;gap:var(--space-3xs);margin-inline-start:auto}
.languages button{min-width:44px;min-height:44px;padding:var(--space-2xs);border:1px solid transparent;background:transparent;color:var(--color-text-on-dark);cursor:pointer;line-height:1}
.languages button[aria-pressed="true"]{border-color:var(--color-teal);color:var(--color-teal)}

.intro{display:grid;gap:var(--space-2xl);align-items:end;min-height:56svh;padding:clamp(var(--space-2xl),9vw,var(--space-4xl)) var(--gutter) clamp(var(--space-3xl),10vw,var(--space-4xl));background:radial-gradient(circle at 78% 28%,var(--color-glow),transparent 32%),var(--color-night);color:var(--color-text-on-dark)}
.intro__copy{max-width:70rem}
.eyebrow{margin:0;color:var(--color-orange);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em}
.eyebrow--dark{color:var(--color-orange)}
h1{max-width:12ch;margin:var(--space-xs) 0 var(--space-md);font-size:clamp(3rem,8vw,8rem);font-weight:720;letter-spacing:-.055em;line-height:.96}
.intro__lede{max-width:64ch;margin:0 0 var(--space-lg);color:var(--color-text-on-dark);font-family:var(--font-body);font-size:clamp(1.1rem,2vw,1.5rem)}
.text-link{display:inline-flex;align-items:center;min-height:44px;border-block-end:1px solid currentColor;font-weight:750;text-decoration:none;white-space:nowrap}
.text-link--light{color:var(--color-teal)}
.network-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm);max-width:60rem;margin:0;padding-block-start:var(--space-lg);border-block-start:1px solid var(--color-rule)}
.network-summary div{display:grid;gap:var(--space-3xs)}
.network-summary dt{color:var(--color-teal);font-size:clamp(1.8rem,4vw,3.5rem);font-weight:760;font-variant-numeric:tabular-nums;line-height:1}
.network-summary dd{margin:0;color:var(--color-text-on-dark);font-family:var(--font-body)}

.network{max-width:var(--container);margin-inline:auto;padding:clamp(var(--space-3xl),10vw,var(--space-4xl)) var(--gutter) var(--space-4xl)}
.section-heading{display:grid;gap:var(--space-xs);max-width:72ch;margin-block-end:var(--space-2xl)}
.section-heading h2{max-width:15ch;margin:0;font-size:clamp(2.5rem,6vw,5.8rem);letter-spacing:-.045em;line-height:1}
.section-heading>p:last-child{max-width:66ch;margin:var(--space-xs) 0 0;color:var(--color-muted);font-family:var(--font-body);font-size:1.2rem}
.partner-register{border-block-start:1px solid var(--color-ink)}
.partner-row{display:grid;grid-template-columns:3rem minmax(10rem,.65fr) minmax(16rem,1.3fr) minmax(12rem,.75fr);gap:var(--space-lg);align-items:center;padding:var(--space-xl) 0;border-block-end:1px solid var(--color-rule)}
.partner-row__number{align-self:start;margin:0;color:var(--color-muted);font-weight:750;font-variant-numeric:tabular-nums}
.partner-row__logo{display:grid;place-items:center;min-height:9rem;padding:var(--space-md);background:var(--color-night-raised);color:var(--color-text-on-dark)}
.partner-row__logo img{width:auto;max-width:min(100%,9rem);max-height:6.5rem;object-fit:contain}
.partner-row__logo--wide img{max-width:min(100%,13rem);max-height:4rem}
.partner-row__identity{min-width:0}
.partner-row__place{margin:0;color:var(--color-orange);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.partner-row h3{margin:var(--space-2xs) 0 var(--space-xs);font-size:clamp(1.8rem,4vw,3.8rem);letter-spacing:-.035em;line-height:1}
.partner-row__identity>p:last-child{margin:0;color:var(--color-muted);font-family:var(--font-body);font-size:1.1rem}
.partner-row__actions{display:grid;gap:var(--space-xs);justify-items:start}
.partner-row__actions a{display:inline-flex;align-items:center;min-height:44px;font-weight:750;text-decoration:none;white-space:nowrap}
.profile-link{padding:var(--space-xs) var(--space-sm);background:var(--color-orange);color:var(--color-accent-ink)}
.site-link{border-block-end:1px solid currentColor;color:var(--color-ink)}
.network-note{max-width:65ch;margin:var(--space-xl) 0 0;color:var(--color-muted);font-family:var(--font-body)}

.colophon{display:grid;gap:var(--space-lg);padding:var(--space-xl) var(--gutter) var(--space-2xl);background:var(--color-night);color:var(--color-text-on-dark)}
.colophon p{margin:0}
.colophon nav{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-lg)}
.colophon a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;white-space:nowrap}

:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}
[aria-disabled="true"]{opacity:.55;cursor:not-allowed;pointer-events:none}

@media (hover:hover) and (pointer:fine){
  .languages button:hover{background:var(--color-night-raised)}
  .text-link:hover,.site-link:hover,.colophon a:hover{color:var(--color-teal)}
  .profile-link:hover{background:var(--color-focus)}
}
.languages button:active,.text-link:active,.partner-row__actions a:active,.colophon a:active{transform:translateY(1px)}

@media (min-width:48rem){
  .intro{grid-template-columns:minmax(0,1.35fr) minmax(20rem,.65fr)}
  .network-summary{grid-template-columns:1fr;align-self:end;padding-block-start:0;padding-inline-start:var(--space-lg);border-block-start:0;border-inline-start:1px solid var(--color-rule)}
  .colophon{grid-template-columns:minmax(0,1fr) auto;align-items:center}
}

@media (max-width:63.99rem){
  .partner-row{grid-template-columns:2.5rem minmax(8rem,.55fr) minmax(0,1fr)}
  .partner-row__actions{grid-column:3}
}

@media (max-width:47.99rem){
  .masthead{align-items:flex-start;flex-wrap:wrap}
  .brand{width:100%}
  .brand span[data-t="market"]{display:none}
  .brand .brand__amazigh{font-size:.62rem}
  .languages{max-width:100%;margin-inline-start:0;overflow:auto}
  .intro{min-height:auto}
  .network-summary{gap:var(--space-xs)}
  .partner-row{grid-template-columns:2rem minmax(0,1fr);gap:var(--space-sm);padding:var(--space-lg) 0}
  .partner-row__logo,.partner-row__identity,.partner-row__actions{grid-column:2}
  .partner-row__logo{justify-self:stretch;min-height:7rem}
  .partner-row__actions{display:flex;flex-wrap:wrap;align-items:center}
  .colophon nav{display:grid;justify-items:start;gap:var(--space-xs)}
}

@media (max-width:25rem){
  .network-summary{grid-template-columns:1fr}
  .partner-row__actions{display:grid}
  .profile-link{width:100%;justify-content:center}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}
