/* MJED Utility Classes - replaces inline styles for Core Web Vitals */

/* Info boxes */
.mjed-info-so { background:#f0f9ff;border-left:4px solid #B8735A;padding:1.25rem;margin:1.5rem 0;border-radius:0 8px 8px 0; }
.mjed-info-gh { background:#F5F2ED;border-left:4px solid #5A8A6A;padding:1.25rem;margin:1.5rem 0;border-radius:0 8px 8px 0; }
.mjed-info-mck { background:#faf5ff;border-left:4px solid #9333ea;padding:1.25rem;margin:1.5rem 0;border-radius:0 8px 8px 0; }

.mjed-info-title-so { margin-top:0;color:#1e40af; }
.mjed-info-title-gh { margin-top:0;color:#3D6B4F; }
.mjed-info-title-mck { margin-top:0;color:#6b21a8; }

.mjed-info-source { font-size:0.85rem;color:#6b7280;margin-bottom:0; }
.mjed-info-list { margin:0.75rem 0; }

/* Cards & boxes */
.mjed-share-box { display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid #e5e7eb;border-radius:10px;background:#F5F2ED;margin:18px 0;font-size:.92rem; }
.mjed-card { margin:24px 0;padding:18px 20px;border:1px solid #e5e7eb;border-radius:10px;background:#fafafa; }
.mjed-card-mt { margin:28px 0 16px;padding:18px 20px;border:1px solid #e5e7eb;border-radius:10px;background:#fafafa; }

/* Flex & layout */
.mjed-flex-tags { margin:1rem 0;display:flex;gap:1rem;align-items:center;flex-wrap:wrap; }

/* Form elements */
.mjed-input { width:100%;padding:10px;border:1px solid #e5e7eb;border-radius:6px; }

/* Images */
.mjed-img-cover { width:100%;max-height:320px;object-fit:cover;border-radius:16px; }
.mjed-avatar { border-radius:50%;flex-shrink:0;object-fit:cover; }
.mjed-avatar-fl { width:48px;height:48px;border-radius:50%;float:left;margin-right:12px;background-image:url(/images/samuel-morin-v2-48.webp);background-size:cover;display:inline-block; }

/* Typography */
.mjed-label { display:block;margin-bottom:4px;font-weight:600; }
.mjed-list-disc { list-style:disc;padding-left:20px;margin:0;font-size:.9rem;line-height:1.7; }
.mjed-h4 { font-size:1.05rem;font-weight:700;margin:0 0 10px;color:#1a3a2a; }
.mjed-h2 { font-family:Georgia,serif;font-size:clamp(1.6rem,3vw,2.4rem);margin:0 0 0.4rem;letter-spacing:-0.01em; }
.mjed-quote { font-family:Georgia,serif;font-size:1.35rem;margin:0 0 1rem;border-bottom:1px solid #e5e1d8;padding-bottom:0.4rem; }

/* Links */
.mjed-link { color:#1c1c1e;text-decoration:underline;font-size:0.9rem; }
.mjed-link-gold { color:#c4a265;text-decoration:underline; }

/* Colors & sizes */
.mjed-small { color:#64748b;font-size:.85rem; }
.mjed-xsmall { font-size:0.75rem;color:#6b7280; }
.mjed-xsmall-mt { color:#94a3b8;font-size:.78rem;margin-top:4px; }
.mjed-warn { margin-top:10px;color:#d97706;font-size:.85rem; }
.mjed-c-5a8a6a { color:#5A8A6A; }
.mjed-c-red { color:#dc2626; }

/* Spacing utilities */
.mjed-my-32 { margin:32px 0; }
.mjed-my-24 { margin:1.5rem 0; }
.mjed-mt-0 { margin-top:0; }
.mjed-pl-12 { margin:0.5rem 0;padding-left:1.2rem; }
.mjed-py-8 { padding:8px 0; }
.mjed-fw-700 { font-weight:700; }
.mjed-tac { text-align:center; }
.mjed-ox-auto { overflow-x:auto; }

/* Homepage utility classes */
.mjed-hp-01 { max-width:76rem;margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem); }
.mjed-hp-02 { color:#F2EDE4;text-decoration:none; }
.mjed-hp-03 { font-family:'Playfair Display', Georgia, serif;font-size:clamp(1.85rem,3vw + 0.3rem,2.5rem);font-weight:600;color:#181A20;letter-spacing:-0.03em;line-height:1;font-variant-numeric:tabular-nums; }
.mjed-hp-04 { font-family:'Playfair Display', Georgia, serif;font-size:clamp(1.2rem,1.5vw + 0.3rem,1.4rem);font-weight:500;color:#181A20;letter-spacing:-0.015em;line-height:1.15;margin-bottom:0.5rem; }
.mjed-hp-05 { font-family:'Playfair Display', Georgia, serif;font-size:clamp(1.75rem,3vw + 0.3rem,2.4rem);font-weight:700;letter-spacing:-0.025em;line-height:1.1;margin:0;color:#181A20; }
.mjed-hp-06 { font-family:'Playfair Display', Georgia, serif;font-size:0.95rem;font-weight:500;color:#F2EDE4;letter-spacing:0.03em;margin:0 0 1rem;text-transform:uppercase; }
.mjed-hp-07 { font-size:0.7rem;text-transform:uppercase;letter-spacing:0.18em;color:#8A6A3A;font-weight:600;margin-bottom:0.85rem; }
.mjed-hp-08 { font-size:0.72rem;text-transform:uppercase;letter-spacing:0.15em;color:#4A4E58;font-weight:500;margin-bottom:0.6rem; }
.mjed-hp-09 { margin-top:1.25rem;font-size:0.88rem;color:#8A6A3A;font-weight:600;letter-spacing:0.02em; }
.mjed-hp-10 { list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0.45rem; }
.mjed-hp-11 { color:#8B8F99;font-size:0.85rem;text-decoration:none; }
.mjed-hp-12 { font-size:0.85rem;color:#4A4E58;line-height:1.5; }
.mjed-hp-13 { margin:0; }
.mjed-hp-14 { padding:1.75rem 1.35rem;text-decoration:none;color:inherit;border-right:1px solid #E5DFD1;display:flex;flex-direction:column;justify-content:space-between;min-height:11rem; }
.mjed-hp-15 { font-size:0.78rem;text-transform:uppercase;letter-spacing:0.22em;color:#8A6A3A;font-weight:500;margin-bottom:0.5rem; }
.mjed-hp-16 { padding:1.5rem 1.25rem;border-right:1px solid #E5DFD1; }
.mjed-hp-17 { color:#B8925A;font-weight:700; }
.mjed-hp-18 { padding:clamp(3.5rem,7vw,5.5rem) 0;background:#F2EDE4;border-top:1px solid #E5DFD1;border-bottom:1px solid #E5DFD1;font-family:'Inter', system-ui, -apple-system, sans-serif; }
.mjed-hp-19 { font-family:'Playfair Display', Georgia, serif;font-size:1rem;font-weight:500;color:#181A20;line-height:1.15;margin-bottom:0.5rem;letter-spacing:-0.01em; }
.mjed-hp-20 { font-family:'Playfair Display', Georgia, serif;font-size:1.2rem;font-weight:500;color:#F2EDE4;letter-spacing:-0.015em;margin:0 0 0.25rem; }
.mjed-hp-21 { font-family:'Playfair Display', Georgia, serif;font-size:0.8rem;color:rgba(242,237,228,0.55);font-variant-numeric:tabular-nums; }
.mjed-hp-22 { display:grid;grid-template-columns:auto 1fr auto;gap:0.75rem;color:#F2EDE4;text-decoration:none;align-items:baseline; }
.mjed-hp-23 { padding:clamp(3.5rem,7vw,5.5rem) 0;background:#FAFAF7;font-family:'Inter', system-ui, -apple-system, sans-serif; }
.mjed-hp-24 { margin-top:0.55rem;font-size:0.78rem;color:#8B8F99;line-height:1.4; }
.mjed-hp-25 { font-size:0.8rem;color:rgba(242,237,228,0.55);margin:0 0 1.25rem; }
.mjed-hp-26 { border-bottom:1px solid rgba(242,237,228,0.12);padding:0.6rem 0; }
.mjed-hp-27 { margin-bottom:2.5rem;max-width:48rem; }
.mjed-hp-28 { list-style:none;padding:0;margin:0; }
.mjed-hp-29 { font-size:0.92rem;font-weight:500; }
.mjed-hp-30 { font-style:italic;color:#B8925A; }
.mjed-hp-31 { color:#181A20;font-weight:600; }

/* Homepage full utility classes */
.mjed-hp-001 { background:#FAFAF7;color:#181A20;font-family:'Inter', system-ui, -apple-system, sans-serif;line-height:1.6; }
.mjed-hp-002 { background:#FAFAF7;padding:clamp(3.5rem,7vw,6rem) 0;border-bottom:1px solid #E5DFD1;font-family:'Inter', system-ui, -apple-system, sans-serif; }
.mjed-hp-003 { max-width:76rem;margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem);display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center; }
.mjed-hp-004 { font-size:0.78rem;text-transform:uppercase;letter-spacing:0.22em;color:#8A6A3A;font-weight:500;margin-bottom:1rem; }
.mjed-hp-005 { display:inline-block;width:24px;height:1px;background:#B8925A;vertical-align:middle;margin-right:0.75rem; }
.mjed-hp-006 { font-family:'Playfair Display', Georgia, serif;font-size:clamp(2.25rem,5.5vw + 0.3rem,4.5rem);font-weight:700;letter-spacing:-0.03em;line-height:1.0;margin:0 0 1.5rem;max-width:22ch;color:#181A20; }
.mjed-hp-007 { font-style:italic;color:#B8925A; }
.mjed-hp-008 { font-size:clamp(1.05rem,1.1vw + 0.6rem,1.25rem);line-height:1.55;color:#4A4E58;max-width:54ch;margin:0 0 2rem; }
.mjed-hp-009 { color:#181A20;font-weight:600; }
.mjed-hp-010 { display:grid;grid-template-columns:1fr auto;max-width:38rem;margin-bottom:1.5rem;border:2px solid #181A20;background:#FAFAF7; }
.mjed-hp-011 { padding:1rem 1.25rem;border:none;outline:none;font-size:1rem;font-family:'Inter', system-ui, -apple-system, sans-serif;background:transparent;color:#181A20; }
.mjed-hp-012 { padding:1rem 1.75rem;background:#181A20;color:#F2EDE4;border:none;font-size:0.95rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;cursor:pointer;font-family:'Inter', system-ui, -apple-system, sans-serif; }
.mjed-hp-013 { list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:clamp(0.75rem,2vw,1.75rem);font-size:0.85rem;color:#4A4E58; }
.mjed-hp-014 { color:#B8925A;font-weight:700; }
.mjed-hp-015 { padding:clamp(1.75rem,3vw,2.5rem);background:#F2EDE4;border:1px solid #E5DFD1;position:relative; }
.mjed-hp-016 { position:absolute;top:-1px;left:-1px;width:3rem;height:3px;background:#B8925A; }
.mjed-hp-017 { font-size:0.72rem;text-transform:uppercase;letter-spacing:0.2em;color:#8A6A3A;font-weight:500;margin-bottom:0.5rem; }
.mjed-hp-018 { font-family:'Playfair Display', Georgia, serif;font-size:clamp(1.5rem,2vw + 0.3rem,1.85rem);font-weight:600;letter-spacing:-0.02em;line-height:1.1;margin-bottom:1.5rem; }
.mjed-hp-019 { display:flex;align-items:baseline;gap:0.85rem;margin-bottom:1rem; }
.mjed-hp-020 { font-family:'Playfair Display', Georgia, serif;font-size:clamp(3.25rem,6vw + 0.3rem,5rem);font-weight:600;color:#A8491E;letter-spacing:-0.04em;line-height:0.88;font-variant-numeric:tabular-nums; }
.mjed-hp-021 { font-size:0.8rem;color:#4A4E58;text-transform:uppercase;letter-spacing:0.14em;font-weight:500; }
.mjed-hp-022 { height:4px;background:#E5DFD1;position:relative;margin-bottom:1.5rem; }
.mjed-hp-023 { position:absolute;inset:0 33% 0 0;background:#A8491E; }
.mjed-hp-024 { font-size:0.88rem;color:#181A20;font-weight:600;text-decoration:none;border-bottom:2px solid #B8925A;padding-bottom:0.15rem;letter-spacing:0.02em; }
.mjed-hp-025 { background:#0A1020;color:#F2EDE4;padding:clamp(4rem,8vw,6rem) 0;font-family:'Inter', system-ui, -apple-system, sans-serif; }
.mjed-hp-026 { max-width:76rem;margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem); }
.mjed-hp-027 { margin-bottom:clamp(2.5rem,5vw,4rem);max-width:46rem; }
.mjed-hp-028 { font-size:0.78rem;text-transform:uppercase;letter-spacing:0.22em;color:#B8925A;font-weight:500;margin-bottom:0.75rem; }
.mjed-hp-029 { font-family:'Playfair Display', Georgia, serif;font-size:clamp(1.85rem,3.5vw + 0.3rem,2.75rem);font-weight:700;letter-spacing:-0.025em;line-height:1.05;margin:0;color:#F2EDE4; }
.mjed-hp-030 { margin-top:1rem;font-size:1.05rem;line-height:1.55;color:rgba(242,237,228,0.75);max-width:58ch; }
.mjed-hp-031 { display:grid;grid-template-columns:1fr 1fr 1fr;gap:clamp(1.5rem,3vw,2.5rem);align-items:start; }
.mjed-hp-032 { max-width:320px;display:block;margin:0 auto; }
.mjed-hp-033 { border-top:2px solid #8A2C1E;padding-top:1rem; }
.mjed-hp-034 { font-family:'Playfair Display', Georgia, serif;font-size:1.2rem;font-weight:500;color:#F2EDE4;letter-spacing:-0.015em;margin:0 0 0.25rem; }
.mjed-hp-035 { font-size:0.8rem;color:rgba(242,237,228,0.55);margin:0 0 1.25rem; }
.mjed-hp-036 { list-style:none;padding:0;margin:0; }
.mjed-hp-037 { border-bottom:1px solid rgba(242,237,228,0.12);padding:0.6rem 0; }
.mjed-hp-038 { display:grid;grid-template-columns:auto 1fr auto;gap:0.75rem;color:#F2EDE4;text-decoration:none;align-items:baseline; }
.mjed-hp-039 { font-family:'Playfair Display', Georgia, serif;font-size:0.8rem;color:rgba(242,237,228,0.55);font-variant-numeric:tabular-nums; }
.mjed-hp-040 { font-size:0.92rem;font-weight:500; }
.mjed-hp-041 { font-family:'Playfair Display', Georgia, serif;font-size:0.92rem;color:#8A2C1E;font-weight:600;font-variant-numeric:tabular-nums; }
.mjed-hp-042 { border-top:2px solid #2D7555;padding-top:1rem; }
.mjed-hp-043 { font-family:'Playfair Display', Georgia, serif;font-size:0.92rem;color:#2D7555;font-weight:600;font-variant-numeric:tabular-nums; }
.mjed-hp-044 { margin-top:2.5rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center; }
.mjed-hp-045 { display:inline-flex;align-items:center;gap:0.5rem;padding:0.85rem 1.5rem;background:#B8925A;color:#0A1020;font-size:0.95rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;text-decoration:none; }
.mjed-hp-046 { display:inline-flex;align-items:center;gap:0.5rem;padding:0.85rem 1.5rem;background:transparent;color:#F2EDE4;border:1px solid rgba(242,237,228,0.3);font-size:0.95rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;text-decoration:none; }
.mjed-hp-047 { padding:clamp(3.5rem,7vw,5.5rem) 0;background:#FAFAF7;font-family:'Inter', system-ui, -apple-system, sans-serif; }
.mjed-hp-048 { margin-bottom:2rem; }
.mjed-hp-049 { font-size:0.78rem;text-transform:uppercase;letter-spacing:0.22em;color:#8A6A3A;font-weight:500;margin-bottom:0.5rem; }
.mjed-hp-050 { font-family:'Playfair Display', Georgia, serif;font-size:clamp(1.75rem,3vw + 0.3rem,2.4rem);font-weight:700;letter-spacing:-0.025em;line-height:1.1;margin:0;color:#181A20; }
.mjed-hp-051 { display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem; }
.mjed-hp-052 { flex:0 0 320px;scroll-snap-align:start;background:#FAFAF7;border:1px solid #E5DFD1; }
.mjed-hp-053 { padding:1rem 1.15rem 0.5rem;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.12em;color:#4A4E58;font-weight:500; }
.mjed-hp-054 { display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #E5DFD1;border-bottom:1px solid #E5DFD1; }
.mjed-hp-055 { padding:1rem 1.15rem;background:transparent;border-right:1px solid #E5DFD1;text-align:left; }
.mjed-hp-056 { font-family:'Playfair Display', Georgia, serif;font-size:1rem;font-weight:500;color:#181A20;line-height:1.15;margin-bottom:0.5rem;letter-spacing:-0.01em; }
.mjed-hp-057 { font-family:'Playfair Display', Georgia, serif;font-size:clamp(2rem,4vw + 0.3rem,2.5rem);font-weight:600;color:#8A2C1E;letter-spacing:-0.03em;line-height:0.9;font-variant-numeric:tabular-nums;margin-bottom:0.25rem; }
.mjed-hp-058 { font-size:0.7rem;color:#8A2C1E;text-transform:uppercase;letter-spacing:0.1em;font-weight:600; }
.mjed-hp-059 { padding:1rem 1.15rem;background:rgba(184, 146, 90, 0.12);text-align:right; }
.mjed-hp-060 { font-family:'Playfair Display', Georgia, serif;font-size:clamp(2rem,4vw + 0.3rem,2.5rem);font-weight:600;color:#A8491E;letter-spacing:-0.03em;line-height:0.9;font-variant-numeric:tabular-nums;margin-bottom:0.25rem; }
.mjed-hp-061 { font-size:0.7rem;color:#A8491E;text-transform:uppercase;letter-spacing:0.1em;font-weight:600; }
.mjed-hp-062 { padding:0.85rem 1.15rem;font-size:0.82rem;font-weight:500;color:#8A6A3A;text-decoration:none;display:flex;justify-content:space-between;align-items:center; }
.mjed-hp-063 { margin-top:2rem;text-align:center; }
.mjed-hp-064 { display:inline-flex;align-items:center;gap:0.5rem;padding:0.85rem 1.5rem;background:#181A20;color:#F2EDE4;font-size:0.92rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;text-decoration:none; }
.mjed-hp-065 { padding:clamp(3.5rem,7vw,5.5rem) 0;background:#F2EDE4;border-top:1px solid #E5DFD1;border-bottom:1px solid #E5DFD1;font-family:'Inter', system-ui, -apple-system, sans-serif; }
.mjed-hp-066 { margin-bottom:2.5rem;max-width:48rem; }
.mjed-hp-067 { font-size:0.78rem;text-transform:uppercase;letter-spacing:0.22em;color:#8A6A3A;font-weight:500;margin-bottom:0.75rem; }
.mjed-hp-068 { margin-top:0.75rem;font-size:1rem;line-height:1.55;color:#4A4E58;max-width:58ch; }
.mjed-hp-069 { display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:0;border:1px solid #E5DFD1;background:#FAFAF7; }
.mjed-hp-070 { display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem 1.35rem;text-decoration:none;color:inherit;min-height:11.5rem;background:#FAFAF7;border-right:1px solid #E5DFD1; }
.mjed-hp-071 { font-family:'Playfair Display'&nbsp; Georgia&nbsp; serif;font-size:1.15rem;font-weight:500;color:#181A20;letter-spacing:-0.01em;margin-bottom:0.35rem; }
.mjed-hp-072 { font-size:0.82rem;color:#4A4E58; }
.mjed-hp-073 { display:flex;align-items:baseline;justify-content:space-between;margin-top:1rem;padding-top:0.75rem;border-top:1px solid #E5DFD1; }
.mjed-hp-074 { font-size:0.68rem;text-transform:uppercase;letter-spacing:0.1em;color:#8A2C1E;font-weight:700; }
.mjed-hp-075 { font-family:'Playfair Display', Georgia, serif;font-size:1.3rem;font-weight:600;color:#8A2C1E;letter-spacing:-0.02em;font-variant-numeric:tabular-nums; }
.mjed-hp-076 { display:flex;justify-content:space-between;align-items:baseline;margin-bottom:2rem;flex-wrap:wrap;gap:1rem; }
.mjed-hp-077 { color:#8A6A3A;font-size:0.92rem;font-weight:500;text-decoration:underline;text-decoration-color:#C8BFA8;text-underline-offset:0.3em; }
.mjed-hp-078 { display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem; }
.mjed-hp-079 { display:grid;background:#FAFAF7;border:1px solid #E5DFD1;text-decoration:none;color:inherit; }
.mjed-hp-080 { position:relative;aspect-ratio:4/3;overflow:hidden;background:#F2EDE4; }
.mjed-hp-081 { width:100%;height:100%;object-fit:cover;display:block; }
.mjed-hp-082 { position:absolute;top:0.6rem;left:0.6rem;padding:0.25rem 0.55rem;background:#FAFAF7;font-size:0.68rem;font-weight:700;color:#A8491E;letter-spacing:0.06em;text-transform:uppercase; }
.mjed-hp-083 { padding:0.95rem 1.1rem 1.15rem; }
.mjed-hp-084 { font-size:0.7rem;color:#8B8F99;text-transform:uppercase;letter-spacing:0.08em;font-weight:500;margin-bottom:0.3rem; }
.mjed-hp-085 { font-family:'Playfair Display', Georgia, serif;font-size:1.1rem;font-weight:500;color:#181A20;line-height:1.2;letter-spacing:-0.01em;margin-bottom:0.75rem; }
.mjed-hp-086 { display:flex;justify-content:space-between;align-items:baseline;font-size:0.82rem;color:#4A4E58; }
.mjed-hp-087 { font-variant-numeric:tabular-nums;font-weight:500; }
.mjed-hp-088 { color:#8A6A3A;font-weight:500; }
.mjed-hp-089 { display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:0;border:1px solid #E5DFD1;background:#FAFAF7; }
.mjed-hp-090 { padding:1.75rem 1.35rem;text-decoration:none;color:inherit;border-right:1px solid #E5DFD1;display:flex;flex-direction:column;justify-content:space-between;min-height:11rem; }
.mjed-hp-091 { font-size:0.7rem;text-transform:uppercase;letter-spacing:0.18em;color:#8A6A3A;font-weight:600;margin-bottom:0.85rem; }
.mjed-hp-092 { font-family:'Playfair Display', Georgia, serif;font-size:clamp(1.2rem,1.5vw + 0.3rem,1.4rem);font-weight:500;color:#181A20;letter-spacing:-0.015em;line-height:1.15;margin-bottom:0.5rem; }
.mjed-hp-093 { font-size:0.85rem;color:#4A4E58;line-height:1.5; }
.mjed-hp-094 { margin-top:1.25rem;font-size:0.88rem;color:#8A6A3A;font-weight:600;letter-spacing:0.02em; }
.mjed-hp-095 { padding:1.75rem 1.35rem;text-decoration:none;color:inherit;display:flex;flex-direction:column;justify-content:space-between;min-height:11rem; }
.mjed-hp-096 { padding:clamp(2.5rem,5vw,4rem) 0;background:#FAFAF7;border-bottom:1px solid #E5DFD1;font-family:'Inter', system-ui, -apple-system, sans-serif; }
.mjed-hp-097 { max-width:72rem;margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem); }
.mjed-hp-098 { display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:0;margin:0;border-top:2px solid #181A20; }
.mjed-hp-099 { padding:1.5rem 1.25rem;border-right:1px solid #E5DFD1; }
.mjed-hp-100 { font-size:0.72rem;text-transform:uppercase;letter-spacing:0.15em;color:#4A4E58;font-weight:500;margin-bottom:0.6rem; }
.mjed-hp-101 { margin:0; }
.mjed-hp-102 { font-family:'Playfair Display', Georgia, serif;font-size:clamp(1.85rem,3vw + 0.3rem,2.5rem);font-weight:600;color:#181A20;letter-spacing:-0.03em;line-height:1;font-variant-numeric:tabular-nums; }
.mjed-hp-103 { margin-top:0.55rem;font-size:0.78rem;color:#8B8F99;line-height:1.4; }
.mjed-hp-104 { padding:1.5rem 1.25rem; }
.mjed-hp-105 { background:#0A1020;color:#CBD5E1;padding:clamp(3rem,6vw,5rem) 0;font-family:'Inter', system-ui, -apple-system, sans-serif; }
.mjed-hp-106 { display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:clamp(2rem,4vw,3rem);border-bottom:1px solid rgba(203,213,225,0.15);padding-bottom:2.5rem; }
.mjed-hp-107 { font-family:'Playfair Display', Georgia, serif;font-size:0.95rem;font-weight:500;color:#F2EDE4;letter-spacing:0.03em;margin:0 0 1rem;text-transform:uppercase; }
.mjed-hp-108 { list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0.45rem; }
.mjed-hp-109 { color:#8B8F99;font-size:0.85rem;text-decoration:none; }
.mjed-hp-110 { margin-top:2rem;display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between;font-size:0.82rem;color:#8B8F99; }
.mjed-hp-111 { display:flex;flex-wrap:wrap;gap:1.25rem; }
.mjed-hp-112 { color:#F2EDE4;text-decoration:none; }
.mjed-hp-113 { font-family:'Playfair Display', Georgia, serif;font-size:0.9rem; }
.mjed-hp-114 { color:#F2EDE4;font-weight:500; }

/* Homepage remaining utility classes */
.mjed-hp-mutation { font-size:0.7rem;color:#A67217;text-transform:uppercase;letter-spacing:0.1em;font-weight:600; }
.mjed-hp-mutation-lg { font-family:'Playfair Display', Georgia, serif;font-size:clamp(2rem,4vw + 0.3rem,2.5rem);font-weight:600;color:#A67217;letter-spacing:-0.03em;line-height:0.9;font-variant-numeric:tabular-nums;margin-bottom:0.25rem; }
.mjed-hp-cell { display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem 1.35rem;text-decoration:none;color:inherit;min-height:11.5rem;background:#FAFAF7;border-right:1px solid #E5DFD1;border-bottom:1px solid #E5DFD1; }
.mjed-hp-badge-mutation { position:absolute;top:0.6rem;left:0.6rem;padding:0.25rem 0.55rem;background:#FAFAF7;font-size:0.68rem;font-weight:700;color:#A67217;letter-spacing:0.06em;text-transform:uppercase; }
.mjed-hp-duel-right { padding:1rem 1.15rem;background:transparent;text-align:right; }
.mjed-hp-duel-left { padding:1rem 1.15rem;background:rgba(184, 146, 90, 0.12);border-right:1px solid #E5DFD1;text-align:left; }
.mjed-hp-tier-exposed { font-size:0.68rem;text-transform:uppercase;letter-spacing:0.1em;color:#A8491E;font-weight:700; }
.mjed-hp-tier-stable { font-size:0.68rem;text-transform:uppercase;letter-spacing:0.1em;color:#468F6C;font-weight:700; }
.mjed-hp-risk-exposed { font-family:'Playfair Display', Georgia, serif;font-size:1.3rem;font-weight:600;color:#A8491E;letter-spacing:-0.02em;font-variant-numeric:tabular-nums; }
.mjed-hp-risk-mutation { font-family:'Playfair Display', Georgia, serif;font-size:1.3rem;font-weight:600;color:#A67217;letter-spacing:-0.02em;font-variant-numeric:tabular-nums; }
.mjed-hp-risk-stable { font-family:'Playfair Display', Georgia, serif;font-size:1.3rem;font-weight:600;color:#468F6C;letter-spacing:-0.02em;font-variant-numeric:tabular-nums; }
.mjed-hp-badge-critical { position:absolute;top:0.6rem;left:0.6rem;padding:0.25rem 0.55rem;background:#FAFAF7;font-size:0.68rem;font-weight:700;color:#8A2C1E;letter-spacing:0.06em;text-transform:uppercase; }
.mjed-hp-cell-last { display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem 1.35rem;text-decoration:none;color:inherit;min-height:11.5rem;background:#FAFAF7;border-bottom:1px solid #E5DFD1; }
.mjed-hp-avatar { width:40px;height:40px;border-radius:50%;object-fit:cover;border:1px solid #E8E3D8; }
.mjed-hp-noscript { text-align:center;padding:2rem;font-family:sans-serif }
.mjed-hp-consent { position:fixed;bottom:0;left:0;right:0;background:#191816;color:#f5f3ee;padding:1rem 1.5rem;z-index:9999;display:none;box-shadow:0 -4px 12px rgba(0,0,0,0.25);font-family:system-ui }
.mjed-hp-badge-stable { position:absolute;top:0.6rem;left:0.6rem;padding:0.25rem 0.55rem;background:#FAFAF7;font-size:0.68rem;font-weight:700;color:#468F6C;letter-spacing:0.06em;text-transform:uppercase; }
.mjed-hp-badge-safe { position:absolute;top:0.6rem;left:0.6rem;padding:0.25rem 0.55rem;background:#FAFAF7;font-size:0.68rem;font-weight:700;color:#2D7555;letter-spacing:0.06em;text-transform:uppercase; }
.mjed-hp-skip { position:absolute;left:-9999px }

/* Homepage final utility classes */
.mjed-hp-tier-mutation-sm { font-size:0.68rem;text-transform:uppercase;letter-spacing:0.1em;color:#A67217;font-weight:700; }
.mjed-hp-tier-stable-sm { font-size:0.7rem;color:#468F6C;text-transform:uppercase;letter-spacing:0.1em;font-weight:600; }
.mjed-hp-tier-safe-sm { font-size:0.7rem;color:#2D7555;text-transform:uppercase;letter-spacing:0.1em;font-weight:600; }
.mjed-hp-risk-stable-lg { font-family:'Playfair Display', Georgia, serif;font-size:clamp(2rem,4vw + 0.3rem,2.5rem);font-weight:600;color:#468F6C;letter-spacing:-0.03em;line-height:0.9;font-variant-numeric:tabular-nums;margin-bottom:0.25rem; }
.mjed-hp-risk-safe-lg { font-family:'Playfair Display', Georgia, serif;font-size:clamp(2rem,4vw + 0.3rem,2.5rem);font-weight:600;color:#2D7555;letter-spacing:-0.03em;line-height:0.9;font-variant-numeric:tabular-nums;margin-bottom:0.25rem; }
.mjed-hp-cell-noborder { display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem 1.35rem;text-decoration:none;color:inherit;min-height:11.5rem;background:#FAFAF7; }
.mjed-hp-byline { display:flex;align-items:center;gap:0.85rem;padding:0.75rem 0;font-size:0.85rem;color:#4A4D55;font-family:'Inter',system-ui,-apple-system,sans-serif; }
.mjed-hp-sep { color:#8B8F99;margin:0 0.5rem; }
.mjed-hp-date { font-size:0.78rem;color:#8B8F99;margin-top:0.15rem; }
.mjed-hp-consent-inner { max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem }
.mjed-hp-consent-text { flex:1;min-width:260px;font-size:0.92rem;line-height:1.5 }
.mjed-hp-consent-buttons { display:flex;gap:0.5rem }
.mjed-hp-link-blue { color:#60a5fa;text-decoration:underline }
.mjed-hp-link-author { color:#1A1B1F;font-weight:600;text-decoration:none;border-bottom:1px solid #B8925A; }
.mjed-hp-btn-reject { background:transparent;border:1px solid #6b7280;color:#f5f3ee;padding:0.5rem 1rem;border-radius:6px;cursor:pointer }
.mjed-hp-btn-accept { background:#0284c7;border:none;color:white;padding:0.5rem 1.25rem;border-radius:6px;cursor:pointer;font-weight:600 }

/* Homepage final-final utility classes */
.mjed-noscript { text-align:center;padding:2rem;font-family:sans-serif }
.mjed-consent-banner { position:fixed;bottom:0;left:0;right:0;background:#191816;color:#f5f3ee;padding:1rem 1.5rem;z-index:9999;display:none;box-shadow:0 -4px 12px rgba(0,0,0,0.25);font-family:system-ui }
.mjed-skip-link { position:absolute;left:-9999px }
.mjed-consent-inner { max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem }
.mjed-consent-text { flex:1;min-width:260px;font-size:0.92rem;line-height:1.5 }
.mjed-flex-gap { display:flex;gap:0.5rem }
.mjed-link-blue { color:#60a5fa;text-decoration:underline }
.mjed-btn-reject { background:transparent;border:1px solid #6b7280;color:#f5f3ee;padding:0.5rem 1rem;border-radius:6px;cursor:pointer }
.mjed-btn-accept { background:#0284c7;border:none;color:white;padding:0.5rem 1.25rem;border-radius:6px;cursor:pointer;font-weight:600 }

/* === Footer === */
.mjed-footer { background:#111318;color:#e5e7eb;padding:3rem 1.5rem 1.5rem;font-family:system-ui,-apple-system,sans-serif }
.mjed-footer-inner { max-width:1200px;margin:0 auto }
.mjed-footer-brand { text-align:center;margin-bottom:2rem }
.mjed-footer-brand strong { font-size:1.25rem;color:#fff;display:block;margin-bottom:0.5rem }
.mjed-footer-brand p { font-size:0.875rem;color:#9ca3af;margin:0 }
.mjed-footer-nav { display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:2rem }
@media(min-width:768px){ .mjed-footer-nav { grid-template-columns:repeat(4,1fr) } }
.mjed-footer-col h3 { font-size:0.875rem;font-weight:600;color:#fff;margin:0 0 0.75rem;text-transform:uppercase;letter-spacing:0.05em }
.mjed-footer-col ul { list-style:none;margin:0;padding:0 }
.mjed-footer-col li { margin-bottom:0.4rem }
.mjed-footer-col a { color:#9ca3af;text-decoration:none;font-size:0.875rem;transition:color 0.15s }
.mjed-footer-col a:hover { color:#fff }
.mjed-footer-bottom { border-top:1px solid #374151;padding-top:1.5rem;display:flex;flex-direction:column;align-items:center;gap:0.75rem }
@media(min-width:768px){ .mjed-footer-bottom { flex-direction:row;justify-content:space-between } }
.mjed-footer-bottom p { font-size:0.8125rem;color:#6b7280;margin:0 }
.mjed-footer-legal { display:flex;gap:1rem }
.mjed-footer-legal a { font-size:0.8125rem;color:#6b7280;text-decoration:none }
.mjed-footer-legal a:hover { color:#9ca3af }
.mjed-avatar { width:48px;height:48px;border-radius:50%;background-image:url(/images/samuel-morin-v2-48.webp);background-size:cover;display:inline-block; }
.mjed-avatar-sm { width:44px;height:44px;border-radius:50%;background-image:url(/images/samuel-morin-v2-48.webp);background-size:cover;display:inline-block;flex-shrink:0; }
