/* === AI SEO Audit - Styles fidèles à l'original === */

:root {
    --ink: #0a0a0a;
    --canvas: #ffffff;
    --teal: #0d9488;
    --teal-soft: #f0fdfa;
    --green: #16a34a;
    --amber: #d97706;
    --red: #dc2626;
    --muted: #737373;
    --soft: #f5f5f5;
    --line: #e5e5e5;
    --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-mono: 'SF Mono', 'Cascadia Code', 'Fira Code', monospace;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { font-size: 16px; -webkit-font-smoothing: antialiased; }

body {
    font-family: var(--font-sans);
    color: var(--ink);
    background: var(--canvas);
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

/* === Top Nav === */
.top-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 2rem;
    border-bottom: 1px solid var(--line);
    font-family: var(--font-mono);
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
.nav-logo {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 600;
    color: var(--teal);
}
.nav-logo-icon { font-size: 1rem; }
.nav-links a { color: var(--muted); transition: color 0.15s; }
.nav-links a:hover { color: var(--ink); }

/* === Hero === */
.hero-section {
    border-bottom: 1px solid var(--line);
    position: relative;
    overflow: hidden;
}
.hero-inner {
    max-width: 80rem;
    margin: 0 auto;
    padding: 3rem 1.25rem;
    display: grid;
    gap: 3rem;
    align-items: end;
}
@media (min-width: 640px) {
    .hero-inner { padding: 4rem 2rem; }
}
@media (min-width: 1024px) {
    .hero-inner { grid-template-columns: 7fr 5fr; gap: 4rem; }
}
.hero-badges { display: flex; gap: 0.5rem; margin-bottom: 0.75rem; flex-wrap: wrap; }
.hero-title {
    font-size: 2.25rem;
    font-weight: 500;
    letter-spacing: -0.03em;
    line-height: 1.1;
    text-wrap: balance;
}
@media (min-width: 640px) { .hero-title { font-size: 3rem; } }
.hero-desc { margin-top: 0.75rem; color: var(--muted); font-size: 0.95rem; line-height: 1.6; max-width: 40rem; }
.hero-link {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    margin-top: 1rem;
    font-family: var(--font-mono);
    font-size: 0.875rem;
    color: var(--muted);
    transition: color 0.15s;
}
.hero-link:hover { color: var(--ink); }
.hero-interpretation { margin-top: 1.5rem; color: var(--muted); font-size: 0.95rem; line-height: 1.6; max-width: 40rem; }
.hero-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    margin-top: 2.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--line);
    font-family: var(--font-mono);
}
@media (min-width: 640px) { .hero-stats { grid-template-columns: repeat(4, 1fr); } }
.stat dt { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.12em; color: var(--muted); }
.stat dd { margin-top: 0.375rem; font-size: 1.5rem; font-weight: 500; font-variant-numeric: tabular-nums; }
@media (min-width: 640px) { .stat dd { font-size: 1.875rem; } }

/* Score */
.hero-right { text-align: right; }
.score-label { font-family: var(--font-mono); font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.2em; color: var(--muted); }
.score-value { margin-top: 0.5rem; display: flex; align-items: baseline; gap: 0.5rem; justify-content: flex-end; }
.score-number { font-size: 5rem; font-weight: 500; letter-spacing: -0.04em; font-variant-numeric: tabular-nums; line-height: 1; }
@media (min-width: 640px) { .score-number { font-size: 6rem; } }
@media (min-width: 1024px) { .score-number { font-size: 8rem; } }
.score-total { font-size: 1.5rem; font-variant-numeric: tabular-nums; color: rgba(10,10,10,0.3); }
.score-bar { margin-top: 1.25rem; height: 0.375rem; width: 100%; background: rgba(10,10,10,0.05); }
.score-bar-fill { height: 100%; background: var(--teal); transition: width 0.6s ease; }
.score-counts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5rem; margin-top: 1.5rem; justify-items: end; }

/* Band badge */
.band-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-family: var(--font-mono);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}
.band-dot { width: 0.375rem; height: 0.375rem; border-radius: 50%; background: currentColor; }
.band-critical { background: rgba(220,38,38,0.1); color: var(--red); }
.band-below { background: rgba(217,119,6,0.1); color: var(--amber); }
.band-average { background: var(--teal-soft); color: var(--teal); }
.band-strong { background: rgba(22,163,74,0.1); color: var(--green); }
.band-excellent { background: var(--ink); color: #fff; }

/* Count chips */
.count-chip { border-top: 2px solid var(--line); padding-top: 0.375rem; }
.count-green { border-color: var(--green); }
.count-amber { border-color: var(--amber); }
.count-red { border-color: var(--red); }
.count-muted { border-color: var(--line); }
.count-val { font-size: 1.125rem; font-weight: 500; font-variant-numeric: tabular-nums; }
.count-green .count-val { color: var(--green); }
.count-amber .count-val { color: var(--amber); }
.count-red .count-val { color: var(--red); }
.count-muted .count-val { color: var(--muted); }
.count-lbl { display: block; font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.12em; color: var(--muted); }

/* === Advisory === */
.advisory-banner { background: rgba(217,119,6,0.06); border-bottom: 1px solid var(--line); }
.advisory-inner { max-width: 80rem; margin: 0 auto; padding: 1rem 1.25rem; display: flex; gap: 1rem; align-items: flex-start; }
@media (min-width: 640px) { .advisory-inner { padding: 1.25rem 2rem; } }
.advisory-icon { font-size: 1rem; color: var(--amber); flex-shrink: 0; margin-top: 0.125rem; }
.advisory-title { font-family: var(--font-mono); font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.15em; color: var(--amber); }
.advisory-text { margin-top: 0.375rem; font-size: 0.875rem; line-height: 1.6; color: var(--muted); }

/* === Fix Section === */
.fix-section { border-bottom: 1px solid var(--line); }
.fix-inner {
    max-width: 80rem;
    margin: 0 auto;
    padding: 3rem 1.25rem;
    display: grid;
    gap: 3rem;
}
@media (min-width: 640px) { .fix-inner { padding: 4rem 2rem; } }
@media (min-width: 1024px) { .fix-inner { grid-template-columns: 5fr 7fr; gap: 4rem; } }
.section-eyebrow { font-family: var(--font-mono); font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.2em; color: var(--teal); }
.section-title { margin-top: 1rem; font-size: 1.875rem; font-weight: 500; letter-spacing: -0.02em; text-wrap: balance; }
@media (min-width: 640px) { .section-title { font-size: 3rem; line-height: 1.05; } }
.section-desc { margin-top: 1.25rem; color: var(--muted); font-size: 0.95rem; line-height: 1.6; max-width: 40rem; }
.fix-actions { margin-top: 1.5rem; }
.priorities-header { font-family: var(--font-mono); font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.2em; color: var(--muted); }
.priorities-list { margin-top: 1.25rem; list-style: none; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.priority-item { display: grid; grid-template-columns: 2.5rem 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.priority-item:last-child { border-bottom: none; }
.priority-num { font-family: var(--font-mono); font-size: 0.875rem; font-variant-numeric: tabular-nums; color: var(--muted); }
.priority-text { font-size: 0.95rem; line-height: 1.6; }
.priority-empty { padding: 1rem 0; font-size: 0.95rem; color: var(--muted); }

/* === Categories === */
.category-section { border-bottom: 1px solid var(--line); }
.category-inner {
    max-width: 80rem;
    margin: 0 auto;
    padding: 3rem 1.25rem;
    display: grid;
    gap: 3rem;
}
@media (min-width: 640px) { .category-inner { padding: 3rem 2rem; } }
@media (min-width: 1024px) { .category-inner { grid-template-columns: 5fr 7fr; gap: 4rem; } }
.category-header { position: sticky; top: 1.5rem; }
.category-title { margin-top: 1rem; font-size: 1.875rem; font-weight: 500; letter-spacing: -0.02em; text-wrap: balance; }
@media (min-width: 640px) { .category-title { font-size: 3rem; line-height: 1.05; } }
.category-desc { margin-top: 1.25rem; color: var(--muted); font-size: 0.95rem; line-height: 1.6; }
.category-score-bar { margin-top: 2rem; display: flex; align-items: baseline; justify-content: space-between; font-family: var(--font-mono); }
.cat-score-label { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.12em; color: var(--muted); }
.cat-score-value { font-size: 1.25rem; font-weight: 500; font-variant-numeric: tabular-nums; }
.cat-score-max { color: rgba(10,10,10,0.3); }
.cat-score-pct { margin-left: 0.5rem; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.12em; color: var(--muted); }
.category-bar { margin-top: 0.75rem; height: 0.25rem; width: 100%; background: rgba(10,10,10,0.05); }
.category-bar-fill { height: 100%; background: var(--teal); transition: width 0.6s ease; }

/* Category counts mini */
.category-header .count-chips-mini { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5rem; margin-top: 1.25rem; }

/* Check rows */
.category-items { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.check-row { padding: 1.25rem 0; border-bottom: 1px solid var(--line); }
.check-row:last-child { border-bottom: none; }
.check-main { display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; }
@media (max-width: 639px) { .check-main { grid-template-columns: auto 1fr; } }
.check-icon {
    width: 1.25rem;
    height: 1.25rem;
    margin-top: 0.25rem;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    line-height: 1;
}
.status-pass { color: var(--green); }
.status-partial { color: var(--amber); }
.status-fail { color: var(--red); }
.status-na { color: var(--muted); }
.check-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.5rem 0.75rem; }
.check-id { font-family: var(--font-mono); font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.12em; color: var(--muted); font-variant-numeric: tabular-nums; }
.check-label { font-size: 1.125rem; font-weight: 500; letter-spacing: -0.01em; }
@media (min-width: 640px) { .check-label { font-size: 1.25rem; } }
.check-badge {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    border-radius: 9999px;
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}
.check-badge.status-pass { background: rgba(22,163,74,0.1); color: var(--green); }
.check-badge.status-partial { background: rgba(217,119,6,0.1); color: var(--amber); }
.check-badge.status-fail { background: rgba(220,38,38,0.1); color: var(--red); }
.check-badge.status-na { background: var(--soft); color: var(--muted); }
.check-evidence { margin-top: 0.75rem; font-size: 0.95rem; line-height: 1.6; color: var(--muted); }
.check-recommendation {
    margin-top: 0.75rem;
    padding-left: 0.75rem;
    border-left: 2px solid rgba(13,148,136,0.3);
    font-size: 0.95rem;
    line-height: 1.6;
}
.check-score { text-align: right; font-family: var(--font-mono); flex-shrink: 0; }
.check-score-val { font-size: 1.125rem; font-variant-numeric: tabular-nums; }
.check-score-max { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.12em; color: var(--muted); }
.check-prompt { margin-top: 0.75rem; padding-left: 2.25rem; }

/* === Copy Button === */
.copy-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: none;
    border: none;
    cursor: pointer;
    transition: color 0.15s;
    color: var(--ink);
    padding: 0;
}
.copy-btn:hover { color: var(--teal); }
.copy-btn-lg { font-family: var(--font-mono); font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.12em; border-bottom: 2px solid var(--ink); padding-bottom: 0.25rem; }
.copy-btn-sm { font-family: var(--font-mono); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; border-bottom: 2px solid var(--ink); padding-bottom: 0.125rem; }
.copy-btn.copied { color: var(--green); border-color: var(--green); }
.copy-icon { font-size: 0.875em; }

/* === Diagnostics === */
.diagnostics-section { border-bottom: 1px solid var(--line); }
.diagnostics-inner {
    max-width: 80rem;
    margin: 0 auto;
    padding: 3rem 1.25rem;
}
@media (min-width: 640px) { .diagnostics-inner { padding: 3rem 2rem; } }
.diagnostics-list { margin-top: 1.5rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-family: var(--font-mono); font-size: 0.875rem; }
.diag-row { display: grid; grid-template-columns: 1fr auto; gap: 1rem; padding: 0.75rem 0; border-bottom: 1px solid var(--line); }
.diag-row:last-child { border-bottom: none; }
.diag-row dt { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.12em; color: var(--muted); }
.diag-row dd { font-variant-numeric: tabular-nums; }

/* === Back === */
.back-section { padding: 2rem; }
.back-link {
    font-family: var(--font-mono);
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    border-bottom: 2px solid var(--ink);
    padding-bottom: 0.25rem;
    transition: color 0.15s, border-color 0.15s;
}
.back-link:hover { color: var(--teal); border-color: var(--teal); }

/* === Gate === */
.gate-section { padding: 0 1.25rem 2rem; max-width: 80rem; margin: 0 auto; }
.gate-inner { position: relative; border-radius: 12px; overflow: hidden; border: 1px solid var(--line); }
.gate-blur {
    filter: blur(6px);
    pointer-events: none;
    opacity: 0.4;
    padding: 2rem;
    background: var(--canvas);
}
.gate-preview { display: grid; gap: 1rem; }
.gate-preview-item {
    display: flex; justify-content: space-between; align-items: center;
    padding: 0.75rem 1rem; background: var(--soft); border-radius: 8px;
}
.gate-cat-name { font-weight: 500; font-size: 0.9rem; }
.gate-cat-score { font-family: var(--font-mono); font-size: 0.8rem; color: var(--muted); }
.gate-overlay {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    background: rgba(255,255,255,0.92);
    backdrop-filter: blur(4px);
}
.gate-box {
    background: var(--canvas); border: 1px solid var(--line); border-radius: 16px;
    padding: 2.5rem 2rem; max-width: 28rem; width: 100%;
    box-shadow: 0 8px 32px rgba(0,0,0,0.08);
    text-align: center;
}
.gate-icon { font-size: 2.5rem; margin-bottom: 1rem; }
.gate-title { font-size: 1.25rem; font-weight: 600; margin-bottom: 0.5rem; }
.gate-desc { color: var(--muted); font-size: 0.875rem; line-height: 1.6; margin-bottom: 1.5rem; }
.gate-form { display: grid; gap: 0.75rem; }
.gate-honeypot { position: absolute; left: -9999px; opacity: 0; height: 0; width: 0; overflow: hidden; }
.gate-input-group { display: flex; gap: 0.5rem; }
.gate-input {
    flex: 1; padding: 0.75rem 1rem; border: 1px solid var(--line); border-radius: 8px;
    font-size: 0.9rem; font-family: var(--font-sans); outline: none;
}
.gate-input:focus { border-color: var(--teal); }
.gate-btn {
    padding: 0.75rem 1.25rem; background: var(--teal); color: #fff; border: none;
    border-radius: 8px; font-size: 0.875rem; font-weight: 600; cursor: pointer;
    font-family: var(--font-sans); white-space: nowrap;
}
.gate-btn:hover { background: #0f766e; }
.gate-note { font-size: 0.75rem; color: var(--muted); }
.gate-error { font-size: 0.8rem; color: var(--red); text-align: left; }

/* === Contact === */
.contact-section { padding: 0 2rem 3rem; }
.contact-inner { max-width: 48rem; margin: 0 auto; }
.contact-box {
    background: var(--soft);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 2rem;
    text-align: center;
}
.contact-title { font-size: 1.125rem; font-weight: 600; margin-bottom: 0.5rem; }
.contact-text { color: var(--muted); font-size: 0.9rem; margin-bottom: 1rem; }
.contact-email {
    display: inline-block;
    font-family: var(--font-mono);
    font-size: 1rem;
    font-weight: 500;
    color: var(--teal);
    text-decoration: none;
    border-bottom: 2px solid var(--teal);
    padding-bottom: 2px;
    transition: color 0.15s, border-color 0.15s;
}
.contact-email:hover { color: var(--ink); border-color: var(--ink); }

/* === Form (index page) === */
.hero-landing {
    position: relative;
    min-height: calc(100dvh - 4rem);
    overflow: hidden;
}
.landing-inner {
    position: relative;
    max-width: 80rem;
    margin: 0 auto;
    padding: 2.5rem 1.25rem;
    display: grid;
    gap: 3rem;
    align-items: end;
}
@media (min-width: 640px) { .landing-inner { padding: 3.5rem 2rem; } }
@media (min-width: 1024px) { .landing-inner { grid-template-columns: 7fr 5fr; gap: 4rem; } }
.landing-eyebrow { font-family: var(--font-mono); font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.2em; color: var(--teal); }
.landing-title {
    margin-top: 1.5rem;
    font-size: 3.5rem;
    font-weight: 500;
    letter-spacing: -0.04em;
    line-height: 1;
}
@media (min-width: 640px) { .landing-title { font-size: 5rem; } }
@media (min-width: 1024px) { .landing-title { font-size: 6rem; } }
.landing-title .dim { color: rgba(10,10,10,0.35); }
.landing-title .teal { color: var(--teal); }
.landing-subtitle { margin-top: 1.5rem; font-size: 1.125rem; line-height: 1.7; color: var(--muted); max-width: 36rem; }
@media (min-width: 640px) { .landing-subtitle { font-size: 1.25rem; } }
.landing-features {
    margin-top: 2rem;
    display: grid;
    gap: 0.75rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--line);
    font-size: 0.95rem;
}
@media (min-width: 640px) { .landing-features { grid-template-columns: repeat(3, 1fr); gap: 1.5rem; } }
.feature-item { display: flex; gap: 0.75rem; }
.feature-headline { font-family: var(--font-mono); font-size: 0.875rem; font-weight: 500; color: var(--teal); }
.feature-sub { font-size: 0.875rem; color: var(--muted); }

/* Form */
.audit-form-wrapper { display: flex; flex-direction: column; justify-content: flex-end; }
.audit-form { display: grid; gap: 0.75rem; }
.form-label { font-family: var(--font-mono); font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.18em; color: var(--muted); }
.form-input-group {
    display: grid;
    gap: 0;
    border-bottom: 2px solid rgba(10,10,10,0.15);
    transition: border-color 0.15s;
}
.form-input-group:focus-within { border-color: var(--teal); }
@media (min-width: 640px) { .form-input-group { grid-template-columns: 1fr auto; } }
.form-input {
    min-width: 0;
    background: transparent;
    border: none;
    padding: 0.75rem 0.5rem 0.75rem 0;
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--ink);
    outline: none;
    font-family: var(--font-sans);
}
@media (min-width: 640px) { .form-input { font-size: 1.875rem; padding: 1rem 0.5rem 1rem 0; } }
.form-input::placeholder { color: rgba(10,10,10,0.25); }
.form-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    background: none;
    border: none;
    cursor: pointer;
    font-family: var(--font-mono);
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--teal);
    padding: 0.75rem 0.5rem;
    transition: color 0.15s;
}
@media (min-width: 640px) { .form-submit { padding: 0 0.5rem 0.5rem 0; } }
.form-submit:hover { color: var(--ink); }
.form-examples { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; font-family: var(--font-mono); font-size: 0.75rem; color: var(--muted); }
.examples-label { text-transform: uppercase; letter-spacing: 0.12em; }
.example-btn {
    background: none;
    border: none;
    cursor: pointer;
    font-family: var(--font-mono);
    font-size: 0.75rem;
    color: var(--muted);
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-color: rgba(10,10,10,0.2);
    transition: color 0.15s;
}
.example-btn:hover { color: var(--ink); text-decoration-color: var(--teal); }
.form-error { font-family: var(--font-mono); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.12em; color: var(--red); }

/* === Footer === */
.site-footer {
    border-top: 1px solid var(--line);
    padding: 1.5rem 2rem;
    font-family: var(--font-mono);
    font-size: 0.75rem;
    color: var(--muted);
}
.footer-inner { max-width: 80rem; margin: 0 auto; text-align: center; }
.site-footer a { text-decoration: underline; text-underline-offset: 2px; }
.site-footer a:hover { color: var(--ink); }

/* === Loading state === */
.audit-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 50vh;
    gap: 1rem;
}
.loading-spinner {
    width: 2rem;
    height: 2rem;
    border: 3px solid var(--line);
    border-top-color: var(--teal);
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }
.loading-text { font-family: var(--font-mono); font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.12em; color: var(--muted); }

/* === Watermark === */
.watermark {
    position: absolute;
    right: -2rem;
    bottom: -8rem;
    font-size: 18rem;
    font-weight: 500;
    line-height: 0.8;
    letter-spacing: -0.06em;
    color: rgba(10,10,10,0.04);
    font-variant-numeric: tabular-nums;
    pointer-events: none;
    user-select: none;
}
@media (min-width: 640px) { .watermark { font-size: 28rem; } }

/* ===================================================
   MOBILE STYLES — max-width: 639px
   Ces règles ne modifient QUE la version mobile.
   Le desktop (640px+) est inchangé.
   =================================================== */

@media (max-width: 639px) {

    /* --- Navigation --- */
    .top-nav {
        padding: 0.75rem 1rem;
    }

    /* --- Landing page --- */
    .hero-landing {
        min-height: auto;
    }
    .landing-inner {
        padding: 1.75rem 1rem 2rem;
        gap: 2rem;
        align-items: flex-start;
    }
    .landing-title {
        font-size: 2.5rem;
        margin-top: 1rem;
    }
    .landing-subtitle {
        font-size: 0.95rem;
        margin-top: 1rem;
    }
    .landing-features {
        margin-top: 1.25rem;
        padding-top: 1rem;
        gap: 0.625rem;
    }
    .feature-item {
        gap: 0.5rem;
        align-items: baseline;
    }
    .watermark {
        font-size: 11rem;
        right: -1rem;
        bottom: -2rem;
    }

    /* --- Formulaire d'audit --- */
    .form-input {
        font-size: 1.25rem;
        padding: 0.625rem 0.375rem 0.625rem 0;
    }
    .form-submit {
        width: 100%;
        justify-content: flex-start;
        padding: 0.625rem 0;
        font-size: 0.75rem;
    }
    .form-input-group {
        border-bottom-width: 2px;
    }
    .form-examples {
        gap: 0.5rem;
    }

    /* --- Résultats : Hero score --- */
    .hero-inner {
        padding: 1.5rem 1rem;
        gap: 1.75rem;
    }
    .hero-title {
        font-size: 1.625rem;
    }
    .hero-right {
        text-align: left;
        border-top: 1px solid var(--line);
        padding-top: 1.25rem;
    }
    .score-value {
        justify-content: flex-start;
    }
    .score-number {
        font-size: 4rem;
    }
    .score-counts {
        justify-items: start;
        gap: 0.5rem;
    }
    .hero-stats {
        margin-top: 1.25rem;
    }
    .stat dd {
        font-size: 1.25rem;
    }

    /* --- Advisory banner --- */
    .advisory-inner {
        padding: 0.875rem 1rem;
        gap: 0.75rem;
    }

    /* --- Section Fix (prompt agent) --- */
    .fix-inner {
        padding: 2rem 1rem;
        gap: 2rem;
    }
    .section-title {
        font-size: 1.625rem;
        margin-top: 0.625rem;
    }

    /* --- Section Catégories --- */
    .category-inner {
        padding: 2rem 1rem;
        gap: 2rem;
    }
    .category-header {
        position: static; /* désactive le sticky sur mobile */
    }
    .category-title {
        font-size: 1.625rem;
        margin-top: 0.625rem;
    }

    /* --- Lignes de vérification --- */
    .check-main {
        gap: 0.625rem;
    }
    .check-label {
        font-size: 1rem;
    }
    .check-prompt {
        padding-left: 1.875rem;
    }

    /* --- Gate (formulaire email) --- */
    .gate-section {
        padding: 0 1rem 2rem;
    }
    .gate-box {
        padding: 2rem 1.25rem;
    }
    .gate-input-group {
        flex-direction: column;
    }
    .gate-input {
        width: 100%;
    }
    .gate-btn {
        width: 100%;
        text-align: center;
        padding: 0.875rem 1rem;
    }

    /* --- Diagnostics --- */
    .diagnostics-inner {
        padding: 2rem 1rem;
    }
    .diag-row {
        grid-template-columns: 1fr;
        gap: 0.2rem;
    }

    /* --- Lien retour --- */
    .back-section {
        padding: 1.25rem 1rem;
    }

    /* --- Contact --- */
    .contact-section {
        padding: 0 1rem 2rem;
    }
    .contact-box {
        padding: 1.5rem 1rem;
    }

    /* --- Footer --- */
    .site-footer {
        padding: 1.25rem 1rem;
    }
}
