/* Brower, public site. Old-map direction: paper, ink, vermilion for the route only.
   No inline style anywhere: the server's CSP only allows this file. */
:root{--paper:#F4F1E8;--paper-2:#FAF8F2;--paper-3:#EFEBE0;--ink:#2B2722;--ink-2:#4A433B;--muted:#5E564C;--faint:#6F6556;--line:#D8D1C2;--line-2:#CFC7B6;--route:#C23B22;--bistre:#A0734A;--bistre-text:#8C5F37;--ocre:#EBCB7A;--serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 var(--sans)}
a{color:var(--ink)}a:hover{color:var(--bistre-text)}
img{max-width:100%}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}
.eyebrow{font:600 11px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.h1{margin:0;font:400 64px/1.04 var(--serif);letter-spacing:-.01em}
.h1 em,.cta-title em{font-style:italic;color:var(--route)}
.h2{margin:0;font:400 38px/1.12 var(--serif)}
.h3{margin:0;font:400 22px/1.2 var(--serif)}
.lead{margin:0;font-size:17.5px;line-height:1.6;color:var(--ink-2);max-width:620px}
.txt{margin:0;font-size:15px;line-height:1.55;color:var(--ink-2)}
.note{margin:0;font-size:13px;color:var(--faint)}
.rule{border:0;border-top:1px solid var(--line);margin:0}
.ico{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ico .p{fill:currentColor;stroke:none}.ico .o{fill:var(--ocre)}
.ico.vermillon{color:var(--route)}.ico.bistre{color:var(--bistre-text)}
.ico .ico-t{fill:currentColor;stroke:none;font-weight:700;text-anchor:middle;font-family:var(--sans)}
.g{font:600 14px/1 var(--sans);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 20px;border:1px solid var(--ink);border-radius:2px;background:var(--paper-2);color:var(--ink);box-shadow:inset 0 0 0 2px var(--paper-2),inset 0 0 0 3px var(--line-2);text-decoration:none;cursor:pointer;white-space:nowrap}
.g:hover{background:var(--paper-3);color:var(--ink)}
.g:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.g.pri{background:var(--ink);color:var(--paper-2);box-shadow:inset 0 0 0 2px var(--ink),inset 0 0 0 3px #8E867A}
.g.pri:hover{background:#433D35;color:var(--paper-2)}
.g.sm{min-height:38px;padding:0 14px;font-size:13px}
.g.ghost{background:transparent;color:var(--paper);border-color:var(--paper);box-shadow:inset 0 0 0 2px var(--ink),inset 0 0 0 3px #8E867A}
.g.ghost:hover{background:#433D35;color:var(--paper)}
.self-start{align-self:flex-start}

.top{border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;gap:28px;min-height:72px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto;font:400 26px/1 var(--serif);color:var(--ink)}
.mark{fill:none;stroke:var(--bistre);stroke-width:1.4;stroke-linecap:round}
.mark .route{stroke:var(--route);stroke-width:1.8}
.nav{display:flex;gap:26px}
.nav a{font-size:14px;font-weight:600;text-decoration:none;color:var(--ink-2)}
.nav a:hover{text-decoration:underline dotted 1px;text-underline-offset:4px;color:var(--ink)}

.hero{padding:76px 0 88px}
.hero-in{display:flex;flex-wrap:wrap;gap:56px;align-items:center}
.hero-text{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:24px}
.actions{display:flex;flex-wrap:wrap;gap:12px;padding-top:4px}
.actions.center{justify-content:center}
.hero-visual{flex:1 1 480px;min-width:0;position:relative;display:flex;flex-direction:column}
.frame{border:1.5px solid var(--ink);padding:4px;background:var(--paper)}
.frame-in{border:.5px solid var(--ink);overflow:hidden}
.hero-map{height:560px}
.hero-map img{display:block;width:100%;height:100%;object-fit:cover;object-position:55% 50%}
.card{background:var(--paper-2);border:1px solid var(--line);border-radius:4px;padding:22px 22px 24px;display:flex;flex-direction:column;gap:12px}
.cardg{background:var(--paper-2);border:1px solid var(--ink);padding:22px 22px 24px;display:flex;flex-direction:column;gap:12px;box-shadow:inset 0 0 0 3px var(--paper-2),inset 0 0 0 4px var(--line-2)}
.float{position:absolute;left:-28px;bottom:-36px;width:340px;z-index:2;gap:10px;padding:16px 18px 18px}
.float q{font:italic 400 15px/1.45 var(--serif);color:var(--ink-2);quotes:"« " " »"}
.result-title{font:400 19px/1.25 var(--serif)}
.stat{font-size:13.5px;color:var(--ink-2);font-variant-numeric:tabular-nums}

.section{padding:80px 0}
.section-tight{padding:0 0 80px}
.rule-top{border-top:1px solid var(--line)}
.stack{display:flex;flex-direction:column;gap:32px}
.section-head{display:flex;flex-direction:column;gap:12px}
.grid-ask{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.ask{display:flex;flex-direction:column;gap:12px;padding:20px 22px 22px;border:1px solid var(--line);border-radius:4px;background:var(--paper-2)}
.ask q{font:italic 400 19px/1.4 var(--serif);color:var(--ink);quotes:"« " " »"}
.ask .why{font-size:13px;line-height:1.45;color:var(--faint)}
.tag{font:600 10px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--bistre-text)}
.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.grid-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px}
.step{display:flex;flex-direction:column;gap:12px;padding-top:18px;border-top:1.5px solid var(--ink)}
.roman{font:400 44px/1 var(--serif);color:var(--bistre)}

.band{background:var(--paper-3);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.linkrow{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.linkbox{display:flex;flex-direction:column;gap:4px;padding:8px 14px 10px;border:1px solid var(--ink);border-radius:2px;background:var(--paper-2);box-shadow:inset 0 0 0 2px var(--paper-2),inset 0 0 0 3px var(--line-2);min-width:300px;max-width:100%}
.linkbox .eyebrow{font-size:9.5px}
.linkbox code{font:16px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}
.copied{font-size:13px;color:var(--faint)}
.grid-assist{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.badge{display:inline-flex;align-items:center;gap:6px;font:600 10.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:5px 8px;border:1px solid var(--ink);border-radius:2px;align-self:flex-start}
.badge.muted{border-color:#BDB4A4;border-style:dashed;color:var(--faint)}

.split{display:flex;flex-wrap:wrap;gap:48px;align-items:flex-start}
.split-text{flex:1 1 340px;min-width:0;display:flex;flex-direction:column;gap:16px}
.carnet{flex:1.3 1 480px;min-width:0;gap:0;padding:18px 24px 8px}
.carnet>.eyebrow{padding-bottom:12px}
.row{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid #E3DCCD;flex-wrap:wrap}
.row-main{flex:1 1 220px;display:flex;flex-direction:column;gap:5px}

.grid-offers{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;max-width:820px}
.price{font:400 40px/1.1 var(--serif)}
.price small{font-size:18px;color:var(--ink-2)}
.limits{display:flex;gap:18px;align-items:flex-start;padding:24px 26px;border:1px solid var(--line);background:var(--paper-2)}
.limits>div{display:flex;flex-direction:column;gap:8px}

.cta-band{background:var(--ink);color:var(--paper);padding:84px 0}
.cta-in{display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center}
.cta-band .eyebrow{color:#C9C0B0}
.cta-title{margin:0;font:400 46px/1.1 var(--serif)}
.cta-title em{color:var(--ocre)}
.foot{padding:28px 0 40px}
.foot-in{display:flex;flex-wrap:wrap;gap:12px 32px;align-items:center;font-size:13px;color:var(--muted)}
.brand-small{font:400 20px/1 var(--serif);color:var(--ink)}

@media (max-width:1060px){.float{position:static;width:auto;order:-1;margin:0 0 16px}}
@media (max-width:760px){.h1{font-size:42px}.h2{font-size:29px}.cta-title{font-size:32px}.wrap{padding:0 18px}.nav{display:none}.hero-map{height:380px}.hero{padding:48px 0 64px}.section{padding:60px 0}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Pages légales */
.legal{max-width:760px}
.legal h1{margin:0 0 24px}
.legal h2{margin:32px 0 8px}
.legal p,.legal li{line-height:1.6}
.legal table{border-collapse:collapse;width:100%;margin:12px 0}
.legal th,.legal td{border-top:1px solid currentColor;padding:8px 10px 8px 0;text-align:left;vertical-align:top}
