/* #660 Lot 4 — accueil public « B · Plano » (D-214). Feuille propre à cette page : ni design system, ni jetons partagés.
   Polices SIL OFL 1.1 auto-hébergées (src/web-fonts/), même origine ; chaque fichier variable déclaré une fois, par plage de graisses. Par défaut = état final ; le mouvement n'est qu'un enrichissement. */
@font-face{font-family:"Fragment Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/inicio/fuentes/FragmentMono-Regular-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Fragment Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/inicio/fuentes/FragmentMono-Regular-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Funnel Display";font-style:normal;font-weight:500 700;font-display:swap;src:url("/inicio/fuentes/FunnelDisplay-Variable-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Funnel Display";font-style:normal;font-weight:500 700;font-display:swap;src:url("/inicio/fuentes/FunnelDisplay-Variable-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Funnel Sans";font-style:normal;font-weight:400 600;font-display:swap;src:url("/inicio/fuentes/FunnelSans-Variable-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Funnel Sans";font-style:normal;font-weight:400 600;font-display:swap;src:url("/inicio/fuentes/FunnelSans-Variable-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{--noche:oklch(0.215 0.055 258);--tinta:oklch(0.29 0.075 258);--tinta-80:oklch(0.40 0.05 258);--tinta-60:oklch(0.50 0.035 258);--arena:oklch(0.955 0.016 72);--arena-2:oklch(0.932 0.022 68);--papel:oklch(0.993 0.004 85);--on:oklch(0.955 0.012 80);--on-2:oklch(0.80 0.025 250);--rule:oklch(0.29 0.075 258 / .13);--rule-2:oklch(0.29 0.075 258 / .28);--rule-on:oklch(0.955 0.012 80 / .18);--caqui:oklch(0.68 0.165 41);--caqui-ink:oklch(0.50 0.15 38);--caqui-t:oklch(0.87 0.07 50);--azafran:oklch(0.82 0.13 82);--azafran-t:oklch(0.91 0.075 86);--celeste:oklch(0.80 0.06 235);--celeste-t:oklch(0.92 0.03 235);--d:"Funnel Display",system-ui,sans-serif;--t:"Funnel Sans",system-ui,sans-serif;--m:"Fragment Mono",ui-monospace,Menlo,monospace;--mg:64px;--st:200px;--gt:56px;--ease:cubic-bezier(.2,0,0,1)}
*{box-sizing:border-box}html{background:var(--arena);color:var(--tinta);scroll-behavior:smooth;scroll-padding-top:16px}
body{margin:0;font:400 17px/1.6 var(--t);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-kerning:normal}
p,li,h1,h2,h3,h4{text-wrap:pretty}h1,h2,h3{text-wrap:balance}
a{color:inherit;text-decoration:underline;text-decoration-color:var(--caqui);text-decoration-thickness:1.5px;text-underline-offset:4px;transition:text-decoration-thickness .12s var(--ease)}a:hover{text-decoration-thickness:3px}
:focus-visible{outline:3px solid var(--caqui);outline-offset:3px;border-radius:1px}
.skip{position:absolute;left:16px;top:-120px;z-index:9;background:var(--caqui);color:var(--noche);padding:12px 16px;font-weight:600}.skip:focus{top:16px}
.lbl{font:500 12px/1.4 var(--m);letter-spacing:.08em;text-transform:uppercase}
.px{width:40px;height:40px;flex:none;color:var(--tinta);--pxa:var(--caqui-ink);overflow:visible}
.fr{width:min(1312px,calc(100% - 2*var(--mg)));margin-inline:auto}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* header */
.hd{background:var(--noche);color:var(--on)}
.hd .fr{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:72px;border-bottom:1px solid var(--rule-on)}
.id{display:flex;align-items:center;gap:14px;text-decoration:none;line-height:1.2;font-size:15px;white-space:nowrap}.id b{font-weight:600}.id span{color:var(--on-2)}
.mk{position:relative;width:22px;height:22px;flex:none}.mk::before,.mk::after{content:"";position:absolute;width:15px;height:15px;border:1.5px solid currentColor}.mk::before{left:0;top:0}.mk::after{left:7px;top:7px;border-color:var(--caqui)}
.hd nav{display:flex;align-items:center}
.hd nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0 13px;font-size:14.5px;text-decoration:none;white-space:nowrap;color:var(--on-2);transition:color .16s var(--ease)}
.hd nav a::before{content:"";position:absolute;left:13px;top:50%;width:5px;height:5px;margin-top:-2.5px;background:var(--caqui);opacity:0;transform:translateX(-10px);transition:transform .2s var(--ease),opacity .2s var(--ease)}
.hd nav a:hover,.hd nav a:focus-visible{color:var(--on)}.hd nav a:hover::before,.hd nav a:focus-visible::before{opacity:1;transform:translateX(-11px)}
.hd nav a.dr{margin-left:12px;color:var(--on);border:1px solid var(--rule-on)}.hd nav a.dr::before{display:none}.hd nav a.dr:hover{border-color:var(--on)}
/* hero */
.hero{position:relative;background:var(--noche);color:var(--on);padding:56px 0 40px;overflow:hidden}
.hg{display:grid;grid-template-columns:minmax(0,4.6fr) minmax(0,7.4fr);gap:56px;align-items:start}
.lock{position:relative;padding-top:6px}
.lock h1{margin:0;font-family:var(--d);letter-spacing:-.035em}
.lock h1 .l1{display:block;font-weight:600;font-size:58px;line-height:.98}
.lock h1 .l2{display:block;margin-top:10px;font-weight:500;font-size:30px;line-height:1.1;letter-spacing:-.02em;color:var(--on-2)}
.lock .rxm{position:absolute;left:-36px;top:14px;width:24px;height:24px;color:var(--on-2);--pxa:var(--caqui)}
.stm{margin:36px 0 0;padding-top:20px;border-top:1px solid var(--rule-on);font:500 25px/1.22 var(--d);letter-spacing:-.015em;color:var(--on);max-width:15em}
.sub{margin:14px 0 0;font-size:16.5px;line-height:1.6;color:var(--on-2);max-width:27em}
.key{list-style:none;margin:40px 0 0;padding:16px 0 0;border-top:1px solid var(--rule-on);display:grid;grid-template-columns:1fr 1fr;gap:9px 20px;font:500 11.5px/1.35 var(--m);letter-spacing:.04em;color:var(--on-2)}
.key li{display:flex;gap:10px;align-items:center}.key li::before{content:"";width:10px;height:10px;flex:none}
.key .c::before{background:var(--celeste)}.key .s::before{border:1.5px solid var(--caqui)}.key .f::before{background:var(--papel)}.key .r::before{background:var(--azafran)}.key .a::before{border:1.5px dashed var(--on-2)}
/* the chapter line: enters each chapter from above, ends in a registration mark */
.ch{position:relative;padding:112px 0 104px}
.ch,.xr,body{background:var(--arena)}
.ch::before{content:"";position:absolute;top:0;height:calc(var(--pt,112px) + 4px);width:1.5px;left:calc(max(var(--mg),(100% - 1312px)/2) + 11px);background:var(--caqui);transform-origin:top}
.hero::after{content:"";position:absolute;bottom:0;height:40px;width:1.5px;left:calc(max(var(--mg),(100% - 1312px)/2) + 11px);background:var(--caqui)}
.cg{display:grid;grid-template-columns:var(--st) minmax(0,1fr);column-gap:var(--gt)}
.mark{display:flex;flex-direction:column;gap:10px}
.mark .rx{width:24px;height:24px;color:var(--tinta);--pxa:var(--caqui-ink)}
.mark .n{font:500 12px var(--m);color:var(--tinta-60);letter-spacing:.06em}.mark .lbl{color:var(--caqui-ink)}
.ch h2{margin:0;font:600 50px/1.02 var(--d);letter-spacing:-.032em;max-width:16em}
.lead{margin:22px 0 0;max-width:34em;font-size:19px;line-height:1.55;color:var(--tinta-80)}
/* 01 · rail */
.rail{position:relative;margin-top:72px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 64px minmax(0,1fr)}
.rail::before{content:"";position:absolute;left:0;top:0;height:1.5px;width:calc(80% - 51px);background:var(--tinta)}
.rail .fill{position:absolute;left:0;top:-.5px;height:2.5px;width:calc(80% - 51px);background:var(--caqui);transform-origin:left;z-index:1}
.st{position:relative;padding:36px 32px 0 0;--pxk:0}
.st::before{content:"";position:absolute;left:-1px;top:-7px;width:13px;height:13px;border:1.5px solid var(--tinta);background:var(--arena);z-index:2}
.st .n{font:500 12px var(--m);color:var(--tinta-60)}
.st .px{display:block;margin-top:20px}
.st h3{margin:18px 0 8px;font:600 23px/1.18 var(--d);letter-spacing:-.012em}
.st p{margin:0;font-size:16px;color:var(--tinta-80)}
.who{display:flex;align-items:center;gap:9px;margin-top:18px;font:500 11.5px var(--m);letter-spacing:.04em;color:var(--tinta)}.who::before{content:"";width:10px;height:10px;flex:none}.who.c::before{background:var(--celeste)}.who.s::before{border:1.5px solid var(--caqui-ink)}
.gap{position:relative}.gap::before{content:"";position:absolute;left:50%;top:-40px;bottom:-8px;border-left:1.5px dashed var(--tinta-60)}
.gap span{position:absolute;left:calc(50% + 10px);top:-34px;white-space:nowrap;font:500 11px var(--m);letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-60)}
.st.off::before{border-style:dashed;border-color:var(--tinta-60);background:transparent}.st.off::after{content:"";position:absolute;left:12px;right:0;top:0;border-top:1.5px dashed var(--tinta-60)}.st.off .px{color:var(--tinta-60)}
.tag{display:inline-flex;align-items:center;gap:9px;margin-top:18px;font:500 11.5px var(--m);letter-spacing:.04em}.tag::before{content:"";width:9px;height:9px;border:1.5px dashed var(--tinta);flex:none}
/* orientación: four branches hanging off the plan line */
.xr{position:relative;padding:8px 0 112px}
.xr-in{display:grid;grid-template-columns:var(--st) minmax(0,4fr) minmax(0,8fr);column-gap:var(--gt);align-items:start}
.xr h2{margin:0;font:600 28px/1.15 var(--d);letter-spacing:-.02em;max-width:10em}
.xr .k{margin:12px 0 0;font-size:15.5px;color:var(--tinta-80);max-width:21em}
.routes{position:relative;list-style:none;margin:0;padding:0}
.routes::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1.5px;background:var(--tinta)}
.routes a{--pxk:1;position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto 40px;gap:24px;align-items:center;min-height:80px;padding:14px 0 14px 56px;text-decoration:none}
.routes a::before{content:"";position:absolute;left:0;top:50%;width:28px;height:1.5px;background:var(--tinta);transform-origin:left;transition:transform .22s var(--ease),background .22s var(--ease)}
.routes li+li a{border-top:1px solid var(--rule)}
.routes .q{font:500 22px/1.25 var(--d);letter-spacing:-.012em}
.routes .to{display:flex;align-items:center;gap:12px;font:500 11.5px var(--m);letter-spacing:.07em;text-transform:uppercase;color:var(--tinta-60);white-space:nowrap;transition:color .2s var(--ease)}
.routes .to::before{content:"";width:40px;height:0;border-top:1.5px dotted currentColor;transition:width .22s var(--ease)}
.routes a:hover,.routes a:focus-visible{--pxk:0}.routes a:hover::before,.routes a:focus-visible::before{transform:scaleX(1.6);background:var(--caqui-ink)}.routes a:hover .to,.routes a:focus-visible .to{color:var(--caqui-ink)}.routes a:hover .to::before,.routes a:focus-visible .to::before{width:56px;border-top-style:solid}
.routes a:focus-visible{outline-offset:-3px}
/* 02 · the sheet: the hero's document, enlarged and annotated */
.sheet{position:relative;background:var(--papel);padding:112px 0 0;box-shadow:0 -1px 0 var(--rule-2),0 1px 0 var(--rule-2)}
.sheet::before{background:var(--caqui)}
.crop{position:absolute;width:28px;height:28px;border:0 solid var(--tinta);pointer-events:none}
.crop.tl{left:calc(max(var(--mg),(100% - 1312px)/2) - 18px);top:28px;border-left-width:1.5px;border-top-width:1.5px}
.crop.tr{right:calc(max(var(--mg),(100% - 1312px)/2) - 18px);top:28px;border-right-width:1.5px;border-top-width:1.5px}
.dc{display:grid;grid-template-columns:var(--st) minmax(0,1fr);column-gap:var(--gt);margin-top:64px}
.dc-in{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;align-items:start}
.facts h3,.notes h3{margin:0 0 4px;padding-bottom:12px;border-bottom:1.5px solid var(--tinta);font:500 11.5px var(--m);letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-60)}
.facts ul,.notes ol{list-style:none;margin:0;padding:0}
.facts li{position:relative;display:grid;grid-template-columns:1fr 72px;gap:12px;align-items:center;min-height:46px;border-bottom:1px solid var(--rule);font-size:16px}
.facts li i{height:9px;background:var(--celeste)}
.facts li::after{content:"";position:absolute;left:100%;width:48px;top:50%;height:1px;background:linear-gradient(90deg,var(--tinta-60) 0 2px,transparent 2px) 0 0/5px 100% repeat-x}
.from{display:flex;gap:10px;align-items:center;margin:16px 0 0;font:500 11.5px var(--m);letter-spacing:.04em}.from::before{content:"";width:10px;height:10px;background:var(--celeste)}
.pgw{position:relative}
.pg{position:relative;aspect-ratio:210/297;background:#fff;box-shadow:0 0 0 1px var(--rule-2),0 30px 50px -34px oklch(0.23 0.06 258 / .55);z-index:1}
.pgw::before,.pgw::after{content:"";position:absolute;inset:0;background:var(--azafran-t);box-shadow:0 0 0 1px var(--rule-2)}.pgw::before{transform:translate(10px,10px)}.pgw::after{transform:translate(20px,20px);opacity:.7}
.pg i{position:absolute;display:block;background:var(--tinta);height:1px}
.pg .qr{left:39.5%;top:5.5%;width:21%;aspect-ratio:1;height:auto;background:repeating-linear-gradient(-45deg,var(--tinta) 0 1px,transparent 1px 3.5px);outline:1.5px solid var(--tinta)}
.pg .qa{left:37%;top:2.8%;width:26%;opacity:.45;height:3px}.pg .qb{left:40%;top:22%;width:20%;opacity:.45;height:3px}
.pg .br{left:34%;top:25.5%;width:32%;height:3.2%;background:repeating-linear-gradient(-45deg,oklch(0.29 0.075 258 / .3) 0 1px,transparent 1px 4px);outline:1px dashed var(--tinta-60)}
.pg .tt{left:26%;top:31.5%;width:48%;height:4px}
.pg .dax{left:50%;top:35.5%;width:1.5px;height:8%;background:var(--caqui)}
.pg .a1{left:8%;top:38.5%;width:30%;height:3px;background:var(--celeste)}.pg .a2{left:57%;top:38.5%;width:33%;height:3px;background:var(--celeste)}
.pg .a3{left:8%;top:42%;width:24%;opacity:.45}.pg .a4{left:57%;top:42%;width:27%;opacity:.45}
.pg .th{left:8%;top:50%;width:84%;height:2px}.pg .l1{left:8%;top:56%;width:84%;height:2px;background:var(--celeste)}.pg .l2{left:8%;top:61%;width:84%;height:2px;background:var(--celeste)}.pg .l3{left:8%;top:66%;width:84%;opacity:.28}
.pg .tr{left:56%;top:73%;width:36%;height:2px}.pg .to{left:67%;top:77%;width:25%;height:5px;background:var(--celeste)}
.pg .cn{position:absolute;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--tinta);color:var(--papel);font:600 11.5px var(--m)}
.pg .cn.r{background:var(--azafran);color:var(--tinta);box-shadow:0 0 0 1.5px var(--tinta)}
.dax-out{position:absolute;left:50%;top:100%;width:1.5px;height:calc(100% + 400px);background:var(--caqui);opacity:0}
.notes li{display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--rule);font-size:15.5px;line-height:1.5}
.notes li b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--tinta);color:var(--papel);font:600 11.5px var(--m);transform:translateY(-1px)}
.notes li.rc b{background:var(--azafran);color:var(--tinta);box-shadow:0 0 0 1.5px var(--tinta)}
.legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:16px;font:500 11.5px var(--m);letter-spacing:.04em;color:var(--tinta-80)}.legend span{white-space:nowrap;display:inline-flex;gap:8px;align-items:center}.legend span::before{content:"";width:16px;height:3px;background:var(--celeste)}.legend span+span::before{background:var(--tinta)}
/* family: silhouettes on one baseline, the unsupported case outside a dashed boundary */
.fam{position:relative;margin-top:96px;display:grid;grid-template-columns:var(--st) minmax(0,1fr);column-gap:var(--gt);padding-bottom:104px}
.fam-in{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 1px minmax(0,1fr);column-gap:40px;align-items:end;border-bottom:1.5px solid var(--tinta)}
.fam-in>div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;align-items:end;padding-bottom:22px}
.fam .div{align-self:stretch;border-left:1.5px dashed var(--tinta-60);margin-bottom:-1.5px}
.mini{position:relative;width:64px;aspect-ratio:210/297;background:#fff;box-shadow:0 0 0 1.5px var(--tinta),4px 4px 0 0 var(--azafran-t),4px 4px 0 1.5px oklch(0.29 0.075 258 / .25)}
.mini::before{content:"";position:absolute;left:39%;top:7%;width:22%;aspect-ratio:1;background:repeating-linear-gradient(-45deg,var(--tinta) 0 1px,transparent 1px 2.5px)}
.mini::after{content:"";position:absolute;left:22%;right:22%;top:34%;height:2px;background:var(--tinta);box-shadow:0 9px 0 -.5px var(--rule-2),0 15px 0 -.5px var(--rule-2),0 21px 0 -.5px var(--rule-2),0 27px 0 -.5px var(--rule-2)}
.mini.f1::after{box-shadow:-7px 9px 0 -.5px var(--rule-2),7px 9px 0 -.5px var(--rule-2),0 15px 0 -.5px var(--rule-2),0 21px 0 -.5px var(--rule-2),0 27px 0 -.5px var(--rule-2)}
.mini.r5::after{background:var(--caqui-ink)}
.mini.no{background:transparent;box-shadow:none;outline:1.5px dashed var(--tinta-60)}.mini.no::before,.mini.no::after{display:none}
.fam b{display:block;font:600 18px/1.22 var(--d);letter-spacing:-.01em}.fam .c{display:block;margin-top:4px;font:500 11.5px var(--m);color:var(--tinta-60)}.fam p{margin:6px 0 0;font-size:14.5px;line-height:1.45;color:var(--tinta-80)}
.fam .out b{color:var(--tinta-80)}
.fam b,.fam .c,.fam p{overflow-wrap:anywhere}
/* 03 · scope: two sides of the axis */
.ledger{position:relative;margin-top:64px;display:grid;grid-template-columns:minmax(0,1fr) 88px minmax(0,1fr);grid-template-rows:repeat(5,auto)}
.ledger::before{content:"";position:absolute;left:50%;top:-64px;bottom:0;width:1.5px;margin-left:-.75px;background:var(--caqui);transform-origin:top}
.ledger ul{list-style:none;margin:0;padding:0;display:grid;grid-row:1/span 5;grid-template-rows:subgrid}
.ledger .y{grid-column:1;text-align:right}.ledger .n{grid-column:3}
.ledger li{position:relative;padding:18px 0;border-bottom:1px solid var(--rule);font:400 20px/1.42 var(--t)}
.ledger li.h{padding:0 0 14px;border-bottom:1.5px solid var(--tinta);font:500 12px var(--m);letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-60);align-self:end}
.ledger li:not(.h)::after{content:"";position:absolute;top:28px;width:9px;height:9px}
.ledger .y li::after{right:-49px;background:var(--tinta)}.ledger .n li::after{left:-49px;width:7px;height:7px;border:1.5px solid var(--tinta);transform:rotate(45deg)}
.ledger .y li.fut::after{background:var(--arena);border:1.5px dashed var(--tinta);width:7px;height:7px}
.ledger li small{display:block;margin-top:3px;font-size:15px;color:var(--tinta-60)}
/* 04 · roles (warmer field) */
.roles-ch{background:var(--arena-2)}.roles-ch .st::before,.roles-ch .px{background:transparent}
.roles{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px;margin-top:64px;padding-top:30px;border-top:1.5px solid var(--tinta)}
.role .v{display:block;font:500 11.5px var(--m);letter-spacing:.08em;text-transform:uppercase;color:var(--caqui-ink)}
.role b{display:block;margin:10px 0 10px;font:600 28px/1.12 var(--d);letter-spacing:-.02em}.role p{margin:0;font-size:16px;color:var(--tinta-80);max-width:22em}
.role .px{display:block;margin-bottom:18px}
.role.fp{position:relative}.role.fp::before{content:"";position:absolute;left:-14px;right:-14px;top:-31px;height:2.5px;background:var(--caqui)}
.auth{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:72px;margin-top:88px;align-items:start}
.cmp{position:relative;background:var(--papel);box-shadow:0 0 0 1.5px var(--tinta),0 26px 44px -34px oklch(0.23 0.06 258 / .5);max-width:440px}
.cmp::before{content:"";position:absolute;inset:0;transform:translate(12px,12px);box-shadow:0 0 0 1px var(--rule-2);z-index:-1}
.cmp .cb{display:flex;align-items:center;gap:12px;height:58px;padding:0 20px;background:repeating-linear-gradient(-45deg,oklch(0.29 0.075 258 / .16) 0 1.2px,transparent 1.2px 5px);border-bottom:1px solid var(--tinta);font:500 11px var(--m);letter-spacing:.06em;text-transform:uppercase;color:var(--tinta-80)}
.cmp .cb i{width:30px;height:30px;border:1.5px dashed var(--tinta);background:var(--papel)}
.cmp .bd{padding:22px 20px 0}.cmp .bar{height:8px;background:var(--rule-2);margin:0 0 11px}.cmp .bar.s{width:62%}.cmp .bar.t{width:40%;background:var(--rule)}
.cmp .btn{margin:20px 0 0;height:44px;width:54%;background:var(--tinta)}
.cmp .att{position:relative;margin:24px 20px 0;padding:14px 0 20px;border-top:1px solid var(--rule-2);font:600 14.5px/1.4 var(--t)}
.cmp .att span{background:linear-gradient(var(--caqui-t),var(--caqui-t)) no-repeat 0 88%/100% 36%}
.cmp .stamp{position:absolute;right:-14px;bottom:-14px;width:28px;height:28px;border-right:1.5px solid var(--caqui-ink);border-bottom:1.5px solid var(--caqui-ink)}
.cap{margin-top:26px;font:400 12px var(--m);color:var(--tinta-60)}
.auth h3{margin:0 0 20px;font:600 30px/1.14 var(--d);letter-spacing:-.02em;max-width:15em}
.qa{border-top:1.5px solid var(--tinta)}.qa>div{display:grid;grid-template-columns:minmax(0,12em) 1fr;gap:28px;padding:19px 0;border-bottom:1px solid var(--rule)}
.qa h4{margin:0;font:600 18px/1.3 var(--d)}.qa p{margin:0;color:var(--tinta-80)}
.inv{margin-top:32px;display:grid;grid-template-columns:40px 1fr;gap:18px;align-items:start}.inv p{margin:0;font-size:16px;color:var(--tinta-80)}.inv b{display:block;color:var(--tinta);font:600 18px var(--d);margin-bottom:4px}
/* 05 · integrators (structural field) */
.dark{background:var(--noche);color:var(--on)}
.dark .mark .rx,.dark .px{color:var(--on);--pxa:var(--caqui)}.dark .mark .n{color:var(--on-2)}.dark .mark .lbl{color:var(--caqui)}.dark .lead{color:var(--on-2)}
.int{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:72px;margin-top:64px;align-items:start}
.int ul{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--on)}
.int li{display:grid;grid-template-columns:40px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid var(--rule-on);color:var(--on-2)}.int li b{display:block;color:var(--on);font:600 19px/1.3 var(--d);margin-bottom:4px}
.ctr{position:relative;border:1.5px solid oklch(0.955 0.012 80 / .3);padding:0}
.ctr::before{content:"";position:absolute;inset:0;transform:translate(12px,12px);border:1px solid oklch(0.955 0.012 80 / .14);pointer-events:none}
.ctr .hd2{white-space:nowrap;display:flex;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--rule-on);font:500 11px var(--m);letter-spacing:.08em;text-transform:uppercase;color:var(--on-2)}
.ctr dl{margin:0;padding:6px 20px 12px}.ctr dl div{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px dotted oklch(0.955 0.012 80 / .22)}.ctr dl div:last-child{border-bottom:0}
.ctr dt{font:500 13px/1.45 var(--m);color:var(--on);overflow-wrap:anywhere}.ctr dt em{font-style:normal;color:var(--caqui)}.ctr dd{margin:0;font-size:14.5px;color:var(--on-2)}
.ctr .ft2{padding:12px 20px;border-top:1px solid var(--rule-on);font:400 12px var(--m);color:var(--on-2)}
/* 06 · public information: deliberate slowing down */
.quiet{background:var(--arena)}
.decl{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:56px;align-items:center;margin-top:8px;padding:44px 0;border-top:1.5px solid var(--tinta);border-bottom:1px solid var(--rule-2)}
.blank{position:relative;width:96px;aspect-ratio:210/297;background:var(--papel);box-shadow:0 0 0 1px var(--rule-2)}
.blank::before,.blank::after{content:"";position:absolute;width:14px;height:14px;border:0 solid var(--tinta)}.blank::before{left:-8px;top:-8px;border-left-width:1.5px;border-top-width:1.5px}.blank::after{right:-8px;bottom:-8px;border-right-width:1.5px;border-bottom-width:1.5px}
.decl h2{font-size:38px}.decl p{margin:12px 0 0;font-size:17.5px;color:var(--tinta-80);max-width:32em}
.go{position:relative;display:inline-flex;align-items:center;gap:16px;min-height:52px;padding:0 4px 0 0;font:600 17px var(--t);text-decoration:none;white-space:nowrap}
.go::after{content:"";width:44px;height:1.5px;background:var(--tinta);transition:width .22s var(--ease),background .22s var(--ease)}
.go:hover::after,.go:focus-visible::after{width:64px;background:var(--caqui-ink)}
/* motion M-02…M-08 — scroll-driven, progressive enhancement; default = final */
@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){
.ch::before{animation:m-y linear both;animation-timeline:view();animation-range:entry 0% entry 55%}
.mark .rx{animation:m-k linear both;animation-timeline:view();animation-range:entry 55% entry 100%}
.rail .fill{animation:m-x linear both;animation-timeline:view();animation-range:entry 40% cover 45%}
.rail .st{animation:m-k linear both;animation-timeline:view();animation-range:entry 70% cover 40%}
.crop{animation:m-crop linear both;animation-timeline:view();animation-range:entry 0% entry 80%}.crop.tr{--cx:1}
.pg>*{animation:m-in linear both;animation-timeline:--pg;animation-range:entry 20% cover 40%}
.pgw{view-timeline-name:--pg}
.pg .qr{animation-range:entry 20% entry 55%}.pg .br,.pg .qa,.pg .qb{animation-range:entry 35% entry 70%}.pg .tt,.pg .dax{animation-range:entry 50% entry 85%}.pg .a1,.pg .a2,.pg .a3,.pg .a4{animation-range:entry 65% entry 100%}.pg .th,.pg .l1,.pg .l2,.pg .l3{animation-range:entry 80% cover 25%}.pg .tr,.pg .to{animation-range:entry 95% cover 35%}.pg .cn{animation-range:cover 30% cover 45%}
.pgw::before{animation:m-r1 linear both;animation-timeline:--pg;animation-range:cover 30% cover 50%}.pgw::after{animation:m-r2 linear both;animation-timeline:--pg;animation-range:cover 35% cover 55%}
.ledger::before{animation:m-y linear both;animation-timeline:view();animation-range:entry 0% cover 50%}
.cmp .att span{animation:m-hl linear both;animation-timeline:view();animation-range:entry 50% cover 40%}
.cmp .stamp{animation:m-st linear both;animation-timeline:view();animation-range:entry 70% cover 45%}
}}
@keyframes m-y{from{transform:scaleY(0)}}@keyframes m-x{from{transform:scaleX(0)}}
@keyframes m-k{from{--pxk:1}to{--pxk:0}}
@keyframes m-crop{from{transform:translate(calc(var(--cx,-1)*14px),-14px);opacity:0}}
@keyframes m-in{from{opacity:0;transform:translateY(6px)}}
@keyframes m-r1{from{transform:translate(26px,26px);opacity:0}}@keyframes m-r2{from{transform:translate(44px,44px);opacity:0}}
@keyframes m-hl{from{background-size:0% 36%}}
@keyframes m-st{from{transform:translate(8px,8px);opacity:0}}
@media (max-width:1100px){
.hd .fr{flex-direction:column;align-items:stretch;gap:0;min-height:0;border:0;width:100%}
.id{padding:16px var(--mg) 12px}.hd nav{overflow-x:auto;scrollbar-width:none;padding:0 calc(var(--mg) - 13px) 6px;border-bottom:1px solid var(--rule-on)}.hd nav a{font-size:14px}
.hg{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px}.lock h1 .l1{font-size:46px}.lock h1 .l2{font-size:25px}
}
@media (max-width:999px){
:root{--mg:20px}body{font-size:16.5px}
.id{align-items:flex-start;font-size:14px;white-space:normal}.id>span:last-child{display:flex;flex-direction:column}
.hero{padding:32px 0 36px}.hg{grid-template-columns:1fr;gap:36px}
.lock .rxm{display:none}.lock h1 .l1{font-size:39px;line-height:1}.lock h1 .l2{font-size:22px;margin-top:8px}
.stm{margin-top:26px;padding-top:16px;font-size:21px}.sub{font-size:16px}.key{display:none}
.hero::after,.ch::before{left:20px}
.ch{padding:72px 0 64px;--pt:72px}.cg,.dc,.fam,.xr-in{grid-template-columns:1fr;row-gap:20px}
.mark{flex-direction:row;align-items:center;gap:12px;margin-left:-12px}
.ch h2{font-size:32px;letter-spacing:-.026em}.lead{font-size:17px;margin-top:14px}
.rail{grid-template-columns:1fr;margin-top:40px;padding-left:28px}
.rail::before{left:0;top:0;bottom:120px;width:1.5px;height:auto}.rail .fill{left:-.5px;top:0;width:2.5px;height:calc(100% - 120px);transform-origin:top}
.st{padding:0 0 40px}.st::before{left:-34px;top:2px}.st .px{margin-top:12px;width:36px;height:36px}.st h3{margin-top:12px;font-size:21px}
.gap{height:28px}.gap::before{left:-28px;top:-40px;bottom:0;border-left-width:1.5px}.gap span{left:0;top:0}
/* Écart déclaré (#706) : en composition mobile, le raîl et son remplissage s'arrêtent au « Tramo aparte » ; l'étape 04 (remise) n'est jamais remplie. */
.gap{z-index:2;margin-left:-28.75px;padding-left:28.75px;background:var(--arena)}.gap::before{left:0;top:0}.gap span{left:28.75px}.st.off{z-index:2;background:var(--arena)}
.st.off::after{display:none}.st.off{border-left:1.5px dashed var(--tinta-60);margin-left:-28.75px;padding-left:28px}.st.off::before{left:-6.5px}
.xr{padding:0 0 72px}.xr-in .mark{display:none}.xr h2{font-size:24px}
.routes a{grid-template-columns:minmax(0,1fr) 36px;gap:6px 14px;min-height:76px;padding-left:40px}.routes a::before{width:20px}.routes .q{font-size:19px}.routes .to{grid-row:2;grid-column:1;font-size:11px}.routes .to::before{width:20px}.routes .px{grid-row:1/span 2;grid-column:2;width:34px;height:34px}
.sheet{padding-top:72px}.crop{display:none}
.dc{margin-top:36px}.dc-in{grid-template-columns:1fr;gap:36px}.facts li::after{display:none}.pgw{width:calc(100% - 40px);max-width:280px;margin:0 20px 20px 0}
.fam{margin-top:64px;padding-bottom:64px}.fam .mark{margin-left:0}.fam-in{grid-template-columns:1fr;border-bottom:0}.fam-in>div{padding:16px 0;border-bottom:1px solid var(--rule);grid-template-columns:52px minmax(0,1fr)}.mini{width:52px}.fam .div{display:none}.fam .out{border-top:1.5px dashed var(--tinta-60);margin-top:12px;border-bottom:0}
.ledger{display:block;margin-top:40px;padding-left:28px}.ledger::before{left:0;margin-left:0;top:0}.ledger ul{display:block}.ledger .y{text-align:left}.ledger .n{margin-top:32px}
.ledger li{font-size:17.5px;padding:15px 0}.ledger li:not(.h)::after{top:23px}.ledger .y li::after,.ledger .n li::after{right:auto;left:-32px}.ledger .n li::after{left:-31px}
.roles{grid-template-columns:1fr;row-gap:32px;margin-top:40px}.role.fp::before{top:-16px;left:0;right:0}.role b{font-size:24px}
.auth{grid-template-columns:1fr;gap:40px;margin-top:56px}.auth h3{font-size:24px}.cmp{max-width:none;margin-right:12px}
.qa>div{grid-template-columns:1fr;gap:4px;padding:16px 0}
.int{grid-template-columns:1fr;gap:44px;margin-top:40px}.ctr dl div{grid-template-columns:1fr;gap:4px}.ctr{margin-right:12px}
.decl{grid-template-columns:1fr;gap:22px;padding:32px 0}.blank{width:60px}.decl h2{font-size:28px}
}@property --pxk{syntax:'<number>';inherits:true;initial-value:0}
.stage{position:relative;container-type:inline-size;width:100%;margin:0;background:var(--noche)}
.stage-in{position:relative;width:100cqw;height:90cqw}
.g{position:absolute;left:calc(var(--x)*1cqw);top:calc(var(--y)*1cqw);width:calc(var(--w)*1cqw);height:calc(var(--h)*1cqw)}
.mo{font:500 max(10.5px,1.2cqw)/1.35 var(--m);letter-spacing:.06em;text-transform:uppercase}
.sm{font:400 max(12.5px,1.45cqw)/1.4 var(--t)}
/* zone: client (outside the field) */
.cli-t{--x:0;--y:4.4;--w:14;--h:4;color:var(--celeste);display:flex;gap:.8cqw}
.cli-t::before{content:"";width:max(8px,.9cqw);height:max(8px,.9cqw);margin-top:.2cqw;background:var(--celeste);flex:none}
.fl{--x:0;--w:13;--h:2;color:var(--on-2);text-transform:none;letter-spacing:.02em;white-space:nowrap}
.pie{--x:0;--w:11;--h:1.1;background:var(--celeste)}
.lk{--x:12.5;--w:29.5;--h:0;height:1px;background:linear-gradient(90deg,oklch(0.80 0.025 250 / .55) 0 2px,transparent 2px) 0 0/5px 100% repeat-x;transform-origin:left}
.k0{--y:14}.k1{--y:21}.k2{--y:28}.k3{--y:35}.k4{--y:42}
.pie.k0{--y:16.2}.pie.k1{--y:23.2}.pie.k2{--y:30.2}.pie.k3{--y:37.2}.pie.k4{--y:44.2}
.lk.k0{--y:16.75}.lk.k1{--y:23.75}.lk.k2{--y:30.75}.lk.k3{--y:37.75}.lk.k4{--y:44.75}
/* zone: the service = a registered field with crop marks */
.fld{--x:15;--y:3;--w:84;--h:63;background:oklch(1 0 0 / .028)}
.cm{position:absolute;width:2.4cqw;height:2.4cqw;border:0 solid var(--caqui)}
.cm.tl{left:-1.2cqw;top:-1.2cqw;border-left-width:1.5px;border-top-width:1.5px;--cx:-1;--cy:-1}
.cm.tr{right:-1.2cqw;top:-1.2cqw;border-right-width:1.5px;border-top-width:1.5px;--cx:1;--cy:-1}
.cm.bl{left:-1.2cqw;bottom:-1.2cqw;border-left-width:1.5px;border-bottom-width:1.5px;--cx:-1;--cy:1}
.cm.br{right:-1.2cqw;bottom:-1.2cqw;border-right-width:1.5px;border-bottom-width:1.5px;--cx:1;--cy:1}
.fld-t{--x:17;--y:4.6;--w:40;--h:2;color:var(--caqui)}
.ax{--x:57;--y:1;--w:0;--h:63.5;width:1.5px;background:var(--caqui);transform-origin:top}
.ax2{--x:57;--y:65.2;--w:0;--h:4.6;width:1.5px;background:linear-gradient(180deg,var(--on-2) 0 4px,transparent 4px) 0 0/100% 8px repeat-y;transform-origin:top}
/* registro: earlier records, offset sheets that come into register behind the invoice */
.rs{--x:42;--y:10;--w:30;--h:42.4;background:var(--azafran-t);box-shadow:0 0 0 1px oklch(0.23 0.06 258 / .55)}
.rs1{transform:translate(1.6cqw,1.6cqw)}.rs2{transform:translate(3.2cqw,3.2cqw);opacity:.75}
/* the invoice (A2 vocabulary: QR centred at top, centred title, axial pairs, table rules, total right) */
.doc{--x:42;--y:10;--w:30;--h:42.4;background:var(--papel);box-shadow:0 1.6cqw 2.6cqw -1.4cqw oklch(0.10 0.03 258 / .7)}
.doc i{position:absolute;display:block;background:var(--tinta);height:max(1px,.12cqw)}
.doc .qr{left:39%;top:5.5%;width:22%;aspect-ratio:1;height:auto;background:repeating-linear-gradient(-45deg,var(--tinta) 0 1px,transparent 1px 3px);outline:1px solid var(--tinta)}
.doc .qa{left:37%;top:2.6%;width:26%;opacity:.45}.doc .qb{left:40%;top:21.5%;width:20%;opacity:.45}
.doc .br{left:34%;top:24.5%;width:32%;height:3%;background:repeating-linear-gradient(-45deg,oklch(0.29 0.075 258 / .35) 0 1px,transparent 1px 3px);outline:1px dashed oklch(0.29 0.075 258 / .4)}
.doc .tt{left:27%;top:30.5%;width:46%;height:max(2px,.28cqw)}
.doc .dax{left:50%;top:35%;width:max(1px,.1cqw);height:9%;background:var(--caqui)}
.doc .a3{left:9%;top:41.5%;width:28%;opacity:.45}.doc .a4{left:57%;top:41.5%;width:24%;opacity:.45}
.doc .th{left:9%;top:50%;width:82%;height:max(1.5px,.2cqw)}.doc .l3{left:9%;top:68%;width:82%;opacity:.28}
.doc .tr{left:55%;top:76%;width:36%;height:max(1.5px,.2cqw)}
.tv{background:var(--tinta);height:max(1.5px,.32cqw);transform-origin:left center}
.tv.k0{--x:44.7;--y:26.1;--w:6;--dx:-44.7;--dy:-9.9;--sx:1.833}
.tv.k1{--x:59.1;--y:26.1;--w:9;--dx:-59.1;--dy:-2.9;--sx:1.222}
.tv.k2{--x:44.7;--y:33.5;--w:24.6;--dx:-44.7;--dy:-3.3;--sx:.447;opacity:.55}
.tv.k3{--x:44.7;--y:36.1;--w:24.6;--dx:-44.7;--dy:1.1;--sx:.447;opacity:.55}
.tv.k4{--x:62.1;--y:43.9;--w:7.2;--dx:-62.1;--dy:.3;--sx:1.528;height:max(2.5px,.5cqw)}
/* labels inside the field */
.fac-t{--x:76;--y:10;--w:22;--h:8}
.fac-t b,.aeat-t b{display:block;font:600 max(16px,2cqw)/1.1 var(--d);letter-spacing:-.01em;color:var(--on)}.fac-t span{display:block;margin-top:.5cqw;color:var(--on-2)}
.cal{--x:72.8;--y:23.4;--w:2.6;--h:0;height:1px;background:var(--on-2);transform-origin:left}
.cal-t{--x:76;--y:22.3;--w:22;--h:3;color:var(--on-2)}
.rec-t{--x:77;--y:49.4;--w:21;--h:8;color:var(--on-2)}
.rec-t b{display:flex;gap:.7cqw;align-items:center;font:500 max(10.5px,1.2cqw)/1.3 var(--m);letter-spacing:.06em;text-transform:uppercase;color:var(--azafran)}
.rec-t b::before{content:"";width:max(8px,.9cqw);height:max(8px,.9cqw);background:var(--azafran);flex:none}
.rec-t span{display:block;margin-top:.4cqw}
.rcl{--x:75.6;--y:54.2;--w:1.2;--h:0;height:1px;background:var(--on-2)}
/* the remittance boundary: outside the field, dashed, nothing crosses it */
.bnd{--x:15;--y:71;--w:84;--h:0;height:1.5px;background:linear-gradient(90deg,var(--on-2) 0 6px,transparent 6px) 0 0/12px 100% repeat-x}
.aeat-t{--x:59;--y:73.4;--w:40;--h:12;color:var(--on-2)}
.aeat-t span{display:block;margin-top:.4cqw}
.aeat-t em{display:flex;gap:.8cqw;align-items:center;margin-top:.9cqw;font-style:normal;color:var(--on)}
.aeat-t em::before{content:"";width:max(9px,.9cqw);height:max(9px,.9cqw);border:1.5px dashed var(--on);flex:none}
/* M-01 · load, once, 0 → 2,5 s */
@keyframes h-in{from{opacity:0}}
@keyframes h-up{from{opacity:0;transform:translateY(.8cqw)}}
@keyframes h-cm{from{transform:translate(calc(var(--cx)*1.4cqw),calc(var(--cy)*1.4cqw));opacity:0}}
@keyframes h-y{from{transform:scaleY(0)}}
@keyframes h-x{from{transform:scaleX(0)}}
@keyframes h-open{from{clip-path:inset(0 50% 0 50%)}to{clip-path:inset(0 0 0 0)}}
@keyframes h-tv{0%{transform:translate(calc(var(--dx)*1cqw),calc(var(--dy)*1cqw)) scaleX(var(--sx));background:var(--celeste)}70%{background:var(--celeste)}100%{transform:none;background:var(--tinta)}}
@keyframes h-reg1{from{transform:translate(3.6cqw,3.6cqw);opacity:0}}
@keyframes h-reg2{from{transform:translate(6.4cqw,6.4cqw);opacity:0}}
@keyframes h-dash{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@media (prefers-reduced-motion:no-preference){
.stage .cli-t{animation:h-in .3s both}
.stage .fl,.stage .pie{animation:h-up .32s cubic-bezier(.2,0,0,1) both}
.stage .k0{animation-delay:.05s}.stage .k1{animation-delay:.1s}.stage .k2{animation-delay:.15s}.stage .k3{animation-delay:.2s}.stage .k4{animation-delay:.25s}
.stage .cm{animation:h-cm .36s .1s cubic-bezier(.2,0,0,1) both}
.stage .fld,.stage .fld-t{animation:h-in .4s .1s both}
.stage .ax{animation:h-y .55s .2s cubic-bezier(.2,0,0,1) both}
.stage .lk{animation:h-x .4s cubic-bezier(.2,0,0,1) both}.stage .lk.k0{animation-delay:.45s}.stage .lk.k1{animation-delay:.49s}.stage .lk.k2{animation-delay:.53s}.stage .lk.k3{animation-delay:.57s}.stage .lk.k4{animation-delay:.61s}
.stage .doc{animation:h-open .45s .7s cubic-bezier(.2,0,0,1) both}
.stage .doc i{animation:h-in .3s .95s both}.stage .doc .qr{animation-delay:.9s}.stage .doc .dax{animation-delay:1.25s}
.stage .tv{animation:h-tv .6s cubic-bezier(.2,0,0,1) both}.stage .tv.k0{animation-delay:.75s}.stage .tv.k1{animation-delay:.82s}.stage .tv.k2{animation-delay:.89s}.stage .tv.k3{animation-delay:.96s}.stage .tv.k4{animation-delay:1.03s}
.stage .fac-t{animation:h-in .3s 1.15s both}.stage .cal{animation:h-x .2s 1.3s both}.stage .cal-t{animation:h-in .3s 1.35s both}
.stage .rs1{animation:h-reg1 .42s 1.45s cubic-bezier(.2,0,0,1) both}.stage .rs2{animation:h-reg2 .42s 1.52s cubic-bezier(.2,0,0,1) both}
.stage .rcl,.stage .rec-t{animation:h-in .3s 1.75s both}
.stage .ax2{animation:h-y .25s 1.9s cubic-bezier(.4,0,.2,1) both}
.stage .bnd{animation:h-dash .4s 2.02s cubic-bezier(.4,0,.2,1) both}
.stage .aeat-t{animation:h-in .3s 2.2s both}
}
/* narrow: the same story recomposed for reading top-to-bottom */
@media (max-width:999px){
.stage{max-width:520px}
}
/* Plan vertical dès que la scène est trop étroite pour le plan horizontal — téléphone, mais aussi bureau de 1000 à ~1200 px,
   où la colonne du schéma tombe sous 620 px : les légendes s'y chevauchaient et débordaient (#931, E40). */
@container (max-width:619px){
.stage-in{height:143cqw}
.mo{font-size:clamp(10.5px,2.9cqw,12.5px)}.sm{font-size:clamp(13px,3.6cqw,15px)}
.cli-t{--x:0;--y:.5;--w:44;--h:6}.cli-t::before{width:9px;height:9px;margin-top:3px}
.fld-t{--x:51;--y:.5;--w:49;--h:6}
.fl{--x:0;--w:40;--h:3.4}.pie{--x:0;--w:36;--h:2.2}
.k0{--y:12}.k1{--y:22}.k2{--y:32}.k3{--y:42}.k4{--y:52}
.pie.k0{--y:16.6}.pie.k1{--y:26.6}.pie.k2{--y:36.6}.pie.k3{--y:46.6}.pie.k4{--y:56.6}
.lk{--x:37.5;--w:13.5}.lk.k0{--y:17.7}.lk.k1{--y:27.7}.lk.k2{--y:37.7}.lk.k3{--y:47.7}.lk.k4{--y:57.7}
.fld{--x:47;--y:7.5;--w:53;--h:96}.cm{width:4cqw;height:4cqw}.cm.tl,.cm.bl{left:-2cqw}.cm.tr,.cm.br{right:-2cqw}.cm.tl,.cm.tr{top:-2cqw}.cm.bl,.cm.br{bottom:-2cqw}
.ax{--x:73;--y:9;--w:0;--h:93}.ax2{--x:73;--y:104.6;--h:6}
.rs,.doc{--x:51;--y:12;--w:44;--h:62.2}.rs1{transform:translate(2cqw,2cqw)}.rs2{transform:translate(4cqw,4cqw)}
.tv{height:max(1.5px,.6cqw)}
.tv.k0{--x:55;--y:35.6;--w:8.8;--dx:-55;--dy:-19;--sx:4.09}
.tv.k1{--x:76.1;--y:35.6;--w:13.2;--dx:-76.1;--dy:-9;--sx:2.727}
.tv.k2{--x:55;--y:46.5;--w:36;--dx:-55;--dy:-9.9;--sx:1}
.tv.k3{--x:55;--y:50.3;--w:36;--dx:-55;--dy:-3.7;--sx:1}
.tv.k4{--x:80.5;--y:61.8;--w:10.6;--dx:-80.5;--dy:-5.2;--sx:3.396;height:max(2.5px,1cqw)}
.fac-t{--x:0;--y:66;--w:44;--h:14}.fac-t b,.aeat-t b{font-size:clamp(16px,4.6cqw,19px)}.fac-t span{margin-top:1cqw}
.cal,.cal-t,.rcl{display:none}
.rec-t{--x:0;--y:84;--w:44;--h:14}.rec-t b{gap:2cqw}.rec-t b::before{width:9px;height:9px}.rec-t span{margin-top:1cqw}
.bnd{--x:0;--y:113;--w:100}
.aeat-t{--x:0;--y:116.5;--w:100;--h:20}.aeat-t span{margin-top:1cqw}.aeat-t em{gap:2.4cqw;margin-top:2cqw}
.stage .rs1{animation-name:h-reg1v}.stage .rs2{animation-name:h-reg2v}
}
/* Scène la plus étroite (téléphone de 320 px) : légendes plus hautes, la scène s'allonge pour les contenir. */
@container (max-width:319px){
.stage-in{height:165cqw}
.rec-t{--y:103}.ax2{--h:18.4}.bnd{--y:123}.aeat-t{--y:126.5}
}
@keyframes h-reg1v{from{transform:translate(6cqw,6cqw);opacity:0}}@keyframes h-reg2v{from{transform:translate(10cqw,10cqw);opacity:0}}
/* Pointillés orthogonaux (guides, axe pointillé, frontière de remise) : motif EN TUILE, mêmes longueurs que le prototype ; un
   `repeating-linear-gradient` d'1 à 1,5 px d'épaisseur ne se rastérise que par points épars sous Firefox. */
/* Ex-styles en ligne du prototype, déplacés ici : la CSP de la page n'admet aucun style en ligne. */
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.pa{stroke:var(--pxa,#d0663a);transition:transform .2s cubic-bezier(.2,0,0,1)}
.pa-app{transform:translateY(calc(var(--pxk,0)*-3px));transition-duration:.22s}
.pa-datos{transform:translateX(calc(var(--pxk,0)*-7px));transition-duration:.24s}
.pa-servicio{transform:translate(calc(var(--pxk,0)*-4px),calc(var(--pxk,0)*-4px))}
.pa-doc{transform-box:fill-box;transform-origin:center;transform:scale(calc(1 + var(--pxk,0)*.45))}
.pa-registro{transform:translate(calc(8px + var(--pxk,0)*-8px),calc(14px + var(--pxk,0)*-14px));transition-duration:.26s}
.pa-autorizacion{transform:translate(calc(var(--pxk,0)*4px),calc(var(--pxk,0)*4px))}
.pa-declaracion{transform-box:fill-box;transform-origin:left;transform:scaleX(calc(1 - var(--pxk,0)*.6));transition-duration:.24s}
.pa-integracion{transform:translateX(calc(var(--pxk,0)*5px));transition-duration:.22s}
.pa-rx{transform:translate(calc(var(--pxk,0)*4px),calc(var(--pxk,0)*4px));transition-duration:.3s}
.pg .c1{left:-12px;top:30%}.pg .c2{right:-12px;top:37%}.pg .c3{left:-12px;top:57%}.pg .c4{right:-12px;top:5.5%}.pg .c5{right:-12px;top:24.5%}.pg .cr{right:-12px;bottom:-12px}
.lbl.muted{color:var(--tinta-60)}
/* #660 Lot 4 bis — cabecera A · Colofón, pie B · Registro (R-01 : marque de registro, aucun monogramme ; R-02 : index natif <details>, aucun JavaScript).
   Seules les règles de l'état CURRENT ; les positions FUTURE n’existent que dans les gabarits dormants (hors de src/). */
.hdA{position:relative}
.hdA .fr{gap:40px}
.hdA .id{gap:14px;min-height:44px}
.hdA .idt{display:flex;flex-direction:column;gap:3px;line-height:1.15}
.hdA .idt b{font:600 16px/1.15 var(--d);letter-spacing:-.008em;color:var(--on)}
.hdA .idt span{font-size:13.5px;color:var(--on-2)}
.hdA .mk{width:26px;height:26px}.hdA .mk::before,.hdA .mk::after{width:18px;height:18px}.hdA .mk::after{left:8px;top:8px}
.hdA .mn{display:none}
.hdA nav.dsk .sep{width:1px;height:24px;margin:0 4px 0 16px;background:var(--rule-on)}
.hdA nav.dsk a.acc{color:var(--on);font-weight:500}
.hdA nav.dsk a.acc::before{display:none}
.hdA nav.dsk a[aria-current]{color:var(--on);text-decoration:underline;text-decoration-color:var(--caqui);text-underline-offset:6px}
span.id{cursor:default}
/* Sélecteur de langue ES · EN · FR · CA (#757) : de vrais liens ; l'état actif se lit au trait ET à la graisse, jamais à la couleur seule. */
.hdA .lb .fr{min-height:44px;justify-content:flex-end;gap:0;border-bottom:1px solid var(--rule-on)}
.hdA .lb nav.lang{gap:2px}
.hdA .lb nav.lang a{min-height:44px;min-width:44px;justify-content:center;padding:0 10px;font:500 12.5px var(--m);letter-spacing:.08em}
.hdA .lb nav.lang a::before{display:none}
.hdA .lb nav.lang a[aria-current]{color:var(--on);font-weight:700;text-decoration:underline;text-decoration-color:var(--caqui);text-decoration-thickness:2px;text-underline-offset:7px}
.hdA .lg{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.hdA .lg a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;min-width:56px;padding:0 14px;border:1px solid var(--rule-on);color:var(--on-2);font:500 14px var(--m);letter-spacing:.06em;text-decoration:none}
.hdA .lg a::before{display:none}
.hdA .lg a:hover{border-color:var(--on);color:var(--on)}
.hdA .lg a[aria-current]{color:var(--on);border-color:var(--on);font-weight:700;text-decoration:underline;text-decoration-color:var(--caqui);text-decoration-thickness:2px;text-underline-offset:6px}
@media (max-width:1080px){.hdA .lb{display:none}}
.ficha dd .dcl{display:block;margin-top:2px;font-size:13.5px;line-height:1.4;color:var(--tinta-60)}
@media (max-width:1340px){.hdA .fr{gap:24px}.hdA nav.dsk a{padding:0 9px;font-size:14px}.hdA nav.dsk a::before{left:9px}.hdA nav.dsk a.dr{margin-left:8px}.hdA nav.dsk .sep{margin:0 2px 0 8px}}
@media (max-width:1240px){.hdA .fr{gap:16px}.hdA nav.dsk a{padding:0 6px;font-size:13.5px}.hdA nav.dsk a::before{left:6px}.hdA nav.dsk a.dr{margin-left:4px}.hdA nav.dsk .sep{margin:0 0 0 4px}.hdA .idt span{font-size:13px}}
@media (max-width:1100px){.hdA .fr{flex-direction:row;align-items:center;width:min(1312px,calc(100% - 2*var(--mg)));min-height:72px;border-bottom:1px solid var(--rule-on)}.hdA .id{padding:0}.hdA nav.dsk{overflow:visible;padding:0;border:0}}
@media (max-width:1080px){
.hdA nav.dsk{display:none}
.hdA .fr{padding-right:112px}
.hdA .mn{display:block}
.hdA .mn summary{position:absolute;top:14px;right:var(--mg);list-style:none;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 4px 0 12px;color:var(--on);font:500 15px var(--t);cursor:pointer}
.hdA .mn summary::-webkit-details-marker{display:none}
.hdA .mn summary::after{content:"";width:8px;height:8px;border-right:1.5px solid var(--caqui);border-bottom:1.5px solid var(--caqui);transform:translateY(-3px) rotate(45deg);transition:transform .16s var(--ease)}
.hdA .mn[open] summary::after{transform:translateY(2px) rotate(-135deg)}
.hdA .mn summary:hover{text-decoration:underline;text-decoration-color:var(--caqui);text-underline-offset:5px}
.hdA .mn nav{display:block;overflow:visible;width:min(1312px,calc(100% - 2*var(--mg)));margin-inline:auto;padding:8px 0 26px;border:0}
.hdA .mn ol{list-style:none;margin:0 0 0 6px;padding:0;border-left:1.5px solid var(--caqui)}
.hdA .mn li a{position:relative;display:flex;align-items:baseline;gap:14px;min-height:52px;padding:14px 0 12px 24px;border-bottom:1px solid var(--rule-on);color:var(--on);font:500 18px/1.3 var(--d);white-space:normal;text-decoration:none}
.hdA .mn li a::before{content:"";position:absolute;left:-7.5px;top:50%;width:13px;height:13px;margin-top:-6.5px;border:1.5px solid var(--on-2);background:var(--noche);opacity:1;transform:none;transition:background .16s var(--ease),border-color .16s var(--ease)}
.hdA .mn li a:hover::before,.hdA .mn li a:focus-visible::before{background:var(--caqui);border-color:var(--caqui);transform:none}
.hdA .mn li a:focus-visible{outline-offset:-3px}
.hdA .mn li .n{min-width:1.8em;font:500 11.5px var(--m);letter-spacing:.04em;color:var(--on-2)}
.hdA .mn .ex{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.hdA .mn .ex a{display:inline-flex;align-items:center;min-height:48px;padding:0 16px;border:1px solid var(--rule-on);color:var(--on);font:600 15.5px var(--t);white-space:nowrap;text-decoration:none}
.hdA .mn .ex a::before{display:none}.hdA .mn .ex a:hover{border-color:var(--on)}
}
@media (max-width:999px){.hdA .fr{min-height:68px;padding-right:100px;gap:16px}.hdA .mn summary{top:12px}.hdA .id{align-items:center}.hdA .idt b{font-size:15px}.hdA .idt span{font-size:13px}}
@media (max-width:360px){.hdA .mk{width:20px;height:20px}.hdA .mk::before,.hdA .mk::after{width:14px;height:14px}.hdA .mk::after{left:6px;top:6px}.hdA .id{gap:10px}.hdA .idt b{font-size:14px}.hdA .idt span{font-size:12px}.hdA .fr{padding-right:88px}.hdA .mn summary{gap:7px;padding-left:8px;font-size:14px}}
.pie{position:relative;background:var(--arena-2);border-top:1.5px solid var(--tinta);padding:96px 0 0}
.pie::before{content:"";position:absolute;top:0;height:96px;width:1.5px;left:calc(max(var(--mg),(100% - 1312px)/2) + 11px);background:var(--caqui)}
.pie-g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:72px;align-items:start;isolation:isolate}
.ficha{position:relative;background:var(--papel);box-shadow:0 0 0 1.5px var(--tinta),0 26px 44px -34px oklch(0.23 0.06 258 / .5);padding:24px 30px 8px}
.ficha::before{content:"";position:absolute;inset:0;transform:translate(12px,12px);box-shadow:0 0 0 1px var(--rule-2);z-index:-1}
.ficha .k{margin:0;color:var(--caqui-ink)}
.fh{display:flex;align-items:center;gap:18px;margin:16px 0 4px;padding-bottom:20px;border-bottom:1.5px solid var(--tinta)}
.fh .mk{color:var(--tinta);width:34px;height:34px}.fh .mk::before,.fh .mk::after{width:24px;height:24px}.fh .mk::after{left:10px;top:10px;border-color:var(--caqui-ink)}
.fh h2{margin:0;font:600 25px/1.15 var(--d);letter-spacing:-.016em}
.ficha dl{margin:0}
.ficha dl>div{display:grid;grid-template-columns:8.6em minmax(0,1fr);gap:16px;padding:13px 0;border-bottom:1px solid var(--rule)}
.ficha dl>div:last-child{border-bottom:0}
.ficha dt{font-size:14px;font-weight:500;color:var(--tinta-60);padding-top:1px}
.ficha dd{margin:0;font-size:15.5px;line-height:1.5;overflow-wrap:anywhere}
.dirs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}
.dirs h2{margin:0 0 14px;color:var(--caqui-ink)}
.dirs ol,.dirs ul{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--tinta)}
.dirs ol a{display:flex;gap:12px;align-items:baseline;min-height:47px;padding:12px 0 10px;border-bottom:1px solid var(--rule);text-decoration:none;font-size:15.5px;line-height:1.3}
.dirs .n{font:500 11.5px var(--m);color:var(--tinta-60);min-width:1.8em}
.dirs ol a:hover,.dirs ol a:focus-visible{color:var(--caqui-ink)}
.dirs a:focus-visible{outline-offset:-3px}
.rgl li{display:flex;flex-direction:column;justify-content:center;gap:0;min-height:60px;padding:6px 0;border-bottom:1px solid var(--rule)}
.rgl a{display:flex;align-items:center;min-height:44px;font-size:15.5px;font-weight:500}
.rgl .s{margin-top:-6px;font-size:13.5px;line-height:1.4;color:var(--tinta-60)}
.pie-b{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;margin-top:80px;padding:10px 0 20px;border-top:1px solid var(--rule-2)}
.pie-b p{margin:0;font-size:14.5px;color:var(--tinta-80)}
.up{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:15px;text-decoration:none;color:var(--tinta-80)}
.up::before{content:"";width:8px;height:8px;border-left:1.5px solid var(--caqui-ink);border-top:1.5px solid var(--caqui-ink);transform:rotate(45deg) translateY(2px)}
.up:hover{color:var(--tinta)}
@media (max-width:999px){
.pie{padding:56px 0 0}.pie::before{left:20px;height:56px}
.pie-g{grid-template-columns:1fr;gap:52px}.ficha{padding:20px 20px 6px;margin-right:12px}
.fh{gap:14px}.fh .mk{width:28px;height:28px}.fh .mk::before,.fh .mk::after{width:20px;height:20px}.fh .mk::after{left:8px;top:8px}.fh h2{font-size:21px}
.ficha dl>div{grid-template-columns:1fr;gap:2px;padding:12px 0}.ficha dt{font-size:13px}
.dirs{grid-template-columns:1fr;gap:40px}
.pie-b{display:grid;justify-items:start;justify-content:stretch;gap:2px;margin-top:56px;padding-top:14px}.pie-b p{max-width:none;width:100%}.pie-b .up{white-space:nowrap}
}
/* Pie B complet (#752, D-229) : lien externe de la ficha et destinations « Próximamente » sans lien (texte atténué, jamais un lien). */
.rgl .pend{display:flex;align-items:center;min-height:44px;font-size:15.5px;font-weight:500;color:var(--tinta-60)}
.ficha .more{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;margin-top:0;border-top:1px solid var(--rule);font:600 16px var(--t);text-decoration:none}
.ficha .more::after{content:"";width:44px;height:1.5px;background:var(--tinta);transition:width .22s var(--ease),background .22s var(--ease)}
.ficha .more:hover::after,.ficha .more:focus-visible::after{width:64px;background:var(--caqui-ink)}
/* Mouvement réduit : état final, changements d'état instantanés, aucun défilement animé. */
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
