:root {
  --navy: #10243e;
  --navy-2: #173452;
  --ink: #142235;
  --muted: #5d6977;
  --paper: #f7f5ef;
  --white: #fffefb;
  --lime: #c9f25b;
  --lime-dark: #769d0f;
  --coral: #f36d55;
  --amber: #e9a82f;
  --red: #d9463e;
  --line: #d8dcd9;
  --shadow: 0 24px 80px rgba(15, 34, 58, .16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 400 16px/1.6 "DM Sans", system-ui, sans-serif; }
button, textarea, input { font: inherit; }
a { color: inherit; }
svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.site-header { position: relative; z-index: 10; color: #fff; background: var(--navy); border-bottom: 1px solid rgba(255,255,255,.13); }
.header-inner { display: flex; align-items: center; gap: clamp(1.5rem, 5vw, 5rem); width: min(1440px, calc(100% - 2.5rem)); min-height: 84px; margin: auto; }
.brand { display: inline-flex; align-items: center; gap: .7rem; color: inherit; font: 700 1.15rem/1 "Manrope", sans-serif; letter-spacing: -.035em; text-decoration: none; }
.brand > span:last-child { display: inline-flex; gap: .2rem; }
.brand strong { color: var(--lime); font-weight: 800; }
.brand-mark { display: grid; place-items: center; width: 42px; height: 42px; color: var(--navy); background: var(--lime); border-radius: 12px; }
.brand-mark svg { width: 31px; height: 31px; stroke-width: 2.2; }
.header-inner nav { display: flex; gap: 2.1rem; margin-left: auto; }
.header-inner nav a { color: #d6e0e9; font-size: .88rem; text-decoration: none; }
.header-inner nav a:hover, .header-inner nav a:focus-visible { color: var(--lime); }
.privacy-badge { display: flex; align-items: center; gap: .55rem; padding: .65rem .9rem; color: #deebf3; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; font-size: .74rem; }
.privacy-badge i { width: 7px; height: 7px; background: var(--lime); border-radius: 50%; box-shadow: 0 0 0 4px rgba(201,242,91,.12); }

.hero { display: grid; grid-template-columns: minmax(0, .8fr) minmax(500px, 1.2fr); gap: clamp(2.5rem, 7vw, 7.5rem); padding: clamp(4rem, 7vw, 7.5rem) max(1.25rem, calc((100% - 1330px)/2)); color: #fff; background: var(--navy); }
.hero-intro { padding-top: 2.2rem; }
.eyebrow { margin: 0 0 1.2rem; color: var(--lime-dark); font-size: .76rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.hero .eyebrow { color: var(--lime); }
h1, h2, h3 { margin-top: 0; font-family: "Manrope", sans-serif; letter-spacing: -.05em; }
h1 { margin-bottom: 1.7rem; font-size: clamp(3.1rem, 5.4vw, 6rem); line-height: .98; }
h1 em, .section-heading em { color: var(--lime); font-style: normal; }
.hero-intro > p:not(.eyebrow) { max-width: 650px; color: #b9c9d7; font-size: 1.08rem; }
.trust-list { display: flex; flex-wrap: wrap; gap: .8rem 1.4rem; margin: 2.3rem 0 0; padding: 0; list-style: none; color: #e5edf3; font-size: .82rem; }
.trust-list span { display: inline-grid; place-items: center; width: 19px; height: 19px; margin-right: .35rem; color: var(--navy); background: var(--lime); border-radius: 50%; font-size: .7rem; font-weight: 800; }

.analyser-card { color: var(--ink); background: var(--white); border-radius: 20px; box-shadow: var(--shadow); overflow: hidden; }
.card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; padding: 1.7rem 2rem; border-bottom: 1px solid var(--line); }
.step, .section-label { display: block; margin-bottom: .4rem; color: #6b7580; font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.card-heading h2 { margin: 0; font-size: 1.6rem; }
.local-pill { display: inline-flex; align-items: center; gap: .35rem; padding: .45rem .7rem; color: #497009; background: #eff8d6; border-radius: 999px; font-size: .72rem; font-weight: 700; }
.local-pill svg { width: 16px; }
form { padding: 1.8rem 2rem 1.5rem; }
form > label, legend { display: block; margin-bottom: .55rem; font-size: .82rem; font-weight: 700; }
.textarea-wrap { position: relative; }
textarea { width: 100%; min-height: 185px; padding: 1rem 1rem 2.2rem; resize: vertical; color: var(--ink); background: #f8f9f6; border: 1px solid #cbd1cf; border-radius: 10px; outline: none; line-height: 1.5; }
textarea:focus { border-color: #6d8c25; box-shadow: 0 0 0 4px rgba(201,242,91,.24); }
textarea::placeholder { color: #8b949a; }
#char-count { position: absolute; right: .8rem; bottom: .6rem; color: #78828a; font-size: .68rem; }
.field-help { margin: .5rem 0 1.2rem; color: #707a82; font-size: .72rem; }
fieldset { display: flex; flex-wrap: wrap; gap: .55rem; margin: 0; padding: 0; border: 0; }
legend { width: 100%; }
legend small { color: #7a848b; font-weight: 400; }
.check { display: inline-flex; align-items: center; gap: .4rem; padding: .48rem .7rem; color: #515d66; background: #f2f3ef; border: 1px solid transparent; border-radius: 8px; cursor: pointer; font-size: .72rem; }
.check:has(input:checked) { color: var(--navy); background: #eff8d6; border-color: #bfdc77; }
.check input { width: 15px; height: 15px; margin: 0; accent-color: #54770a; }
.form-actions { display: flex; align-items: center; gap: 1rem; margin-top: 1.4rem; }
.primary-button { display: inline-flex; align-items: center; justify-content: center; gap: .7rem; min-height: 50px; padding: 0 1.35rem; color: var(--navy); background: var(--lime); border: 0; border-radius: 9px; cursor: pointer; font-weight: 800; }
.primary-button:hover { background: #dafc80; }
.primary-button svg { width: 20px; stroke-width: 2.3; }
.clear-button { min-height: 44px; padding: 0 .7rem; color: #6f7880; background: none; border: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 4px; }
.examples { display: flex; align-items: center; flex-wrap: wrap; gap: .55rem; padding: .95rem 2rem; color: #657079; background: #f3f4f0; border-top: 1px solid var(--line); font-size: .72rem; }
.examples button { padding: .35rem .65rem; color: #44515b; background: var(--white); border: 1px solid #d3d8d4; border-radius: 999px; cursor: pointer; font-size: .7rem; }
.examples button:hover { border-color: #91a95a; }

.result-shell { width: min(1280px, calc(100% - 2.5rem)); margin: 3rem auto 0; color: var(--ink); background: var(--white); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); overflow: hidden; }
.result-topline { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem 1.3rem; color: #66727c; background: #f0f2ed; font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; }
.result-grid { display: grid; grid-template-columns: .72fr 1.35fr 1fr; }
.score-panel, .signals-panel, .actions-panel { padding: clamp(1.5rem, 3vw, 2.6rem); }
.score-panel { text-align: center; border-right: 1px solid var(--line); }
.score-ring { --score-color: var(--amber); --score-deg: 0deg; position: relative; display: grid; place-items: center; width: 152px; height: 152px; margin: 0 auto 1.2rem; background: conic-gradient(var(--score-color) var(--score-deg), #e7eae5 0); border-radius: 50%; }
.score-ring::before { content: ""; position: absolute; width: 119px; height: 119px; background: var(--white); border-radius: 50%; }
.score-ring > div { position: relative; z-index: 1; line-height: 1; }
.score-ring strong { font: 800 2.9rem "Manrope", sans-serif; }
.score-ring span { color: #77818a; font-size: .8rem; }
.score-panel > p { margin: 0; color: #737d84; font-size: .75rem; }
.risk-label { display: block; margin: .2rem 0 .7rem; font: 800 1.2rem "Manrope", sans-serif; }
.score-panel small { display: block; color: #7c858c; font-size: .68rem; line-height: 1.45; }
.signals-panel { border-right: 1px solid var(--line); }
.signals-panel h2 { margin-bottom: 1.2rem; font-size: 1.55rem; }
.signals-panel ul { display: grid; gap: .7rem; margin: 0; padding: 0; list-style: none; }
.signals-panel li { display: flex; gap: .65rem; padding: .75rem; background: #f6f7f3; border-radius: 8px; font-size: .82rem; }
.signals-panel li i { flex: 0 0 auto; width: 9px; height: 9px; margin-top: .38rem; background: var(--coral); border-radius: 50%; }
.signals-panel li.neutral i { background: #7a8b94; }
.actions-panel { background: #f7f9f3; }
.actions-panel ol { display: grid; gap: 1rem; margin: .8rem 0 0; padding: 0; counter-reset: action; list-style: none; }
.actions-panel li { position: relative; padding-left: 2rem; color: #46545d; font-size: .8rem; }
.actions-panel li::before { counter-increment: action; content: counter(action); position: absolute; left: 0; top: -.05rem; display: grid; place-items: center; width: 22px; height: 22px; color: var(--navy); background: var(--lime); border-radius: 50%; font-size: .66rem; font-weight: 800; }
.result-footer { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 1rem 1.3rem; color: #49565f; background: #eef3e1; border-top: 1px solid #d4dfbd; font-size: .78rem; }
.result-footer p { margin: 0; }
.result-footer button { flex: 0 0 auto; padding: .65rem .9rem; color: #fff; background: var(--navy); border: 0; border-radius: 7px; cursor: pointer; font-size: .75rem; font-weight: 700; }

.how-it-works, .guides { padding: clamp(5.5rem, 10vw, 10rem) max(1.25rem, calc((100% - 1280px)/2)); }
.section-heading { display: grid; grid-template-columns: .55fr 1.2fr; gap: 2rem; align-items: start; margin-bottom: 4rem; }
.section-heading .eyebrow { margin: .5rem 0 0; }
.section-heading h2 { margin: 0; font-size: clamp(2.6rem, 5.2vw, 5.2rem); line-height: 1.02; }
.section-heading em { color: #719610; }
.definition-copy { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 4vw, 4rem); max-width: 1040px; margin: -1rem 0 3rem auto; color: var(--muted); }
.definition-copy p { margin: 0; }
.definition-copy strong { color: var(--ink); }
.method-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.method-grid article { position: relative; min-height: 330px; padding: 2.2rem; background: var(--white); }
.method-grid article > span { color: #879097; font-size: .72rem; }
.method-grid svg { width: 42px; height: 42px; margin: 3.5rem 0 1.5rem; color: #6b8f11; }
.method-grid h3 { margin-bottom: .6rem; font-size: 1.45rem; }
.method-grid p { margin: 0; color: var(--muted); font-size: .88rem; }
.method-note { display: grid; grid-template-columns: .55fr 1.2fr; gap: 2rem; padding: 1.7rem 2rem; color: #c4d1db; background: var(--navy-2); }
.method-note strong { color: #fff; font-size: .86rem; }
.method-note p { margin: 0; font-size: .78rem; }

.scam-patterns { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 7vw, 7rem); padding: clamp(5rem, 9vw, 9rem) max(1.25rem, calc((100% - 1280px)/2)); background: #edf0e8; }
.patterns-intro { position: sticky; top: 2rem; align-self: start; }
.patterns-intro h2 { margin-bottom: 1.5rem; font-size: clamp(2.2rem, 4.2vw, 4.2rem); line-height: 1.03; }
.patterns-intro > p:last-child { max-width: 540px; margin: 0; color: var(--muted); }
.pattern-list { border-top: 1px solid #c9ceca; }
.pattern-list article { display: grid; grid-template-columns: 105px 1fr; gap: .7rem 1.4rem; padding: 1.65rem 0; border-bottom: 1px solid #c9ceca; }
.pattern-list article > span { grid-row: 1 / span 2; padding-top: .25rem; color: #66840f; font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.pattern-list h3 { margin: 0; font-size: 1.2rem; letter-spacing: -.03em; }
.pattern-list p { margin: 0; color: var(--muted); font-size: .85rem; }

.emergency { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem, 8vw, 8rem); padding: clamp(5rem, 9vw, 9rem) max(1.25rem, calc((100% - 1280px)/2)); color: #fff; background: var(--coral); }
.emergency .eyebrow { color: #ffe8e2; }
.emergency h2 { max-width: 510px; font-size: clamp(2.7rem, 5vw, 5rem); line-height: .98; }
.emergency ol { display: grid; gap: 1.3rem; margin: 0; padding: 0; list-style: none; }
.emergency li { display: grid; grid-template-columns: 44px 1fr; gap: 1rem; padding-bottom: 1.3rem; border-bottom: 1px solid rgba(255,255,255,.28); }
.emergency li > span { display: grid; place-items: center; width: 40px; height: 40px; color: var(--coral); background: #fff; border-radius: 50%; font-size: .72rem; font-weight: 800; }
.emergency li strong { display: block; margin-bottom: .25rem; font: 700 1rem "Manrope", sans-serif; }
.emergency li p { margin: 0; color: #fff1ed; font-size: .84rem; }
.official-links { grid-column: 2; display: flex; flex-wrap: wrap; gap: .8rem; }
.official-link { display: grid; gap: .1rem; padding: .8rem 1rem; color: var(--navy); background: #fff; border-radius: 7px; font-size: .72rem; }
.official-link strong { font-size: .8rem; }

.faq { padding: clamp(5.5rem, 10vw, 10rem) max(1.25rem, calc((100% - 1280px)/2)); background: var(--paper); }
.faq .section-heading { margin-bottom: 3rem; }
.faq-list { max-width: 960px; margin-left: auto; border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { position: relative; padding: 1.45rem 3.5rem 1.45rem 0; cursor: pointer; font: 700 1.08rem/1.35 "Manrope", sans-serif; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; top: 1.1rem; right: .1rem; display: grid; place-items: center; width: 32px; height: 32px; color: var(--navy); background: var(--lime); border-radius: 50%; font-size: 1.25rem; }
.faq-list details[open] summary::after { content: "–"; }
.faq-list p { max-width: 820px; margin: -.4rem 0 1.5rem; color: var(--muted); }

.guides { background: var(--white); }
.section-heading.compact { grid-template-columns: .45fr 1fr .7fr; align-items: end; }
.section-heading.compact h2 { font-size: clamp(2.5rem, 4.5vw, 4.6rem); }
.section-heading.compact > p:last-child { margin: 0; color: var(--muted); }
.topic-grid { display: grid; grid-template-columns: 1.15fr .85fr .85fr; gap: 1rem; }
.topic { display: flex; flex-direction: column; min-height: 285px; padding: 1.7rem; color: inherit; background: #f1f2ed; border-top: 4px solid var(--navy); text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.topic:hover, .topic:focus-visible { transform: translateY(-4px); box-shadow: 0 18px 42px rgba(15,34,58,.12); }
.topic.featured { grid-row: span 2; min-height: 586px; color: #fff; background: var(--navy); border-color: var(--lime); }
.topic > span { color: #70800f; font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.topic.featured > span { color: var(--lime); }
.topic h3 { margin: auto 0 .7rem; font-size: 1.35rem; line-height: 1.18; }
.topic.featured h3 { font-size: clamp(2rem, 3.1vw, 3.15rem); }
.topic p { margin: 0; color: #677179; font-size: .82rem; }
.topic.featured p { color: #b9c8d5; }
.topic b { margin-top: 1.8rem; color: var(--lime); font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; }

.founder { display: grid; grid-template-columns: minmax(300px,.75fr) minmax(0,1.25fr); gap: clamp(2.5rem,7vw,7rem); align-items: center; padding: clamp(5rem,9vw,9rem) max(1.25rem,calc((100% - 1180px)/2)); background: #eef1e9; }
.founder-photo { max-width: 450px; aspect-ratio: 3/4; overflow: hidden; border-radius: 200px 200px 20px 20px; box-shadow: var(--shadow); }
.founder-photo img { width: 100%; height: 100%; object-fit: cover; }
.founder-copy h2 { max-width: 760px; margin-bottom: 1.5rem; font-size: clamp(2.4rem,4.8vw,4.8rem); line-height: 1.02; }
.founder-copy > p:not(.eyebrow) { max-width: 720px; color: var(--muted); }
.text-link { display: inline-block; margin-top: .8rem; color: var(--navy); font-weight: 800; text-decoration-color: var(--lime-dark); text-decoration-thickness: 2px; text-underline-offset: 5px; }

.source-note { display: grid; grid-template-columns: .8fr 1.2fr; gap: 3rem; padding: 3.5rem max(1.25rem, calc((100% - 1280px)/2)); color: #d4dfe7; background: var(--navy-2); }
.source-note span { display: block; color: var(--lime); font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.source-note strong { display: block; margin-top: .45rem; color: #fff; font: 700 1.2rem "Manrope", sans-serif; }
.source-note p { margin: 0; font-size: .82rem; }

footer { padding: 4rem max(1.25rem, calc((100% - 1280px)/2)) 1.5rem; color: #c4d0da; background: #091a2d; }
.footer-main { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.footer-grid { display: grid; grid-template-columns: 1.2fr repeat(3,1fr); align-items: start; }
.footer-brand { color: #fff; font-size: 1.4rem; }
.footer-main > p { max-width: 450px; margin: 0; color: #8798a7; text-align: right; }
.footer-column { display: grid; gap: .45rem; }
.footer-column strong { margin-bottom: .3rem; color: #fff; font: 700 .78rem "Manrope",sans-serif; text-transform: uppercase; letter-spacing: .08em; }
.footer-column a { color: #9eafbc; font-size: .78rem; text-decoration: none; }
.footer-column a:hover, .footer-column a:focus-visible { color: var(--lime); }
.footer-bottom { display: flex; justify-content: space-between; gap: 2rem; margin-top: 3rem; padding-top: 1rem; color: #778998; border-top: 1px solid rgba(255,255,255,.12); font-size: .7rem; }
.footer-latest { margin-bottom: 3.5rem; padding-bottom: 3rem; border-bottom: 1px solid rgba(255,255,255,.12); }
.footer-latest-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.4rem; }
.footer-latest-heading h4 { margin: 0; color: #fff; font: 700 clamp(1.3rem,2vw,2rem) "Manrope",sans-serif; }
.footer-latest-heading > a { color: var(--lime); font-size: .78rem; text-decoration: none; }
.footer-latest-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 2.5rem; }
.footer-latest-grid a { display: grid; grid-template-columns: 2rem 1fr; gap: .65rem; padding: .65rem 0; color: #afbdc8; border-bottom: 1px solid rgba(255,255,255,.08); font-size: .76rem; line-height: 1.4; text-decoration: none; }
.footer-latest-grid a:hover { color: #fff; }
.footer-latest-grid span { color: var(--lime); font-weight: 800; }

.home-articles { padding: clamp(4rem,8vw,7rem) max(1.25rem,calc((100% - 1280px)/2)); background: #edf1e8; }
.home-articles-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
.home-article-card { display: flex; flex-direction: column; min-width: 0; padding: .8rem .8rem 1.1rem; color: inherit; background: #fff; border: 1px solid var(--line); text-decoration: none; transition: transform .2s ease,box-shadow .2s ease; }
.home-article-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(15,34,58,.1); }
.home-article-card img { width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; margin-bottom: .9rem; }
.home-article-card span { color: var(--lime-dark); font: 800 .64rem "Manrope",sans-serif; text-transform: uppercase; letter-spacing: .07em; }
.home-article-card h3 { margin: .45rem 0 .9rem; font: 700 .92rem/1.35 "Manrope",sans-serif; }
.home-article-card time { margin-top: auto; color: var(--muted); font-size: .68rem; }

/* Pages éditoriales, catégories et articles */
.page-hero { padding: clamp(4rem,8vw,7rem) max(1.25rem,calc((100% - 1080px)/2)); color: #fff; background: var(--navy); }
.page-hero .eyebrow { color: var(--lime); }
.page-hero h1 { max-width: 950px; margin-bottom: 1rem; font-size: clamp(2.8rem,5vw,5.2rem); }
.page-hero > p { max-width: 760px; color: #bdcbd6; font-size: 1.05rem; }
.breadcrumbs { margin-bottom: 2rem; color: #9fb0bd; font-size: .76rem; }
.breadcrumbs a { color: #dbe6ed; text-decoration: none; }
.breadcrumbs span { margin: 0 .45rem; }
.content-shell { width: min(1080px,calc(100% - 2.5rem)); margin: 0 auto; padding: clamp(3.5rem,7vw,7rem) 0; }
.content-shell.narrow { max-width: 820px; }
.content-shell h2 { margin: 2.7rem 0 .9rem; font-size: clamp(1.8rem,3vw,2.7rem); }
.content-shell h3 { margin: 2rem 0 .6rem; font-size: 1.35rem; }
.content-shell p, .content-shell li { color: var(--muted); }
.content-shell strong { color: var(--ink); }
.author-profile { display: grid; grid-template-columns: 260px 1fr; gap: 3rem; align-items: start; }
.author-profile img { width: 100%; height: auto; border-radius: 140px 140px 16px 16px; }
.sameas-list { padding-left: 1.2rem; overflow-wrap: anywhere; }
.category-grid, .blog-grid, .articles-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.category-card, .blog-card, .article-card { display: flex; flex-direction: column; min-height: 250px; padding: 1.6rem; color: inherit; background: var(--white); border: 1px solid var(--line); text-decoration: none; }
.category-card, .blog-card, .article-card { transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.category-card:hover, .category-card:focus-visible, .blog-card:hover, .blog-card:focus-visible, .article-card:hover, .article-card:focus-visible { border-color: #93aa5b; transform: translateY(-3px); box-shadow: 0 14px 34px rgba(15,34,58,.1); }
.category-card span, .blog-card-cat, .article-card-cat { color: #68880e; font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }
.category-card h2, .blog-card h3, .article-card h3 { margin: auto 0 .7rem; }
.category-card p, .blog-card-date, .article-card-date { margin: 0; color: var(--muted); font-size: .82rem; }
.blog-page .page-hero { padding-block: clamp(3.5rem,6vw,5.5rem); }
.blog-page .page-hero h1 { max-width: 900px; font-size: clamp(2.6rem,4.6vw,4.6rem); }
.blog-page .category-grid { margin-bottom: 4rem; }
.blog-page .category-card { min-height: 230px; border-top: 5px solid var(--lime-dark); }
.blog-page .content-shell > h2 { margin-top: 0; }
.category-page .page-hero { padding-block: clamp(3.5rem,6vw,5.5rem); }
.category-page .page-hero h1 { font-size: clamp(2.7rem,4.5vw,4.5rem); }
.category-page .articles-grid:empty::before { content: "Les premiers articles de cette rubrique seront publiés prochainement."; grid-column: 1 / -1; padding: 2rem; color: var(--muted); background: var(--white); border: 1px solid var(--line); }
.empty-category { grid-column: 1 / -1; margin: 0; padding: 2rem; color: var(--muted); background: var(--white); border: 1px solid var(--line); }
.blog-card-img img, .article-card img { width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; margin-bottom: 1rem; }
.article-layout { display: grid; grid-template-columns: minmax(0,1fr) 270px; gap: clamp(2rem,5vw,5rem); padding-bottom: 1.75rem; }
.article-content { min-width: 0; font-size: 1.04rem; }
.article-content h2 { margin-top: 2.8rem; }
.article-content img { max-width: 100%; height: auto; }
.article-content > div[style*="background"],
.article-content > nav[style*="background"],
.article-content > section:not(.vigie-sources):not(.article-author-box) {
  margin-block: 2rem !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 30px rgba(15,34,58,.08);
}
.article-content > div[style*="background:#eff6ff"] { border: 1px solid #a8c9fa !important; border-left: 6px solid #3b82f6 !important; }
.article-content > div[style*="background:#fff7ed"] { border: 1px solid #fed7aa !important; border-left: 6px solid #f97316 !important; }
.article-content > div[style*="background:#f0fdf4"] { border: 1px solid #bbf7d0 !important; border-left: 6px solid #22c55e !important; }
.article-content > div[style*="background:#fef2f2"] { border: 1px solid #fecaca !important; border-left: 6px solid #ef4444 !important; }
.article-content table { width: 100%; margin: 2rem 0; border-collapse: collapse; overflow: hidden; background: var(--white); border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 8px 24px rgba(15,34,58,.06); }
.article-content th, .article-content td { padding: .85rem 1rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.article-content th { color: var(--ink); background: #edf1e8; }
.article-content blockquote { margin: 2rem 0; padding: 1.4rem 1.6rem; background: #f5f7f2; border-left: 5px solid var(--lime-dark); }
.vigie-sources { margin-top: 3rem; padding: 1.5rem; background: #f5f7f2; border: 1px solid var(--line); border-radius: 12px; }
.vigie-sources h2 { margin-top: 0; font-size: 1.55rem; }
.vigie-sources li { overflow-wrap: anywhere; }
.article-author-box { display: grid; grid-template-columns: 120px minmax(0,1fr); gap: 1.5rem; align-items: start; margin-top: 2.5rem; padding: 1.6rem; background: linear-gradient(135deg,#f0f4e8,#fff); border: 1px solid #cad8ae; border-top: 5px solid var(--lime-dark); border-radius: 14px; box-shadow: 0 12px 34px rgba(15,34,58,.09); }
.article-author-box > img { width: 120px; height: 120px; object-fit: cover; border-radius: 50%; }
.article-author-label { margin: 0 0 .2rem; color: var(--lime-dark) !important; font-size: .7rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.article-author-box h2 { margin: 0 0 .5rem; font-size: 1.55rem; }
.article-author-box h2 a { color: var(--ink); text-decoration: none; }
.article-author-box p { margin-top: 0; }
.article-author-socials { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1rem; }
.article-author-socials a { padding: .5rem .75rem; color: var(--ink); background: var(--white); border: 1px solid #b9c99a; border-radius: 999px; font-size: .78rem; font-weight: 800; text-decoration: none; }
.article-author-socials a:hover, .article-author-socials a:focus-visible { color: var(--white); background: var(--ink); border-color: var(--ink); }
.article-aside { align-self: start; padding: 1.2rem; background: #edf1e8; border-top: 4px solid var(--lime-dark); }
.article-aside ul { display: grid; gap: .8rem; padding: 0; list-style: none; }
.article-aside a { font-size: .8rem; text-decoration: none; }
.article-byline { display: flex; align-items: center; gap: .8rem; margin-top: 1.4rem; color: #becbd5; font-size: .78rem; }
.article-byline img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.page-hero .article-disclosure { max-width: 820px; margin-top: 1.1rem; padding: .9rem 1rem; color: #dce6ec; background: rgba(255,255,255,.08); border-left: 4px solid var(--lime); font-size: .82rem; }
.page-hero .article-disclosure strong { color: var(--lime); }
.article-byline a { color: #fff; font-weight: 700; }
.article-hero-image { width: 100%; max-height: 620px; object-fit: cover; }
.related-posts { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.related-section { padding-top: 1.75rem; }
.related-section > h2 { margin-top: 0; }
.related-card { padding: 1rem; color: inherit; background: var(--white); border: 1px solid var(--line); text-decoration: none; }
.related-card img { width: 100%; height: auto; aspect-ratio: 5/2; object-fit: cover; }
.related-card-cat { margin-top: .6rem; color: var(--lime-dark); font-size: .68rem; font-weight: 700; }
.related-card h4 { margin: .25rem 0 0; font: 700 .95rem/1.35 "Manrope",sans-serif; }

@media (max-width: 1050px) {
  .privacy-badge { display: none; }
  .hero { grid-template-columns: 1fr; }
  .hero-intro { max-width: 760px; padding-top: 0; }
  .result-grid { grid-template-columns: 1fr 1.5fr; }
  .actions-panel { grid-column: 1 / -1; border-top: 1px solid var(--line); }
  .signals-panel { border-right: 0; }
  .topic-grid { grid-template-columns: 1fr 1fr; }
  .topic.featured { grid-column: 1 / -1; grid-row: auto; min-height: 440px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .home-articles-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .article-layout { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .header-inner { min-height: 72px; }
  .header-inner nav { display: none; }
  .hero { padding-top: 3.7rem; }
  .analyser-card { border-radius: 14px; }
  .card-heading, form { padding-inline: 1.25rem; }
  .examples { padding-inline: 1.25rem; }
  .result-grid { grid-template-columns: 1fr; }
  .score-panel, .signals-panel { border-right: 0; border-bottom: 1px solid var(--line); }
  .result-footer, .footer-main, .footer-bottom { align-items: flex-start; flex-direction: column; }
  .section-heading, .section-heading.compact, .definition-copy, .method-note, .scam-patterns, .emergency, .source-note { grid-template-columns: 1fr; }
  .definition-copy { margin-left: 0; }
  .patterns-intro { position: static; }
  .method-grid { grid-template-columns: 1fr; }
  .method-grid article { min-height: 270px; }
  .method-grid svg { margin-top: 2.3rem; }
  .official-links { grid-column: auto; }
  .topic-grid { grid-template-columns: 1fr; }
  .topic.featured { grid-column: auto; min-height: 410px; }
  .footer-main > p { text-align: left; }
  .founder, .author-profile { grid-template-columns: 1fr; }
  .founder-photo { max-width: 320px; }
  .article-author-box { grid-template-columns: 1fr; }
  .article-author-box > img { width: 96px; height: 96px; }
  .footer-grid, .category-grid, .blog-grid, .articles-grid, .related-posts { grid-template-columns: 1fr; }
  .home-articles-grid, .footer-latest-grid { grid-template-columns: 1fr; }
  .footer-latest-heading { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 460px) {
  h1 { font-size: 2.85rem; }
  .trust-list { display: grid; }
  .check { width: 100%; }
  .form-actions { align-items: stretch; flex-direction: column; }
  .clear-button { order: 2; }
  .result-topline { flex-direction: column; gap: .2rem; }
  .official-links { display: grid; }
  .pattern-list article { grid-template-columns: 1fr; }
  .pattern-list article > span { grid-row: auto; }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; transition: none !important; }
}
