@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/hanken-grotesk-latin-400-normal.BG6hkEXj.woff2)format("woff2"),url(/_astro/hanken-grotesk-latin-400-normal.CjyVwvJV.woff)format("woff")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/hanken-grotesk-latin-600-normal.CIXX6EOa.woff2)format("woff2"),url(/_astro/hanken-grotesk-latin-600-normal.NEn2C4Q3.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/jetbrains-mono-latin-500-normal.BWZEU5yA.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-500-normal.CJOVTJB7.woff)format("woff")}:root{--bg:#f4f1ea;--surface:#fff;--surface-2:#ece7dc;--line:#d8d0bf;--line-strong:#b4aa95;--text:#10292b;--text-2:#475a5b;--text-3:#5c6c6c;--ink:#0b2326;--ink-2:#14363a;--on-ink:#f4f1ea;--on-ink-2:#b5c8c5;--accent:#0b6b66;--accent-hover:#07514d;--accent-soft:#d6ece7;--accent-on-ink:#7fdccb;--accent-on-ink-hover:#a9eadd;--sun:#f3b24c;--sun-soft:#fbeacb;--info-bg:#e4eef6;--info-line:#b3d0e8;--warn-bg:#fbeacb;--warn-line:#e5c27e;--warn-text:#6a3a00;--danger:#b42318;--data-1:#0072b2;--data-2:#e69f00;--data-3:#009e73;--data-4:#cc79a7;--data-5:#d55e00;--data-6:#56b4e9;--data-1-dk:#5bb8ec;--data-2-dk:#f2ba45;--data-3-dk:#38c99b;--data-4-dk:#e6a4ca;--data-5-dk:#ff8c4f;--data-6-dk:#9fd4f2;--map-bg:#0a1e21;--map-grid:#f4f1ea14;--font-sans:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",monospace;--fs-xs:.75rem;--fs-sm:.875rem;--fs-base:1rem;--fs-md:1.125rem;--fs-lg:1.375rem;--fs-xl:clamp(1.375rem,2.2vw,1.75rem);--fs-2xl:clamp(1.75rem,3.4vw,2.75rem);--fs-3xl:clamp(2.4rem,5.6vw,4.75rem);--fs-num:clamp(3.25rem,7.5vw,6rem);--r-sm:8px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-pill:999px;--sh-1:0 1px 2px #10292b12,0 1px 1px #10292b0a;--sh-2:0 12px 32px -8px #10292b2e;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--gutter:clamp(16px,4vw,48px);--maxw:1360px;--tap:44px}[data-theme=dark]{--bg:#0b1f22;--surface:#122b2f;--surface-2:#18363a;--line:#24464a;--line-strong:#3a6166;--text:#eef1ec;--text-2:#b5c8c5;--text-3:#9db2af;--accent:#7fdccb;--accent-hover:#a9eadd;--accent-soft:#16413f}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-base);-webkit-font-smoothing:antialiased;margin:0;line-height:1.55;overflow-x:hidden}.it{background:var(--bg);color:var(--text);font-family:var(--font-sans);width:100%;min-width:0;overflow-x:clip}img{max-width:100%;display:block}h1,h2,h3,h4{letter-spacing:-.022em;color:inherit;margin:0;font-weight:600;line-height:1.08}p{margin:0}a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--accent-hover);text-decoration-thickness:2px}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}.on-ink :focus-visible,.ink :focus-visible{outline-color:var(--accent-on-ink)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.i{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.i-sm{width:15px;height:15px}.i-lg{width:22px;height:22px}.i-xl{width:28px;height:28px}.wrap{width:100%;max-width:var(--maxw);padding-inline:var(--gutter);margin-inline:auto}.wrap-narrow{max-width:1120px}.section{padding-block:clamp(56px,8vw,112px)}.section-sm{padding-block:clamp(32px,5vw,64px)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 32px;margin-bottom:clamp(24px,3vw,40px);display:flex}.section-head>div{flex-direction:column;gap:12px;max-width:62ch;display:flex}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(min(var(--min,280px),100%),1fr));gap:clamp(16px,2vw,24px);display:grid}.stack{flex-direction:column;display:flex}.row{flex-wrap:wrap;align-items:center;display:flex}.only-mobile{display:none!important}.eyebrow{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--accent);margin:0;font-size:.72rem;font-weight:500}.on-ink .eyebrow,.ink .eyebrow{color:var(--accent-on-ink)}.mono{font-family:var(--font-mono);letter-spacing:.03em;font-size:.75rem;font-weight:500}.muted{color:var(--text-2)}.on-ink .muted,.ink .muted{color:var(--on-ink-2)}.h-display{font-size:var(--fs-3xl);letter-spacing:-.038em;line-height:.98}.h-section{font-size:var(--fs-2xl);letter-spacing:-.03em}.h-sub{font-size:var(--fs-xl);letter-spacing:-.02em}.lede{letter-spacing:-.01em;max-width:58ch;font-size:clamp(1.125rem,1.9vw,1.5rem);line-height:1.42}.accent-on-ink{color:var(--accent-on-ink)}.tnum{font-variant-numeric:tabular-nums}.logo{color:var(--text);letter-spacing:-.025em;min-height:var(--tap);white-space:nowrap;align-items:center;gap:10px;font-size:1.25rem;text-decoration:none;display:inline-flex}.logo:hover{color:var(--text);text-decoration:none}.logo b{font-weight:600}.logo-mark{flex:none;width:30px;height:30px}.on-ink .logo,.on-ink .logo:hover{color:var(--on-ink)}.hdr{align-items:center;gap:var(--sp-4);min-height:76px;padding-block:var(--sp-3);display:flex}.hdr-spacer{flex:1}.nav{gap:2px;margin:0;padding:0;list-style:none;display:flex}.nav-btn{min-height:var(--tap);border-radius:var(--r-pill);color:inherit;background:0 0;border:0;align-items:center;gap:6px;padding:0 14px;font-size:.94rem;font-weight:400;text-decoration:none;display:inline-flex}.nav-btn:hover{color:inherit;background:#10292b12;text-decoration:none}.on-ink .nav-btn:hover{background:#f4f1ea1f}.nav-btn[aria-expanded=true]{background:var(--surface);color:var(--text)}.nav-btn .i{opacity:.7;width:14px;height:14px}.hdr-actions{align-items:center;gap:8px;display:flex}.icon-btn{width:var(--tap);height:var(--tap);border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);color:var(--text);place-items:center;padding:0;display:inline-grid}.icon-btn:hover{border-color:var(--text-3);background:var(--surface-2)}.on-ink .icon-btn{color:var(--on-ink);background:#f4f1ea1a;border-color:#f4f1ea47}.on-ink .icon-btn:hover{background:#f4f1ea33}.hdr-line{border-bottom:1px solid var(--line)}.mega{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-2);grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:24px 32px;padding:clamp(20px,2.4vw,32px);display:grid}.mega h4{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--text-2);margin-bottom:8px;font-size:.72rem;font-weight:500}.mega ul{margin:0;padding:0;list-style:none}.mega a{min-height:var(--tap);color:var(--text);border-radius:10px;align-items:center;gap:10px;margin-inline:-10px;padding:0 10px;font-size:.95rem;text-decoration:none;display:flex}.mega a:hover{background:var(--surface-2);color:var(--text)}.mega-feature{background:var(--ink);color:var(--on-ink);border-radius:var(--r-md);flex-direction:column;gap:12px;padding:20px;display:flex}.btn{border-radius:var(--r-pill);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:0 22px;font-size:.95rem;font-weight:600;line-height:1.1;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,transform .1s;display:inline-flex}.btn:hover{text-decoration:none}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--ink);color:var(--on-ink)}.btn-primary:hover{background:var(--accent-hover);color:#fff}.btn-light{background:var(--accent-on-ink);color:var(--ink)}.btn-light:hover{background:var(--accent-on-ink-hover);color:var(--ink)}.btn-secondary{background:var(--surface);border-color:var(--line-strong);color:var(--text)}.btn-secondary:hover{border-color:var(--text);color:var(--text)}.btn-ghost-ink{color:var(--on-ink);background:0 0;border-color:#f4f1ea66}.btn-ghost-ink:hover{color:var(--on-ink);background:#f4f1ea1f}.btn-link{min-height:var(--tap);color:var(--accent);text-underline-offset:4px;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-weight:600;text-decoration:underline 1px;display:inline-flex}.btn-link:hover{color:var(--accent-hover);text-decoration-thickness:2px}.on-ink .btn-link{color:var(--accent-on-ink)}.btn-dot{background:var(--accent-on-ink);width:30px;height:30px;color:var(--ink);border-radius:50%;place-items:center;margin-right:-14px;display:inline-grid}.btn-light .btn-dot{background:var(--ink);color:var(--on-ink)}.btn-dot .i{width:15px;height:15px}.btn[disabled],.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.btn-block{width:100%}.btn-sm{min-height:var(--tap);padding:0 16px;font-size:.88rem}.field{flex-direction:column;gap:7px;min-width:0;display:flex}.label{color:var(--text);justify-content:space-between;align-items:center;gap:8px;font-size:.85rem;font-weight:600;display:flex}.label-val{font-family:var(--font-mono);color:var(--accent);font-size:.78rem;font-weight:500}.hint{color:var(--text-3);font-size:.8rem;line-height:1.4}.input-wrap{align-items:center;min-width:0;display:flex;position:relative}.input{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);width:100%;min-height:50px;color:var(--text);font:inherit;appearance:none;padding:0 14px 0 44px;font-size:1rem}.input-plain{padding-left:14px}.input:hover{border-color:var(--text-3)}.input:focus-visible,.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.input-ico{color:var(--text-3);pointer-events:none;display:flex;position:absolute;left:14px}.input-after{color:var(--text-3);pointer-events:none;display:flex;position:absolute;right:12px}.input-code{font-family:var(--font-mono);background:var(--surface-2);color:var(--text-2);pointer-events:none;border-radius:6px;padding:4px 7px;font-size:.72rem;position:absolute;right:10px}.select{padding-right:40px}.sug{z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-2);margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0}.sug-item{width:100%;min-height:var(--tap);text-align:left;color:var(--text);background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:8px 10px;display:flex}.sug-item:hover,.sug-item[aria-selected=true]{background:var(--accent-soft)}.sug-item small{color:var(--text-2);font-size:.78rem;display:block}.sug-code{font-family:var(--font-mono);background:var(--surface-2);color:var(--text-2);border-radius:6px;margin-left:auto;padding:3px 7px;font-size:.72rem}.swap{width:var(--tap);height:var(--tap);border:1px solid var(--line-strong);background:var(--surface);color:var(--text);border-radius:50%;place-items:center;display:grid}.swap:hover{border-color:var(--text)}.seg{border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--line);flex-wrap:wrap;gap:3px;max-width:100%;padding:3px;display:inline-flex}.seg-full{width:100%;display:flex}.seg-full .seg-btn{flex:auto}.seg-btn{min-height:var(--tap);border-radius:var(--r-pill);color:var(--text-2);white-space:nowrap;background:0 0;border:0;padding:0 14px;font-size:.88rem;font-weight:600}.seg-btn:hover{color:var(--text);background:#10292b0f}.seg-btn[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--sh-1)}.range{width:100%;height:var(--tap);accent-color:var(--accent);cursor:pointer;background:0 0;margin:0}.range-scale{font-family:var(--font-mono);color:var(--text-3);justify-content:space-between;margin-top:-6px;font-size:.7rem;display:flex}.switch{min-height:var(--tap);text-align:left;color:var(--text);background:0 0;border:0;align-items:center;gap:12px;padding:0;display:inline-flex}.switch-track{background:var(--line-strong);border-radius:999px;flex:none;width:48px;height:28px;transition:background-color .15s;position:relative}.switch-track:after{content:"";width:22px;height:22px;box-shadow:var(--sh-1);background:#fff;border-radius:50%;transition:transform .15s;position:absolute;top:3px;left:3px}.switch[aria-checked=true] .switch-track{background:var(--accent)}.switch[aria-checked=true] .switch-track:after{transform:translate(20px)}.switch-state{font-family:var(--font-mono);color:var(--text-2);min-width:2.6em;font-size:.75rem}.switch:hover .switch-track{box-shadow:0 0 0 4px var(--accent-soft)}.tip{display:inline-flex;position:relative}.tip-btn{width:var(--tap);height:var(--tap);color:var(--text-3);background:0 0;border:0;border-radius:50%;place-items:center;margin:-12px -10px -12px -6px;display:inline-grid}.tip-btn:hover{color:var(--accent)}.tip-bubble{background:var(--ink);width:min(280px,78vw);color:var(--on-ink);opacity:0;visibility:hidden;z-index:30;box-shadow:var(--sh-2);border-radius:12px;padding:12px 14px;font-size:.82rem;font-weight:400;line-height:1.45;transition:opacity .15s;position:absolute;bottom:calc(100% + 2px);right:-12px}.tip:hover .tip-bubble,.tip:focus-within .tip-bubble,.tip-bubble.is-open{opacity:1;visibility:visible}.tag{border-radius:var(--r-pill);background:var(--accent-soft);min-height:26px;color:var(--accent-hover);white-space:nowrap;align-items:center;gap:6px;width:fit-content;padding:0 10px;font-size:.75rem;font-weight:600;display:inline-flex}.tag-line{border:1px solid var(--line-strong);color:var(--text-2);background:0 0}.tag-sun{background:var(--sun-soft);color:var(--warn-text)}.tag-ink{color:var(--on-ink);background:#f4f1ea1f;border:1px solid #f4f1ea38}.tag .i{width:13px;height:13px}.chip{min-height:var(--tap);border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);color:var(--text);align-items:center;gap:8px;padding:0 16px;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-flex}.chip:hover{border-color:var(--text);color:var(--text);text-decoration:none}.chip[aria-current=true]{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.crumbs{font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--text-2);flex-wrap:wrap;align-items:center;gap:0 8px;margin:0;padding:0;font-size:.72rem;font-weight:500;list-style:none;display:flex}.crumbs li{align-items:center;gap:8px;display:flex}.crumbs li+li:before{content:"/";color:var(--line-strong)}.crumbs a{color:var(--text-2);min-height:var(--tap);align-items:center;text-decoration:none;display:inline-flex}.crumbs a:hover{color:var(--accent);text-decoration:underline}.on-ink .crumbs,.on-ink .crumbs a{color:var(--on-ink-2)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);min-width:0;color:inherit;flex-direction:column;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}a.card:hover{border-color:var(--line-strong);box-shadow:var(--sh-2);color:inherit;text-decoration:none}a.card:hover .card-title{text-underline-offset:4px;text-decoration:underline 1px}.card-media{aspect-ratio:16/10;background:var(--surface-2);overflow:hidden}.card-media img{object-fit:cover;width:100%;height:100%;transition:transform .4s}a.card:hover .card-media img{transform:scale(1.03)}.card-body{flex-direction:column;flex:1;gap:10px;padding:20px;display:flex}.card-title{letter-spacing:-.012em;color:var(--text);font-size:1.1rem;font-weight:600;line-height:1.28}.card-meta{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--text-2);flex-wrap:wrap;gap:6px 12px;margin-top:auto;padding-top:6px;font-size:.72rem;font-weight:500;display:flex}.card-island{aspect-ratio:4/5;border-radius:var(--r-lg);color:#fff;background:var(--ink);align-items:flex-end;text-decoration:none;display:flex;position:relative;overflow:hidden}.card-island img{object-fit:cover;width:100%;height:100%;transition:transform .4s;position:absolute;inset:0}.card-island:after{content:"";background:linear-gradient(#0b232600 40%,#0b2326e0);position:absolute;inset:0}.card-island:hover{color:#fff;text-decoration:none}.card-island:hover img{transform:scale(1.04)}.card-island-body{z-index:1;flex-direction:column;gap:6px;width:100%;padding:20px;display:flex;position:relative}.card-island-body h3{font-size:1.5rem}.card-route{gap:14px;padding:20px}.route-line{letter-spacing:-.01em;flex-wrap:wrap;align-items:center;gap:10px;font-size:1.08rem;font-weight:600;display:flex}.route-codes{font-family:var(--font-mono);color:var(--text-2);letter-spacing:.05em;font-size:.72rem}.route-val{letter-spacing:-.03em;font-size:1.75rem;font-weight:600;line-height:1}.route-val small{color:var(--text-2);letter-spacing:0;font-size:.85rem;font-weight:400}.mini-range{background:var(--surface-2);border-radius:999px;height:8px;position:relative}.mini-range span{background:var(--data-1);opacity:.35;border-radius:999px;position:absolute;top:0;bottom:0}.mini-range i{background:var(--data-1);border-radius:2px;width:3px;height:14px;position:absolute;top:-3px;transform:translate(-50%)}.img-cover{object-fit:cover;width:100%;height:100%}.figure{margin:0}.figure img{border-radius:var(--r-lg);aspect-ratio:16/9;object-fit:cover;width:100%}.figure figcaption{color:var(--text-2);margin-top:10px;font-size:.85rem;line-height:1.45}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);flex-direction:column;gap:10px;min-width:0;padding:20px;display:flex}.tile-ico{background:var(--accent-soft);width:40px;height:40px;color:var(--accent-hover);border-radius:12px;place-items:center;display:grid}.tile-num{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(1.6rem,2.6vw,2.1rem);font-weight:600;line-height:1}.tile-unit{color:var(--text-2);letter-spacing:0;font-size:.92rem;font-weight:400}.tile-label{color:var(--text-2);font-size:.88rem;line-height:1.4}.bar{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;height:12px;overflow:hidden}.bar>span{border-radius:inherit;background:var(--data-1);height:100%;display:block}.cmp{flex-direction:column;gap:14px;display:flex}.cmp-row{grid-template-columns:minmax(120px,170px) minmax(0,1fr) minmax(96px,auto);grid-template-areas:"l b v";align-items:center;gap:8px 16px;display:grid}.cmp-label{grid-area:l;align-items:center;gap:10px;font-size:.95rem;font-weight:600;display:flex}.cmp-bar{background:var(--surface-2);border-radius:8px;grid-area:b;height:30px;overflow:hidden}.cmp-bar span{border-radius:8px;min-width:6px;height:100%;display:block}.cmp-val{font-family:var(--font-mono);text-align:right;white-space:nowrap;grid-area:v;font-size:.82rem;font-weight:500}.cmp-row.is-current .cmp-label:after{content:"ce calcul";font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-left:2px;font-size:.66rem;font-weight:500}@media (width<=600px){.cmp-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"l v""b b"}}.budget{flex-direction:column;gap:10px;display:flex}.budget-bar{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;height:18px;position:relative;overflow:hidden}.budget-bar span{background:var(--data-5);border-radius:999px;position:absolute;inset:0 auto 0 0}.budget-ticks{font-family:var(--font-mono);color:var(--text-3);justify-content:space-between;font-size:.7rem;display:flex}.callout{border-radius:var(--r-md);border:1px solid;align-items:flex-start;gap:14px;min-width:0;padding:18px 20px;display:flex}.callout-ico{flex:none;margin-top:1px}.callout h4{letter-spacing:-.01em;margin-bottom:6px;font-size:1rem}.callout p,.callout li{font-size:.92rem;line-height:1.55}.callout ul{margin:6px 0 0;padding-left:1.1em}.callout--info{background:var(--info-bg);border-color:var(--info-line);color:var(--text)}.callout--info .callout-ico{color:var(--data-1)}.callout--sources{background:var(--surface);border-color:var(--line-strong);color:var(--text)}.callout--sources .callout-ico{color:var(--accent)}.callout--warn{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn-text)}.callout--key{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.callout--key .callout-ico{color:var(--sun)}.callout--key li::marker{color:var(--accent-on-ink)}.table-wrap{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);overflow-x:auto}.table{border-collapse:collapse;width:100%;min-width:520px;font-size:.92rem}.table caption{text-align:left;padding:14px 16px 0;font-size:.95rem;font-weight:600}.table th{text-align:left;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.07em;color:var(--text-2);background:var(--surface-2);padding:12px 16px;font-size:.7rem;font-weight:500}.table td{border-top:1px solid var(--line);vertical-align:top;padding:14px 16px}.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.pager{flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.pager a,.pager span{min-width:var(--tap);height:var(--tap);border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:.92rem;font-weight:600;text-decoration:none;display:inline-flex}.pager a:hover{border-color:var(--text);color:var(--text)}.pager [aria-current=page]{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.pager .gap{background:0 0;border:0}.ink{background:var(--ink);color:var(--on-ink)}.map{border-radius:var(--r-xl);background:var(--map-bg);color:var(--on-ink);isolation:isolate;position:relative;overflow:hidden}.map-ctrl{z-index:2;flex-direction:column;gap:6px;display:flex;position:absolute;top:16px;right:16px}.map-btn{width:var(--tap);height:var(--tap);color:var(--ink);box-shadow:var(--sh-1);background:#f4f1eaf0;border:0;border-radius:12px;place-items:center;display:grid}.map-btn:hover{background:#fff}.map-legend{z-index:2;background:#0a1e21e6;border:1px solid #f4f1ea29;border-radius:12px;flex-direction:column;gap:7px;max-width:calc(100% - 32px);padding:12px 14px;font-size:.8rem;display:flex;position:absolute;bottom:16px;left:16px}.map-legend-row{align-items:center;gap:10px;display:flex}.map-tag{z-index:2;position:absolute;top:16px;left:16px}.grat{stroke:var(--map-grid);stroke-width:1px;fill:none}.arc{fill:none;stroke:var(--accent-on-ink);stroke-linecap:round;opacity:.9}.arc-dash{fill:none;stroke:var(--accent-on-ink);stroke-width:3px;stroke-dasharray:2 9;stroke-linecap:round}.pt-origin{fill:var(--sun);stroke:var(--map-bg);stroke-width:3px}.pt-dest{fill:var(--on-ink);stroke:var(--map-bg);stroke-width:3px}.arc-lbl{fill:var(--on-ink);font:600 17px var(--font-sans)}.arc-val{fill:var(--on-ink-2);font:500 13px var(--font-mono)}@media (width<=640px){.map-legend{margin:0 12px 12px;position:static}.arc-lbl,.arc-val{display:none}.map-ctrl{top:10px;right:10px}}.result{border-radius:var(--r-xl);background:var(--ink);color:var(--on-ink);flex-direction:column;gap:24px;min-width:0;padding:clamp(22px,3vw,40px);display:flex}.result-num{font-size:var(--fs-num);letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-weight:600;line-height:.9}.result-unit{color:var(--on-ink-2);letter-spacing:0;font-size:1.05rem;font-weight:400;line-height:1.35}.gauge{background:#f4f1ea1f;border-radius:999px;height:16px;margin-top:6px;position:relative}.gauge-range{background:var(--data-6-dk);opacity:.55;border-radius:999px;position:absolute;top:0;bottom:0}.gauge-mark{background:var(--on-ink);border-radius:2px;width:4px;height:30px;position:absolute;top:-7px;transform:translate(-50%)}.gauge-labels{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;font-size:.8rem;display:grid}.gauge-labels div{flex-direction:column;gap:2px;display:flex}.gauge-labels div:nth-child(2){text-align:center}.gauge-labels div:nth-child(3){text-align:right}.gauge-labels b{font-family:var(--font-mono);color:var(--on-ink);font-size:.95rem;font-weight:500}.incl{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.incl li{background:#f4f1ea14;border:1px solid #f4f1ea29;border-radius:999px;align-items:center;gap:6px;min-height:30px;padding:0 12px;font-size:.8rem;display:inline-flex}.incl li.off{color:var(--on-ink-2);text-decoration:line-through #f4f1ea66}.updated{font-family:var(--font-mono);letter-spacing:.04em;color:var(--accent-on-ink);background:#7fdccb29;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:.72rem;display:inline-flex}.skel{background:#f4f1ea1f;border-radius:10px;animation:1.4s ease-in-out infinite pulse}.skel-light{background:var(--surface-2)}.spin{animation:1s linear infinite spin}@keyframes pulse{50%{opacity:.45}}@keyframes spin{to{transform:rotate(360deg)}}.calc{grid-template-columns:minmax(0,420px) minmax(0,1fr);align-items:start;gap:clamp(16px,2vw,28px);display:grid}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);flex-direction:column;gap:20px;min-width:0;padding:clamp(20px,2.2vw,28px);display:flex}.panel-sep{background:var(--line);border:0;height:1px;margin:0}.od{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:10px;display:grid}.stepper{border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);align-items:center;display:inline-flex}.stepper button{width:var(--tap);height:var(--tap);background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.stepper button:hover{background:var(--surface-2)}.stepper output{text-align:center;font-variant-numeric:tabular-nums;min-width:2.2em;font-weight:600}.qcalc{background:var(--surface);color:var(--text);border-radius:var(--r-xl);flex-direction:column;gap:16px;padding:clamp(20px,2.4vw,28px);display:flex;box-shadow:0 30px 60px -20px #00000073}.disclosure{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);overflow:hidden}.disclosure+.disclosure{margin-top:10px}.disclosure summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:0 20px;font-weight:600;list-style:none;display:flex}.disclosure summary::-webkit-details-marker{display:none}.disclosure summary:hover{background:var(--surface-2)}.disclosure[open] summary .chev{transform:rotate(180deg)}.disclosure-body{color:var(--text-2);flex-direction:column;gap:12px;padding:4px 20px 22px;font-size:.94rem;display:flex}.formula{font-family:var(--font-mono);background:var(--surface-2);color:var(--text);white-space:pre;border-radius:10px;padding:14px 16px;font-size:.82rem;line-height:1.7;overflow-x:auto}.hero{border-radius:var(--r-xl);background:var(--ink);color:var(--on-ink);isolation:isolate;margin:10px clamp(8px,1.2vw,16px) 0;position:relative;overflow:hidden}.hero-media{z-index:-1;position:absolute;inset:0}.hero-media img{object-fit:cover;object-position:60% 50%;width:100%;height:100%}.hero-media:after{content:"";background:linear-gradient(#081a2859 0%,#081a281a 45%,#081e22d1 100%);position:absolute;inset:0}.hero-grid{grid-template-columns:minmax(0,1.3fr) minmax(min(400px,100%),.8fr);align-items:end;gap:clamp(24px,4vw,72px);padding-block:clamp(48px,9vw,140px) clamp(28px,4vw,56px);display:grid}.hero-trust{flex-wrap:wrap;gap:8px;display:flex}.page-hero{flex-direction:column;gap:18px;padding-block:clamp(24px,3vw,40px) clamp(28px,4vw,48px);display:flex}.band{border-radius:var(--r-xl);background:var(--ink);color:var(--on-ink);padding:clamp(48px,8vw,112px) var(--gutter);text-align:center;isolation:isolate;flex-direction:column;align-items:center;gap:20px;display:flex;position:relative;overflow:hidden}.band-deco{z-index:-1;width:100%;height:100%;position:absolute;inset:0}.art-layout{grid-template-columns:230px minmax(0,1fr) 300px;align-items:start;gap:clamp(24px,4vw,64px);display:grid}.toc{flex-direction:column;gap:10px;display:flex;position:sticky;top:24px}.toc ol{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.toc a{min-height:var(--tap);color:var(--text-2);border-radius:10px;align-items:center;padding:6px 12px;font-size:.9rem;line-height:1.3;text-decoration:none;display:flex}.toc a:hover{background:var(--surface-2);color:var(--text)}.toc a[aria-current=true]{background:var(--surface);color:var(--text);box-shadow:var(--sh-1);font-weight:600}.toc-m{display:none}.toc-m summary{min-height:56px}.rail{flex-direction:column;gap:16px;display:flex;position:sticky;top:24px}.prose{max-width:68ch;color:var(--text);font-size:1.0625rem;line-height:1.72}.prose>*+*{margin-top:1.15em}.prose h2{letter-spacing:-.025em;margin-top:2.1em;scroll-margin-top:24px;font-size:clamp(1.5rem,2.4vw,2rem)}.prose h3{letter-spacing:-.015em;margin-top:1.7em;font-size:1.25rem}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.45em}.prose li::marker{color:var(--accent)}.prose blockquote{letter-spacing:-.015em;color:var(--text);margin:1.8em 0;padding:0;font-size:clamp(1.25rem,2vw,1.5rem);font-weight:600;line-height:1.4}.prose blockquote:before{content:"«";color:var(--accent);margin-bottom:6px;font-size:3rem;line-height:.8;display:block}.prose blockquote cite{color:var(--text-2);margin-top:12px;font-size:.9rem;font-style:normal;font-weight:400;display:block}.prose .figure,.prose .callout,.prose .table-wrap{margin-top:1.8em;margin-bottom:.4em}.share{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.meta-line{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:6px 18px;font-size:.88rem;display:flex}.meta-line span{align-items:center;gap:6px;display:inline-flex}.ftr{border-top:1px solid var(--line);margin-top:clamp(48px,6vw,96px);padding-block:56px 28px}.ftr-grid{grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,1fr));gap:32px;display:grid}.ftr h3{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--text-2);font-size:.72rem;font-weight:500}.ftr ul{margin:10px 0 0;padding:0;list-style:none}.ftr li a{min-height:var(--tap);color:var(--text);align-items:center;font-size:.94rem;text-decoration:none;display:inline-flex}.ftr li a:hover{color:var(--accent);text-decoration:underline}.ftr-bottom{border-top:1px solid var(--line);color:var(--text-2);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:40px;padding-top:20px;font-size:.82rem;display:flex}.sw{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);min-width:0;overflow:hidden}.sw-chip{height:76px}.sw-meta{flex-direction:column;gap:2px;padding:10px 12px;font-size:.84rem;display:flex}.sw-meta code{font-family:var(--font-mono);color:var(--text-2);font-size:.72rem}.ds-block{border-top:1px solid var(--line);flex-direction:column;gap:20px;padding-block:40px;display:flex}.ds-demo{flex-wrap:wrap;align-items:center;gap:12px;display:flex}@media (width<=1180px){.art-layout{grid-template-columns:220px minmax(0,1fr)}.rail{grid-column:2;position:static}.ftr-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ftr-brand{grid-column:1/-1}}@media (width<=980px){.nav,.hide-mobile{display:none!important}.only-mobile{display:inline-grid!important}.hero-grid,.calc{grid-template-columns:minmax(0,1fr)}}@media (width<=860px){.art-layout{grid-template-columns:minmax(0,1fr)}.rail{grid-column:auto}.toc-d{display:none!important}.toc-m{display:block!important}}@media (width<=640px){.ftr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.od{grid-template-columns:minmax(0,1fr)}.od .swap{justify-self:center;transform:rotate(90deg)}.hdr{min-height:64px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.hdr,.nav li{position:relative}.mega-wrap{z-index:50;padding-top:8px;position:absolute;top:100%;left:0;right:0}.mega-wrap[hidden]{display:none}.mobile-menu{background:var(--surface);color:var(--text);border-bottom:1px solid var(--line)}.mobile-menu[hidden]{display:none}.mobile-menu ul{margin:0;padding:8px 0;list-style:none}.mobile-menu a{min-height:var(--tap);color:var(--text);align-items:center;font-size:1rem;text-decoration:none;display:flex}.mobile-menu h2{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--text-2);padding-top:12px;font-size:.72rem;font-weight:500}.hero .mobile-menu{border-radius:var(--r-lg);margin-bottom:8px}.skip-link{z-index:100;background:var(--ink);color:var(--on-ink);border-radius:10px;padding:10px 16px;position:absolute;top:-60px;left:8px}.skip-link:focus{top:8px}.prose img{border-radius:var(--r-md);height:auto}.prose figure{margin-inline:0}.prose figcaption,.prose .wp-element-caption{color:var(--text-2);margin-top:8px;font-size:.88rem}.prose .alignleft,.prose .alignright,.prose .aligncenter{float:none;margin-inline:auto}.prose iframe{border-radius:var(--r-md);border:0;max-width:100%}.prose table{border-collapse:collapse;width:100%;font-size:.95rem}.prose td,.prose th{border:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 10px}.prose .wp-block-table,.prose .table-scroll{overflow-x:auto}.prose .has-background{border-radius:var(--r-md);padding:1em 1.2em}.prose .wp-block-buttons{flex-wrap:wrap;gap:8px;display:flex}.prose pre,.prose code{font-family:var(--font-mono);white-space:pre-wrap;font-size:.9em}.prose [class*=related-links]{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:4px 24px;padding:0;list-style:none;display:grid}.page-hero .tag{align-self:flex-start}.cartes-grille{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:clamp(16px,2vw,24px);display:grid}.liste-trajets{columns:3 260px;column-gap:32px;margin:0;padding:0;list-style:none}.liste-trajets li{break-inside:avoid}.liste-trajets a{align-items:center;min-height:36px;display:flex}.bar-unit{color:var(--text-2);font-size:.8rem}.hint-warn{color:var(--warn-text)}.btn-link.btn-reset{cursor:pointer;background:0 0;border:0;padding:0}.map>svg{width:100%;height:auto;display:block}.input[aria-invalid=true]{border-color:var(--danger)}.art-layout--no-toc{grid-template-columns:minmax(0,68ch) 300px;justify-content:center}.art-layout--solo{grid-template-columns:minmax(0,68ch);justify-content:center}@media (width<=1180px){.art-layout--no-toc{grid-template-columns:minmax(0,1fr)}.art-layout--no-toc .rail{grid-column:auto}}.hero-image img{aspect-ratio:21/9;object-fit:cover;border-radius:var(--r-xl);width:100%;height:auto}@media (width<=640px){.hero-image img{aspect-ratio:16/10;border-radius:var(--r-lg)}}[hidden]{display:none!important}.input-code:empty{display:none}.result .muted,.map .muted,.ink .muted,.mega-feature .muted{color:var(--on-ink-2)}.map[data-carte]>svg{min-height:420px}.map-canvas{z-index:1;position:absolute;inset:0}.map-canvas .maplibregl-canvas{outline:none}.map-canvas .maplibregl-canvas:focus-visible{outline:3px solid var(--accent-on-ink);outline-offset:-3px}.map.is-live>svg{visibility:hidden}.map-pin{width:16px;height:16px;color:var(--on-ink);cursor:default;text-decoration:none;display:block}a.map-pin{cursor:pointer}.map-pin-dot{background:var(--on-ink);border:3px solid var(--map-bg);box-sizing:border-box;border-radius:50%;width:16px;height:16px;display:block}.map-pin.is-origin .map-pin-dot{background:var(--sun);width:20px;height:20px;margin:-2px}.map-pin-lbl{transform:translateY(calc(-50% + var(--dy,0px)));white-space:nowrap;pointer-events:none;text-shadow:0 0 3px var(--map-bg),0 0 8px var(--map-bg),0 1px 2px var(--map-bg);flex-direction:column;line-height:1.2;display:flex;position:absolute;top:50%;left:24px}.map-pin.is-left .map-pin-lbl{text-align:right;align-items:flex-end;left:auto;right:24px}.map-pin-lbl b{font-size:.9rem;font-weight:600}.map-pin-lbl span{font-family:var(--font-mono);color:var(--on-ink-2);font-size:.72rem;font-weight:500}a.map-pin:hover .map-pin-dot{background:var(--accent-on-ink)}a.map-pin:focus-visible{outline:none}a.map-pin:focus-visible .map-pin-dot{outline:3px solid var(--accent-on-ink);outline-offset:3px}.maplibregl-ctrl-attrib,.maplibregl-ctrl-logo{display:none}.maplibregl-cooperative-gesture-screen{font-family:var(--font-sans);font-size:1rem}@media (width<=640px){.map[data-carte]>svg{height:380px;min-height:0}.map-pin-lbl b{font-size:.8rem}.map-pin-lbl span{font-size:.66rem}.map[data-carte] .map-legend{margin:0 12px 12px;position:static}}:fullscreen.map,.map:fullscreen{border-radius:0}.map:fullscreen>svg{height:100vh}
