@font-face{font-family:"DossierDisplay";src:url(/v7/assets/fonts/hubot.08b2a3ed8f.woff2) format("woff2");font-weight:200 900;font-stretch:75% 125%;font-display:swap}@font-face{font-family:"DossierText";src:url(/v7/assets/fonts/mona.18b71f13cf.woff2) format("woff2");font-weight:200 900;font-stretch:75% 125%;font-display:swap}@font-face{font-family:"Martian";src:url(/v7/assets/fonts/martian.25273461e8.woff2) format("woff2");font-weight:100 800;font-stretch:75% 112.5%;font-display:swap}@font-face{font-family:"Osi";src:url(/v7/assets/fonts/osi.19f7b286ee.woff2) format("woff2");font-display:swap}@font-face{font-family:"DossierName";src:url(/v7/assets/fonts/hubotname.fe3c7b6347.woff2) format("woff2");font-weight:900;font-display:block}html.lenis,
html.lenis body {
  height: auto;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
  overflow: clip;
}

.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],
.lenis [data-lenis-prevent-horizontal] {
  overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

.lenis.lenis-autoToggle {
  transition-property: overflow;
  transition-duration: 1ms;
  transition-behavior: allow-discrete;
}
/* Portfolio v7 « Dossier technique ». Tirage papier ou tirage bleu ; encre, trames, trois couleurs de contexte. */
@property --rv{syntax:"<number>";inherits:true;initial-value:0}

:root{
  --f-disp:"DossierDisplay","DossierText",system-ui,sans-serif;
  --f-text:"DossierText","Osi",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"Martian","Osi",ui-monospace,"SFMono-Regular",monospace;
  --f-osi:"Osi","Martian",ui-monospace,monospace;
  --hd:46px;
  --gut:clamp(14px,2vw,28px);
  --fr:clamp(8px,1vw,12px);
  --ease:cubic-bezier(.22,.8,.18,1);
}
html[data-mode="papier"]{
  --paper:#f3f2ec; --paper-2:#e8e7df; --paper-3:#dad9cf; --ink:#121212; --ink-2:#4f4f49; --ink-3:#6b6b64;
  --rule:rgba(18,18,18,.16); --rule-2:rgba(18,18,18,.42);
  --c0:#2b3fd6; --c1:#d6950a; --c2:#e2482b; --t0:#2b3fd6; --t1:#8f6100; --t2:#bf391e;
  --ok:#2b3fd6; --deny:#bd3219; --hold:#8f6100; --tip-bg:#121212; --tip-fg:#f3f2ec;
  --ui-paper:#fbfbf8; --ui-panel:#efefea; --ui-line:#dcdcd5; --ui-ink:#151515; --ui-ink2:#66665f; --ui-ink3:#d5d5ce; --ui-on-accent:#fbfbf8;
  --u0:#2b3fd6; --u1:#a26d00; --u2:#d23f22;
  --grid:transparent;
}
html[data-mode="bleu"]{
  --paper:#11295c; --paper-2:#173470; --paper-3:#1d3c7e; --ink:#eef3ff; --ink-2:#b3c2e6; --ink-3:#8496c6;
  --rule:rgba(238,243,255,.2); --rule-2:rgba(238,243,255,.5);
  --c0:#9fd8ff; --c1:#ffcb4d; --c2:#ff7d5e; --t0:#9fd8ff; --t1:#ffcb4d; --t2:#ff9a80;
  --ok:#9fd8ff; --deny:#ff7d5e; --hold:#ffcb4d; --tip-bg:#eef3ff; --tip-fg:#11295c;
  --ui-paper:#fbfbf8; --ui-panel:#efefea; --ui-line:#dcdcd5; --ui-ink:#151515; --ui-ink2:#66665f; --ui-ink3:#d5d5ce; --ui-on-accent:#fbfbf8;
  --u0:#2b3fd6; --u1:#a26d00; --u2:#d23f22;
  --grid:rgba(238,243,255,.055);
}
[data-ctx="0"]{--accent:var(--c0);--accent-t:var(--t0);--ui-accent:var(--u0)}
[data-ctx="1"]{--accent:var(--c1);--accent-t:var(--t1);--ui-accent:var(--u1)}
[data-ctx="2"]{--accent:var(--c2);--accent-t:var(--t2);--ui-accent:var(--u2)}
.sw{display:inline-block;width:.6em;height:.6em;border-radius:50%;background:var(--ink);flex:none}
.sw.c0{background:var(--c0)}.sw.c1{background:var(--c1)}.sw.c2{background:var(--c2)}

*,*::before,*::after{box-sizing:border-box}
html{background:var(--paper);-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:24px 24px;
  color:var(--ink);font-family:var(--f-text);font-size:17px;line-height:1.5;font-kerning:normal;font-feature-settings:"kern","liga";-webkit-font-smoothing:antialiased;overflow-x:clip}
h1,h2,h3,h4,p,ol,ul,dl,dd,figure{margin:0}
ol,ul{padding:0;list-style:none}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
table{border-collapse:collapse;width:100%}
::selection{background:var(--accent,var(--c0));color:var(--paper)}
:focus-visible{outline:2px solid var(--c0);outline-offset:3px}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:var(--gut);top:-80px;z-index:120;background:var(--ink);color:var(--paper);padding:10px 14px;text-decoration:none}
.skip:focus{top:8px}
.hatch-bg,.rd,.hz{background-image:repeating-linear-gradient(-45deg,var(--ink) 0 1.1px,transparent 1.1px 4.6px)}

/* caviardage : une barre hachurée, jamais le texte */
.rd{display:inline-block;width:calc(var(--n) * .52em);max-width:100%;height:.92em;vertical-align:-.1em;border:1px solid var(--ink);cursor:help}

/* ---------- En-tête ---------- */
.hd{position:fixed;inset:0 0 auto;z-index:50;height:var(--hd);display:grid;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:20px;
  padding:0 var(--gut);background:var(--paper);border-bottom:1px solid var(--rule-2)}
.hd-id{display:flex;align-items:baseline;gap:12px;text-decoration:none;white-space:nowrap}
.hd-id b{font-family:var(--f-disp);font-stretch:125%;font-weight:800;font-size:.9375rem;letter-spacing:.01em;text-transform:uppercase}
.hd-id span{font-family:var(--f-mono);font-size:.6875rem;color:var(--ink-2)}
.hd-nav{display:flex;justify-content:center;gap:clamp(14px,2.4vw,36px)}
.hd-nav a,.menu a{font-family:var(--f-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;padding:6px 0;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .35s var(--ease)}
.hd-nav a:hover{background-size:100% 1px}
.hd-mode{display:flex;align-items:baseline;gap:8px;font-family:var(--f-mono);font-size:.75rem;padding:6px 0;border-bottom:1px solid var(--ink)}
.hd-mode-k{color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;font-size:.6875rem}
.hd-mode-name{min-width:3.6em}
.hd-menu{display:none;font-family:var(--f-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}
.menu{position:fixed;inset:var(--hd) 0 auto;z-index:49;background:var(--paper);border-bottom:1px solid var(--rule-2);padding:10px var(--gut) 20px;display:grid;gap:4px}
.menu a{font-size:1rem;padding:10px 0;border-bottom:1px solid var(--rule)}
.menu[hidden]{display:none}
.hd-lang,.mn-lang{font-family:var(--f-mono);font-size:.75rem;letter-spacing:.04em;text-decoration:none;padding:6px 0;border-bottom:1px solid var(--ink)}
.menu-x{display:flex;gap:28px;align-items:baseline;padding-top:14px}
.mn-mode{font-family:var(--f-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--ink);padding:6px 0}
@media (min-width:821px){.menu-x{display:none}}
@media (max-width:820px){.hd-nav,.hd-mode,.hd-lang{display:none}.hd-menu{display:block}.hd{grid-template-columns:1fr auto}.hd-id span{display:none}}

main{padding-top:var(--hd)}

/* ---------- Page de garde ---------- */
.cover{position:relative}
.cover-pin{height:calc(100svh - var(--hd) + 300svh)}
.stage{position:sticky;top:var(--hd);height:calc(100svh - var(--hd));overflow:hidden;touch-action:pan-y}
.stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.rings{opacity:var(--ring-a,1)}
.frame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.frame .fr-o,.frame .fr-i{fill:none;stroke:var(--ink);vector-effect:non-scaling-stroke}
.frame .fr-o{stroke-width:1;opacity:.45}
.frame .fr-i{stroke-width:1.4}
.frame .fr-t{stroke:var(--ink);stroke-width:1;opacity:.6}
.frame text{font-family:var(--f-osi);font-size:11px;fill:var(--ink);text-anchor:middle;dominant-baseline:central}
.frame .fr-draw{stroke-dasharray:1;stroke-dashoffset:1}
.loaded .frame .fr-draw{animation:plot 1.6s var(--ease) forwards}
@keyframes plot{to{stroke-dashoffset:0}}
.view-tag,.view-count{position:absolute;top:calc(var(--fr) * 2 + 18px);z-index:2;font-family:var(--f-mono);font-size:.6875rem;line-height:1.5;pointer-events:none}
.view-tag{left:calc(var(--fr) * 2 + 18px);display:grid}
.vt-k{color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em}
.vt-l{font-family:var(--f-text);font-size:.9375rem;font-weight:500}
.view-count{right:calc(var(--fr) * 2 + 18px);text-align:right;display:grid;justify-items:end;gap:2px;max-width:min(19rem,46vw)}
.hc-n{font-family:var(--f-osi);font-size:2.4rem;line-height:1}
.hc-date{color:var(--ink-2)}
.cover-go{pointer-events:auto;margin-top:8px;font-family:var(--f-mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:2px}
.cover-go:hover{color:var(--c0);border-color:var(--c0)}
.hz-mark{display:inline-block;width:22px;height:9px;margin-left:6px;vertical-align:0;border:1px solid var(--ink);background-image:repeating-linear-gradient(-45deg,var(--ink) 0 1px,transparent 1px 3.4px)}
.sec-note.cav{display:flex;gap:10px;align-items:baseline}
.sec-note.cav .hz-mark{flex:none;margin-left:0}
.tl-axis,.tl-notes{position:absolute;inset:0;pointer-events:none}
.tl-axis span{position:absolute;transform:translateX(-50%);font-family:var(--f-osi);font-size:.75rem;color:var(--ink-2);white-space:nowrap}
.tl-notes{opacity:var(--na,0)}
.tl-note{position:absolute;width:max-content;max-width:min(15rem,40vw);padding:2px 0;background:var(--paper);font-size:.8125rem;line-height:1.3;transform:translateY(-100%)}
.tl-note b{display:block;font-family:var(--f-osi);font-size:.75rem;font-weight:400;color:var(--ink-2);margin-bottom:1px}
.tl-note::after{content:"";position:absolute;left:var(--ax,0);top:100%;height:var(--lead,20px);border-left:1px solid var(--ink)}
.tl-note.r{text-align:right}
.dot-tip,.xv-tip{position:absolute;left:0;top:0;z-index:4;padding:8px 11px;background:var(--tip-bg);color:var(--tip-fg);font-size:.8125rem;line-height:1.35;white-space:pre;pointer-events:none;opacity:0;transition:opacity .15s}
.dot-tip.on,.xv-tip.on{opacity:1}
.dot-tip .tt-d,.xv-tip .tt-d{font-family:var(--f-mono);font-size:.6875rem;opacity:.75}
.dot-tip .tt-f,.xv-tip .tt-f{font-weight:600}
.xv-tip{text-decoration:none;white-space:normal;max-width:17rem}
.xv-tip.on.link{pointer-events:auto}
.xv-tip .tt-go{display:block;margin-top:6px;font-family:var(--f-mono);font-size:.6875rem}
.xv-tip .tt-d,.xv-tip .tt-f,.xv-tip .tt-n{display:block}
.xv-tip .tt-s{margin-top:4px;padding-left:28px;background:repeating-linear-gradient(-45deg,currentColor 0 1px,transparent 1px 3.4px) 0 .35em/20px 8px no-repeat;opacity:.85}
.cover-foot{position:absolute;left:calc(var(--fr) * 2 + 10px);right:calc(var(--fr) * 2 + 10px);bottom:calc(var(--fr) * 2 + 10px);z-index:3;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;pointer-events:none}
.cover-foot>*{pointer-events:auto}
.legend{display:flex;flex-direction:column;gap:2px;padding-bottom:2px}
.lg{display:grid;grid-template-columns:12px auto auto;align-items:baseline;gap:8px;padding:3px 0;font-size:.8125rem;text-align:left}
.lg .sw{width:9px;height:9px}
.lg-n{font-family:var(--f-osi);font-size:.8125rem;color:var(--ink-2)}
.lg[aria-pressed="true"] .lg-t{text-decoration:underline;text-underline-offset:3px}
.cartouche{display:grid;border:1.4px solid var(--ink);background:var(--paper)}
.cover-ct{grid-template-columns:repeat(4,minmax(0,auto));width:min(600px,100%)}
.ct-mail a{font-weight:600;text-decoration:none;border-bottom:1px solid var(--ink)}
.ct-mail a:hover{color:var(--c0);border-color:var(--c0)}
.ct-cell{padding:5px 9px 6px;border-left:1px solid var(--ink);border-top:1px solid var(--ink);min-width:0}
.cover-ct .ct-cell:nth-child(1),.cover-ct .ct-cell:nth-child(2){grid-column:span 4;border-left:0}
.cover-ct .ct-cell:nth-child(1){border-top:0}
.cover-ct .ct-cell:nth-child(3){border-left:0}
.ct-cell dt{font-family:var(--f-mono);font-size:.5625rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-2)}
.ct-cell dd{font-size:.8125rem;line-height:1.3}
.ct-cell dd b{font-family:var(--f-disp);font-stretch:125%;font-weight:850;text-transform:uppercase;font-size:1rem;margin-right:10px;letter-spacing:.01em}
.cover-ct [data-tz]{font-family:var(--f-osi);font-size:.9375rem}
.cover-hint{position:absolute;left:50%;top:calc(var(--fr) * 2 + 20px);transform:translateX(-50%);z-index:2;font-family:var(--f-mono);font-size:.625rem;color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em;pointer-events:none;white-space:nowrap;transition:opacity .4s}
.hint-touch{display:none}
@media (hover:none){.hint-fine{display:none}.hint-touch{display:inline}}
.cover-static{display:none}
@media (max-width:1080px){.cover-hint{display:none}}
@media (max-width:700px){
  .cover-foot{flex-direction:column;align-items:stretch;gap:8px}
  .legend{flex-direction:row;gap:14px;flex-wrap:wrap}
  .cover-ct{width:100%}
  .ct-cell dd{font-size:.75rem}.ct-cell dd b{font-size:.875rem;display:block}
  .cover-ct{grid-template-columns:1fr 1fr}
  .cover-ct .ct-cell:nth-child(1),.cover-ct .ct-cell:nth-child(2){grid-column:span 2}
  .cover-ct .ct-scale,.cover-ct .ct-tz{display:none}
  .cover-ct .ct-mail{grid-column:span 2;border-left:0}
  .view-count .hc-date{display:none}
  .hc-n{font-size:1.75rem}
  .tl-note{max-width:44vw;font-size:.75rem}
}

/* ---------- Sections ---------- */
.sec{border-top:1.4px solid var(--ink);padding:0 0 clamp(48px,7vw,110px)}
.sec-head{display:grid;grid-template-columns:1fr;gap:clamp(16px,2vw,28px);padding:clamp(28px,4vw,56px) var(--gut) clamp(28px,4vw,48px)}
.sec-title{font-family:var(--f-disp);font-stretch:125%;font-weight:900;text-transform:uppercase;font-size:clamp(1.5rem,7vw,8.4rem);overflow-wrap:anywhere;line-height:.86;letter-spacing:-.012em}
.sec-side{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px clamp(24px,4vw,72px);align-items:start}
.sec-side p{font-size:1.0625rem;max-width:36rem}
.sec-side .sec-note{margin-top:0}
.sec-note{margin-top:12px;font-family:var(--f-mono);font-size:.75rem!important;line-height:1.6;color:var(--ink-2)}
@media (max-width:820px){.sec-side{grid-template-columns:1fr}.sec-side .sec-note{margin-top:4px}}
[id]{scroll-margin-top:var(--hd)}
.bench{scroll-margin-top:var(--hd)}

/* ---------- Nomenclature ---------- */
.nm-head,.nm li>a,.nm li>div{display:grid;grid-template-columns:3.4rem minmax(0,1fr) 8.5rem 10rem 1.6rem;gap:6px 16px;align-items:baseline;padding:0 var(--gut)}
.nm-head{font-family:var(--f-mono);font-size:.625rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-2);padding-bottom:8px;border-bottom:1.4px solid var(--ink)}
.nm-per{font-family:var(--f-mono);font-size:.6875rem;color:var(--ink-2)}
.nm-group h3{display:flex;align-items:center;gap:10px;padding:22px var(--gut) 10px;font-family:var(--f-mono);font-size:.6875rem;font-weight:400;text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid var(--rule-2)}
.nm-group h3 span{margin-left:auto;color:var(--ink-2)}
.nm li li{position:relative;border-bottom:1px solid var(--rule)}
.nm li>a,.nm li>div{padding-top:13px;padding-bottom:13px;text-decoration:none;position:relative}
.nm-rep{font-family:var(--f-osi);font-size:1rem;color:var(--ink-2)}
.nm-name b{display:block;font-family:var(--f-disp);font-weight:750;font-stretch:100%;font-size:clamp(1.15rem,.9rem + .8vw,1.75rem);line-height:1.05;letter-spacing:-.005em;transition:font-stretch .45s var(--ease)}
.nm-desc{display:block;margin-top:4px;font-size:.875rem;color:var(--ink-2);max-width:44rem}
.nm-st{font-family:var(--f-mono);font-size:.6875rem}
.nm-go{font-family:var(--f-osi);font-size:1.25rem;text-align:right;opacity:.35;transition:transform .35s var(--ease),opacity .3s}
.nm li>a::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-45deg,var(--accent) 0 1px,transparent 1px 6px);opacity:0;transition:opacity .3s;pointer-events:none}
.nm li[data-ctx] >a:hover::before,.nm li>a:focus-visible::before{opacity:.22}
.nm li>a:hover .nm-name b,.nm li>a:focus-visible .nm-name b{font-stretch:125%}
.nm li>a:hover .nm-go{opacity:1;transform:translateX(4px)}
.nm-plain .nm-name b{font-weight:600;font-size:clamp(1rem,.85rem + .45vw,1.3rem)}
.nm-plain .nm-rep{color:var(--ink-3)}
@media (max-width:820px){
  .nm-head{display:none}
  .nm li>a,.nm li>div{grid-template-columns:2.4rem minmax(0,1fr) auto;gap:4px 12px}
  .nm-st{grid-column:2;grid-row:2}.nm-per{grid-column:2;grid-row:3}.nm-go{display:none}
}

/* ---------- Notes générales ---------- */
.gn{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--rule-2);margin:0 var(--gut)}
.gn li{display:grid;grid-template-columns:3.4rem minmax(0,1fr);gap:8px;padding:22px 24px 26px 0;border-bottom:1px solid var(--rule)}
.gn li:nth-child(odd){border-right:1px solid var(--rule);padding-left:0}
.gn li:nth-child(even){padding-left:24px}
.gn-n{font-family:var(--f-osi);font-size:2.4rem;line-height:.9;color:var(--c0)}
.gn p{font-size:1.125rem;line-height:1.4;max-width:34rem}
.flow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:24px 48px;align-items:center;padding:clamp(32px,4vw,56px) var(--gut) 0}
.flow h3{font-family:var(--f-disp);font-weight:800;font-stretch:110%;font-size:1.6rem;line-height:1.05;margin-bottom:10px}
.flow-svg{width:100%;height:auto;overflow:visible}
.fl-b rect{fill:var(--paper);stroke:var(--ink);stroke-width:1.4}
.fl-b.hum rect{stroke-dasharray:6 4}
.fl-b text{font-family:var(--f-osi);font-size:17px;fill:var(--ink);text-anchor:middle;dominant-baseline:central}
.fl-l{stroke:var(--ink);stroke-width:1;fill:none;opacity:.5}
.fl-arw{fill:none;stroke:var(--ink);stroke-width:1.2}
.fl-run{fill:none;stroke:var(--c0);stroke-width:2.4;stroke-dasharray:.06 .94;animation:flrun 6s linear infinite}
.fl-c{font-family:var(--f-osi);font-size:15px;fill:var(--ink-2);text-anchor:middle}
@keyframes flrun{to{stroke-dashoffset:-1}}
@media (max-width:820px){.gn{grid-template-columns:1fr}.gn li:nth-child(odd){border-right:0}.gn li:nth-child(even){padding-left:0}.flow{grid-template-columns:1fr}}

/* ---------- Révisions ---------- */
.rv{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:0;margin:0 var(--gut);border:1.4px solid var(--ink)}
.rv-t thead th{font-family:var(--f-mono);font-size:.625rem;font-weight:400;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-2);text-align:left;padding:10px 14px;border-bottom:1.4px solid var(--ink)}
.rv-t tbody th{font-family:var(--f-osi);font-size:1.5rem;font-weight:400;width:3.4rem;text-align:center;vertical-align:top;padding:16px 8px;border-right:1px solid var(--rule)}
.rv-t td{padding:16px 14px;border-bottom:1px solid var(--rule);vertical-align:top}
.rv-t tr:last-child td,.rv-t tr:last-child th{border-bottom:0}
.rv-d{font-family:var(--f-osi);font-size:1rem;width:5rem;white-space:nowrap}
.rv-t td b{display:block;font-family:var(--f-disp);font-weight:750;font-size:1.3rem;line-height:1.1}
.rv-t td span{display:block;font-size:.9375rem;margin-top:2px}
.rv-t td em{display:block;font-style:normal;font-size:.875rem;color:var(--ink-2);margin-top:6px;max-width:34rem}
.rv-t tr[data-ctx] th{color:var(--accent-t)}
.map{position:relative;min-height:420px;border-left:1.4px solid var(--ink);overflow:hidden}
.map figcaption{position:absolute;left:12px;top:10px;z-index:2;font-family:var(--f-mono);font-size:.625rem;text-transform:uppercase;letter-spacing:.07em;background:var(--paper);padding:2px 6px;border:1px solid var(--ink)}
.map-svg{position:absolute;inset:0;display:block;width:100%;height:100%}
.map-hatch{stroke:var(--ink);stroke-width:1;opacity:.5}
.map-land{fill:url(#hatch-land)}
.map-coast{fill:none;stroke:var(--ink);stroke-width:1.2}
.map-arc{fill:none;stroke:var(--ink);stroke-width:2.5;stroke-dasharray:.008 .01;animation:arc 16s linear infinite}
@keyframes arc{to{stroke-dashoffset:-1}}
.map-pt.c0{fill:var(--c0)}.map-pt.c2{fill:var(--c2)}
.map-ring{fill:none;stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:ring 2.8s ease-out infinite}
.map-ring.c0{stroke:var(--c0)}.map-ring.c2{stroke:var(--c2)}
@keyframes ring{from{transform:scale(.4);opacity:1}to{transform:scale(1.5);opacity:0}}
.map-lab rect{fill:var(--paper);stroke:var(--ink);stroke-width:1.4}
.map-lab-in{transform-origin:0 0}
.map-city{font-family:var(--f-text);font-size:21px;font-weight:600;fill:var(--ink)}
.map-time{font-family:var(--f-osi);font-size:20px;fill:var(--ink)}
.terrains{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 var(--gut);border:1.4px solid var(--ink);border-top:0}
.terrains li{padding:18px 18px 22px;border-left:1px solid var(--rule)}
.terrains li:first-child{border-left:0}
.terrains h3{font-family:var(--f-mono);font-size:.6875rem;font-weight:400;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-2);margin-bottom:6px}
.terrains p{font-size:.9375rem}
@media (max-width:900px){.rv{grid-template-columns:1fr}.map{border-left:0;border-top:1.4px solid var(--ink);min-height:360px}.terrains{grid-template-columns:1fr}.terrains li{border-left:0;border-top:1px solid var(--rule)}.terrains li:first-child{border-top:0}}
@media (max-width:700px){.map-lab-in{transform:scale(1.7)}}

/* ---------- Contact ---------- */
.contact{border-top:1.4px solid var(--ink);padding:clamp(36px,5vw,72px) var(--gut) clamp(40px,6vw,90px)}
.contact-title{font-family:var(--f-disp);font-stretch:125%;font-weight:900;text-transform:uppercase;font-size:clamp(3rem,1rem + 9vw,11rem);line-height:.84;letter-spacing:-.015em}
.mail{display:inline-block;margin-top:clamp(18px,3vw,36px);font-family:var(--f-disp);font-weight:700;font-stretch:112%;font-size:clamp(1.4rem,.7rem + 3vw,3.6rem);line-height:1.05;text-decoration:none;background:linear-gradient(var(--c0),var(--c0)) 0 100%/100% 2px no-repeat;padding-bottom:4px;transition:background-size .5s var(--ease)}
.mail:hover{background-size:100% 100%;color:var(--paper)}
.routes{margin-top:clamp(28px,4vw,56px);border-top:1.4px solid var(--ink)}
.routes li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--rule);font-size:1.0625rem}
.routes a{font-weight:600;text-decoration:none}
.routes a:hover{text-decoration:underline;text-underline-offset:4px}

.ft{display:flex;justify-content:space-between;gap:24px;padding:22px var(--gut) 28px;border-top:1.4px solid var(--ink);font-family:var(--f-mono);font-size:.6875rem;line-height:1.6;color:var(--ink-2)}
.ft p:first-child{max-width:52rem}
.ft-r{display:flex;flex-direction:column;align-items:flex-end;gap:4px;white-space:nowrap}
@media (max-width:700px){.ft{flex-direction:column}.ft-r{align-items:flex-start}}

/* ---------- Planches ---------- */
.view-sheet #home{display:none}
.sheet{padding-bottom:0}
.sh-top{display:flex;align-items:center;gap:20px;padding:12px var(--gut);border-bottom:1px solid var(--rule-2);font-family:var(--f-mono);font-size:.75rem}
.sh-top a{text-decoration:none}
.sh-top a:hover{text-decoration:underline;text-underline-offset:3px}
.sh-pos{color:var(--ink-2)}
.sh-pn{margin-left:auto;display:flex;gap:18px}
.sh-head{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:28px clamp(24px,4vw,64px);padding:clamp(24px,4vw,56px) var(--gut) clamp(24px,3vw,40px);align-items:end}
.sh-code{display:flex;align-items:center;gap:12px;font-family:var(--f-osi);font-size:clamp(2rem,1.4rem + 2vw,3.4rem);line-height:1;margin-bottom:14px}
.sh-code .sw{width:14px;height:14px}
.sh-title{font-family:var(--f-disp);font-weight:850;font-stretch:112%;animation:stretchIn 1.2s var(--ease) both;font-size:clamp(2.4rem,1rem + 5.2vw,6.4rem);line-height:.92;letter-spacing:-.015em;max-width:15ch;outline:none}
.sh-lede{margin-top:clamp(16px,2vw,26px);font-size:clamp(1.0625rem,.95rem + .45vw,1.375rem);line-height:1.42;max-width:44rem}
.sh-statut{margin-top:14px;font-size:.9375rem;color:var(--ink-2);max-width:44rem}
.sh-statut b{color:var(--ink);font-weight:600}
.sh-head .cartouche{grid-template-columns:repeat(2,minmax(0,1fr))}
.sh-head .ct-cell:nth-child(odd){border-left:0}
.sh-head .ct-cell:nth-child(1),.sh-head .ct-cell:nth-child(2){border-top:0}
.sh-head .ct-cell dd{font-size:.875rem}
@media (max-width:900px){.sh-head{grid-template-columns:1fr}.sh-pn a:first-child{display:none}}

/* schéma : barre de scénarios, figure SVG, journal */
.bench{border-top:1.4px solid var(--ink);border-bottom:1.4px solid var(--ink)}
.bench-bar{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr) auto;gap:12px 24px;align-items:start;padding:14px var(--gut);border-bottom:1px solid var(--rule-2)}
.bench-title{font-family:var(--f-disp);font-weight:800;font-stretch:108%;font-size:1.25rem;line-height:1.1}
.bench-title span{display:block;font-family:var(--f-mono);font-weight:400;font-size:.625rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-2);margin-bottom:4px}
.sc-list{display:flex;flex-wrap:wrap;gap:4px 22px}
.sc-btn{display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;gap:8px;padding:5px 0;text-align:left;font-size:.875rem;border-bottom:1px solid transparent}
.sc-k{font-family:var(--f-osi);font-size:1rem}
.sc-kind{font-family:var(--f-mono);font-size:.625rem;text-transform:uppercase;letter-spacing:.06em}
.sc-kind.nominal{color:var(--ok)}.sc-kind.refus,.sc-kind.incident{color:var(--deny)}.sc-kind.limite{color:var(--hold)}
.sc-btn:hover .sc-l{text-decoration:underline;text-underline-offset:3px}
.sc-btn[aria-pressed="true"]{border-bottom-color:var(--ink)}
.sc-btn[aria-pressed="true"] .sc-l{font-weight:600}
.bench-ctl{display:flex;gap:18px;font-family:var(--f-mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;padding-top:6px}
.bench-ctl button{border-bottom:1px solid var(--ink);padding-bottom:2px}
.bench-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,22rem);align-items:stretch}
.schema{position:relative;min-width:0;border-right:1px solid var(--rule-2);padding:18px 0 0}
.sv-host{min-height:240px}
.sv-read{padding:12px var(--gut) 16px;font-size:.875rem;line-height:1.45;color:var(--ink-2);max-width:62rem}
.sv-read b{font-family:var(--f-mono);font-weight:400;font-size:.625rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink);margin-right:8px}
.bench-side{display:flex;flex-direction:column;min-width:0;max-height:min(640px,80vh)}
.j-h{padding:12px 16px 0;font-family:var(--f-mono);font-size:.625rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-2)}
.journal{flex:1;overflow:auto;padding:8px 16px 14px;font-family:var(--f-mono);font-size:.71875rem;line-height:1.55;scrollbar-width:thin}
.journal li{display:grid;grid-template-columns:3.4rem 4.4rem minmax(0,1fr);gap:8px;padding:5px 0;border-bottom:1px dashed var(--rule);animation:jIn .35s var(--ease) both}
.journal .j-t{color:var(--ink-3)}
.journal .j-s{text-transform:uppercase;letter-spacing:.04em;font-size:.625rem;padding-top:1px}
.journal .ok .j-s{color:var(--ok)}.journal .deny .j-s{color:var(--deny)}.journal .hold .j-s{color:var(--hold)}.journal .run .j-s,.journal .w .j-s{color:var(--ink-2)}
.journal .j-x{font-family:var(--f-text);font-size:.8125rem;line-height:1.4}
.journal .deny .j-x{font-weight:600}
@keyframes jIn{from{opacity:0;transform:translateY(4px)}}
.bench-note{padding:9px var(--gut);font-family:var(--f-mono);font-size:.625rem;color:var(--ink-2);border-top:1px solid var(--rule-2);text-transform:uppercase;letter-spacing:.05em}
@media (max-width:900px){
  .bench-bar{grid-template-columns:1fr}
  .bench-body{grid-template-columns:1fr}
  .schema{border-right:0;border-bottom:1px solid var(--rule-2)}
  .bench-side{max-height:none}
  .journal{max-height:320px}
}

/* vocabulaire SVG des schémas : traits, aplats, textes, animations */
.sv{display:block;width:100%;height:auto;overflow:visible;font-family:var(--f-osi);font-size:12.5px}
.sv-host{padding:0 max(0px,calc(var(--gut) - 16px));overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
.sv.wide{width:auto;max-width:none}
.sv-hint{display:none;margin:6px var(--gut) 0;font-family:var(--f-mono);font-size:.625rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}
.schema.is-wide .sv-hint{display:block}
.sv text{fill:var(--ink);dominant-baseline:central}
.sv .sm{font-size:.92em}.sv .big{font-size:1.5em}.sv .lbl{font-family:var(--f-text);font-weight:600;font-size:.95em}
.sv .tm{font-family:var(--f-mono);font-size:.74em;text-transform:uppercase;letter-spacing:.06em}
.sv .mo{font-family:var(--f-mono);font-size:.8em}
.sv .t2,.sv .lane{fill:var(--ink-2)}.sv .t3{fill:var(--ink-3)}
.sv .lane.on,.sv .tm.on{fill:var(--ink)}
.sv .tok{fill:var(--ok)}.sv .tdeny{fill:var(--deny)}.sv .thold{fill:var(--hold)}
.sv .ln{stroke:var(--ink);stroke-width:1;fill:none}
.sv .ln2{stroke:var(--ink-2);stroke-width:1;fill:none}
.sv .lr{stroke:var(--rule-2);stroke-width:1;fill:none}
.sv .lr1{stroke:var(--rule);stroke-width:1;fill:none}
.sv .lr0{stroke:none}
.sv .w15{stroke-width:1.5}.sv .w2{stroke-width:2}.sv .w3{stroke-width:3}
.sv .ok{stroke:var(--ok)}.sv .deny{stroke:var(--deny)}.sv .hold{stroke:var(--hold)}
.sv .dash{stroke-dasharray:4 3}.sv .dash2{stroke-dasharray:2 3}.sv .chain{stroke-dasharray:10 3 2 3}
.sv .pap{fill:var(--paper)}.sv .pap2{fill:var(--paper-2)}.sv .pap3{fill:var(--paper-3)}.sv .pap0{fill:var(--paper);stroke:none}
.sv .fnone{fill:none}.sv .fk{fill:var(--ink);stroke:none}.sv .fk2{fill:var(--paper-3)}
.sv .fok{fill:var(--ok)}.sv .fdeny{fill:var(--deny)}.sv .fhold{fill:var(--hold)}
.sv .fok2{fill:color-mix(in srgb,var(--ok) 22%,var(--paper))}
.sv .fscan{fill:color-mix(in srgb,var(--ok) 14%,transparent);stroke:none}
.sv .hpl{stroke:var(--ink);stroke-width:1;opacity:.55}.sv .hpd{stroke:var(--deny);opacity:.8}.sv .hpo{stroke:var(--hold);opacity:.85}
.sv .mk{stroke:var(--ink);stroke-width:1.2;fill:none}.sv .mko{stroke:var(--ok)}.sv .mkd{stroke:var(--deny)}.sv .mkh{stroke:var(--hold)}
.sv .cl{stroke:var(--ink-2);stroke-width:.9}
.sv .cote.deny .cl{stroke:var(--deny)}.sv .cote.hold .cl{stroke:var(--hold)}.sv .cote.ok .cl{stroke:var(--ok)}
.sv .tg .pap{stroke:none}
.sv .bn{font-size:.85em}
.sv .ph{stroke:var(--ink)}
.sv .stamp text{font-weight:600}
.sv .draw{stroke-dasharray:1;stroke-dashoffset:1;animation:svDraw .9s var(--ease) forwards}
.sv .fade{animation:vFade .5s ease both}
.sv .pop{transform-box:fill-box;transform-origin:center;animation:svPop .45s var(--ease) both}
.sv .wipe{animation:svWipe .6s var(--ease) both}
.sv .grow{transform-box:fill-box;transform-origin:bottom;animation:svGrow .6s var(--ease) both}
.sv .scanx{animation:svScan 1s ease both}
.sv .flow{stroke-dasharray:6 6;animation:svFlow .7s linear infinite}
.sv .blink{animation:blink .6s steps(2) 4}
.sv.still *{animation:none!important;transition:none!important}
.sv .tk,.sv rect{transition:fill .3s,stroke .3s}
.sv.still .draw{stroke-dashoffset:0}
@keyframes svDraw{to{stroke-dashoffset:0}}
@keyframes svPop{from{transform:scale(.4);opacity:0}}
@keyframes svWipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes svGrow{from{transform:scaleY(0)}}
@keyframes svScan{0%{clip-path:inset(0 100% 0 0);opacity:1}60%{clip-path:inset(0 0 0 0);opacity:1}100%{opacity:0}}
@keyframes svFlow{to{stroke-dashoffset:-12}}
@keyframes blink{50%{opacity:.35}}
@keyframes vFade{from{opacity:0}}
@media (max-width:600px){.sv{font-size:11px}}

/* grille de la planche */
.sh-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1.4px solid var(--ink)}
.sh-sec{padding:clamp(22px,3vw,40px) var(--gut) clamp(26px,3.4vw,44px);border-bottom:1px solid var(--rule-2)}
.sh-sec:nth-child(odd){border-right:1px solid var(--rule-2)}
.sh-sec h2{font-family:var(--f-mono);font-size:.6875rem;font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);margin-bottom:14px}
.sh-cotes{grid-column:1/-1;border-right:0!important}
.sh-cotes tr{border-top:1px solid var(--rule)}
.sh-cotes tr:first-child{border-top:0}
.sh-cotes th,.sh-cotes td{padding:14px 18px 14px 0;vertical-align:baseline;text-align:left}
.ct-v{font-family:var(--f-osi);font-weight:400;font-size:clamp(1.6rem,1.1rem + 1.8vw,2.9rem);line-height:1;white-space:nowrap;width:1%;padding-right:28px!important}
.sh-cotes td{font-size:1rem;max-width:40rem}
.ct-s{font-family:var(--f-mono);font-size:.625rem!important;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);white-space:nowrap;text-align:right!important;padding-right:0!important}
.ct-s.prod{color:var(--ok)}
.sh-revs th{font-family:var(--f-osi);font-weight:400;font-size:1.25rem;width:2.4rem;text-align:left;padding:9px 0;vertical-align:baseline}
.sh-revs td{padding:9px 0;vertical-align:baseline;border-bottom:1px solid var(--rule);font-size:.9375rem}
.sh-revs .rv-d{font-size:.9375rem;width:7.4rem}
.sh-nm li{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:2px 10px;padding:8px 0;border-bottom:1px solid var(--rule)}
.sh-nm .nm-i{font-family:var(--f-osi);color:var(--ink-2);grid-row:span 2}
.sh-nm b{font-weight:600;font-size:.9375rem}
.sh-nm span:last-child{font-size:.875rem;color:var(--ink-2)}
.sh-nm .is-red b{background:repeating-linear-gradient(-45deg,var(--ink) 0 1px,transparent 1px 4px);color:transparent;width:max-content;-webkit-user-select:none;user-select:none}
.sh-notes ol{counter-reset:n}
.sh-notes li{counter-increment:n;display:grid;grid-template-columns:2rem minmax(0,1fr);padding:8px 0;border-bottom:1px solid var(--rule);font-size:.9688rem;line-height:1.45}
.sh-notes li::before{content:counter(n);font-family:var(--f-osi);font-size:1.125rem;color:var(--accent-t)}
.sh-hatch p{font-size:.9375rem;margin-bottom:12px}
.sh-hatch li{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:12px;align-items:center;padding:7px 0;font-size:.9375rem}
.hz{display:block;height:16px;border:1px solid var(--ink)}
.sh-proves p{font-family:var(--f-disp);font-weight:750;font-stretch:105%;font-size:clamp(1.3rem,1rem + 1vw,1.9rem);line-height:1.15;max-width:30ch}
.sh-next{display:block;padding:clamp(28px,4vw,56px) var(--gut) clamp(36px,5vw,72px);text-decoration:none}
.sh-next span{display:block;font-family:var(--f-mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-2);margin-bottom:12px}
.sh-next b{display:block;font-family:var(--f-disp);font-weight:850;font-stretch:100%;font-size:clamp(2rem,1rem + 4.4vw,5.4rem);line-height:.95;letter-spacing:-.015em;transition:font-stretch .6s var(--ease)}
.sh-next:hover b{font-stretch:125%}
@media (max-width:820px){.sh-grid{grid-template-columns:1fr}.sh-sec:nth-child(odd){border-right:0}.sh-cotes tr{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:12px 0}.sh-cotes th,.sh-cotes td{padding:0}.sh-cotes td:nth-child(2){grid-column:1/-1;grid-row:2}.ct-s{grid-row:1;grid-column:2}}

@keyframes stretchIn{from{font-stretch:75%;letter-spacing:.02em;opacity:0}to{font-stretch:112%;opacity:1}}
.sh-code span{display:inline-block;animation:vFade .6s ease both .15s}

/* ---------- Transitions de vue ---------- */
::view-transition-old(root){animation:vtOut .32s ease both}
::view-transition-new(root){animation:vtIn .7s var(--ease) both}
@keyframes vtOut{to{opacity:0}}
@keyframes vtIn{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important}
  .cover-pin{height:auto}
  .stage{position:relative;top:0;height:calc(100svh - var(--hd))}
  .cover-static{display:block;position:relative;height:min(78vh,720px);margin:0;border-top:1.4px solid var(--ink)}
  .cover-static canvas{position:absolute;inset:0;width:100%;height:100%}
  .cover-static .tl-notes{--na:1}
  .cover-hint{display:none}
  .visual{--rv:1}
}

/* ---------- v7.1 : surtitres, clients, planches ---------- */
.sec-k{font-family:var(--f-mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);margin-bottom:-6px}
.cl-head,.cl li{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr) minmax(0,1.3fr) 6rem;gap:6px 24px;align-items:baseline;padding:0 var(--gut)}
.cl-head{font-family:var(--f-mono);font-size:.625rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-2);padding-bottom:8px;border-bottom:1.4px solid var(--ink)}
.cl li{padding-top:16px;padding-bottom:16px;border-bottom:1px solid var(--rule)}
.cl-n b{display:block;font-family:var(--f-disp);font-weight:750;font-size:clamp(1.05rem,.9rem + .5vw,1.4rem);line-height:1.1}
.cl-n span{display:block;margin-top:4px;font-size:.875rem;color:var(--ink-2)}
.cl-s{font-family:var(--f-mono);font-size:.6875rem;line-height:1.55}
.cl-l{font-size:.9688rem;line-height:1.45}
.cl-p{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.cl-p a{font-family:var(--f-osi);font-size:1.0625rem;text-decoration:none;border-bottom:1px solid var(--ink)}
.cl-p a:hover{color:var(--c0);border-color:var(--c0)}
@media (max-width:900px){.cl-head{display:none}.cl li{grid-template-columns:1fr auto}.cl-n{grid-column:1/-1}.cl-s{grid-column:1}.cl-p{grid-column:2;grid-row:2}.cl-l{grid-column:1/-1}}

.js .sheet:not(.is-open){display:none}
.sh-share{font-family:var(--f-mono);font-size:.75rem;border-bottom:1px solid var(--ink);padding-bottom:1px}
.sh-head .ct-w{grid-column:span 2;border-left:0}
.sh-head .cartouche{align-self:start}

/* analyse */
.an{border-bottom:1.4px solid var(--ink);padding:clamp(28px,4vw,56px) var(--gut) clamp(24px,3vw,44px)}
.an-k{font-family:var(--f-mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2)}
.an-t{font-family:var(--f-disp);font-weight:850;font-stretch:110%;font-size:clamp(1.7rem,1rem + 2.6vw,3.4rem);line-height:.98;letter-spacing:-.012em;margin-top:6px;max-width:22ch}
.an-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,4vw,64px);margin-top:clamp(20px,3vw,36px);border-top:1px solid var(--rule-2)}
.an-b{padding:18px 0 22px;border-bottom:1px solid var(--rule)}
.an-b h3{font-family:var(--f-mono);font-size:.6875rem;font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);margin-bottom:10px}
.an-pb p{font-size:1.0625rem;line-height:1.5;max-width:40rem}
.an-pb p+p{margin-top:10px}
.an-dec{grid-row:span 2}
.dec li{padding:12px 0;border-top:1px solid var(--rule);display:grid;gap:5px}
.dec li:first-child{border-top:0;padding-top:0}
.dec p{display:grid;grid-template-columns:5.6rem minmax(0,1fr);gap:10px;font-size:.9375rem;line-height:1.45}
.dec p span{font-family:var(--f-mono);font-size:.625rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);padding-top:3px}
.dec .dec-r{font-weight:600;font-size:1rem}
.dec .dec-x{color:var(--ink-2)}
.dec .dec-x span{color:var(--deny)}
.an-res p{font-family:var(--f-disp);font-weight:700;font-size:1.25rem;line-height:1.25}
.brk li{display:grid;grid-template-columns:6.4rem minmax(0,1fr);gap:12px;padding:8px 0;border-top:1px dashed var(--rule);font-size:.9375rem;line-height:1.45}
.brk li:first-child{border-top:0;padding-top:0}
.brk-d{font-family:var(--f-osi);font-size:.9375rem;color:var(--deny)}
.lim li{position:relative;padding:6px 0 6px 22px;font-size:.9375rem;line-height:1.45}
.lim li::before{content:"";position:absolute;left:0;top:.72em;width:12px;height:8px;border:1px solid var(--ink);background:repeating-linear-gradient(-45deg,var(--ink) 0 1px,transparent 1px 3.4px)}
.an-terr{grid-column:1/-1}
.an-terr table{font-size:.9375rem}
.an-terr th,.an-terr td{text-align:left;vertical-align:baseline;padding:9px 18px 9px 0;border-top:1px solid var(--rule)}
.an-terr thead th{font-family:var(--f-mono);font-size:.625rem;font-weight:400;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-2);border-top:0;padding-top:0}
.an-terr tbody th{font-weight:600;width:28%}
.an-terr .tr-s{font-family:var(--f-mono);font-size:.6875rem;width:24%}
@media (max-width:900px){.an-grid{grid-template-columns:1fr}.an-dec{grid-row:auto}.an-terr thead{display:none}.an-terr tr{display:grid;gap:2px;padding:10px 0;border-top:1px solid var(--rule)}.an-terr th,.an-terr td{border:0;padding:0;width:auto!important}}
@media (max-width:520px){.dec p{grid-template-columns:1fr;gap:2px}.brk li{grid-template-columns:1fr;gap:2px}}

.sh-sec h2 span{display:block;margin-top:3px;text-transform:none;letter-spacing:0;font-family:var(--f-text);font-size:.8125rem;color:var(--ink-3)}
.sh-full{grid-column:1/-1;border-right:0!important}
.sh-src .src-list li{display:grid;gap:2px;padding:6px 0;border-bottom:1px solid var(--rule);font-size:.9375rem}
.sh-src .src-list b{font-weight:600}
.ct-s.decl{color:var(--hold)}
.sh-nm .is-red b{background:none;color:inherit;width:auto;-webkit-user-select:auto;user-select:auto}
