/* NUR Label V45.3 — étape B : design (cachet, équilibre, centrage). Chargé après site.css et v45.css. */

/* ───────── 1. Titres de section : centrés au-dessus des grilles pleine largeur, avec un filet-ornement ───────── */
.sec>.wrap>.sec-head,.sec>.wrap.prose:not(.prose-vis)>.sec-head{margin-left:auto;margin-right:auto;text-align:center;max-width:820px}
.sec>.wrap>.sec-head .lead{margin-left:auto;margin-right:auto}
.sec>.wrap>.sec-head::before,.pv-tx>.sec-head::before,.modes-tx>.sec-head::before,.faq2-aside>.sec-head::before,.faq2-aside>h2::before,.split>div>.sec-head::before,.proof .sec-head::before,.verify .sec-head::before,.sell .sec-head::before{content:"";display:block;width:74px;height:10px;margin:0 0 18px;background:linear-gradient(90deg,transparent,var(--royal) 30%,var(--royal) 70%,transparent) center/100% 1px no-repeat,radial-gradient(circle,var(--royal) 0 3px,transparent 3.5px) center/10px 10px no-repeat;opacity:.85}
.sec>.wrap>.sec-head::before{margin:0 auto 18px}
.ink .sec-head::before,.ink .faq2-aside>h2::before{filter:brightness(1.9) saturate(.7)}
.sec>.wrap>.btns.after{justify-content:center}
.sec>.wrap>.tc-pivot{margin-left:auto;margin-right:auto;width:fit-content;max-width:100%}
.sec>.wrap>.tc-sub{text-align:center;margin-left:auto;margin-right:auto}
.sec>.wrap>.tt-sub{text-align:center}.sec>.wrap>.tt-sub p{margin-left:auto;margin-right:auto}
.sec>.wrap>.note-after{margin-left:auto;margin-right:auto}

/* Cartes claires : un filet d'accent fin en tête (« document ») */
.paper .row,.paper .tcard,.paper .press article{position:relative}
.paper .row::after,.paper .tcard::after{content:"";position:absolute;left:22px;right:22px;top:0;height:2px;border-radius:0 0 2px 2px;background:linear-gradient(90deg,var(--royal),rgba(42,85,214,.15));opacity:.55}

/* ───────── 2. En-têtes de page : visuel obligatoire, cadre de document ───────── */
.phead-img{position:relative;z-index:1}
.phead-img::before{content:"";position:absolute;inset:14px -14px -14px 14px;border:1px solid rgba(143,180,255,.32);border-radius:calc(var(--r-s) + 4px);pointer-events:none;z-index:-1}
.phead-img::after{content:"";position:absolute;right:-22px;bottom:-22px;width:96px;height:96px;background:url(img/v45-rosette.svg) center/contain no-repeat;opacity:.55;pointer-events:none}
.phead-img img{width:100%;max-height:440px;object-fit:cover;aspect-ratio:3/2}
.phead-img.portrait img{aspect-ratio:4/5;max-height:480px;object-position:50% 40%}
.phead-img .cert-fx img{aspect-ratio:auto;object-fit:contain;max-height:560px}
.phead.has-emb .wrap{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.phead-emb{display:grid;place-items:center}
.phead-center .wrap{grid-template-columns:1fr;justify-items:center;text-align:center}
.phead-center h1{margin-left:auto;margin-right:auto}
.phead-center .lead{margin-left:auto;margin-right:auto}
.phead-center .crumb{justify-content:center}
@media (max-width:900px){.phead.has-emb .wrap{grid-template-columns:1fr}.phead-emb{max-width:300px;margin:0 auto;width:100%}.phead-img::after{right:-8px;bottom:-12px;width:64px;height:64px}.phead-img::before{inset:10px -8px -10px 10px}}

/* ───────── 3. Emblème guilloché (en-têtes et sections sans photo) ───────── */
.emblem{position:relative;width:min(100%,380px);aspect-ratio:1;display:grid;place-items:center;isolation:isolate}
.em-ros{position:absolute;inset:0;width:100%;height:100%;animation:emspin 140s linear infinite;opacity:.95}
.em-ring{position:absolute;inset:11%;width:78%;height:78%;overflow:visible}
.em-ring circle{fill:none;stroke:rgba(143,180,255,.5);stroke-width:.6}
.em-ring text{font:600 7.6px var(--mono);letter-spacing:.24em;fill:rgba(205,222,255,.85);text-transform:uppercase}
.em-core{position:relative;display:grid;place-items:center;gap:6px;width:41%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#2a55d6,#0b1a3f 70%);box-shadow:0 0 0 1px rgba(143,180,255,.55),0 0 0 7px rgba(3,10,29,.55),0 0 0 8px rgba(143,180,255,.3),0 24px 60px rgba(0,0,0,.55);color:#fff;text-align:center;align-content:center}
.em-core svg{width:38%;height:auto}
.em-core b{font:700 .78rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:#dbe6ff}
.paper .em-ros{filter:invert(.18) sepia(.4) hue-rotate(180deg) saturate(2.2) brightness(.55)}
.paper .em-ring circle{stroke:rgba(42,85,214,.45)}
.paper .em-ring text{fill:rgba(20,48,138,.8)}
@keyframes emspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.em-ros{animation:none}}

/* ───────── 4. Texte + visuel (T2), frise, convention ───────── */
.prose:not(.prose-vis):not(.wide){max-width:calc(900px + 2 * var(--gut))}
.prose:not(.prose-vis)>*{max-width:none}
.prose-vis{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(36px,6vw,90px);align-items:center;position:relative;z-index:1}
.prose-vis.flip .pv-tx{order:2}
.prose-vis .pv-tx>*{max-width:640px}
.prose-vis .pv-tx>.sec-head{margin-bottom:22px}
.prose-vis .pv-tx>p{color:var(--muted-paper)}
.ink .prose-vis .pv-tx>p{color:#cdd8f2}
.vis{margin:0;position:relative}
.vis-img img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r-l);box-shadow:0 30px 70px rgba(3,10,29,.28)}
.ink .vis-img img{box-shadow:0 34px 80px rgba(0,0,0,.55)}
.vis-img::before{content:"";position:absolute;inset:-14px 14px 14px -14px;border:1px solid rgba(42,85,214,.35);border-radius:calc(var(--r-l) + 4px);z-index:-1}
.ink .vis-img::before{border-color:rgba(143,180,255,.3)}
.vis-emb{display:grid;place-items:center}
.frise{list-style:none;margin:0;padding:0 0 0 34px;position:relative;display:grid;gap:22px}
.frise::before{content:"";position:absolute;left:11px;top:10px;bottom:10px;width:2px;background:linear-gradient(var(--royal),rgba(42,85,214,.2))}
.frise li{position:relative;padding:16px 20px;border-radius:14px;background:linear-gradient(135deg,#fff,#fbf9f4);border:1px solid var(--line-paper);box-shadow:0 10px 26px rgba(20,48,138,.06)}
.frise li::before{content:"";position:absolute;left:-30px;top:22px;width:14px;height:14px;border-radius:50%;background:var(--paper);border:3px solid var(--royal);box-shadow:0 0 0 4px rgba(42,85,214,.15)}
.frise b{display:block;font:700 1.35rem/1.1 var(--display);color:var(--ink);letter-spacing:-.01em}
.frise span{color:var(--muted-paper);font-size:.98rem}
.mdoc{position:relative;max-width:420px;margin:0 auto;padding:10px;border-radius:16px;background:#f4f1e7 url(img/v45-band-ink.svg) repeat;box-shadow:0 34px 80px rgba(0,0,0,.5);transform:rotate(1.6deg)}
.mdoc>*{position:relative}
.mdoc::before{content:"";position:absolute;inset:10px;border-radius:9px;background:linear-gradient(170deg,#fff,#f7f4ea);box-shadow:inset 0 0 0 1px rgba(42,85,214,.35),inset 0 0 0 5px #fff,inset 0 0 0 6px rgba(42,85,214,.18)}
.mdoc-band{display:flex;align-items:center;gap:12px;margin:0;padding:14px 18px;border-radius:9px 9px 0 0;background:linear-gradient(120deg,var(--night),var(--ink) 60%,#14308a);color:#fff;font:600 .95rem var(--display)}
.mdoc-band img{height:30px;width:auto}
.mdoc-micro{margin:8px 18px 4px;font:400 .5rem/1.2 var(--mono);letter-spacing:.08em;color:rgba(42,85,214,.6);white-space:nowrap;overflow:hidden}
.mdoc-body{padding:6px 18px 4px}
.mdoc-body p{display:flex;align-items:center;gap:12px;margin:0;padding:11px 0;border-bottom:1px dashed rgba(42,85,214,.25);color:var(--ink);font:500 .92rem var(--text);max-width:none}
.mdoc-body p span{white-space:nowrap}
.mdoc-body i{flex:1;height:7px;border-radius:4px;background:linear-gradient(90deg,rgba(11,26,63,.12),rgba(11,26,63,.04))}
.mdoc-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px 18px}
.mdoc-seal{width:74px;height:74px;border-radius:50%;box-shadow:0 8px 20px rgba(3,10,29,.3)}
.mdoc-sign{font:600 .82rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--royal);padding:7px 12px;border:1.5px solid var(--royal);border-radius:8px;transform:rotate(-4deg)}
@media (max-width:900px){.prose-vis{grid-template-columns:minmax(0,1fr)}.prose-vis>*{min-width:0}.mdoc{max-width:min(100%,400px)}.prose-vis.flip .pv-tx{order:0}.vis-img,.vis-doc,.vis-frise{max-width:560px}.vis-emb .emblem{width:min(100%,280px)}.vis-img::before{inset:-10px 10px 10px -10px}}

/* ───────── 5. Questions en deux colonnes (aide / rubriques à gauche) ───────── */
.faq-2c{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start;max-width:var(--wrap)}
.faq-2c>*{max-width:none}
.faq-2c .faq2-aside{position:sticky;top:104px}
.faq-2c .faq2-aside .sec-head{margin-bottom:24px;text-align:left}
.faq-2c .faq2-aside .sec-head h2{font-size:clamp(1.7rem,2.6vw,2.3rem)}
.faq-toc{margin:0 0 22px;padding:16px 18px;border-radius:var(--r-m);background:linear-gradient(135deg,#fff,#fbf9f4);border:1px solid var(--line-paper)}
.faq-toc ol{list-style:none;margin:0;padding:0;counter-reset:t}
.faq-toc li{counter-increment:t}
.faq-toc a{display:flex;gap:10px;padding:7px 0;color:var(--ink)!important;text-decoration:none;font-weight:500;font-size:.95rem}
.faq-toc a::before{content:counter(t,decimal-leading-zero);font:600 .8rem var(--mono);color:var(--royal);padding-top:2px}
.faq-toc a:hover{color:var(--royal)!important;text-decoration:underline}
.faq-col .faq-group:first-child{margin-top:0}
.faq-2c .faq2-help .btn-line{border-color:rgba(143,180,255,.55)!important;color:#fff!important;background:none!important}
@media (max-width:900px){.faq-2c{display:flex;flex-direction:column;gap:0}.faq-2c .faq2-aside{display:contents}.faq-2c .sec-head{order:1}.faq-toc{order:2}.faq-col{order:3}.faq-2c .faq2-help{order:4;margin-top:24px}}

/* ───────── 6. P6 — 10 s / < 1 h : un rapport automatique, puis l'heure de l'inspecteur ───────── */
.tbx{position:relative;z-index:1}
.cover .tbx,.modes~.wrap .tbx{margin-top:clamp(56px,7vw,96px);padding-top:clamp(40px,5vw,64px);border-top:1px solid var(--line-night)}
.tbx-head{max-width:820px;margin:0 auto clamp(30px,4vw,48px);text-align:center}
.tbx-head .ct-title{font-size:clamp(1.6rem,2.7vw,2.3rem);line-height:1.12;margin-bottom:14px}
.tbx-lead{color:var(--muted-night);margin:0 auto;font-size:1.04rem}
.tbx-grid{display:grid;grid-template-columns:minmax(0,.72fr) 64px minmax(0,1.9fr);align-items:stretch;gap:0}
.tbx figure{margin:0;display:flex;flex-direction:column}
.tbx figcaption{display:grid;gap:2px;margin-top:18px;text-align:center}
.tbx-big{font:700 clamp(1.7rem,2.6vw,2.2rem)/1 var(--display);letter-spacing:-.02em;color:#fff}
.tbx figcaption strong{font-family:var(--display);font-weight:600;color:#fff;margin-top:6px}
.tbx figcaption span{color:var(--muted-night);font-size:.92rem}
/* gauche : feuille grise, générique */
.tbx-auto{position:relative;padding:22px 18px 18px;border-radius:var(--r-l);background:rgba(143,180,255,.04);border:1px dashed rgba(143,180,255,.22)}
.ra-sheet{position:relative;margin:0 auto;width:min(100%,200px);aspect-ratio:210/280;padding:14px 14px;border-radius:6px;background:linear-gradient(180deg,#c9ced8,#b6bcc8);box-shadow:0 20px 40px rgba(0,0,0,.45);overflow:hidden;filter:saturate(.2)}
.ra-top{display:flex;align-items:center;gap:7px;padding-bottom:9px;margin-bottom:10px;border-bottom:1px solid rgba(40,48,66,.25);font:600 .62rem/1.2 var(--text);color:#3b4458;letter-spacing:.02em}
.ra-logo{width:14px;height:14px;border-radius:3px;background:#8a93a5}
.ra-lines{display:grid;gap:7px;margin-bottom:12px}
.ra-lines i,.ra-boxes i{display:block;height:6px;border-radius:3px;background:rgba(40,48,66,.18)}
.ra-lines i.s{width:72%}.ra-lines i.xs{width:44%}
.ra-boxes{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:12px}
.ra-boxes i{height:26px;border-radius:4px;background:rgba(40,48,66,.1);border:1px dashed rgba(40,48,66,.22)}
.ra-scan{position:absolute;left:0;right:0;top:-30%;height:30%;background:linear-gradient(180deg,transparent,rgba(255,255,255,.55),transparent);opacity:0}
.ra-tag{display:flex;align-items:center;justify-content:center;gap:7px;width:fit-content;margin:-14px auto 0;position:relative;padding:6px 12px;border-radius:999px;background:#2a3245;border:1px solid rgba(255,255,255,.18);color:#d7dce6;font:500 .8rem var(--mono);letter-spacing:.02em;box-shadow:0 8px 20px rgba(0,0,0,.35)}
.ra-tag svg{width:15px;height:15px}
.ra-tag b{font-weight:600;color:#fff;min-width:1.2em;text-align:right;display:inline-block}
.tbx-auto figcaption .tbx-big{color:#c7cfdf}
/* séparateur */
.tbx-vs{position:relative;display:grid;place-items:center}
.tbx-vs::before{content:"";position:absolute;top:8%;bottom:8%;left:50%;width:1px;background:linear-gradient(transparent,rgba(143,180,255,.4),transparent)}
.tbx-vs span{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--night);border:1px solid rgba(143,180,255,.35);font:600 .8rem var(--display);color:var(--sky)}
/* droite : le certificat, le scellé, la frise de l'heure */
.tbx-insp{position:relative;padding:22px 24px 18px;border-radius:var(--r-l);background:linear-gradient(150deg,rgba(42,85,214,.22),rgba(11,26,63,.35) 55%,rgba(3,10,29,.2));border:1px solid rgba(143,180,255,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 30px 70px rgba(0,0,0,.35);overflow:hidden}
.tbx-insp::before{content:"";position:absolute;right:-90px;top:-90px;width:260px;height:260px;background:url(img/v45-rosette.svg) center/contain no-repeat;opacity:.35;pointer-events:none}
.ti-wrap{position:relative;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(20px,3vw,40px);align-items:center;flex:1}
.ti-doc{position:relative;padding:4px 22px 22px 0}
.ti-cert{width:100%;max-width:240px;border-radius:4px;transform:rotate(-2.5deg);box-shadow:0 26px 60px rgba(0,0,0,.6),0 0 0 1px rgba(143,180,255,.2)}
.ti-card{width:100%;max-width:300px;border-radius:12px;transform:rotate(-3deg);box-shadow:0 26px 60px rgba(0,0,0,.6)}
.ti-doc.is-card{padding:30px 30px 40px 0}
.ti-seal{position:absolute;right:0;bottom:0;width:38%;max-width:112px;border-radius:50%;box-shadow:0 14px 30px rgba(0,0,0,.55);transform:rotate(8deg)}
.ti-doc.is-card .ti-seal{right:6px;bottom:4px}
.ti-sign{position:absolute;left:8%;bottom:14%;display:inline-flex;align-items:center;gap:6px;padding:6px 12px 6px 8px;border-radius:8px;background:rgba(23,163,90,.95);color:#fff;font:700 .82rem var(--display);letter-spacing:.06em;text-transform:uppercase;transform:rotate(-6deg);box-shadow:0 10px 24px rgba(0,0,0,.4)}
.ti-sign svg{width:18px;height:18px;color:#fff}
.ti-sign svg circle{fill:rgba(255,255,255,.25)}
.ti-clock{display:flex;align-items:baseline;gap:10px;margin:0 0 14px;max-width:none}
.ti-now{font:600 clamp(1.6rem,2.4vw,2rem)/1 var(--mono);color:#fff;letter-spacing:.04em}
.ti-clock small{font-size:.82rem;color:var(--muted-night)}
.ti-steps{list-style:none;margin:0;padding:0;position:relative}
.ti-steps::before{content:"";position:absolute;left:61px;top:10px;bottom:10px;width:2px;background:rgba(143,180,255,.2)}
.ti-steps::after{content:"";position:absolute;left:61px;top:10px;width:2px;height:calc(100% - 20px);background:linear-gradient(var(--valid),#5fd39a);transform-origin:top;transform:scaleY(var(--p,1));transition:transform .5s ease}
.ti-steps li{position:relative;display:grid;grid-template-columns:48px 1fr;gap:26px;align-items:center;padding:7px 0}
.ti-steps time{font:500 .84rem var(--mono);color:var(--sky);text-align:right}
.ti-steps span{position:relative;font:500 .98rem/1.3 var(--text);color:#e8eeff}
.ti-steps span::before{content:"";position:absolute;left:-20px;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;background:var(--valid);box-shadow:0 0 0 3px rgba(23,163,90,.25);transition:background .3s,box-shadow .3s}
.ti-steps li:last-child span{font-weight:700;color:#fff}
.tbx-foot{margin-top:clamp(26px,3.5vw,40px);text-align:center}
.tbx-foot .ct-punch{font:700 clamp(1.15rem,1.8vw,1.4rem) var(--display);color:#fff;margin:0 auto 6px;max-width:none}
.tbx-foot .small{margin:0 auto}
/* état « armé » (script actif, mouvement autorisé) : tout part de zéro */
.tbx.arm .ti-steps li span::before{background:rgba(143,180,255,.18);box-shadow:none}
.tbx.arm .ti-steps li span{color:var(--muted-night)}
.tbx.arm .ti-steps li.on span{color:#e8eeff}
.tbx.arm .ti-steps li.on:last-child span{color:#fff}
.tbx.arm .ti-steps li.on span::before{background:var(--valid);box-shadow:0 0 0 3px rgba(23,163,90,.25)}
.tbx.arm .ti-sign{opacity:0;transform:rotate(-6deg) scale(1.6)}
.tbx.arm.t-done .ti-sign{opacity:1;transform:rotate(-6deg) scale(1);transition:opacity .35s,transform .35s cubic-bezier(.3,1.6,.5,1)}
.tbx.arm.run .ra-scan{animation:rascan 1s ease-in-out 1}
@keyframes rascan{0%{top:-30%;opacity:0}20%{opacity:1}100%{top:100%;opacity:0}}
@media (max-width:1060px){.tbx-grid{grid-template-columns:minmax(0,.8fr) 52px minmax(0,1.7fr)}.ti-wrap{grid-template-columns:1fr 1.2fr}}
@media (max-width:900px){
  .tbx-grid{grid-template-columns:1fr;gap:0}
  .tbx-vs{height:64px}.tbx-vs::before{top:0;bottom:0}
  .tbx .tbx-auto{display:grid;grid-template-columns:minmax(0,120px) minmax(0,1fr);gap:6px 20px;align-items:center;padding:18px}
  .tbx-auto .ra-sheet{grid-row:1/3;width:100%;padding:9px}
  .tbx-auto .ra-top{font-size:.5rem;padding-bottom:6px;margin-bottom:7px}
  .tbx-auto .ra-lines{gap:5px;margin-bottom:8px}.tbx-auto .ra-boxes i{height:16px}
  .tbx-auto .ra-tag{margin:0;justify-self:start}
  .tbx-auto figcaption{margin:0;text-align:left}
}
@media (max-width:560px){
  .ti-wrap{grid-template-columns:1fr}
  .ti-doc{max-width:230px;margin:0 auto;padding-bottom:26px}
  .ti-doc.is-card{max-width:280px}
  .tbx-insp{padding:20px 16px 16px}
  .ti-steps li{grid-template-columns:44px 1fr;gap:24px}.ti-steps::before,.ti-steps::after{left:57px}
}

/* ───────── 7. Dossier spécimen : document sécurisé ───────── */
.spec{align-items:start;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.sdoc,.spec-cert{min-width:0}
.spec-cert{position:sticky;top:100px}
.sdoc{position:relative;padding:12px;border-radius:22px;background:#efeadc url(img/v45-band-ink.svg) repeat;box-shadow:0 30px 70px rgba(20,48,138,.16),0 0 0 1px rgba(42,85,214,.25)}
.sdoc-in{position:relative;overflow:hidden;padding:0 clamp(18px,2.6vw,30px) 22px;border-radius:13px;background:radial-gradient(600px 300px at 110% 20%,rgba(42,85,214,.06),transparent 60%),linear-gradient(175deg,#ffffff,#fbf9f3);box-shadow:inset 0 0 0 1px rgba(42,85,214,.4),inset 0 0 0 6px #fff,inset 0 0 0 7px rgba(42,85,214,.16)}
.sdoc-in::before{content:"";position:absolute;inset:0;background:url(img/v45-rosette-ink.svg) 115% 62%/420px no-repeat;opacity:.08;pointer-events:none}
.sdoc-in>*{position:relative}
.sdoc-band{display:flex;align-items:center;gap:16px;margin:0 calc(-1 * clamp(18px,2.6vw,30px));padding:16px clamp(18px,2.6vw,30px);background:linear-gradient(120deg,var(--night),var(--ink) 55%,#163391);color:#fff;border-bottom:3px solid transparent;border-image:linear-gradient(90deg,var(--royal),#8fb4ff,var(--royal)) 1}
.sdoc-band>img{height:38px;width:auto}
.sdoc-bt{display:grid;gap:2px;flex:1;min-width:0}
.sdoc-k{font:700 .78rem var(--text);letter-spacing:.16em;text-transform:uppercase;color:#dbe6ff}
.sdoc-sub{font-size:.76rem;color:var(--muted-night)}
.sdoc-qr{display:grid;justify-items:center;gap:2px;padding:5px;border-radius:8px;background:#fff}
.sdoc-qr img{width:58px;height:58px}
.sdoc-qr small{font:600 .55rem var(--mono);color:var(--ink);letter-spacing:.14em}
.sdoc-micro{margin:8px 0 0;width:100%;font:400 .52rem/1.2 var(--mono);letter-spacing:.1em;color:rgba(42,85,214,.55);white-space:nowrap;overflow:hidden;max-width:none}
.sdoc-id{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:16px 0 12px}
.sdoc-lbl{width:100%;font:600 .7rem var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--muted-paper)}
.sdoc .spec-nur{font:600 clamp(1.5rem,2.8vw,2.05rem) var(--mono);letter-spacing:.06em;color:var(--ink);padding:4px 12px;border:1px solid rgba(42,85,214,.3);border-radius:8px;background:repeating-linear-gradient(135deg,rgba(42,85,214,.035) 0 6px,transparent 6px 12px)}
.sdoc-wave{display:block;height:8px;margin:2px 0 14px;background:url(img/v45-wave.svg) repeat-x left center/240px 8px;opacity:.85}
.sdoc h3{display:flex;align-items:center;gap:10px;margin:22px 0 10px;font:700 1rem var(--display);color:var(--ink)}
.sdoc-n{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;background:var(--ink);color:#fff;font:700 .74rem var(--mono)}
.sdoc .spec-dl{padding:12px 16px;border-radius:12px;border:1px solid rgba(42,85,214,.18);background:rgba(255,255,255,.7)}
.sdoc-note{margin-top:16px}
.sdoc-foot{display:flex;align-items:center;gap:12px;margin-top:14px;padding-top:10px;border-top:1px solid rgba(42,85,214,.2);font:500 .68rem var(--mono);letter-spacing:.12em;color:var(--muted-paper);text-transform:uppercase}
.sdoc-foot i{flex:1;height:6px;background:url(img/v45-wave.svg) repeat-x left center/120px 6px;opacity:.5}
.sdoc-stamp{position:absolute!important;right:clamp(14px,4%,40px);top:132px;padding:6px 16px;border:3px double rgba(196,40,40,.62);border-radius:8px;color:rgba(196,40,40,.62);font:700 1.3rem/1 var(--display);letter-spacing:.2em;text-transform:uppercase;transform:rotate(-12deg);pointer-events:none;mix-blend-mode:multiply}
.sdoc-holo{position:absolute!important;right:-34px;bottom:-34px;width:120px;height:120px;border-radius:50%;background:conic-gradient(from 0deg,#ff9ad5,#9ad0ff,#a8ffcf,#fff3a1,#ffb3e0,#9ad0ff,#ff9ad5);opacity:.55;filter:blur(.3px) saturate(1.2);mask:radial-gradient(circle,#000 0 55%,transparent 56% 60%,#000 61% 100%);-webkit-mask:radial-gradient(circle,#000 0 55%,transparent 56% 60%,#000 61% 100%);animation:holo 9s linear infinite;pointer-events:none}
@keyframes holo{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.sdoc-holo{animation:none}}
@media (max-width:1060px){.spec{grid-template-columns:1fr}.spec-cert{position:static;max-width:460px;margin:0 auto}}
@media (max-width:560px){.sdoc-band{gap:10px}.sdoc-band>img{height:28px}.sdoc-sub{display:none}.sdoc-qr img{width:44px;height:44px}.sdoc-stamp{top:auto;bottom:118px;font-size:1rem;right:12px}.sdoc{padding:8px}}

/* ───────── 8. Pied de page : titres soulignés d'un filet, colonne « Métiers » ───────── */
.foot-cols{grid-template-columns:repeat(5,minmax(0,1fr));gap:30px 26px}
.foot h2{position:relative;padding-bottom:12px;margin-bottom:16px;font:600 .82rem/1.2 var(--display);letter-spacing:.12em;text-transform:uppercase;color:#fff}
.foot h2::after{content:"";position:absolute;left:0;bottom:0;width:28px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--royal),var(--sky))}
.foot h2::before{content:"";position:absolute;left:34px;bottom:0;width:calc(100% - 34px);height:1px;bottom:.5px;background:var(--line-night)}
.foot li{margin:0 0 10px;line-height:1.4}
@media (max-width:1180px){.foot-cols{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.foot-cols{grid-template-columns:1fr 1fr;gap:26px 18px}}

/* ───────── 9. Charte en cartes numérotées, textes légaux en colonne centrée ───────── */
.charter{max-width:var(--wrap)}
.charter>*{max-width:none}
.charter .articles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.charter .articles li{padding:22px 24px 22px 80px;border:1px solid var(--line-paper);border-radius:16px;background:linear-gradient(135deg,#fff,#fbf9f4);box-shadow:0 8px 22px rgba(20,48,138,.05)}
.charter .articles li::before{left:22px;top:22px;background:linear-gradient(135deg,var(--ink),var(--royal));box-shadow:0 0 0 4px rgba(42,85,214,.12)}
.charter .rule{max-width:900px;margin-left:auto;margin-right:auto}
@media (max-width:820px){.charter .articles{grid-template-columns:1fr}.charter .articles li{padding:20px 18px 20px 72px}}
.legal{max-width:calc(860px + 2 * var(--gut))}
.legal>*{max-width:none}
.legal section{padding:26px 0}
.legal h2{display:flex;gap:12px;align-items:baseline}
.legal{counter-reset:lg}
.legal section h2::before{counter-increment:lg;content:counter(lg,decimal-leading-zero);font:600 .85rem var(--mono);color:var(--royal);flex:none}

/* ───────── 10. Formulaires : colonne d'aide qui suit le défilement ───────── */
@media (min-width:1001px){.form-wrap.with-aside .form-aside{position:sticky;top:96px;align-self:start}}
.aside-box.has-img{overflow:hidden}
.aside-img{margin:-22px -22px 16px;height:150px;overflow:hidden;background:var(--ink)}
.aside-img img{width:100%;height:100%;object-fit:cover;object-position:50% 12%;opacity:.95}

/* ───────── 11. Divers : quelques finitions de « cachet » ───────── */
.quote-band .qb blockquote{position:relative}
.quote-band .qb::before{content:"";display:block;width:56px;height:56px;margin:0 auto 14px;background:url(img/v45-rosette.svg) center/contain no-repeat;opacity:.7}
.quote-band.paper .qb::before{background-image:url(img/v45-rosette-ink.svg)}
.side-img,.split-img{position:relative;z-index:1}
.side-img img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r-l);box-shadow:0 30px 70px rgba(3,10,29,.28)}
.side-img::before,.split-img::before{content:"";position:absolute;inset:-12px 12px auto -12px;aspect-ratio:3/2;border:1px solid rgba(42,85,214,.32);border-radius:calc(var(--r-l) + 4px);z-index:-1;pointer-events:none}
.ink .side-img::before,.ink .split-img::before{border-color:rgba(143,180,255,.28)}
@media (max-width:900px){.side-img::before,.split-img::before{inset:-8px 8px auto -8px}}
.phead.has-emb canvas.guilloche{opacity:.16!important}
/* V45.4 : panneau IA (gauche) — priorité sur les règles ci-dessus */
.tbx .tbx-grid .tbx-auto{border:1px solid rgba(143,180,255,.22);background:linear-gradient(180deg,rgba(42,85,214,.10),rgba(143,180,255,.03))}
@media (max-width:900px){
  .tbx .tbx-grid .tbx-auto{display:block;padding:18px 16px}
  .tbx .tbx-grid .tbx-auto .ai-panel{width:min(100%,300px);padding:14px}
  .tbx .tbx-grid .tbx-auto .ra-tag{margin:-14px auto 0}
  .tbx .tbx-grid .tbx-auto figcaption{margin-top:14px;text-align:center}
}
