[data-backup-check][hidden] { display: none !important; }
.guide-reading { font-size: .9rem; color: #d7e9ee; }
.reference-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 24px; }
.reference-card { margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.reference-card > img { display: block; width: 100%; height: 280px; object-fit: contain; background: #f3f5f7; }
.reference-card figcaption { padding: 24px; }
.reference-card figcaption > strong { display: block; font-size: 1.15rem; line-height: 1.4; color: var(--ink); }
.reference-card p { margin-top: 12px; }
.reference-credit { font-size: .85rem; line-height: 1.65; color: var(--muted); }
.guide-main .reference-card > img { height: 240px; }
.backup-visual { margin: 48px 0; }
.backup-photo { margin: 24px 0; }
.backup-photo img { display: block; width: 100%; height: auto; border-radius: var(--radius); }
.backup-photo figcaption { margin-top: 8px; font-size: .85rem; color: var(--muted); }
.backup-map { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; padding: 0; margin: 28px 0; gap: 16px; }
.backup-map li { position: relative; padding: 24px; border: 1px solid var(--line); border-top: 4px solid var(--teal-dark); border-radius: 12px; background: var(--white); }
.backup-map li > span { display: block; font-size: 2rem; line-height: 1; margin-bottom: 16px; font-weight: 800; color: var(--teal-dark); }
.backup-map li strong { display: block; font-size: 1.1rem; line-height: 1.4; }
.backup-map li p { font-size: .95rem; margin: 12px 0; }
.backup-map li small { display: block; color: var(--muted); line-height: 1.6; }
.backup-rule { padding: 20px; border-left: 4px solid var(--teal-dark); background: #eef6f8; }
.backup-check { margin: 24px 0; padding: clamp(20px, 4vw, 32px); border: 1px solid var(--line); border-radius: var(--radius); background: #eef6f8; }
.backup-check label { display: flex; align-items: flex-start; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); cursor: pointer; }
.backup-check input { flex: 0 0 auto; width: 20px; height: 20px; margin-top: 3px; accent-color: var(--teal-dark); }
.library-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0; margin: 24px 0 0; gap: 16px; }
.library-facts > div { display: flex; flex-direction: column-reverse; padding: 24px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.library-facts dt { font-size: .9rem; font-weight: 600; color: var(--muted); }
.library-facts dd { margin: 0 0 8px; font-size: clamp(2rem, 5vw, 3rem); line-height: 1.1; font-weight: 800; color: var(--teal-dark); font-variant-numeric: tabular-nums; }
@media (max-width: 780px) { .backup-map { grid-template-columns: 1fr; } }

.backup-check [role="status"] { font-weight: 700; }
@media (max-width: 480px) { .library-facts { grid-template-columns: 1fr; gap: 8px; } .library-facts > div { padding: 16px; } .reference-card figcaption { padding: 18px; } }
@media print { .backup-check { display: none !important; } }
.readiness-panel { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 4vw, 56px); padding: clamp(24px, 4vw, 48px); background: #eef6f8; border: 1px solid var(--line); border-radius: var(--radius); }
.readiness-panel fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.readiness-panel legend { font-weight: 700; padding: 0 0 12px; }
.readiness-panel label { display: flex; align-items: flex-start; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line); cursor: pointer; }
.readiness-panel input { flex: 0 0 auto; width: 22px; height: 22px; margin-top: 3px; accent-color: var(--teal-dark); }
.readiness-panel [role="status"] { font-weight: 700; }
.network-chart { margin-top: 24px; padding: clamp(16px, 3vw, 28px); border: 1px solid var(--line); border-radius: var(--radius); background: #eef6f8; }
.network-chart ul { list-style: none; padding: 0; display: grid; gap: 18px; }
.network-chart li { display: grid; gap: 6px; }
.network-chart meter { width: 100%; height: 24px; accent-color: var(--teal-dark); }
.network-chart p { color: var(--muted); font-size: .95rem; }
@media (max-width: 780px) { .readiness-panel { grid-template-columns: 1fr; } }
.context-photo figcaption, .guide-photo-strip figcaption, .equipment-photo figcaption, .photo-credit, .real-photo-credit, .home-photo-credit, .photo-caption, .card-photo-caption, .photo-framing-note { box-sizing: border-box; font-size: 12px; line-height: 1.5; letter-spacing: normal; text-transform: none; overflow-wrap: break-word; }
.context-photo figcaption, .guide-photo-strip figcaption, .equipment-photo figcaption { padding: 6px 10px; }

/* Illustrations des prestations : scènes fictives, 25 octobre 2026. */
.service-detail .service-illustration{display:block;margin:0 0 1.5rem;max-width:100%;min-width:0}.service-detail .service-illustration img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:10px}.service-detail .service-illustration figcaption{display:block;margin-top:.45rem;font-size:.75rem;line-height:1.5;color:inherit;opacity:.8}

.migration-figure { margin:24px 0 32px; }
.migration-figure img { display:block; width:100%; max-width:960px; height:auto; border-radius:16px; }
.migration-figure figcaption { margin-top:12px; color:#465467; font-size:.9rem; }
.migration-context .comparison-table small { display:block; margin-top:6px; }
@media (max-width:600px) { .migration-figure img { aspect-ratio:360 / 600; } }

.site-footer .footer-disclosure { padding-block:20px; color:#d9e4eb; font-size:.875rem; line-height:1.65; }
.site-footer .footer-disclosure p { margin:0; }

.transfer-form select { box-sizing:border-box; width:100%; min-width:0; max-width:100%; }

.support-table { min-width:720px; table-layout:fixed; }
.support-table th:nth-child(1) { width:30%; }
.support-table th:nth-child(2) { width:26%; }
.support-table th:nth-child(3) { width:44%; }
.migration-context > .comparison-scroll > .comparison-table, .migration-context > .container > .comparison-scroll > .comparison-table { min-width:720px; table-layout:fixed; }

.support-scroll-hint { display:none; }
@media (max-width:760px) { .support-scroll-hint { display:block; } }
