/* ============================================================
   Singulr — inner.css : pages intérieures (non-homepage)
   S'appuie sur /home.css (tokens, nav, footer, btn, brand, blob, dot-grid).
   Ne PAS dupliquer ces éléments ici. Design d'après joe-jns/singulr-dark
   (LegalShell .prose-legal + PageHero). Ne modifie ni /home.css ni /style.css.
   ============================================================ */

/* ---------- Post-scriptum d'édito ---------- */
.edito-ps{margin:2rem 0;padding:1rem 1.5rem;border-left:3px solid var(--accent);background:rgba(255,210,63,0.05);font-size:.95em;line-height:1.65;color:var(--ink-2)}
.edito-ps strong{color:var(--ink)}

/* ---------- Observatoire (cartographie) ---------- */
.obs{padding:1.5rem 1.25rem 5rem}
.obs-wrap{max-width:880px;margin:0 auto}
.obs-method{margin:0 auto 1rem;font-size:.95rem;line-height:1.65;color:var(--ink-2)}
.obs-note{font-size:.85rem;color:var(--ink-3);line-height:1.6}
.obs-dim{margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--line)}
.obs-dim h2{font-size:1.25rem;letter-spacing:-.02em;margin-bottom:.35rem;color:var(--ink)}
.obs-dim-desc{color:var(--ink-3);font-size:.92rem;line-height:1.55;margin-bottom:1.1rem}
.obs-tools{list-style:none;padding:0;margin:0;display:grid;gap:.7rem}
.obs-tools li{padding:.85rem 1rem;border:1px solid var(--line);border-radius:12px;background:var(--bg-2);font-size:.9rem;line-height:1.55;color:var(--ink-2)}
.obs-tools strong{color:var(--ink)}
.obs-call{margin-top:3rem;padding:1.6rem;border:1px dashed var(--line-2,rgba(255,255,255,.17));border-radius:14px;background:rgba(255,210,63,0.04)}
.obs-call h2{font-size:1.15rem;margin-bottom:.6rem;color:var(--ink)}
.obs-call p{font-size:.92rem;line-height:1.6;color:var(--ink-2);margin:.4rem 0 0}

/* ---------- Base (les homepages l'ont en inline ; /home.css ne le porte pas) ---------- */
*{box-sizing:border-box;margin:0;padding:0;border-color:var(--line)}
html{color-scheme:dark;background:var(--bg);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{background:var(--bg);color:var(--ink);font-family:"Geist",ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.6;overflow-x:clip;font-feature-settings:"ss01","cv01","cv03";padding-top:64px}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-weight:600;letter-spacing:-.03em;line-height:1.05}
::selection{background:var(--accent);color:var(--on-accent)}
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--accent);color:#0b0b0d;padding:.75rem 1.25rem;border-radius:0 0 12px 0;font-weight:600}
.skip-link:focus{left:0}

/* ---------- PageHero (edito, beta, à-propos, presse, conditions, merci) ---------- */
.page-hero{position:relative;overflow:hidden;padding:10rem 1.5rem 3.5rem;text-align:center}
@media(min-width:640px){.page-hero{padding:10rem 2rem 4rem}}
.page-hero .page-hero-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.page-hero .page-hero-grid{position:absolute;inset:0;opacity:.6;pointer-events:none}
.page-hero-inner{position:relative;z-index:1;margin:0 auto;max-width:48rem}
.page-hero .eyebrow{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.2em;color:var(--accent)}
.page-hero h1{margin-top:1.25rem;font-size:clamp(2.4rem,6vw,4.4rem);font-weight:700;line-height:1.02;letter-spacing:-.04em;color:var(--ink);text-wrap:balance}
.page-hero .page-hero-tagline{margin:1.5rem auto 0;max-width:36rem;font-size:1.18rem;line-height:1.6;color:var(--ink-2)}

/* ---------- Conteneur prose légal (architecture, confidentialité, mentions, conditions, cookies) ---------- */
.legal{padding:8.5rem 1.5rem 7rem}
@media(min-width:640px){.legal{padding:8.5rem 2rem 7rem}}
.legal.legal--after-hero{padding-top:1rem}            /* quand précédé d'un .page-hero */
.legal .container,.legal-body{width:100%;max-width:48rem;margin:0 auto}
.legal,.legal-body{color:var(--ink-2);font-size:1rem;line-height:1.72}

.legal h1{font-size:clamp(2rem,4.4vw,3rem);font-weight:700;letter-spacing:-.03em;line-height:1.05;color:var(--ink);margin-bottom:.75rem}
.legal .lede{font-size:1.16rem;line-height:1.6;color:var(--ink-2);margin-bottom:2.5rem}
.legal h2{font-size:1.45rem;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin-top:2.75rem;margin-bottom:1rem;padding-top:2.25rem;border-top:1px solid var(--line)}
.legal h3{font-size:1.08rem;font-weight:600;color:var(--ink);margin-top:1.75rem;margin-bottom:.5rem}
.legal p{margin-bottom:1rem}
.legal a{color:var(--accent);text-decoration:none;text-underline-offset:3px}
.legal a:hover{text-decoration:underline}
.legal strong{color:var(--ink);font-weight:600}
.legal ul,.legal ol{margin:1rem 0 1.25rem;padding-left:1.3rem}
.legal ul{list-style:disc}
.legal ol{list-style:decimal}
.legal li{margin-bottom:.5rem;padding-left:.25rem}
.legal li::marker{color:var(--accent)}
.legal dl{margin:1.25rem 0 1.5rem}
.legal dt{color:var(--ink);font-weight:600;margin-top:1.4rem}
.legal dd{margin:.3rem 0 0}
.legal code{font-family:var(--mono);font-size:.85em;background:var(--surface-2);border:1px solid var(--line);padding:.08rem .4rem;border-radius:6px;color:var(--ink)}
/* ---------- Bandeau de chiffres clés (architecture) ---------- */
.legal .arch-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:.5rem 0 1rem}
@media(max-width:560px){.legal .arch-stats{grid-template-columns:1fr}}
.legal .arch-stat{border:1px solid var(--line);border-radius:14px;padding:1.25rem 1.4rem;background:linear-gradient(155deg,var(--accent-tint) 0%,var(--surface) 70%)}
.legal .arch-stat-num{font-family:var(--mono);font-size:2rem;font-weight:600;letter-spacing:-.03em;line-height:1;color:var(--accent)}
.legal .arch-stat-label{margin-top:.55rem;font-size:.92rem;line-height:1.45;color:var(--ink-2)}

/* ---------- Carte profil porteur santé (pages sectorielles) ---------- */
.sante .med-lead{display:flex;gap:1.5rem;align-items:flex-start;margin:1.5rem 0 .5rem;padding:1.5rem;border:1px solid var(--line);border-radius:15px;background:linear-gradient(155deg,var(--accent-tint) 0%,var(--surface) 70%)}
.sante .med-lead-photo{flex:none;width:120px;aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:var(--bg-2)}
.sante .med-lead-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.02)}
.sante .med-lead-body{flex:1;min-width:0}
.sante .med-lead-body h3{font-size:1.15rem;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin-bottom:.35rem}
.sante .med-lead-role{display:inline-block;margin-bottom:.9rem;font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);border:1px solid rgba(255,210,63,.22);background:var(--accent-tint);border-radius:8px;padding:.28rem .5rem}
.sante .med-lead-body p{margin-bottom:.75rem;font-size:.97rem;line-height:1.7;color:var(--ink-2)}
.sante .med-lead-body p:last-child{margin-bottom:0}
@media(max-width:560px){.sante .med-lead{flex-direction:column;gap:1.1rem}.sante .med-lead-photo{width:140px}}

.legal blockquote{margin:1.5rem 0;border-left:2px solid var(--accent);padding:.25rem 0 .25rem 1.5rem;font-style:italic;color:var(--ink-2)}
.legal blockquote p{margin-bottom:.5rem}
.legal blockquote p:last-child{margin-bottom:0}
.legal .legal-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.25rem 1.5rem;line-height:1.85}
.legal .legal-pledge{border:1px solid var(--line);border-radius:15px;padding:1.5rem 1.75rem;margin-bottom:2.25rem;background:linear-gradient(155deg,var(--accent-tint) 0%,var(--surface) 75%)}
.legal .legal-pledge h2{border-top:none;padding-top:0;margin-top:0;margin-bottom:.75rem;font-size:1.1rem}
.legal .legal-pledge ul{margin-bottom:.75rem}
.legal .legal-pledge p{margin-bottom:0}
.legal .legal-updated{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line);font-size:.85rem;color:var(--ink-3)}
.legal .legal-table-wrap{overflow-x:auto;margin:1.5rem 0}
.legal .legal-table{width:100%;min-width:680px;border-collapse:collapse;font-size:.92rem}
.legal .legal-table th,.legal .legal-table td{border:1px solid var(--line);padding:.7rem 1rem;text-align:left;vertical-align:top}
.legal .legal-table thead th{background:var(--surface);color:var(--ink);font-weight:600}
.legal .legal-table thead th:nth-child(2){color:var(--accent)}
.legal .legal-table tbody th{background:var(--surface);color:var(--ink);font-weight:600}
.legal .legal-table tbody td:first-of-type{background:var(--accent-tint);color:var(--ink)}
.legal .legal-table td{color:var(--ink-2)}

/* header interne minimaliste (le <header> dans .legal) */
.legal>.container>header,.legal>header{margin-bottom:1rem}

/* ---------- Article éditorial (edito) ---------- */
.inner-article{margin:0 auto;max-width:42rem;padding:0 1.5rem 7rem}
.inner-article .lead{margin-bottom:2rem;font-size:1.4rem;font-weight:500;line-height:1.35;color:var(--ink)}
.inner-article p{margin-bottom:1.5rem;font-size:1.06rem;line-height:1.7;color:var(--ink-2)}
.inner-article h2{margin:3rem 0 1.25rem;font-size:1.6rem;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.inner-article blockquote{margin:2.5rem 0;border-left:2px solid var(--accent);padding-left:1.5rem;font-size:1.5rem;font-weight:600;line-height:1.35;letter-spacing:-.01em;color:var(--ink)}
.inner-article a{color:var(--accent);text-underline-offset:3px}
.inner-article a:hover{text-decoration:underline}
.inner-article .signature{margin-top:3rem;border-top:1px solid var(--line);padding-top:2rem;font-size:1.02rem;line-height:1.7;color:var(--ink-2)}
.inner-article .signature strong{color:var(--ink)}
.inner-cta{margin-top:3rem;display:flex;justify-content:center}

/* ---------- Sections génériques type beta (cards, tarif, FAQ) ---------- */
.inner-sections{margin:0 auto;max-width:48rem;padding:0 1.5rem 7rem}
.inner-sections section{border-top:1px solid var(--line);padding:3.5rem 0}
.inner-sections h2{margin-bottom:1.25rem;font-size:1.6rem;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.inner-sections p{font-size:1.06rem;line-height:1.7;color:var(--ink-2)}
.inner-card{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:1.25rem 1.5rem}
.inner-card-grad{border:1px solid var(--line);border-radius:15px;padding:1.5rem 1.75rem;background:linear-gradient(155deg,var(--accent-tint) 0%,var(--surface) 75%)}

/* ---------- Bloc note / encart (ex: notice formulaire Brevo) ---------- */
.inner-note{border:1px solid var(--line);border-left:2px solid var(--accent);border-radius:12px;background:var(--surface);padding:1rem 1.25rem;font-size:.9rem;line-height:1.6;color:var(--ink-3);margin-bottom:1.75rem}
.inner-note strong{display:block;margin-bottom:.25rem;color:var(--ink)}
.inner-note code{font-family:var(--mono);font-size:.82em;background:var(--bg-2);border-radius:4px;padding:.05rem .3rem;color:var(--ink-2)}

/* ============================================================
   À propos — refonte premium (s'aligne sur l'ambiance home.css)
   ============================================================ */
.apropos{overflow:clip}
.apropos .page-hero h1{overflow-wrap:break-word}
@media(max-width:560px){.apropos .page-hero h1{font-size:2rem;letter-spacing:-.03em}}
.apropos a{color:var(--accent);text-underline-offset:3px}
.apropos a:hover{text-decoration:underline}
.apropos a.btn-primary{color:var(--on-accent);text-decoration:none}
.apropos a.btn-primary:hover{text-decoration:none}

/* ---------- Mot du président : carte éditoriale ---------- */
.ap-letter{padding:1rem 1.5rem 4rem}
@media(min-width:640px){.ap-letter{padding:2rem 2rem 5rem}}
.ap-letter-card{position:relative;margin:0 auto;max-width:54rem;overflow:hidden;border-radius:15px;border:1px solid var(--line);background:linear-gradient(160deg,var(--bg-2) 0%,var(--surface) 100%)}
.ap-letter-glow{position:absolute;left:-8rem;top:-8rem;width:26rem;height:26rem;border-radius:999px;filter:blur(64px);pointer-events:none;background:radial-gradient(circle,rgba(255,210,63,.14) 0%,transparent 64%)}
.ap-letter-inner{position:relative;z-index:1;padding:2.5rem 1.75rem}
@media(min-width:640px){.ap-letter-inner{padding:3.5rem 3.25rem}}
.ap-letter .eyebrow{display:inline-block;font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.2em;color:var(--accent)}
.ap-quote{margin:1.5rem 0 .5rem;font-size:clamp(1.6rem,3.4vw,2.4rem);font-weight:600;line-height:1.12;letter-spacing:-.03em;color:var(--ink);text-wrap:balance}
.ap-letter-body{margin-top:2rem;border-top:1px solid var(--line);padding-top:2rem}
.ap-letter-body p{margin-bottom:1.25rem;font-size:1.04rem;line-height:1.75;color:var(--ink-2)}
.ap-letter-body p:first-child{font-size:1.18rem;line-height:1.55;color:var(--ink)}
.ap-sign{margin-top:2.25rem;padding-top:1.5rem;border-top:1px solid var(--line);font-size:1rem;line-height:1.7;color:var(--ink-3)}
.ap-sign strong{display:block;font-size:1.05rem;color:var(--ink);font-weight:600;letter-spacing:-.01em}

/* ---------- Équipe : grille premium ---------- */
.ap-team{padding:4rem 2rem 5rem}
.ap-team-inner{margin:0 auto;max-width:72rem}
/* Pages Rejoindre : H2 nu suivi directement du contenu → rétablir le rythme vertical */
.ap-team .section-title{text-align:center}
.ap-team .section-title + .fed-duo{margin-top:2.75rem}
.ap-team .section-title + .ap-letter-body{margin-top:2.5rem}
.ap-team .section-head{margin-bottom:2.75rem}
.ap-team .eyebrow{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.2em;color:var(--accent)}
.ap-team .section-title{margin-top:1rem;font-size:clamp(1.9rem,3.6vw,3rem);font-weight:600;line-height:1.05;letter-spacing:-.03em;color:var(--ink)}
.ap-team .section-intro{margin-top:1.25rem;max-width:38rem;font-size:1.05rem;line-height:1.6;color:var(--ink-3)}
.ap-team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
@media(max-width:900px){.ap-team-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.ap-team-grid{grid-template-columns:1fr}}
.ap-card{position:relative;display:flex;flex-direction:column;overflow:hidden;border-radius:15px;border:1px solid var(--line);background:var(--surface);transition:border-color .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease)}
.ap-card:hover{transform:translateY(-4px);border-color:rgba(255,210,63,.25);box-shadow:0 18px 50px rgba(0,0,0,.45),0 0 0 1px rgba(255,210,63,.06)}
.ap-card--lead{background:linear-gradient(155deg,var(--accent-tint) 0%,var(--surface) 62%)}
.ap-card-photo{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--bg-2)}
.ap-card-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.02);transition:filter .5s var(--ease),transform .6s var(--ease)}
.ap-card:hover .ap-card-photo img{filter:grayscale(0) contrast(1);transform:scale(1.04)}
.ap-card-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 52%,rgba(11,11,13,.55) 100%)}
.ap-card-photo--ph{display:grid;place-items:center;color:var(--accent);font-family:var(--mono);font-size:2.4rem;font-weight:600}
.ap-card-body{display:flex;flex-direction:column;flex:1;padding:1.4rem 1.45rem 1.6rem}
.ap-card h3{font-size:1.18rem;color:var(--ink);margin-bottom:.45rem;letter-spacing:-.02em}
.ap-role{display:inline-block;align-self:flex-start;margin-bottom:.9rem;font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:500;color:var(--accent);border:1px solid rgba(255,210,63,.22);background:var(--accent-tint);border-radius:8px;padding:.3rem .55rem}
.ap-bio{font-size:.92rem;line-height:1.62;color:var(--ink-2)}
/* stagger reveal des cartes */
.ap-card.reveal:nth-child(2){--d:.06s}
.ap-card.reveal:nth-child(3){--d:.12s}
.ap-card.reveal:nth-child(4){--d:.18s}
.ap-card.reveal:nth-child(5){--d:.24s}
.ap-card.reveal:nth-child(6){--d:.30s}
/* groupes équipe (3 blocs) */
.ap-team-group{margin-top:3.5rem}
.ap-team-group:first-of-type{margin-top:0}
.ap-team-group-head{display:flex;align-items:center;gap:1.1rem;margin-bottom:1.6rem}
.ap-team-group-title{flex:none;font-family:var(--mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.18em;font-weight:600;color:var(--accent)}
.ap-team-group-head::after{content:"";flex:1;height:1px;background:var(--line)}

/* ---------- Contact : carte CTA ---------- */
.ap-contact{padding:1rem 2rem 7rem}
.ap-contact-card{position:relative;margin:0 auto;max-width:54rem;overflow:hidden;border-radius:15px;border:1px solid var(--line);padding:3.5rem 2rem;text-align:center;background:linear-gradient(155deg,var(--accent-tint) 0%,var(--surface) 70%)}
@media(min-width:640px){.ap-contact-card{padding:4.5rem 3rem}}
.ap-contact-glow{position:absolute;right:-6rem;top:-6rem;width:22rem;height:22rem;border-radius:999px;filter:blur(56px);pointer-events:none;background:radial-gradient(circle,rgba(255,210,63,.18) 0%,transparent 64%)}
.ap-contact-card>*{position:relative;z-index:1}
.ap-contact .eyebrow{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.2em;color:var(--accent)}
.ap-contact h2{margin-top:1rem;font-size:clamp(1.7rem,3.4vw,2.6rem);font-weight:600;line-height:1.06;letter-spacing:-.03em;color:var(--ink);text-wrap:balance}
.ap-contact p{margin:1rem auto 0;max-width:30rem;font-size:1.05rem;line-height:1.6;color:var(--ink-2)}
.ap-contact .btn{margin-top:2rem}
.apropos .reveal{--d:0s}

/* ---------- Reveal (réutilise main.js) ---------- */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--d,0s)}
.reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}}
.fed-iframe-wrapper{max-width:640px;margin:2rem auto 0;padding:.6rem;background:var(--bg-2);border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.35);overflow:hidden}
.fed-iframe-wrapper iframe{display:block;width:100%;border:0;border-radius:12px;background:#fff}
/* Form Brevo natif (beta FR/EN) : bande grise → panneau sombre arrondi autour de la carte blanche */
.sib-form{background:#141416 !important;max-width:600px;margin:1.5rem auto 0;padding:1.4rem 1.2rem;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.35)}
/* Iframe Brevo (beta NL/DE) : carte blanche contenue et arrondie */
.brevo-iframe{display:block;max-width:640px;margin:1.5rem auto 0;border:0;border-radius:14px;background:#fff;box-shadow:0 18px 50px rgba(0,0,0,.35)}
@media(max-width:640px){.fed-iframe-wrapper iframe{min-height:1100px}}
/* Observatoire européen de la souveraineté numérique */
.obs{padding:1rem 2rem 6rem}
.obs-inner{margin:0 auto;max-width:72rem}
.obs-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-bottom:1.5rem}
.obs-search{flex:1 1 16rem;min-width:0;position:relative}
.obs-search input{width:100%;padding:.7rem .9rem;border-radius:10px;border:1px solid var(--line);background:var(--bg-2);color:var(--ink);font:inherit}
.obs-search input:focus{outline:none;border-color:var(--accent)}
.obs-country{flex:0 0 auto}
.obs-country select{padding:.7rem 2rem .7rem .9rem;border-radius:10px;border:1px solid var(--line);background:var(--bg-2);color:var(--ink);font:inherit;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239b9b9b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center}
.obs-country select:focus{outline:none;border-color:var(--accent)}
.obs-themes{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}
.obs-chip{font-family:var(--mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;padding:.45rem .8rem;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink-2);cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.obs-chip:hover{color:var(--ink);border-color:var(--ink-3)}
.obs-chip.is-active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.obs-count{font-family:var(--mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);margin-bottom:1.25rem}
.obs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:1.25rem}
.obs-card{display:flex;flex-direction:column;gap:.7rem;padding:1.4rem 1.5rem;border:1px solid var(--line);border-radius:14px;background:var(--bg-2);transition:border-color .25s}
.obs-card:hover{border-color:var(--ink-3)}
.obs-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3)}
.obs-card-theme{color:var(--accent)}
.obs-card-country::before{content:"·";margin-right:.6rem;color:var(--ink-3)}
.obs-card-meta time{margin-left:auto}
.obs-card h3{font-size:1.08rem;line-height:1.35;font-weight:600;color:var(--ink);margin:0}
.obs-card h3 a{color:var(--ink);text-decoration:none}
.obs-card h3 a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.obs-card p{margin:0;font-size:.95rem;line-height:1.6;color:var(--ink-2)}
.obs-card-source{margin-top:auto;font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3)}
.obs-empty{padding:3rem 1.5rem;text-align:center;font-size:1.02rem;line-height:1.6;color:var(--ink-2);border:1px dashed var(--line);border-radius:14px}
@media(max-width:560px){.obs{padding:1rem 1.25rem 4rem}.obs-card-meta time{margin-left:0;width:100%}}
