/* douanier.css — Douanier·ère : bleu marine officiel + or, esthétique uniforme et badge de service */
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Source Sans 3','Inter',sans-serif;line-height:1.65;color:#1a2537;background:#eaeef4;background-image:linear-gradient(135deg,#eaeef4 0%,#dde4ee 100%);min-height:100vh;font-size:17px}
.dou-wrap{max-width:1080px;margin:0 auto;padding:28px 22px 60px}
.back-link{display:inline-block;margin-bottom:22px;color:#003c8e;text-decoration:none;font-size:.85em;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;border:1px solid #003c8e;padding:5px 14px;background:#fff}
.back-link:hover{background:#003c8e;color:#fff}

.dou-hero{background:#003c8e;color:#fff;padding:0;margin-bottom:28px;position:relative;overflow:hidden;box-shadow:0 12px 30px rgba(0,60,142,.3)}
.dou-hero .top-stripe{height:6px;background:repeating-linear-gradient(90deg,#003c8e 0,#003c8e 30px,#d4af37 30px,#d4af37 32px,#003c8e 32px,#003c8e 62px,#a02020 62px,#a02020 64px)}
.dou-hero .body{padding:46px 50px 40px;position:relative}
.dou-hero .body::before{content:'';position:absolute;top:30px;right:36px;width:90px;height:90px;border-radius:50%;border:3px solid #d4af37;background:radial-gradient(circle at 35% 35%,#1a4ea0,#003c8e);box-shadow:0 0 0 4px rgba(212,175,55,.25);display:flex;align-items:center;justify-content:center}
.dou-hero .body::after{content:'★';position:absolute;top:55px;right:74px;color:#d4af37;font-size:1.6em;line-height:1;text-shadow:0 0 6px rgba(212,175,55,.5)}
.dou-hero .surtitle{color:#d4af37;font-size:.78em;letter-spacing:5px;text-transform:uppercase;font-weight:700;margin-bottom:8px}
.dou-hero h1{font-size:3.5em;font-weight:800;line-height:1;letter-spacing:-1.5px;margin-bottom:10px;text-transform:uppercase}
.dou-hero .tagline{font-size:1.05em;color:#d8e2f0;max-width:580px;line-height:1.55;font-style:italic}
.dou-hero .matricule{margin-top:20px;font-family:'JetBrains Mono',monospace;font-size:.78em;color:#d4af37;letter-spacing:2px}

.section{background:#fff;border:1px solid #c4cdd9;padding:28px 36px;margin-bottom:20px;box-shadow:0 4px 12px rgba(26,37,55,.07)}
.section h2{font-size:1.6em;font-weight:700;color:#003c8e;margin-bottom:14px;padding-left:14px;border-left:4px solid #d4af37;letter-spacing:-.4px}
.section h3{font-size:1.1em;color:#a02020;margin:18px 0 8px;font-weight:600}
.section p{margin-bottom:12px;color:#1a2537}
.section ul,.section ol{margin:10px 0 14px 26px}.section li{margin-bottom:6px;color:#1a2537}
.section strong{color:#003c8e;font-weight:700}.section em{color:#a02020;font-style:italic}

.timeline{border-left:2px solid #d4af37;padding-left:22px;margin:18px 0}
.timeline-event{position:relative;padding-bottom:14px}
.timeline-event::before{content:'';position:absolute;left:-28px;top:8px;width:12px;height:12px;background:#003c8e;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #003c8e}
.timeline-event .date{display:inline-block;background:#003c8e;color:#fff;padding:1px 9px;margin-right:8px;font-size:.78em;letter-spacing:1px;font-weight:600}

.section table{width:100%;border-collapse:collapse;margin:14px 0;font-size:.93em;background:#fafbfd;border:1px solid #c4cdd9}
.section th{background:#003c8e;color:#fff;padding:10px 14px;text-align:left;font-weight:600;letter-spacing:.4px;font-size:.92em;text-transform:uppercase;font-size:.82em}
.section td{padding:9px 14px;border-bottom:1px solid #e2e8f0}.section tr:last-child td{border-bottom:none}

.callout{background:#fff8e1;border-left:4px solid #d4af37;padding:14px 18px;margin:16px 0}.callout strong{color:#a02020}

.missions{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:16px 0}
.mission{background:#fafbfd;border:1px solid #c4cdd9;border-top:3px solid #003c8e;padding:14px 16px}
.mission h4{color:#003c8e;font-size:.98em;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px;font-size:.92em}
.mission p{font-size:.9em;color:#3a4a5e;margin:0}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 0}
.stat{background:#003c8e;color:#fff;padding:18px 14px;text-align:center}
.stat .v{font-size:1.85em;font-weight:800;color:#d4af37;line-height:1}
.stat .l{font-size:.78em;letter-spacing:.5px;margin-top:6px;opacity:.9;text-transform:uppercase}

@media(max-width:700px){.dou-hero h1{font-size:2.3em}.dou-hero .body{padding:32px 22px}.dou-hero .body::before,.dou-hero .body::after{display:none}.section{padding:22px 22px}.section h2{font-size:1.35em}}
