.newsletter-editorial{--letter-sage:#edf3ec;--letter-lavender:#f1eef7;--letter-sand:#faf2e3;--letter-rose:#f9efec;--letter-plum:#654776;--letter-ochre:#805719;--letter-rust:#8b4939}.library-site .letter-shell,.library-site .letter-header{max-width:1040px}.letter-header{display:grid;grid-template-columns:minmax(0,1fr)180px;align-items:center;gap:40px;padding-block:48px 36px;border-bottom:1px solid var(--line)}.letter-header .breadcrumb{font-size:14px;color:var(--green) !important;font-weight:600}.letter-issue{font-size:13px;color:var(--muted);margin:18px 0 0 !important}.library-site .letter-header h1{font-size:clamp(2rem,3.6vw,2.9rem);line-height:1.16;max-width:800px;margin:16px 0 20px;text-wrap:balance}.letter-period{font-size:14px;color:var(--muted);margin:0 !important}.letter-header .mascot{max-width:180px;max-height:200px}.letter-tools{display:flex;justify-content:space-between;align-items:start;gap:24px;padding-block:22px 32px}.letter-tools>div{text-align:end}.library-site .letter-print{display:inline-flex;gap:18px;align-items:center;min-height:44px;border:1px solid var(--green);border-radius:8px;padding:9px 16px;background:var(--paper);color:var(--green);font-size:14px;font-weight:600;cursor:pointer}.library-site .letter-print[hidden]{display:none}.letter-print:hover{background:var(--wash)}.letter-print-help{font-size:11px;color:var(--muted);margin:6px 0 0 !important}.letter-kicker{text-transform:uppercase;font-size:11px;letter-spacing:.12em;font-weight:700;color:var(--green);margin-bottom:18px !important}.letter-metrics{padding:28px;background:var(--wash);border:1px solid var(--line);border-radius:16px}.letter-metrics dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0}.letter-metrics dl>div{display:flex;flex-direction:column;gap:12px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:12px}.letter-metrics dl>div:nth-child(2){background:var(--letter-lavender)}.letter-metrics dl>div:nth-child(3){background:var(--letter-sand)}.letter-metrics dt{font-size:14px;line-height:1.6;max-width:25ch;color:var(--ink)}.letter-metrics dd{order:-1;font-size:clamp(2.3rem,4vw,3.2rem);line-height:1.1;font-weight:700;letter-spacing:-.05em;color:var(--green);margin:0;font-variant-numeric:tabular-nums}.letter-metrics dl>div:nth-child(2) dd{color:var(--letter-plum)}.letter-metrics dl>div:nth-child(3) dd{color:var(--letter-ochre)}.letter-toc{margin:28px 0 0;border-block:1px solid var(--line);padding:20px 0}.letter-toc summary{cursor:pointer;min-height:30px;font-size:16px;font-weight:600;color:var(--ink)}.letter-toc-hint{font-size:12px;font-weight:400;color:var(--muted);margin-inline-start:14px}.letter-toc ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 28px;list-style:decimal-leading-zero;padding:16px 0 0 28px;margin:0;font-size:13px}.letter-toc li{padding-inline-start:4px}.letter-toc li::marker{font-size:11px;color:var(--green)}.letter-toc a{display:inline-block;min-height:44px;padding:8px 0;text-decoration:underline !important;text-underline-offset:4px}.letter-toc ol{list-style:none;counter-reset:letter-contents;padding-inline-start:0 !important}.letter-toc li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:6px;padding-inline-start:0;counter-increment:letter-contents}.letter-toc li::before{content:counter(letter-contents,decimal-leading-zero)".";font-size:11px;color:var(--green);padding-top:10px;direction:ltr;unicode-bidi:isolate}.letter-toc a{display:block}.newsletter-body{font-size:16px;line-height:1.8;color:var(--ink)}.newsletter-body .letter-section{padding:44px 0;border-bottom:1px solid var(--line);scroll-margin-top:24px}.newsletter-body .letter-section-inner{max-width:none;margin:0;padding:0}.library-site .newsletter-body h2{font-size:clamp(1.6rem,2.8vw,2rem);line-height:1.3;margin:0 0 28px;text-wrap:balance}.library-site .newsletter-body h3{font-size:21px;line-height:1.4;margin:0 0 16px;letter-spacing:-.025em}.library-site .newsletter-body h4{font-size:16px;line-height:1.5;margin:0 0 10px;letter-spacing:-.01em}.newsletter-body p{margin:0 0 18px !important}.newsletter-body p:last-child{margin-bottom:0 !important}.newsletter-body a{color:var(--green) !important;text-decoration:underline !important;text-underline-offset:3px;overflow-wrap:anywhere}.newsletter-body a:hover{text-decoration-thickness:2px !important}.newsletter-body ul,.newsletter-body ol{list-style:disc;padding-inline-start:22px;margin:12px 0 20px}.newsletter-body li{margin:6px 0}.newsletter-body .letter-lead{font-size:20px;line-height:1.75;color:var(--green);max-width:72ch}.letter-stack{display:grid;gap:22px}.letter-grid{display:grid;gap:22px;margin-bottom:24px;align-items:start}.letter-grid:last-child{margin-bottom:0}.letter-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.letter-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.letter-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.letter-grid>*{min-width:0}.letter-span-2{grid-column:span 2}.newsletter-body .letter-grid:has(>:only-child){grid-template-columns:minmax(0,1fr)}.letter-card{padding:26px;border:1px solid var(--line);border-radius:12px;background:#fff}.newsletter-body .letter-card:nth-child(4n+1){background:var(--letter-sage)}.newsletter-body .letter-card:nth-child(4n+2){background:var(--letter-lavender)}.newsletter-body .letter-card:nth-child(4n+3){background:var(--letter-sand)}.newsletter-body .letter-card:nth-child(4n+4){background:var(--letter-rose)}.newsletter-body .letter-references .letter-card{background:#fff}.letter-card>.letter-grid{gap:12px}.letter-card-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:16px}.letter-card-heading h3{margin:0 !important}.letter-date{flex-shrink:0;border:1px solid var(--line);background:var(--wash);border-radius:6px;padding:5px 9px;color:var(--muted);font-size:12px;line-height:1.5}.letter-inset{padding:18px;border-radius:10px;border:1px solid #25342d12;margin-block:18px}.letter-grid>.letter-inset{margin:0}.letter-sage{background:var(--letter-sage)}.letter-lavender{background:var(--letter-lavender)}.letter-sand{background:var(--letter-sand)}.letter-rose{background:var(--letter-rose)}.letter-inset ul:last-child{margin-bottom:0}.letter-number{font-size:30px;line-height:1.2;font-weight:700;letter-spacing:-.04em;color:var(--green);margin-bottom:8px}.letter-lavender>.letter-number{color:var(--letter-plum)}.letter-sand>.letter-number{color:var(--letter-ochre)}.letter-rose>.letter-number{color:var(--letter-rust)}.letter-caption,.letter-small{font-size:14px;line-height:1.7;color:var(--muted)}.letter-center{text-align:center}.letter-source{font-size:14px;display:inline;text-underline-offset:4px}.letter-spaced{margin-top:24px}.newsletter-body .letter-conclusion{padding:32px;margin-top:40px;background:var(--letter-sage);border:1px solid #c8d8ca;border-inline-start:4px solid var(--green);border-radius:12px}.letter-conclusion>.letter-section-inner>.letter-grid{gap:32px}.letter-followup{margin-top:26px;padding-top:24px;border-top:1px solid #c8d8ca}.letter-followup:last-child p{font-size:19px;font-weight:500;color:var(--green)}.letter-followup-card{background:#fff;padding:20px;border:1px solid var(--line);border-radius:10px;text-align:start}.newsletter-body .letter-quote{padding:32px 0}.newsletter-body blockquote{border:0;border-inline-start:3px solid var(--green);padding:6px 0 6px 24px;margin:0 0 18px;font-size:23px;line-height:1.65;font-weight:500;letter-spacing:-.02em;color:var(--green);text-align:start}.letter-quote .letter-center{font-size:13px;color:var(--muted);text-align:start;padding-inline-start:27px}.letter-references .letter-card{padding:22px}.letter-references .letter-card>div{padding:0}.letter-references ul{font-size:14px}.letter-references .letter-inset{font-size:14px}.letter-signoff{display:flex;gap:32px;justify-content:space-between;align-items:center;margin-block:32px 60px;padding-top:26px;border-top:1px solid var(--line)}.letter-signoff p{margin-bottom:6px !important}.letter-signoff .letter-kicker{margin-bottom:12px !important}.letter-metrics dd{overflow-wrap:anywhere;min-width:0;max-width:100%}.letter-metrics dd.letter-metric-word{font-size:1.65rem;letter-spacing:-.025em;line-height:1.35}.letter-anchor{display:block;scroll-margin-top:24px}.newsletter-body .letter-stack>.letter-card+.letter-card{margin-top:0}.newsletter-body table{width:100%;border-collapse:collapse;font-size:14px}.newsletter-body th,.newsletter-body td{text-align:start;vertical-align:top;border:1px solid var(--line);padding:12px;min-width:120px}.newsletter-body th{background:var(--wash)}.newsletter-body img{height:auto;max-width:100%}.newsletter-body .letter-card>div:only-child{min-width:0}@media(min-width:801px){.letter-metrics dl:has(>div:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}}[dir=rtl] .newsletter-body blockquote{padding:6px 24px 6px 0;letter-spacing:normal}[dir=rtl] .letter-toc ol{padding:16px 28px 0 0}[dir=rtl] .letter-quote .letter-center{padding-inline-start:27px}[dir=rtl] .newsletter-body h2,[dir=rtl] .newsletter-body h3,[dir=rtl] .letter-header h1{letter-spacing:normal;line-height:1.5}@media(max-width:800px){.letter-header{grid-template-columns:minmax(0,1fr)120px;gap:22px}.letter-header .mascot{max-width:120px}.letter-grid-3,.letter-grid-4{grid-template-columns:1fr}.letter-toc ol{grid-template-columns:repeat(2,minmax(0,1fr))}.letter-metrics dl>div{padding:18px}}@media(max-width:600px){.letter-header{grid-template-columns:1fr;padding-block:28px 24px;gap:12px}.letter-header .mascot{max-width:160px;max-height:120px;justify-self:end}.library-site .letter-header h1{font-size:30px}.letter-tools{flex-direction:column;gap:8px;padding-bottom:24px}.letter-tools>div{text-align:start}.letter-metrics{padding:18px}.letter-metrics dl{grid-template-columns:1fr;gap:10px}.letter-metrics dl>div{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center;gap:14px;padding:18px 14px}.letter-metrics dd{grid-column:1;grid-row:1;font-size:34px}.letter-metrics dt{grid-column:2;font-size:13px;max-width:none}.letter-toc-hint{display:block;margin:8px 0 0 18px}.letter-toc ol{grid-template-columns:1fr;gap:0}.letter-grid-2{grid-template-columns:1fr}.letter-card{padding:20px}.letter-card-heading{flex-direction:column;gap:12px}.newsletter-body .letter-section{padding-block:32px}.newsletter-body .letter-conclusion{padding:24px 18px}.newsletter-body .letter-lead{font-size:18px}.newsletter-body h3{font-size:20px}.newsletter-body .letter-grid{gap:16px}.letter-signoff{flex-direction:column;align-items:start;gap:16px}.newsletter-body blockquote{font-size:20px;padding-inline-start:18px}.letter-references .letter-card{padding:20px}}@media screen and (max-width:600px){.letter-metrics dl>div{display:flex;flex-direction:column;align-items:start;gap:10px;padding:18px}.letter-metrics dd{font-size:38px}.letter-metrics dt{font-size:14px}}@media screen and (max-width:800px){.letter-span-2{grid-column:auto}}@media print{@page{size:A4 portrait;margin:16mm 15mm 18mm;@bottom-left{content:"alouani.org · Mustapha Alouani";font:8pt sans-serif;color:#59695f}@bottom-right{content:counter(page) " / " counter(pages);font:8pt sans-serif;color:#59695f}}html{scroll-behavior:auto}body.library-site{background:#fff !important;font-size:10.5pt;line-height:1.6}.site-header,.site-footer,.skip-link,.search-dialog,.letter-tools,.letter-toc,.letter-signoff .text-link{display:none !important}body.library-site .site-shell{width:100% !important;max-width:none !important;margin:0}.newsletter-editorial{print-color-adjust:exact;-webkit-print-color-adjust:exact}.letter-header{grid-template-columns:minmax(0,1fr)27mm;gap:8mm;padding:0 0 7mm;margin-bottom:7mm !important}.library-site .letter-header h1{font-size:25pt;line-height:1.15;margin:4mm 0}.letter-header .mascot{max-height:30mm;max-width:27mm}.letter-issue,.letter-period,.letter-header .breadcrumb{font-size:9pt}.letter-metrics{padding:5mm;break-inside:avoid}.letter-metrics dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:3mm}.letter-metrics dl:has(>div:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}.letter-metrics dl:has(>div:nth-child(4):last-child) dd{font-size:22pt}.letter-metrics dl>div{display:flex;gap:3mm;padding:4mm}.letter-metrics dd{font-size:28pt}.letter-metrics dt{font-size:9pt}.letter-metrics dd.letter-metric-word{font-size:15pt}.letter-kicker{font-size:8pt;margin-bottom:4mm !important}.newsletter-body{font-size:10.5pt;line-height:1.5}.newsletter-body .letter-section{padding:5mm 0;break-inside:auto}.newsletter-body .letter-section~.letter-section:not(.letter-quote){page-break-before:always;break-before:page;margin-top:0;padding-top:0}.newsletter-body h2,.newsletter-body h3,.newsletter-body h4{page-break-after:avoid;break-after:avoid-page;page-break-inside:avoid;break-inside:avoid}.newsletter-body .letter-card-heading{page-break-inside:avoid;break-inside:avoid-page;page-break-after:avoid;break-after:avoid-page}.library-site .newsletter-body h2{font-size:19pt;margin-bottom:5mm;break-after:avoid}.library-site .newsletter-body h3{font-size:14pt;margin-bottom:3mm;break-after:avoid}.library-site .newsletter-body h4{font-size:11pt;break-after:avoid}.newsletter-body p{margin-bottom:2.5mm !important;orphans:3;widows:3}.newsletter-body ul,.newsletter-body ol{margin-block:2mm 3mm}.newsletter-body li{margin-block:1mm}.newsletter-body .letter-lead{font-size:12pt}.newsletter-body .letter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4mm;margin-bottom:4mm}.newsletter-body .letter-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.newsletter-body .letter-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.newsletter-body .letter-grid .letter-grid-2{display:block}.newsletter-body .letter-grid>*{margin-bottom:0}.letter-card,.letter-inset,.letter-followup-card{padding:4mm;break-inside:avoid}.letter-stack{display:block}.letter-stack>*{margin-bottom:5mm}.letter-card-heading{gap:4mm;flex-direction:row}.letter-date{font-size:8pt}.letter-caption,.letter-small,.letter-source,.letter-references ul{font-size:9pt}.newsletter-body a{color:#204b3c !important;text-decoration:underline !important}.letter-number{font-size:22pt}.newsletter-body .letter-section.letter-inset{background:0 0;border:0;border-radius:0;margin-block:0}.letter-card p:has(+a.letter-source){break-after:avoid}.newsletter-body .letter-conclusion{margin-top:6mm;padding:6mm;break-inside:auto}.letter-followup{margin-top:5mm;padding-top:4mm}.newsletter-body blockquote{font-size:14pt;break-inside:avoid}.letter-signoff{display:none}.newsletter-body .table-scroll{overflow:visible;border:0;margin:4mm 0}.newsletter-body table{font-size:9pt}.newsletter-body th,.newsletter-body td{min-width:0;padding:2mm;overflow-wrap:anywhere}.newsletter-body tr{break-inside:avoid}}