/*pf3*/
/* ============================================================
   WatchTower - identite
   Regle unique : la couleur porte un ETAT, jamais une categorie.
   - accent : interaction (liens, focus, actif, actions)
   - ok/info/warn/high/crit : criticite reelle uniquement (veille SOC)
   - tout le reste : neutres
   Le monospace est reserve aux valeurs machine (commandes, CVE,
   versions, hotes), jamais aux libelles d'interface.
   ============================================================ */
:root{
  --wt-accent:#57A6C4;--wt-accent-2:#7FC0D6;--wt-accent-ink:#05161D;
  --wt-accent-soft:rgba(87,166,196,.12);
  --wt-ok:#4FA882;--wt-info:#6D97C9;--wt-warn:#C9982F;--wt-high:#C2793F;--wt-crit:#C96460;
  --wt-violet:#8C9BB5;--wt-pink:#8C9BB5;
  --wt-grid:rgba(87,166,196,.045);
  --wt-glow:0 0 0 1px rgba(87,166,196,.28);
  --wt-shadow:0 1px 0 rgba(255,255,255,.02) inset,0 10px 26px -16px rgba(0,0,0,.55);
}
:root[data-theme="light"]{
  --wt-accent:#1D6E8C;--wt-accent-2:#246E92;--wt-accent-ink:#FFFFFF;
  --wt-accent-soft:rgba(29,110,140,.10);
  --wt-ok:#2F7D5C;--wt-info:#2F5EA8;--wt-warn:#8A6516;--wt-high:#9A4F20;--wt-crit:#A93C39;
  --wt-violet:#5E6B85;--wt-pink:#5E6B85;
  --wt-grid:rgba(29,110,140,.05);
  --wt-glow:0 0 0 1px rgba(29,110,140,.25);
  --wt-shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px -16px rgba(15,23,42,.16);
}
:root{--pf-side:272px;--pf-ease:cubic-bezier(.2,.7,.2,1);--pf-r:16px}
html{scroll-behavior:smooth}
body.wt{text-rendering:optimizeLegibility}
body.wt .entry-content{max-width:1180px;padding:0 32px 88px}
body.wt .entry-content>p,body.wt .entry-content>ul{max-width:none}
body.wt .entry-header{max-width:1180px;padding:52px 32px 24px!important;margin:0 auto 34px!important}
body.wt .entry-title{background:none!important;background-image:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;-webkit-text-fill-color:currentColor!important;color:var(--wt-text)!important}
body.wt h2{scroll-margin-top:90px}
body.wt :is(a,button,summary,[tabindex]):focus-visible{outline:2px solid var(--b,var(--wt-accent));outline-offset:3px}
@media (min-width:922px){
body.wt #page{margin-left:var(--pf-side)!important}
body.wt #masthead{position:fixed!important;top:0;left:0;bottom:0;width:var(--pf-side)!important;height:100vh!important;height:100dvh!important;z-index:200!important;background:linear-gradient(180deg,color-mix(in srgb,var(--wt-bg-2) 96%,var(--wt-accent) 4%),var(--wt-bg-2))!important;border-right:1px solid var(--wt-line)!important;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:thin;scrollbar-color:var(--wt-line-2) transparent}
body.admin-bar.wt #masthead{top:32px;height:calc(100vh - 32px)!important;height:calc(100dvh - 32px)!important}
body.wt #masthead .main-header-bar-wrap,body.wt #masthead .main-header-bar,body.wt #masthead .ast-primary-header-bar,body.wt #masthead #ast-desktop-header,body.wt #masthead .site-primary-header-wrap{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;min-height:0!important;padding:0!important;max-width:none!important;width:100%!important}
body.wt #ast-desktop-header .ast-builder-grid-row{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:14px!important;padding:22px 16px 18px!important;min-height:100vh;min-height:100dvh}
body.admin-bar.wt #ast-desktop-header .ast-builder-grid-row{min-height:calc(100vh - 32px);min-height:calc(100dvh - 32px)}
body.wt #ast-desktop-header .site-header-section{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;flex:0 0 auto!important}
body.wt #ast-desktop-header .site-header-primary-section-right{flex:1 1 auto!important}
body.wt #ast-desktop-header .site-header-section>*{margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}
body.wt #ast-desktop-header .ast-site-identity{padding:2px 12px 2px!important}
body.wt #ast-desktop-header .site-title{margin:0!important;line-height:1.3!important}
body.wt #ast-desktop-header .site-title a{font-size:1rem!important}
body.wt #ast-desktop-header .ast-builder-menu-1,body.wt #ast-desktop-header .ast-main-header-bar-alignment,body.wt #ast-desktop-header .main-header-bar-navigation,body.wt #ast-desktop-header .site-navigation,body.wt #ast-desktop-header .main-navigation{display:block!important;width:100%!important;height:auto!important}
body.wt #ast-desktop-header .main-header-menu{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:2px!important;counter-reset:pfnav;width:100%;height:auto!important}
body.wt #ast-desktop-header .main-header-menu>.menu-item{width:100%;margin:0!important;height:auto!important}
body.wt #ast-desktop-header .main-header-menu>.menu-item:not(.wt-menu-toggle)>.menu-link{counter-increment:pfnav;display:flex!important;align-items:center;gap:12px;width:100%;min-height:40px;padding:9px 12px!important;border-radius:10px;font-size:.9rem!important;font-weight:500!important;color:var(--wt-text-2)!important;background:transparent!important;box-shadow:none!important;transition:background .2s,color .2s,transform .2s var(--pf-ease)}
body.wt #ast-desktop-header .main-header-menu>.menu-item:not(.wt-menu-toggle)>.menu-link::before{content:counter(pfnav,decimal-leading-zero);font:600 .66rem var(--wt-mono);color:color-mix(in srgb,var(--b,var(--wt-accent)) 45%,var(--wt-muted));letter-spacing:.06em;width:18px;flex:none;transition:color .2s}
body.wt #ast-desktop-header .main-header-menu>.menu-item:not(.wt-menu-toggle)>.menu-link:hover{background:color-mix(in srgb,var(--b,var(--wt-accent)) 8%,var(--wt-surface-2))!important;color:var(--wt-text)!important;transform:translateX(3px)}
body.wt #ast-desktop-header .main-header-menu>.menu-item:not(.wt-menu-toggle)>.menu-link:hover::before{color:var(--b,var(--wt-accent))}
body.wt #ast-desktop-header .main-header-menu>:is(.current-menu-item,.current_page_item)>.menu-link{background:color-mix(in srgb,var(--b,var(--wt-accent)) 13%,transparent)!important;color:color-mix(in srgb,var(--b,var(--wt-accent)) 80%,var(--wt-text))!important;box-shadow:inset 3px 0 0 var(--b,var(--wt-accent))!important}
body.wt #ast-desktop-header .main-header-menu>:is(.current-menu-item,.current_page_item)>.menu-link::before{color:var(--b,var(--wt-accent))}
body.wt #ast-desktop-header .wt-menu-toggle{margin:8px 0 0 12px!important;width:auto!important;justify-content:flex-start!important}
.pf-side-bottom{margin-top:auto!important;display:grid;gap:12px;padding-top:12px!important}
}
@media (min-width:922px) and (max-height:760px){
body.wt #ast-desktop-header .ast-builder-grid-row{gap:10px!important;padding:14px 14px 12px!important}
body.wt #ast-desktop-header .main-header-menu>.menu-item:not(.wt-menu-toggle)>.menu-link{min-height:34px;padding:6px 12px!important}
body.wt #ast-desktop-header .wt-menu-toggle{margin-top:4px!important}
.pf-side-card__role{display:none}
}
@media (min-width:922px) and (max-height:620px){.pf-side-card{display:none!important}}
@media (max-width:921px){.pf-side-bottom{display:none!important}}
.pf-side-card{padding:14px;border-radius:14px;background:var(--wt-surface);border:1px solid var(--wt-line);display:grid;gap:8px}
.pf-side-card__role{font-size:.8rem;color:var(--wt-text-2);line-height:1.45}
.pf-side-card__status{display:flex;align-items:center;gap:8px;font:500 .7rem var(--wt-mono);color:var(--wt-muted);letter-spacing:.02em}
.pf-side-card__status .wt-dot{animation:pf-blink 2.4s ease-in-out infinite}
.pf-side-foot{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--wt-line)}
.pf-side-foot a{position:relative;overflow:hidden;flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 10px;border-radius:10px;border:1px solid color-mix(in srgb,var(--b,var(--wt-accent)) 30%,var(--wt-line-2));color:var(--wt-text-2)!important;text-decoration:none!important;font-size:.78rem;font-weight:600;transition:border-color .2s,color .2s,background .2s}
.pf-side-foot a .pf-bi{color:var(--b,var(--wt-accent))}
.pf-side-foot a:hover{border-color:var(--b,var(--wt-accent));color:color-mix(in srgb,var(--b,var(--wt-accent)) 75%,var(--wt-text))!important;background:color-mix(in srgb,var(--b,var(--wt-accent)) 8%,transparent)}
@keyframes pf-blink{0%,100%{opacity:1}50%{opacity:.45}}
@media (max-width:921px){
body.wt .entry-content{padding:0 18px 64px}
body.wt .entry-header{padding:34px 18px 18px!important;margin-bottom:24px!important}
body.wt #masthead.pf-scrolled{box-shadow:0 10px 30px -18px rgba(0,0,0,.7)}
}
html.pf-js .pf-reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--pf-ease),transform .7s var(--pf-ease);transition-delay:var(--pf-d,0ms)}
html.pf-js .pf-reveal.is-in{opacity:1;transform:none}
.pf-eyebrow{display:inline-flex;align-items:center;gap:10px;font:600 .72rem var(--wt-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--wt-accent);margin:0 0 14px!important}
.pf-eyebrow::before{content:'';width:18px;height:1px;background:currentColor}
.pf-lead{font-size:1.12rem;line-height:1.7;color:var(--wt-text-2)!important;max-width:760px;margin:0 0 8px!important}
.pf-intro{margin:0 0 36px}
.pf-h2{font-size:clamp(1.35rem,2.4vw,1.8rem)!important;font-weight:800!important;margin:0 0 6px!important;letter-spacing:-.02em}
.pf-sub{color:var(--wt-muted)!important;margin:0 0 22px!important;max-width:680px}
.pf-section{margin:72px 0 0}
.pf-section:first-child{margin-top:0}
.pf-kbd{font-family:var(--wt-mono);font-size:.78rem;padding:2px 7px;border-radius:6px;border:1px solid var(--wt-line-2);background:var(--wt-surface-2);color:var(--wt-text-2)}
.pf-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
body.wt .wt-btn{text-decoration:none!important}
.pf-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
@media (max-width:720px){.pf-grid-2{grid-template-columns:1fr}}
.pf-panel{position:relative;padding:24px;border-radius:var(--pf-r);background:var(--wt-surface);border:1px solid var(--wt-line);box-shadow:var(--wt-shadow)}
.pf-panel h3{font-size:1.08rem!important;font-weight:700!important;margin:0 0 10px!important}
.pf-panel p:last-child,.pf-panel ul:last-child{margin-bottom:0!important}
.pf-list{list-style:none;margin:0!important;padding:0!important;display:grid;gap:10px}
.pf-list li{position:relative;padding-left:22px;margin:0!important;color:var(--wt-text-2)}
.pf-list li::before{content:'▹';position:absolute;left:2px;top:0;color:var(--wt-accent);font-family:var(--wt-mono)}
.pf-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0!important;padding:0!important;list-style:none}
.pf-chips li{margin:0!important;font:500 .72rem var(--wt-mono);padding:4px 9px;border-radius:7px;background:var(--wt-bg-2);border:1px solid var(--wt-line-2);color:var(--wt-text-2)}
.pf-home{padding-top:6px}
.pf-hero2{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:28px;align-items:stretch;padding:44px;border-radius:24px;overflow:hidden;background:radial-gradient(700px 360px at 100% 0%,rgba(34,211,238,.16),transparent 70%),radial-gradient(520px 320px at 0% 100%,rgba(167,139,250,.13),transparent 70%),var(--wt-surface);border:1px solid var(--wt-line-2);box-shadow:var(--wt-shadow)}
:root[data-theme="light"] .pf-hero2{background:radial-gradient(700px 360px at 100% 0%,rgba(8,145,178,.12),transparent 70%),radial-gradient(520px 320px at 0% 100%,rgba(124,58,237,.08),transparent 70%),var(--wt-surface)}
.pf-hero2::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(var(--wt-grid) 1px,transparent 1px) 0 0/28px 28px,linear-gradient(90deg,var(--wt-grid) 1px,transparent 1px) 0 0/28px 28px;-webkit-mask-image:radial-gradient(circle at 80% 20%,#000,transparent 65%);mask-image:radial-gradient(circle at 80% 20%,#000,transparent 65%)}
.pf-hero2>*:not(.pf-net){position:relative;z-index:1}

.pf-hero2__hello{font:600 .78rem var(--wt-mono);color:var(--wt-accent);letter-spacing:.06em;margin:0 0 16px!important;display:inline-flex;align-items:center;gap:10px;padding:5px 12px;border-radius:999px;background:var(--wt-accent-soft);border:1px solid color-mix(in srgb,var(--wt-accent) 30%,transparent)}
.pf-hero2 h1{font-size:clamp(2.1rem,4.6vw,3.5rem)!important;font-weight:800!important;letter-spacing:-.035em!important;line-height:1.04!important;margin:0 0 18px!important}
.pf-hero2 h1 .pf-grad{background:none!important;-webkit-text-fill-color:currentColor!important;color:var(--wt-accent)!important}
.pf-hero2__lead{font-size:1.08rem;color:var(--wt-text-2)!important;max-width:560px;margin:0!important}
@media (max-width:980px){.pf-hero2{grid-template-columns:1fr;padding:30px 22px}}

.pf-marquee{position:relative;overflow:hidden;margin:26px 0 0;padding:14px 0;border-top:1px solid var(--wt-line);border-bottom:1px solid var(--wt-line);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.pf-marquee__track{display:flex;gap:34px;width:max-content;animation:pf-marquee 60s linear infinite}
.pf-marquee:hover .pf-marquee__track{animation-play-state:paused}
.pf-marquee span{font:500 .8rem var(--wt-font);color:var(--wt-text-2)!important;white-space:nowrap;display:inline-flex;align-items:center;gap:34px}
.pf-marquee span::after{content:'';width:3px;height:3px;border-radius:50%;background:var(--wt-line-2)}
@keyframes pf-marquee{to{transform:translateX(-50%)}}
.pf-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:1100px){.pf-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.pf-tiles{grid-template-columns:1fr}}
.pf-tile{--c:var(--wt-accent);position:relative;display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:var(--pf-r);background:var(--wt-surface);border:1px solid var(--wt-line);text-decoration:none!important;overflow:hidden;transition:transform .35s var(--pf-ease),border-color .3s,box-shadow .3s}

.pf-tile[data-pf-b]{--c:var(--b)}
.pf-tile::before{content:'';position:absolute;inset:-1px;border-radius:inherit;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),color-mix(in srgb,var(--c) 18%,transparent),transparent 45%);opacity:0;transition:opacity .3s;pointer-events:none}
.pf-tile:hover{transform:translateY(-2px);border-color:var(--wt-line-2);box-shadow:0 12px 28px -22px rgba(0,0,0,.5)}
.pf-tile:hover::before{opacity:1}
.pf-tile__ico{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 14%,transparent);border:1px solid color-mix(in srgb,var(--c) 35%,transparent);color:var(--c)!important;font:700 .9rem var(--wt-mono);transition:transform .35s var(--pf-ease),background .3s}
.pf-tile:hover .pf-tile__ico{transform:translateY(-2px);background:color-mix(in srgb,var(--c) 22%,transparent)}
.pf-tile__ico .pf-bi{width:21px;height:21px}
.pf-tile__n{position:absolute;top:22px;right:22px;font:600 .68rem var(--wt-mono);letter-spacing:.08em;color:var(--wt-muted)}
.pf-tile__t{font-weight:700;font-size:1.04rem;color:var(--wt-text)!important;margin:4px 0 0!important}
.pf-tile__d{font-size:.88rem;color:var(--wt-text-2)!important;margin:0!important;flex:1;line-height:1.55}
.pf-tile__go{font:700 .78rem var(--wt-font);color:var(--c)!important;display:inline-flex;align-items:center;gap:6px}
.pf-tile__go::after{content:'→';transition:transform .25s var(--pf-ease)}
.pf-tile:hover .pf-tile__go::after{transform:translateX(4px)}

.pf-toolbar{position:sticky;top:14px;z-index:20;display:grid;gap:12px;margin:0 0 22px;padding:14px;border-radius:var(--pf-r);background:color-mix(in srgb,var(--wt-surface) 90%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--wt-line);box-shadow:var(--wt-shadow)}
body.admin-bar .pf-toolbar{top:46px}
@media (max-width:921px){.pf-toolbar{position:static}}
.pf-toolbar__row{display:flex;flex-wrap:wrap;gap:10px}
.pf-toolbar .wt-search{flex:1 1 260px}
body.wt .pf-toolbar input[type=search]{padding-left:36px!important}
body.wt .pf-toolbar select{width:auto;min-width:190px;cursor:pointer}
@media (max-width:640px){body.wt .pf-toolbar select{flex:1 1 100%;min-width:0}}
.pf-toolbar__foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.pf-count{font:500 .74rem var(--wt-mono);color:var(--wt-muted)!important;margin:0!important}
.pf-reset{background:none!important;border:0!important;padding:0!important;font:600 .76rem var(--wt-font)!important;color:var(--wt-accent)!important;cursor:pointer}
.pf-reset[hidden],.pf-empty[hidden]{display:none}
.pf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:18px}
@media (max-width:640px){.pf-grid{grid-template-columns:1fr}}
.pf-real{--c:var(--wt-accent);position:relative;display:flex;flex-direction:column;border-radius:var(--pf-r);background:var(--wt-surface);border:1px solid var(--wt-line);box-shadow:var(--wt-shadow);overflow:hidden;transition:transform .35s var(--pf-ease),border-color .3s,box-shadow .3s}
.pf-real[hidden]{display:none!important}
.pf-real:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--c) 45%,var(--wt-line));box-shadow:0 22px 44px -26px color-mix(in srgb,var(--c) 70%,transparent)}
.pf-real[data-dom=windows]{--c:var(--wt-info)}.pf-real[data-dom=systemes]{--c:var(--wt-ok)}.pf-real[data-dom=reseau]{--c:var(--wt-violet)}.pf-real[data-dom=securite]{--c:var(--wt-crit)}.pf-real[data-dom=virtu]{--c:var(--wt-accent)}.pf-real[data-dom=m365]{--c:var(--wt-pink)}.pf-real[data-dom=support]{--c:var(--wt-high)}
.pf-real__media{position:relative;aspect-ratio:16/9;overflow:hidden;background:#050811;border-bottom:1px solid var(--wt-line)}
.pf-real__media img{width:100%;height:100%;object-fit:cover;border-radius:0!important;display:block;transition:transform .6s var(--pf-ease),filter .4s;filter:saturate(.9)}
.pf-real:hover .pf-real__media img{transform:scale(1.045);filter:saturate(1.05)}
.pf-real__media pre{margin:0!important;height:100%;border:0!important;border-radius:0!important;box-shadow:none!important;padding:16px!important;font-size:.72rem!important;line-height:1.65!important;background:linear-gradient(180deg,#050811,#08101f)!important;overflow:hidden!important;white-space:pre!important}
.pf-real__media pre::before,.pf-modal__media pre::before{display:none!important}
.pf-real__media .wt-copy,.pf-modal__media .wt-copy{display:none!important}
.pf-real__media::after{content:'';position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(transparent,color-mix(in srgb,var(--wt-surface) 85%,transparent));pointer-events:none}
.pf-real__num{position:absolute;top:12px;left:12px;z-index:2;font:700 .7rem var(--wt-mono);letter-spacing:.08em;padding:4px 9px;border-radius:7px;background:rgba(5,8,17,.78);color:#E6ECF7!important;border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(6px)}
.pf-real__body{display:flex;flex-direction:column;gap:10px;padding:18px 20px 20px;flex:1}
.pf-real__meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pf-dom{font:600 .7rem var(--wt-font);letter-spacing:.02em;display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;color:var(--c)!important;background:color-mix(in srgb,var(--c) 12%,transparent);border:1px solid color-mix(in srgb,var(--c) 32%,transparent)}
.pf-dom::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}
.pf-real__title{font-size:1.06rem!important;font-weight:700!important;line-height:1.35!important;margin:0!important}
.pf-real__sum{font-size:.88rem;line-height:1.6;color:var(--wt-text-2)!important;margin:0!important;flex:1}
.pf-real .pf-chips li{font-size:.68rem;padding:3px 8px}
.pf-real__foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:12px;margin-top:2px;border-top:1px solid var(--wt-line)}
.pf-comps{display:flex;gap:4px}
.pf-comps i{width:9px;height:9px;border-radius:3px;background:var(--wt-line-2);display:inline-block}
.pf-comps i.on{background:var(--c)}
.pf-real details{display:contents}
.pf-real summary{list-style:none;cursor:pointer;font:700 .8rem var(--wt-font);color:var(--c)!important;display:inline-flex;align-items:center;gap:6px}
.pf-real summary::-webkit-details-marker{display:none}
.pf-real summary::after{content:'→';transition:transform .25s var(--pf-ease)}
.pf-real summary:hover::after{transform:translateX(4px)}
.pf-real .pf-detail{padding:0 20px 20px}
html.pf-js .pf-real .pf-detail{display:none!important}
.pf-empty{grid-column:1/-1;padding:48px;text-align:center;border:1px dashed var(--wt-line-2);border-radius:var(--pf-r);color:var(--wt-muted)!important}
.pf-modal{padding:0;margin:auto;width:min(880px,calc(100vw - 32px));max-height:calc(100vh - 48px);border-radius:20px;background:var(--wt-surface);color:var(--wt-text);box-shadow:0 40px 90px -30px rgba(0,0,0,.85);border:1px solid var(--wt-line-2);overflow:hidden}
.pf-modal::backdrop{background:rgba(3,6,14,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}

.pf-modal__scroll{max-height:calc(100vh - 48px);overflow-y:auto;overscroll-behavior:contain}
.pf-modal__head{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 26px 18px;background:color-mix(in srgb,var(--wt-surface) 94%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--wt-line)}
.pf-modal__head h2{font-size:clamp(1.2rem,2.4vw,1.55rem)!important;margin:8px 0 0!important;line-height:1.25!important}
.pf-modal__close{flex:none;width:38px;height:38px;border-radius:10px!important;border:1px solid var(--wt-line-2)!important;background:var(--wt-bg-2)!important;color:var(--wt-text)!important;cursor:pointer;font-size:1.1rem;display:grid;place-items:center;padding:0!important;transition:transform .25s var(--pf-ease)}
.pf-modal__close:hover{border-color:var(--wt-accent)!important;color:var(--wt-accent)!important;transform:rotate(90deg)}
.pf-modal__media{border-bottom:1px solid var(--wt-line);background:#050811;max-height:320px;overflow:hidden}
.pf-modal__media img{width:100%;max-height:320px;object-fit:cover;border-radius:0!important;display:block}
.pf-modal__media pre{margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:18px 26px!important}
.pf-modal__body{padding:24px 26px 8px}
.pf-modal__nav{display:flex;justify-content:space-between;gap:10px;padding:16px 26px 24px;border-top:1px solid var(--wt-line);margin-top:18px}
.pf-modal__nav button{background:transparent!important;border:1px solid var(--wt-line-2)!important;color:var(--wt-text-2)!important;border-radius:10px!important;padding:9px 14px!important;font:600 .8rem var(--wt-font)!important;cursor:pointer}
.pf-modal__nav button:hover:not([disabled]){border-color:var(--wt-accent)!important;color:var(--wt-accent)!important}
.pf-modal__nav button[disabled]{opacity:.35;cursor:default}
.pf-detail h4{font:600 .7rem var(--wt-mono)!important;letter-spacing:.12em;text-transform:uppercase;color:var(--wt-accent)!important;margin:22px 0 10px!important}
.pf-detail h4:first-child{margin-top:0!important}
.pf-detail p,.pf-detail li{color:var(--wt-text-2)!important;font-size:.95rem}
.pf-detail ol{counter-reset:st;list-style:none;padding:0!important;margin:0!important;display:grid;gap:8px}
.pf-detail ol li{counter-increment:st;position:relative;padding:10px 14px 10px 50px;margin:0!important;border-radius:10px;background:var(--wt-surface-2);border:1px solid var(--wt-line)}
.pf-detail ol li::before{content:counter(st,decimal-leading-zero);position:absolute;left:12px;top:9px;font:700 .72rem var(--wt-mono);color:var(--wt-accent);padding:2px 6px;border-radius:6px;background:var(--wt-accent-soft)}
.pf-detail ul{padding-left:20px;margin:0!important}
.pf-detail ul li::marker{color:var(--wt-accent)}
.pf-result{margin:22px 0 0;padding:14px 16px;border-radius:12px;background:color-mix(in srgb,var(--wt-ok) 9%,transparent);border:1px solid color-mix(in srgb,var(--wt-ok) 30%,transparent);border-left:3px solid var(--wt-ok);color:var(--wt-text-2)}
.pf-result b{color:var(--wt-ok)!important}
.pf-detail ul.pf-complist{display:flex;flex-wrap:wrap;gap:6px;margin:0!important;padding:0!important;list-style:none}
.pf-complist li{margin:0!important;font-size:.76rem!important;padding:4px 10px;border-radius:999px;background:var(--wt-accent-soft);color:var(--wt-accent)!important;border:1px solid color-mix(in srgb,var(--wt-accent) 28%,transparent)}
.pf-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.pf-company{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:18px;margin:0 0 40px}
@media (max-width:900px){.pf-company{grid-template-columns:1fr}}
.pf-company .pf-panel{border-top:2px solid var(--wt-high)}
.pf-company.pf-company--lab .pf-panel{border-top-color:var(--wt-ok)}
.pf-company--lab .pf-facts dd{overflow-wrap:anywhere}
.pf-facts{display:grid;gap:0;margin:0}
.pf-facts div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:10px 0;border-bottom:1px dashed var(--wt-line)}
.pf-facts div:last-child{border-bottom:0}
.pf-facts dt{font:600 .66rem var(--wt-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--wt-muted);padding-top:3px}
.pf-facts dd{margin:0;color:var(--wt-text);font-size:.92rem}
.pf-ctx{display:inline-flex;align-items:center;gap:6px;font:600 .64rem var(--wt-mono);letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:6px;color:var(--wt-ok)!important;border:1px dashed color-mix(in srgb,var(--wt-ok) 55%,transparent);background:color-mix(in srgb,var(--wt-ok) 8%,transparent);vertical-align:middle;line-height:1.4}
.pf-ctx-note{margin:0 0 18px!important;padding:10px 14px;border-left:3px solid var(--wt-ok);border-radius:8px;background:color-mix(in srgb,var(--wt-ok) 8%,transparent);font-size:.88rem!important;color:var(--wt-text-2)}
.pf-ctx-note b{color:var(--wt-ok)}
.pf-timeline{position:relative;list-style:none;margin:0!important;padding:0 0 0 28px!important;display:grid;gap:18px}
.pf-timeline::before{content:'';position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:var(--wt-line-2)}
.pf-timeline>li{position:relative;margin:0!important}
.pf-timeline>li::before{content:'';position:absolute;left:-25px;top:26px;width:12px;height:12px;border-radius:50%;background:var(--wt-bg);border:2px solid var(--wt-accent);box-shadow:0 0 0 4px var(--wt-accent-soft)}
.pf-timeline>li.is-now::before{background:var(--wt-accent);animation:wt-pulse 1.8s infinite}

.pf-cert{display:flex;flex-direction:column;gap:12px}
.pf-cert__head{display:flex;align-items:center;gap:14px}
.pf-cert__logo{width:48px;height:48px;flex:none;border-radius:12px;display:grid;place-items:center;font:800 .9rem var(--wt-mono);color:var(--c,var(--wt-accent))!important;background:color-mix(in srgb,var(--c,var(--wt-accent)) 14%,transparent);border:1px solid color-mix(in srgb,var(--c,var(--wt-accent)) 35%,transparent)}
.pf-cert__head h3{margin:0!important}
.pf-cert__head small{display:block;color:var(--wt-muted);font-size:.8rem;margin-top:2px}
.pf-badge{display:inline-flex;align-items:center;gap:6px;font:600 .66rem var(--wt-mono);letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:6px;width:max-content}
.pf-badge.ok{color:var(--wt-ok)!important;background:color-mix(in srgb,var(--wt-ok) 12%,transparent)}
.pf-badge.run{color:var(--wt-warn)!important;background:color-mix(in srgb,var(--wt-warn) 12%,transparent)}
.pf-badge.plan{color:var(--wt-info)!important;background:color-mix(in srgb,var(--wt-info) 12%,transparent)}
.pf-matrix-wrap{overflow-x:auto;border-radius:var(--pf-r);border:1px solid var(--wt-line);background:var(--wt-surface)}
body.wt table.pf-matrix{min-width:760px}
body.wt .pf-matrix th,body.wt .pf-matrix td{text-align:center;vertical-align:middle;padding:9px 10px!important}
body.wt .pf-matrix th:first-child,body.wt .pf-matrix td:first-child{text-align:left;position:sticky;left:0;background:var(--wt-surface)!important;z-index:1;min-width:260px}
body.wt .pf-matrix td:first-child{color:var(--wt-text)!important;font-size:.84rem}
body.wt .pf-matrix td:first-child span{font:600 .68rem var(--wt-mono);color:var(--wt-accent)!important;margin-right:8px}
.pf-yes{display:inline-block;width:12px;height:12px;border-radius:4px;background:var(--wt-accent);box-shadow:0 0 0 3px var(--wt-accent-soft)}
body.wt .pf-matrix tr.is-ent td:first-child span{color:var(--wt-high)!important}
body.wt .pf-matrix tr.is-ent .pf-yes{background:var(--wt-high);box-shadow:0 0 0 3px color-mix(in srgb,var(--wt-high) 20%,transparent)}
body.wt .pf-matrix tr.is-lab td:first-child span{color:var(--wt-ok)!important}
body.wt .pf-matrix tr.is-lab .pf-yes{background:var(--wt-ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--wt-ok) 20%,transparent)}
body.wt .pf-matrix tr.pf-sep td{background:var(--wt-surface-2)!important;font:600 .68rem var(--wt-mono)!important;letter-spacing:.1em;text-transform:uppercase;color:var(--wt-muted)!important;text-align:left}

.pf-contact{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:22px;align-items:start}
@media (max-width:980px){.pf-contact{grid-template-columns:1fr}}
.pf-contact .pf-panel{padding:28px}
.pf-side-list{display:grid;gap:12px}
.pf-side-list>a,.pf-side-list>div{display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:12px;background:var(--wt-surface-2);border:1px solid var(--wt-line);text-decoration:none!important;transition:border-color .25s,transform .25s var(--pf-ease),background .25s}
.pf-side-list>a:hover{border-color:var(--b,var(--wt-accent));background:color-mix(in srgb,var(--b,var(--wt-accent)) 6%,var(--wt-surface-2));transform:translateX(3px)}
.pf-side-list b{display:block;color:var(--wt-text)}
.pf-side-list small{display:block;color:var(--wt-muted)!important;font-size:.8rem}
.pf-side-list i{font-style:normal;width:38px;height:38px;flex:none;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--b,var(--wt-accent)) 14%,transparent);color:var(--b,var(--wt-accent))!important;font:700 .8rem var(--wt-mono)}
.pf-side-list i .pf-bi{width:19px;height:19px}
.pf-note-rgpd{font-size:.8rem!important;color:var(--wt-muted)!important;margin:14px 0 0!important}
body.wt .fluentform .ff-el-group{margin-bottom:18px}
body.wt .fluentform .ff-el-input--label label{color:var(--wt-text)!important;font-weight:600!important;font-size:.86rem!important}
body.wt .fluentform .ff-el-form-control{background:var(--wt-bg-2)!important;color:var(--wt-text)!important;border:1px solid var(--wt-line-2)!important;border-radius:10px!important;padding:11px 14px!important;font:500 .92rem var(--wt-font)!important}
body.wt .fluentform .ff-el-form-control:focus{border-color:var(--wt-accent)!important;box-shadow:0 0 0 3px var(--wt-accent-soft)!important}
body.wt .fluentform .ff-btn-submit{background:var(--wt-accent)!important;color:var(--wt-accent-ink)!important;border:0!important;border-radius:10px!important;padding:12px 22px!important;font:700 .9rem var(--wt-font)!important;transition:.2s!important}
body.wt .fluentform .error,body.wt .fluentform .text-danger{color:var(--wt-crit)!important;font-size:.8rem}
body.wt .ff-message-success{background:color-mix(in srgb,var(--wt-ok) 10%,transparent)!important;border:1px solid color-mix(in srgb,var(--wt-ok) 35%,transparent)!important;color:var(--wt-text)!important;border-radius:12px!important;padding:16px 18px!important;box-shadow:none!important}
body.wt .ff-message-success p{color:var(--wt-text)!important;margin:0!important}
.pf-legal{max-width:860px}
.pf-legal h2{font-size:1.25rem!important;margin:40px 0 12px!important;padding-top:6px}
.pf-legal h2::before{content:'§ ';color:var(--wt-accent);font-family:var(--wt-mono)}
.pf-legal p,.pf-legal li{color:var(--wt-text-2)}
.pf-toc{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 30px!important;padding:0!important;list-style:none}
.pf-toc li{margin:0!important}
.pf-toc a{display:inline-block;padding:6px 12px;border-radius:999px;border:1px solid var(--wt-line-2);font-size:.8rem;color:var(--wt-text-2)!important;text-decoration:none!important}
.pf-toc a:hover{border-color:var(--wt-accent);color:var(--wt-accent)!important}
.wt-proc-body>p:first-child em{font-size:1.05rem;color:var(--wt-text-2)}
.wt-proc-body h3{font-size:1.08rem!important;margin:26px 0 10px!important}
.wt-proc-body ul.wt-doc-list{padding-left:22px}
.wt-proc-body ul.wt-doc-list li{margin-bottom:7px}
.wt-proc-body ol.wt-doc-steps{counter-reset:st;list-style:none;padding:0!important;display:grid;gap:8px;margin:0 0 22px!important}
.wt-proc-body ol.wt-doc-steps>li{counter-increment:st;position:relative;padding:12px 14px 12px 54px;margin:0!important;border-radius:12px;background:var(--wt-surface);border:1px solid var(--wt-line)}
.wt-proc-body ol.wt-doc-steps>li::before{content:counter(st,decimal-leading-zero);position:absolute;left:14px;top:11px;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font:700 .74rem var(--wt-mono);color:var(--wt-accent);background:var(--wt-accent-soft)}
.wt-proc-body ol.wt-doc-steps>li pre{margin:10px 0 4px}
body.wt .wt-doc-table{display:block;overflow-x:auto;border:1px solid var(--wt-line)!important;border-radius:12px;margin:14px 0 24px!important}
.wt-callout{--c:var(--wt-info);display:grid;gap:4px;margin:16px 0 22px;padding:14px 16px 14px 18px;border-radius:12px;border:1px solid color-mix(in srgb,var(--c) 32%,transparent);border-left:3px solid var(--c);background:color-mix(in srgb,var(--c) 8%,transparent)}
.wt-callout__label{font:700 .66rem var(--wt-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--c)!important}
.wt-callout__body{color:var(--wt-text-2);font-size:.93rem}
.wt-callout--warn{--c:var(--wt-warn)}.wt-callout--high{--c:var(--wt-crit)}.wt-callout--tip{--c:var(--wt-ok)}
.pf-recap{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:0 0 28px}
.pf-recap div{padding:12px 14px;border-radius:12px;background:var(--wt-surface);border:1px solid var(--wt-line)}
.pf-recap dt{font:600 .64rem var(--wt-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--wt-muted);margin:0}
.pf-recap dd{margin:3px 0 0;color:var(--wt-text);font-size:.9rem;font-weight:600}
body.wt .wt-stats{display:none!important}
body.wt .wt-card{border-radius:var(--pf-r)}

.wt-sev.is-critique,.wt-sev.is-haute{position:relative}
.wt-live__status .wt-dot{position:relative}
body.wt .cmplz-cookiebanner{background:var(--wt-surface)!important;border:1px solid var(--wt-line-2)!important;border-radius:16px!important;box-shadow:0 30px 60px -20px rgba(0,0,0,.7)!important;color:var(--wt-text-2)!important;font-family:var(--wt-font)!important}
body.wt .cmplz-cookiebanner .cmplz-title,body.wt .cmplz-cookiebanner .cmplz-category-title{color:var(--wt-text)!important}
body.wt .cmplz-cookiebanner .cmplz-message,body.wt .cmplz-cookiebanner .cmplz-message p{color:var(--wt-text-2)!important;font-size:.88rem!important}
body.wt .cmplz-cookiebanner .cmplz-btn{border-radius:10px!important;font-weight:700!important;font-family:var(--wt-font)!important}
body.wt .cmplz-cookiebanner .cmplz-btn.cmplz-accept{background:var(--wt-accent)!important;border-color:var(--wt-accent)!important;color:var(--wt-accent-ink)!important}
body.wt .cmplz-cookiebanner .cmplz-btn:is(.cmplz-deny,.cmplz-view-preferences,.cmplz-save-preferences){background:transparent!important;border:1px solid var(--wt-line-2)!important;color:var(--wt-text)!important}
body.wt .cmplz-cookiebanner a{color:var(--wt-accent)!important}
body.wt .cmplz-cookiebanner .cmplz-category{background:var(--wt-surface-2)!important;border-radius:10px!important}body.wt .cmplz-service-header,body.wt .cmplz-dropdown{background:var(--wt-surface-2)!important;color:var(--wt-text)!important}body.wt .cmplz-service-header h3,body.wt .cmplz-service-header p{color:var(--wt-text)!important}
body.wt #cmplz-manage-consent .cmplz-manage-consent{background:var(--wt-surface)!important;color:var(--wt-text)!important;border:1px solid var(--wt-line-2)!important;border-radius:10px 10px 0 0!important}
.wt-footer__inner{grid-template-columns:1.2fr 1.8fr 1fr}
.wt-footer__nav a{position:relative}
.wt-footer__nav a::after{content:'';position:absolute;left:0;right:100%;bottom:-3px;height:1px;background:var(--b,var(--wt-accent));transition:right .3s var(--pf-ease)}
.wt-footer__nav a:hover{color:color-mix(in srgb,var(--b,var(--wt-accent)) 75%,var(--wt-text))!important}
.wt-footer__nav a:hover::after{right:0}
@media (max-width:1024px){.wt-footer__inner{grid-template-columns:1fr}}

[data-pf-b]{--b:var(--wt-accent)}
[data-pf-b=entreprise]{--b:var(--wt-high)}
[data-pf-b=homelab]{--b:var(--wt-ok)}
[data-pf-b=procedure]{--b:var(--wt-warn)}
[data-pf-b=competences],[data-pf-b=linkedin]{--b:var(--wt-info)}
[data-pf-b=veille]{--b:var(--wt-violet)}
[data-pf-b=certif]{--b:var(--wt-pink)}
[data-pf-b=parcours],[data-pf-b=externe]{--b:var(--wt-accent-2)}
[data-pf-b=contact]{--b:var(--wt-violet);--b2:var(--wt-pink)}
[data-pf-b=envoi]{--b:var(--wt-accent);--b2:var(--wt-violet)}
[data-pf-b=telechargement],[data-pf-b=impression]{--b:var(--wt-accent-2)}
[data-ext=xlsx]{--b:var(--wt-ok)}[data-ext=pptx]{--b:var(--wt-high)}[data-ext=docx]{--b:var(--wt-info)}[data-ext=pdf]{--b:var(--wt-crit)}
.pf-bi{display:inline-grid;place-items:center;flex:none;width:1.2em;height:1.2em;line-height:0;pointer-events:none}
.pf-bi svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;overflow:visible;transition:transform .35s var(--pf-ease)}
.pf-bi .i-led,.pf-bi .i-blip{fill:currentColor;stroke:none}
.pf-bi .i-line,.pf-bi .i-check{stroke-dasharray:1}
.pf-bi .i-route{stroke-dasharray:2.6 2.4}
.pf-bi .i-tassel{transform-origin:20px 10.4px}
.pf-bi .i-sweep{transform-origin:12px 12px}
.pf-bi .i-blip{transform-origin:16px 15px}
.pf-bi .i-flap{transform-origin:12px 6.6px;transition:transform .4s var(--pf-ease)}
.pf-bi .i-plus{transform-origin:19px 11px;transition:transform .4s var(--pf-ease)}
.pf-bi .i-handle{transition:transform .3s var(--pf-ease)}
body.wt .wt-btn[data-pf-b]{--b-bg:var(--b);position:relative;overflow:hidden;isolation:isolate;gap:9px;align-items:center;background:linear-gradient(135deg,var(--b-bg),color-mix(in srgb,var(--b2,var(--b-bg)) 80%,var(--b-bg)))!important;border:1px solid color-mix(in srgb,var(--b) 70%,transparent)!important;color:var(--wt-accent-ink)!important;box-shadow:0 10px 26px -16px var(--b);transition:transform .25s var(--pf-ease),box-shadow .25s,background .25s,border-color .25s,color .25s}
:root[data-theme="light"] body.wt .wt-btn[data-pf-b]{--b-bg:color-mix(in srgb,var(--b) 82%,#000)}
body.wt .wt-btn[data-pf-b]:hover{transform:translateY(-2px);box-shadow:0 16px 34px -16px var(--b),0 0 0 3px color-mix(in srgb,var(--b) 22%,transparent)}
body.wt .wt-btn[data-pf-b]:active{transform:translateY(0) scale(.98)}
body.wt .wt-btn[data-pf-b]:not(.is-ghost)::after{content:'';position:absolute;top:0;bottom:0;left:-60%;width:40%;z-index:-1;background:linear-gradient(100deg,transparent,rgba(255,255,255,.32),transparent);transform:skewX(-18deg);transition:left .6s var(--pf-ease);pointer-events:none}
body.wt .wt-btn[data-pf-b]:not(.is-ghost):hover::after{left:120%}
body.wt .wt-btn.is-ghost[data-pf-b]{background:color-mix(in srgb,var(--b) 7%,transparent)!important;border-color:color-mix(in srgb,var(--b) 38%,var(--wt-line-2))!important;color:var(--wt-text)!important;box-shadow:none}
body.wt .wt-btn.is-ghost[data-pf-b] .pf-bi{color:var(--b)}
body.wt .wt-btn.is-ghost[data-pf-b]:hover{background:color-mix(in srgb,var(--b) 14%,transparent)!important;border-color:var(--b)!important;color:color-mix(in srgb,var(--b) 75%,var(--wt-text))!important;box-shadow:0 12px 28px -18px var(--b)}
body.wt .wt-more[data-pf-b]{display:inline-flex;align-items:center;gap:7px;color:color-mix(in srgb,var(--b) 85%,var(--wt-text))!important}
body.wt .wt-more[data-pf-b]::after{content:none}
body.wt .wt-more[data-pf-b] .pf-bi{width:1.15em;height:1.15em}
body.wt .fluentform .ff-btn-submit[data-pf-b]{position:relative;overflow:hidden;isolation:isolate;display:inline-flex!important;align-items:center;gap:10px;background:linear-gradient(135deg,var(--b),var(--b2))!important;box-shadow:0 12px 28px -16px var(--b)!important}
:root[data-theme="light"] body.wt .fluentform .ff-btn-submit[data-pf-b]{background:linear-gradient(135deg,color-mix(in srgb,var(--b) 82%,#000),color-mix(in srgb,var(--b2) 82%,#000))!important}
body.wt .fluentform .ff-btn-submit[data-pf-b]:hover{transform:translateY(-2px);box-shadow:0 18px 34px -16px var(--b),0 0 0 3px color-mix(in srgb,var(--b) 22%,transparent)!important}
.wt-theme-toggle .pf-theme-ico{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;overflow:visible;transition:transform .5s var(--pf-ease)}
.wt-theme-toggle .pf-theme-ico :is(.i-sun,.i-moon){transform-origin:12px 12px;transition:transform .5s var(--pf-ease),opacity .3s}
:root:not([data-theme="light"]) .wt-theme-toggle .i-sun{opacity:0;transform:rotate(-90deg) scale(.4)}
:root[data-theme="light"] .wt-theme-toggle .i-moon{opacity:0;transform:rotate(90deg) scale(.4)}
.wt-theme-toggle:hover .pf-theme-ico{transform:rotate(-18deg)}
.pf-ripple{position:absolute;border-radius:50%;pointer-events:none;background:currentColor;opacity:.28;transform:scale(0);animation:pf-ripple .6s ease-out forwards;z-index:-1}
@keyframes pf-ripple{to{transform:scale(1);opacity:0}}
@keyframes pf-b-toss{35%{transform:translateY(-4px) rotate(-12deg)}70%{transform:translateY(1px) rotate(5deg)}}
@keyframes pf-b-swing{25%{transform:rotate(24deg)}55%{transform:rotate(-14deg)}80%{transform:rotate(6deg)}}
@keyframes pf-b-lift{40%{transform:translateY(-3px) rotate(-7deg)}70%{transform:translateY(.5px) rotate(3deg)}}
@keyframes pf-b-led{0%,49%{opacity:1}50%,100%{opacity:.15}}
@keyframes pf-b-write{from{stroke-dashoffset:1}}
@keyframes pf-b-flip{to{transform:rotateY(360deg)}}
@keyframes pf-b-spin{to{transform:rotate(360deg)}}
@keyframes pf-b-blip{0%,45%{opacity:0;transform:scale(.4)}55%{opacity:1;transform:scale(1.35)}100%{opacity:.25;transform:scale(1)}}
@keyframes pf-b-march{to{stroke-dashoffset:-10}}
@keyframes pf-b-fly{40%{transform:translate(10px,-10px) scale(.7);opacity:0}41%{transform:translate(-10px,10px) scale(.7);opacity:0}100%{transform:none;opacity:1}}
@keyframes pf-b-drop{0%{transform:translateY(-4px);opacity:0}35%{opacity:1}75%{transform:translateY(1px);opacity:1}100%{transform:translateY(2px);opacity:0}}
@keyframes pf-b-feed{0%,15%{transform:translateY(-2.5px)}65%,100%{transform:translateY(1.5px)}}
@keyframes pf-b-bounce{50%{transform:translateY(3px)}}
@media (prefers-reduced-motion:no-preference){
[data-pf-b=centre]:is(:hover,:focus-visible,.is-hot) .pf-bi svg{animation:pf-b-toss .8s var(--pf-ease)}
[data-pf-b=centre]:is(:hover,:focus-visible,.is-hot) .i-tassel{animation:pf-b-swing 1s ease-in-out}
[data-pf-b=entreprise]:is(:hover,:focus-visible,.is-hot) .pf-bi svg{animation:pf-b-lift .7s var(--pf-ease)}
[data-pf-b=entreprise]:is(:hover,:focus-visible,.is-hot) .i-handle{transform:translateY(-1.6px)}
[data-pf-b=homelab]:is(:hover,:focus-visible,.is-hot) .i-led{animation:pf-b-led .6s linear infinite}
[data-pf-b=homelab]:is(:hover,:focus-visible,.is-hot) .i-led.l2{animation-delay:.3s}
[data-pf-b=procedure]:is(:hover,:focus-visible,.is-hot) .i-line{animation:pf-b-write .5s ease both}
[data-pf-b=procedure]:is(:hover,:focus-visible,.is-hot) .i-line.l2{animation-delay:.12s}
[data-pf-b=procedure]:is(:hover,:focus-visible,.is-hot) .i-line.l3{animation-delay:.24s}
[data-pf-b=competences]:is(:hover,:focus-visible,.is-hot) .i-check{animation:pf-b-write .45s ease both}
[data-pf-b=competences]:is(:hover,:focus-visible,.is-hot) .i-check.c2{animation-delay:.22s}
[data-pf-b=certif]:is(:hover,:focus-visible,.is-hot) .pf-bi svg{animation:pf-b-flip .9s var(--pf-ease)}
[data-pf-b=certif]:is(:hover,:focus-visible,.is-hot) .i-check{animation:pf-b-write .4s .45s ease both}
[data-pf-b=veille]:is(:hover,:focus-visible,.is-hot) .i-sweep{animation:pf-b-spin 1.4s linear infinite}
[data-pf-b=veille]:is(:hover,:focus-visible,.is-hot) .i-blip{animation:pf-b-blip 1.4s ease-out infinite}
[data-pf-b=parcours]:is(:hover,:focus-visible,.is-hot) .i-route{animation:pf-b-march .6s linear infinite}
[data-pf-b=contact]:is(:hover,:focus-visible,.is-hot) .i-flap{transform:scaleY(-1)}
[data-pf-b=envoi]:is(:hover,:focus-visible,.is-hot) .pf-bi svg,[data-pf-b=envoi].is-sending .pf-bi svg{animation:pf-b-fly 1s var(--pf-ease)}
[data-pf-b=linkedin]:is(:hover,:focus-visible,.is-hot) .i-plus{transform:rotate(90deg)}
[data-pf-b=telechargement]:is(:hover,:focus-visible,.is-hot) .i-arrow{animation:pf-b-drop 1s ease-in-out infinite}
[data-pf-b=impression]:is(:hover,:focus-visible,.is-hot) .i-paper{animation:pf-b-feed 1.1s ease-in-out infinite}
[data-pf-b=ancre]:is(:hover,:focus-visible,.is-hot) .pf-bi svg{animation:pf-b-bounce .9s ease-in-out infinite}
[data-pf-b=plus]:is(:hover,:focus-visible,.is-hot) .pf-bi svg{transform:rotate(90deg)}
[data-pf-b=externe]:is(:hover,:focus-visible,.is-hot) .pf-bi svg{transform:translate(2px,-2px)}
[data-pf-b=defaut]:is(:hover,:focus-visible,.is-hot) .pf-bi svg{transform:translateX(3px)}
}

@keyframes pf-shine{from{background-position:160% 0,0 0}to{background-position:-60% 0,0 0}}
@keyframes pf-ping{0%{opacity:.55;transform:scale(1)}75%,100%{opacity:0;transform:scale(1.28)}}
@keyframes pf-breathe{0%{opacity:.5;transform:scale(1)}100%{opacity:0;transform:scale(2.6)}}
@keyframes pf-live-in{from{opacity:0;transform:translateX(-8px)}}
@keyframes pf-intro{from{opacity:0;transform:translateY(14px)}}
@media (prefers-reduced-motion:no-preference){

html.pf-js .pf-hero2,html.pf-js .pf-intro{animation:pf-intro .7s var(--pf-ease) both}
body.wt .entry-title{background-image:linear-gradient(100deg,transparent 42%,color-mix(in srgb,var(--wt-accent) 35%,#fff) 50%,transparent 58%),linear-gradient(90deg,var(--wt-text),color-mix(in srgb,var(--wt-accent) 70%,var(--wt-text)));background-size:250% 100%,100% 100%;background-repeat:no-repeat;animation:pf-shine 1.8s var(--pf-ease) .25s 1 both}
.pf-h2::after{content:'';display:block;width:48px;height:2px;margin-top:10px;border-radius:2px;background:var(--wt-accent);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--pf-ease) .2s}
.is-in .pf-h2::after,.pf-h2.is-in::after{transform:scaleX(1)}
.wt-sev.is-critique::after,.wt-sev.is-haute::after{content:'';position:absolute;inset:-3px;border-radius:inherit;border:1px solid currentColor;opacity:0;animation:pf-ping 2.6s ease-out infinite;pointer-events:none}
.wt-sev.is-critique::after{animation-duration:1.7s}
.wt-live__status .wt-dot::after{content:'';position:absolute;inset:0;border-radius:50%;background:currentColor;animation:pf-breathe 2.4s ease-out infinite}
.pf-live-in{animation:pf-live-in .45s var(--pf-ease) both;animation-delay:calc(var(--i,0) * 35ms)}
}
@media (prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
html.pf-js .pf-reveal{opacity:1;transform:none}
.pf-marquee__track{animation:none!important;flex-wrap:wrap;width:auto}

}
@media print{
.pf-toolbar,.pf-side-bottom,.pf-marquee,.pf-modal{display:none!important}
html.pf-js .pf-reveal{opacity:1!important;transform:none!important}
html.pf-js .pf-real .pf-detail{display:block!important}
}
@property --pf-a{syntax:'<angle>';inherits:false;initial-value:0deg}@keyframes pf-spin-a{to{--pf-a:360deg}}@keyframes pf-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pf-rot{to{transform:rotate(360deg)}}@keyframes pf-scan{0%{transform:translateY(-100%)}100%{transform:translateY(400%)}}@keyframes pf-glow{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--b) 45%,transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--b) 0%,transparent)}}body.wt .site-title a{display:inline-flex!important;align-items:center;gap:11px}body.wt .site-title a::before,body.wt .wt-logo{content:var(--pf-ini,'')!important;display:inline-grid!important;place-items:center;flex:none;width:36px!important;height:36px!important;border-radius:11px!important;border:2px solid transparent!important;background:linear-gradient(var(--wt-bg-2),var(--wt-bg-2)) padding-box,linear-gradient(var(--wt-accent),var(--wt-accent)) border-box!important;background-size:auto!important;mask:none!important;-webkit-mask:none!important;font:800 .8rem/1 var(--wt-mono)!important;letter-spacing:.02em;color:var(--wt-accent)!important;-webkit-text-fill-color:var(--wt-accent)}body.wt .wt-logo::after{content:var(--pf-ini,'')}:root[data-theme=light] body.wt .site-title a::before,:root[data-theme=light] body.wt .wt-logo{background:linear-gradient(var(--wt-surface),var(--wt-surface)) padding-box,linear-gradient(var(--wt-accent),var(--wt-accent)) border-box!important}.pf-brand{display:grid;line-height:1.15}.pf-brand b{font-weight:800;color:var(--wt-text);font-size:1rem;letter-spacing:-.01em}.pf-brand small{font:600 .62rem var(--wt-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--wt-muted);margin-top:3px}body.wt .wt-theme-toggle{position:relative;width:58px!important;height:30px!important;border-radius:999px!important;padding:0!important;display:block!important;border:1px solid var(--wt-line-2)!important;background:linear-gradient(135deg,#0B1226,#1E2A52)!important;overflow:hidden;cursor:pointer;transition:background .4s,border-color .4s!important}.pf-sw-stars{position:absolute;inset:0;pointer-events:none}.pf-sw-stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;opacity:.8;transition:opacity .4s,transform .4s}.pf-sw-stars i:nth-child(1){top:8px;right:12px}.pf-sw-stars i:nth-child(2){top:17px;right:20px;width:1.5px;height:1.5px}.pf-sw-stars i:nth-child(3){top:11px;right:28px;width:1.5px;height:1.5px}.pf-sw-knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#E6ECF7;display:grid;place-items:center;box-shadow:0 2px 6px rgba(0,0,0,.45);transition:transform .45s var(--pf-ease),background .3s}.pf-sw-knob svg{width:14px;height:14px;fill:none;stroke:#1E2A52;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;overflow:visible}.pf-sw-knob .i-sun{display:none}.wt-theme-toggle:hover .pf-sw-knob{box-shadow:0 0 0 4px color-mix(in srgb,var(--wt-accent) 25%,transparent),0 2px 6px rgba(0,0,0,.45)}:root[data-theme=light] body.wt .wt-theme-toggle{background:linear-gradient(135deg,#FFC107,#FB923C)!important;border-color:transparent!important}:root[data-theme=light] .pf-sw-knob{transform:translateX(28px);background:#fff}:root[data-theme=light] .pf-sw-knob .i-sun{display:block}:root[data-theme=light] .pf-sw-knob .i-moon{display:none}:root[data-theme=light] .pf-sw-knob svg{stroke:#F59E0B}:root[data-theme=light] .pf-sw-stars i{opacity:0;transform:translateY(6px)}#pf-loader{display:none}html.pf-first #pf-loader{position:fixed;inset:0;z-index:100001;display:grid;place-content:center;justify-items:center;gap:18px;background:var(--wt-bg);transition:opacity .45s ease,visibility .45s;animation:pf-loader-out .45s 3s forwards}#pf-loader.is-done{opacity:0;visibility:hidden}@keyframes pf-loader-out{to{opacity:0;visibility:hidden}}@media (min-width:922px){body.wt #ast-desktop-header .main-header-menu .menu-item-has-children>.menu-link .ast-icon,body.wt #ast-desktop-header .ast-menu-toggle,body.wt #ast-desktop-header .dropdown-menu-toggle,body.wt #ast-desktop-header .ast-header-navigation-arrow{display:none!important}body.wt #ast-desktop-header .main-header-menu .sub-menu{position:static!important;display:block!important;visibility:visible!important;opacity:1!important;transform:none!important;box-shadow:none!important;border:0!important;border-left:1px solid var(--wt-line-2)!important;background:transparent!important;width:auto!important;min-width:0!important;margin:0 0 0 22px!important;padding:0 0 0 10px!important;max-height:0;overflow:hidden;transition:max-height .35s var(--pf-ease),margin .35s}body.wt #ast-desktop-header .main-header-menu>.menu-item:is(.current-menu-item,.current-menu-ancestor,.current-menu-parent,.current_page_parent,.current_page_ancestor)>.sub-menu,body.wt #ast-desktop-header .main-header-menu>.menu-item:is(:hover,:focus-within)>.sub-menu{max-height:220px;margin:2px 0 6px 22px!important;transition-delay:.12s}body.wt #ast-desktop-header .main-header-menu .sub-menu .menu-item{margin:0!important;width:100%}body.wt #ast-desktop-header .main-header-menu .sub-menu .menu-link{display:flex!important;align-items:center;gap:8px;padding:5px 10px!important;min-height:0!important;border-radius:8px;font-size:.8rem!important;font-weight:500!important;color:var(--wt-muted)!important;background:transparent!important;transition:color .2s,background .2s,transform .2s var(--pf-ease)}body.wt #ast-desktop-header .main-header-menu .sub-menu .menu-link::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--wt-line-2);flex:none;transition:background .2s}body.wt #ast-desktop-header .main-header-menu .sub-menu .menu-link:hover{color:var(--wt-text)!important;transform:translateX(3px)}body.wt #ast-desktop-header .main-header-menu .sub-menu :is(.current-menu-item,.current_page_item)>.menu-link{color:var(--wt-text)!important;background:color-mix(in srgb,var(--b,var(--wt-accent)) 10%,transparent)!important}body.wt #ast-desktop-header .main-header-menu .sub-menu :is(.current-menu-item,.current_page_item)>.menu-link::before,body.wt #ast-desktop-header .main-header-menu .sub-menu .menu-link:hover::before{background:var(--b,var(--wt-accent))}body.wt #ast-desktop-header .wt-menu-toggle{margin:10px 0 0 12px!important}}body.wt .entry-header.pf-head{position:relative;overflow:hidden;min-height:190px;padding-right:260px!important;border-radius:22px;background:radial-gradient(520px 260px at 88% 50%,color-mix(in srgb,var(--b) 16%,transparent),transparent 70%),linear-gradient(var(--wt-grid) 1px,transparent 1px) 0 0/26px 26px,linear-gradient(90deg,var(--wt-grid) 1px,transparent 1px) 0 0/26px 26px;border:1px solid var(--wt-line);isolation:isolate}body.wt .entry-header.pf-head::after{content:'';position:absolute;left:0;right:0;top:0;height:30%;background:linear-gradient(transparent,color-mix(in srgb,var(--b) 10%,transparent),transparent);pointer-events:none;animation:pf-scan 5s linear infinite;z-index:-1}.pf-hill{position:absolute;right:48px;top:50%;width:170px;height:170px;margin-top:-85px;display:grid;place-items:center;color:var(--b);pointer-events:none}.pf-hill__ring{position:absolute;inset:0;border-radius:50%;border:1px dashed color-mix(in srgb,var(--b) 45%,transparent);animation:pf-rot 24s linear infinite}.pf-hill__ring.r2{inset:22px;border-style:solid;border-color:color-mix(in srgb,var(--b) 22%,transparent);animation-duration:16s;animation-direction:reverse}.pf-hill__ring.r3{inset:-18px;border-color:color-mix(in srgb,var(--b) 14%,transparent);animation-duration:40s}.pf-hill__orb{position:absolute;inset:0;animation:pf-rot 9s linear infinite}.pf-hill__orb i{position:absolute;top:-4px;left:50%;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:var(--b);box-shadow:0 0 12px var(--b)}.pf-hill__orb.o2{inset:22px;animation-duration:6s;animation-direction:reverse}.pf-hill__orb.o2 i{width:6px;height:6px;background:var(--wt-violet);box-shadow:0 0 10px var(--wt-violet)}.pf-hill__core{position:relative;display:grid;place-items:center;width:84px;height:84px;border-radius:24px;border:2px solid transparent;background:linear-gradient(var(--wt-surface),var(--wt-surface)) padding-box,conic-gradient(from var(--pf-a),var(--b),var(--wt-violet),var(--b)) border-box;box-shadow:0 18px 40px -18px var(--b);animation:pf-spin-a 7s linear infinite,pf-float 5s ease-in-out infinite}.pf-hill__core .pf-bi{width:44px;height:44px}@media (max-width:921px){body.wt .entry-header.pf-head{padding-right:18px!important;min-height:0}.pf-hill{right:-30px;width:130px;height:130px;margin-top:-65px;opacity:.35}}.pf-tile__wm{position:absolute;right:-14px;bottom:-14px;width:108px;height:108px;opacity:.07;color:var(--c);transition:transform .6s var(--pf-ease),opacity .4s;pointer-events:none}.pf-tile:hover .pf-tile__wm{opacity:.16;transform:rotate(-8deg) scale(1.08)}.pf-annee{font:600 .64rem var(--wt-mono);letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:6px;color:var(--wt-text-2);background:var(--wt-bg-2);border:1px solid var(--wt-line-2)}.pf-cover{display:grid;gap:10px;margin:0 0 26px;padding:22px;border-radius:var(--pf-r);background:var(--wt-surface);border:1px solid var(--wt-line)}.pf-cover__row{display:grid;grid-template-columns:170px 1fr 70px;gap:14px;align-items:center;font-size:.86rem;color:var(--wt-text-2)}.pf-cover__bar{height:10px;border-radius:99px;background:var(--wt-bg-2);overflow:hidden}.pf-cover__bar i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--wt-accent),var(--wt-violet));transition:width 1.4s var(--pf-ease)}.pf-cover.is-in .pf-cover__bar i{width:var(--w)}.pf-cover__row b{font:700 .8rem var(--wt-mono);color:var(--wt-text);text-align:right}@media (max-width:640px){.pf-cover__row{grid-template-columns:1fr 60px}.pf-cover__bar{grid-column:1/-1;grid-row:2}}.pf-empty-year{display:flex;gap:18px;align-items:center;padding:28px;border-radius:var(--pf-r);border:1px dashed var(--wt-line-2);background:var(--wt-surface)}.pf-empty-year__ico{width:44px!important;height:44px!important;color:var(--wt-accent)}.pf-empty-year p{margin:0!important;color:var(--wt-text-2)}.pf-pipe{position:relative;list-style:none;margin:0!important;padding:0 0 0 64px!important;display:grid;gap:14px}.pf-pipe::before{content:'';position:absolute;left:23px;top:10px;bottom:10px;width:2px;background:var(--wt-line)}.pf-pipe::after{content:'';position:absolute;left:23px;top:10px;width:2px;height:calc((100% - 20px) * var(--pp,0));background:linear-gradient(var(--wt-accent),var(--wt-violet));box-shadow:0 0 12px var(--wt-accent);transition:height .2s linear}.pf-pipe>li{--b:var(--wt-accent);position:relative;margin:0!important;padding:18px 20px;border-radius:14px;background:var(--wt-surface);border:1px solid var(--wt-line);transition:border-color .3s,transform .3s var(--pf-ease)}.pf-pipe>li:hover{border-color:color-mix(in srgb,var(--b) 50%,var(--wt-line));transform:translateX(4px)}.pf-pipe h3{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 6px!important;font-size:1.02rem!important}.pf-pipe p{margin:0 0 10px!important;color:var(--wt-text-2);font-size:.92rem}@media (prefers-reduced-motion:no-preference){html.pf-js .pf-reveal{filter:blur(6px);transform:translateY(22px) scale(.985);transition:opacity .75s var(--pf-ease),transform .75s var(--pf-ease),filter .75s var(--pf-ease);transition-delay:var(--pf-d,0ms)}html.pf-js .pf-reveal.is-in{filter:none}body.wt .wt-btn[data-pf-b]:not(.is-ghost){animation:pf-glow 3.6s ease-out 1.5s infinite}}@media print{#pf-loader,.pf-hill{display:none!important}}body.wt .entry-header.pf-head .entry-title{position:relative;z-index:1}@media (max-width:600px){.pf-hill{right:-24px;top:14px;margin-top:0;width:96px;height:96px;opacity:.22}}body.wt .site-title a.pf-has-logo::before{display:none!important}.pf-logo{position:relative;display:inline-grid;place-items:center;flex:none;width:42px;height:42px}.pf-logo svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.pf-logo b{position:relative;margin-top:-2px;font:800 .78rem/1 var(--wt-mono);letter-spacing:.02em;color:var(--wt-text);-webkit-text-fill-color:var(--wt-text)}.pf-side-theme{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:9px 12px;border-radius:12px;border:1px solid var(--wt-line);background:var(--wt-surface)}.pf-side-theme>span{font:600 .64rem var(--wt-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--wt-muted)}.pf-side-theme .wt-theme-toggle{margin:0!important}.pf-xl{margin:0 0 28px;border-radius:var(--pf-r);border:1px solid var(--wt-line-2);background:var(--wt-surface);overflow:hidden}.pf-xl__bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--wt-line);background:linear-gradient(90deg,color-mix(in srgb,#21A366 16%,transparent),transparent 60%)}.pf-xl__ico{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;color:#fff;background:#21A366}.pf-xl__ico svg{width:17px;height:17px}.pf-xl__bar b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 .82rem var(--wt-mono);color:var(--wt-text)}.pf-xl__act{display:flex;gap:8px}.pf-xl__act .wt-btn{padding:7px 14px!important;font-size:.8rem!important}.pf-xl__frame{position:relative;height:min(78vh,720px);background:#fff}.pf-xl__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}@media (max-width:640px){.pf-xl__frame{height:70vh}}

/* ============================================================
   WatchTower - application de la regle "couleur = etat"
   Les couleurs qui distinguaient des CATEGORIES (type d'icone,
   domaine d'une realisation, extension de fichier) passent en
   accent unique : la categorie est deja ecrite en toutes lettres
   a cote. Les couleurs de CRITICITE (.wt-sev, veille SOC) ne sont
   pas touchees : ce sont les seules saturations de la page, donc
   les seules qui alertent. Supprimer ce bloc pour revenir en arriere.
   ============================================================ */
[data-pf-b],
[data-pf-b=entreprise],[data-pf-b=homelab],[data-pf-b=procedure],
[data-pf-b=competences],[data-pf-b=linkedin],[data-pf-b=veille],
[data-pf-b=certif],[data-pf-b=parcours],[data-pf-b=externe],
[data-pf-b=contact],[data-pf-b=envoi],
[data-pf-b=telechargement],[data-pf-b=impression]{--b:var(--wt-accent);--b2:var(--wt-accent)}

[data-ext=xlsx],[data-ext=pptx],[data-ext=docx],[data-ext=pdf]{--b:var(--wt-muted)}

.pf-real[data-dom=windows],.pf-real[data-dom=systemes],.pf-real[data-dom=reseau],
.pf-real[data-dom=securite],.pf-real[data-dom=virtu],.pf-real[data-dom=supervision],
.pf-real[data-dom=support],.pf-real[data-dom=m365]{--c:var(--wt-accent)}

/* Les etiquettes de theme de la veille sont des CATEGORIES : elles
   passent en neutre. Sinon "Vulnerabilites & CVE" portait le rouge
   de criticite juste a cote d'un badge HAUTE orange - deux rouges
   qui ne veulent pas dire la meme chose. Seul .wt-sev reste colore. */
.wt-cat.t1,.wt-cat.t2,.wt-cat.t3,.wt-cat.t4,
.wt-cat.t5,.wt-cat.t6,.wt-cat.t7,.wt-cat.t8,.wt-cat.t9{
  --c:var(--wt-muted)!important;
  color:var(--wt-text-2)!important;
  background:transparent!important;
  border-color:var(--wt-line-2)!important;
}

/* Le monospace redevient une police de donnees, pas de decor. */
.pf-tile__n,.pf-real__num,.pf-count,.pf-brand small{font-family:var(--wt-font)!important;letter-spacing:.04em}
.pf-tile__n,.pf-real__num{opacity:.55;font-weight:600}

/* ---------- Accessibilite et accueil (5 octobre 2026) ----------
   Repris de l'extrait 14 (Hermes) sans ses couleurs : le theme clair actuel passe
   deja le niveau AA (accent #1D6E8C 5,7:1 et ok #2F7D5C 5,0:1 sur blanc).
   1. Titres masques visuellement, lus par les lecteurs d'ecran (repli si le theme ne les masque pas).
   2. Liens dans le texte courant reconnaissables sans la couleur seule (WCAG 1.4.1).
   3. Badges d'etat lisibles en mode contraste force.
   4. Bandeau d'accueil sur une colonne quand il n'a pas de terminal. */
body.wt .screen-reader-text:not(:focus){position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
body.wt .entry-content :is(p,li,dd) a:not([class]){text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
@media (forced-colors:active){body.wt .pf-badge{border:1px solid CanvasText}}
.pf-hero2:not(:has(.pf-term,.pf-couches)){grid-template-columns:minmax(0,1fr)}

/* ---------- v4 (5 octobre 2026) : sobriete, logo, couches de l'accueil, exports ---------- */
/* Bandeau d'accueil : un seul halo, a la couleur d'accent, plus de cyan ni de violet herites */
:root .pf-hero2,:root[data-theme="light"] .pf-hero2{background:radial-gradient(720px 380px at 100% 0%,color-mix(in srgb,var(--wt-accent) 13%,transparent),transparent 70%),var(--wt-surface)}
/* En-tetes de page : anneaux immobiles */
.pf-hill__ring,.pf-hill__orb{animation:none!important}
.pf-hill__orb i{box-shadow:none}

/* Logo : carre aux initiales relie a un noeud du reseau */
.pf-logo--v4 svg{overflow:visible}
.pf-logo--v4 .pf-logo__sq{fill:var(--wt-accent)}
.pf-logo--v4 .pf-logo__ln{fill:none;stroke:var(--wt-accent);stroke-width:2.4;stroke-linecap:round}
.pf-logo--v4 .pf-logo__nd{fill:var(--wt-accent-2)}
.pf-logo--v4 b{position:absolute;left:7.5%;top:22.5%;width:70%;height:70%;display:grid;place-items:center;margin:0;font:700 .74rem/1 var(--wt-font,inherit);letter-spacing:.02em;color:var(--wt-accent-ink);-webkit-text-fill-color:var(--wt-accent-ink)}

/* Accueil : du cable au SIEM, les couches maitrisees */
.pf-couches{align-self:center;padding:22px 22px 16px;border-radius:18px;background:var(--wt-surface);border:1px solid var(--wt-line-2)}
.pf-couches__t{margin:0 0 4px!important;font:600 .74rem var(--wt-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--wt-accent)!important}
.pf-couches__s{margin:0 0 12px!important;font-size:.86rem;color:var(--wt-text-2)!important}
.pf-couches__pile{position:relative;padding-left:22px}
.pf-couches__pile::before{content:'';position:absolute;left:5px;top:16px;bottom:16px;width:2px;background:color-mix(in srgb,var(--wt-accent) 30%,var(--wt-line))}
.pf-couches ol{list-style:none;margin:0!important;padding:0!important}
.pf-couches li{position:relative;display:grid;gap:2px;margin:0!important;padding:8px 0;border-bottom:1px dashed var(--wt-line)}
.pf-couches li:last-child{border-bottom:0}
.pf-couches li::before{content:'';position:absolute;left:-21px;top:13px;width:10px;height:10px;border-radius:50%;background:var(--wt-surface);border:2px solid var(--wt-accent)}
.pf-couches li b{font-size:.95rem;color:var(--wt-text)}
.pf-couches li span{font:500 .78rem var(--wt-mono);color:var(--wt-text-2)}
.pf-couches__pkt{position:absolute;left:2px;bottom:16px;width:8px;height:8px;border-radius:50%;background:var(--wt-accent);opacity:0;animation:pf-paquet 7s cubic-bezier(.45,.05,.55,.95) 1.2s infinite}
@keyframes pf-paquet{0%{bottom:16px;opacity:0}8%{opacity:1}55%{bottom:calc(100% - 24px);opacity:1}62%,100%{bottom:calc(100% - 24px);opacity:0}}
@media (prefers-reduced-motion:reduce){.pf-couches__pkt{display:none}}
.pf-couches__bts{margin:12px 0 0!important;padding-top:10px;border-top:1px solid var(--wt-line);font-size:.8rem;color:var(--wt-text-2)!important}

/* Procedures : barre d'ouverture en Word ou en HTML */
.pf-export{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 24px;padding:12px 14px;border-radius:12px;background:var(--wt-surface);border:1px solid var(--wt-line-2)}
.pf-export__t{margin-right:auto;font-weight:600;color:var(--wt-text)}

/* Tableau Excel : plein ecran dans la page */
.pf-xl__frame:fullscreen{background:#fff}
.pf-xl__frame:fullscreen iframe{width:100vw!important;height:100vh!important;border:0}

/* PORTFOLIO-REPRISE-STYLE-BEGIN : anthracite, bleu franc, sans palette verte */
:root, :root[data-theme="dark"] {
 --wt-bg:#101217; --wt-bg-2:#151820; --wt-surface:#1b202b; --wt-surface-2:#232a36;
 --wt-text:#f2f5fc; --wt-text-2:#c4ccda; --wt-muted:#a6b1c3;
 --wt-line:#303949; --wt-line-2:#48566c;
 --wt-accent:#83adff; --wt-accent-2:#b7cfff; --wt-accent-ink:#102141;
 --wt-accent-soft:rgba(131,173,255,.12); --wt-grid:transparent; --wt-glow:none; --wt-shadow:none;
 --wt-ok:#91b8ff; --wt-info:#99b9fa; --wt-warn:#f0c577; --wt-high:#ffb088; --wt-crit:#ff969d;
 --wt-violet:#aaaef5; --wt-pink:#e5a9cf; --pf-r:12px; --pf-side:280px;
}
:root[data-theme="light"] {
 --wt-bg:#f3f5f9; --wt-bg-2:#eef1f7; --wt-surface:#fff; --wt-surface-2:#e8edf5;
 --wt-text:#182337; --wt-text-2:#34445b; --wt-muted:#52647d; --wt-line:#ccd5e3; --wt-line-2:#a2b2c9;
 --wt-accent:#254eb8; --wt-accent-2:#325bc6; --wt-accent-ink:#fff; --wt-accent-soft:rgba(37,78,184,.08);
 --wt-ok:#254eb8; --wt-info:#254eb8; --wt-warn:#865300; --wt-high:#a24719; --wt-crit:#b3273b;
 --wt-violet:#575ab0; --wt-pink:#984979;
}
html {background:var(--wt-bg);scroll-padding-top:34px}
body.wt,body.wt #page {background:var(--wt-bg)!important;color:var(--wt-text)}
body.wt #masthead {background:var(--wt-bg-2)!important;box-shadow:none!important}
body.wt #ast-desktop-header .ast-builder-grid-row {padding:24px 14px!important;gap:16px!important}
body.wt #ast-desktop-header .main-header-menu>.menu-item:not(.wt-menu-toggle)>.menu-link {min-height:44px;font-size:.86rem!important;padding:10px 12px!important;border-radius:7px;line-height:1.35!important}
body.wt #ast-desktop-header .main-header-menu>.menu-item>.menu-link::before {display:none!important}
body.wt #ast-desktop-header .main-header-menu .sub-menu {position:static!important;visibility:visible!important;opacity:1!important;transform:none!important;width:auto!important;box-shadow:none!important;background:transparent!important;border:0!important;border-left:1px solid var(--wt-line-2)!important;margin:2px 0 8px 16px!important;padding:0 0 0 10px!important}
body.wt #ast-desktop-header .main-header-menu .sub-menu a {padding:8px 10px!important;min-height:36px;font:500 .8rem/1.4 var(--wt-font)!important;color:var(--wt-text-2)!important;white-space:normal}
body.wt #ast-desktop-header .main-header-menu .sub-menu a:hover,body.wt #ast-desktop-header .main-header-menu .sub-menu a:focus-visible {color:var(--wt-accent)!important;background:var(--wt-accent-soft)!important}
/* GSB reste lié dans la page Centre, sans troisième niveau de menu. */
body.wt #masthead .menu-item-814 {display:none!important}
body.wt .entry-header {border:0!important;border-bottom:1px solid var(--wt-line)!important;border-radius:0!important;background:none!important;padding-top:44px!important;padding-bottom:30px!important;min-height:0!important}
body.wt .entry-header::after,body.wt .entry-header::before {display:none!important}
body.wt .pf-head {padding-right:32px!important}
body.wt .entry-title {font-size:clamp(1.9rem,3.4vw,3.3rem)!important;line-height:1.12!important;letter-spacing:-.035em!important;max-width:100%;animation:none!important}
.pf-hill,.pf-marquee,.pf-tile__wm {display:none!important}
:root .pf-hero2,:root[data-theme="light"] .pf-hero2 {background:var(--wt-surface)!important;border-radius:16px!important;box-shadow:none!important;border:1px solid var(--wt-line)!important;padding:40px!important;gap:32px}
.pf-hero2::after {display:none!important}
body.wt .pf-hero2 h1 {font-size:clamp(2.3rem,4.8vw,4.3rem)!important;line-height:1.05!important;font-weight:750!important}
.pf-hero2__hello,.pf-eyebrow,.pf-couches__t,.pf-side-card__status {font-family:var(--wt-font)!important;letter-spacing:.045em}
.pf-couches {background:var(--wt-bg-2);border-radius:10px;padding:24px}
.pf-couches li {padding:9px 0;border-bottom:1px solid var(--wt-line)}
.pf-couches li span {font-family:var(--wt-font);font-size:.83rem}
.pf-couches__pkt {display:none}
.pf-couches li::before {background:var(--wt-accent);width:7px;height:7px;left:-19.5px;border:0}
.pf-couches__pile::before {width:1px}
.pf-panel,.pf-real,.wt-card,.pf-tile,.pf-company .pf-panel {box-shadow:none!important;background:var(--wt-surface)!important;border:1px solid var(--wt-line)!important;border-radius:12px!important}
.pf-tile::before,.pf-tile::after,.pf-real::before,.wt-card::before {display:none!important}
.pf-tile__ico {background:transparent!important;border:0!important;box-shadow:none!important}
.pf-tile__n {display:none}
.pf-result,.pf-ctx-note {background:var(--wt-accent-soft);border-color:var(--wt-line-2);border-left-width:1px}
.pf-section {margin-top:50px}
.pf-lead {line-height:1.75;font-size:1.03rem}
.pf-h2 {font-weight:650!important}
body.wt .wt-btn {border-radius:7px!important;min-height:44px!important;box-shadow:none!important;transition:transform .16s ease,background-color .16s ease,border-color .16s ease!important}
body.wt .wt-btn:not(.is-ghost) {background:var(--wt-accent)!important;color:var(--wt-accent-ink)!important;border:1px solid var(--wt-accent)!important}
body.wt .wt-btn.is-ghost {background:transparent!important;border:1px solid var(--wt-line-2)!important;color:var(--wt-text)!important}
body.wt .wt-btn:hover {transform:translateY(-2px)!important}
body.wt .wt-btn:active {transform:translateY(0)!important}
body.wt :is(a,button,summary,input,select):focus-visible {outline:3px solid var(--wt-accent)!important;outline-offset:3px}
.pf-side-card {padding:12px;background:transparent;border:0}
.pf-side-bottom {gap:8px}
.pf-side-theme {background:transparent!important;border:0!important}
.pf-side-card .wt-dot {animation:none!important}
.pf-evidence {margin:26px 0;max-width:100%}
.pf-evidence img {width:100%;height:auto;display:block;border-radius:8px;border:1px solid var(--wt-line)}
.pf-evidence figcaption {margin-top:10px;color:var(--wt-text-2);font:400 .85rem/1.65 var(--wt-font)}
.pf-evidence a {display:block}

.pf-year-nav {display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}
.pf-year-nav a {padding:10px 16px;border:1px solid var(--wt-line-2);border-radius:6px;text-decoration:none!important;min-height:44px}
.pf-year-nav a:hover {background:var(--wt-accent-soft)}
@media (prefers-reduced-motion:no-preference){
 html.pf-js .pf-reveal{transform:translateY(9px);transition:opacity .3s ease,transform .3s ease;transition-delay:0ms!important}
 html.pf-js .pf-reveal.is-in{transform:none}
 .pf-real:hover,.wt-card:hover,a.pf-tile:hover{transform:translateY(-3px)!important;border-color:var(--wt-accent)!important;transition:transform .18s ease,border-color .18s ease}
 .pf-bi svg,.pf-bi svg *,.wt-dot,.pf-hill *,.wt-sev::after,.wt-live__status .wt-dot::after{animation:none!important}
}
@media(max-width:921px){body.wt .entry-header{padding-top:28px!important}body.wt .main-header-menu .menu-link{min-height:44px!important}body.wt .entry-content{padding:0 18px 55px}:root .pf-hero2{padding:26px 20px!important}.pf-year-nav{gap:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html.pf-js .pf-reveal{opacity:1!important;transform:none!important}}
/* PORTFOLIO-REPRISE-STYLE-END */

/* REPRISE-UI-FIX */
/* Local containment: sticky table cells must not enlarge the page scroll area. */
.pf-matrix-wrap {position:relative;contain:paint;max-width:100%;overflow:auto}
body.wt #ast-desktop-header .main-header-menu .sub-menu {max-height:none!important;height:auto!important;overflow:visible!important}

/* REPRISE-EVIDENCE */
.pf-equipment-label{display:flex;flex-direction:column;justify-content:center;gap:12px;min-height:180px;padding:32px;background:var(--wt-bg-2);color:var(--wt-text)}
.pf-equipment-label strong{font-size:1.5rem}.pf-equipment-label span{color:var(--wt-accent)}.pf-equipment-label small{color:var(--wt-muted);font-size:.75rem}

/* Portfolio — deux matières neutres ; accent de lecture séparé de l’émission. */
:root.pf-js{--ui-ease:cubic-bezier(.16,1,.3,1);--ui-space:clamp(22px,3vw,40px);--ui-radius:12px;--ui-shadow:0 8px 28px -18px rgba(15,24,40,.22)}
/* Les racines qualifiées dépassent les tokens historiques :root[data-theme]. */
:root.pf-js,
:root.pf-js[data-theme="dark"]{
 color-scheme:dark;
 --wt-bg:#131416;--wt-bg-2:#1b1d20;--wt-surface:#242629;--wt-surface-2:#2d3034;
 --wt-text:#f1f2f4;--wt-text-2:#c9cdd2;--wt-muted:#adb2b9;--wt-line:#3b3f45;--wt-line-2:#686e78;
 --wt-accent:#91b5fa;--wt-accent-2:#b2cbfc;--wt-accent-ink:#10203d;--wt-accent-soft:rgba(145,181,250,.13);
 --ui-control-hover:#28344b;--ui-control-pressed:#324362;--ui-primary-hover:#aec9ff;--ui-primary-pressed:#80a6ed;
 --pf-material-bg:#131416;--pf-fibre-light:#9abbff;
 --wt-info:var(--wt-accent);--wt-ok:var(--wt-accent);--wt-violet:var(--wt-accent);--wt-pink:var(--wt-accent);
}
:root.pf-js[data-theme="light"]{
 color-scheme:light;
 --wt-bg:#e4ecf6;--wt-bg-2:#edf3fa;--wt-surface:#f6f9fd;--wt-surface-2:#d7e4f4;
 --wt-text:#17263b;--wt-text-2:#374c66;--wt-muted:#43566f;--wt-line:#c2cedd;--wt-line-2:#657a96;
 --wt-accent:#2454aa;--wt-accent-2:#1b4289;--wt-accent-ink:#f6f9fd;--wt-accent-soft:rgba(36,84,170,.09);
 --ui-control-hover:#dce8f7;--ui-control-pressed:#cbdcf2;--ui-primary-hover:#1c468f;--ui-primary-pressed:#173b79;
 --pf-material-bg:#e4ecf6;--pf-fibre-light:#639aff;
 --wt-warn:#653a00;--wt-high:#762f12;--wt-crit:#83192c;
}
/* Les anciennes catégories ne déterminent plus la couleur des boutons. Les
 * criticités/erreurs conservent leurs tokens sémantiques, hors décoration. */
:root.pf-js body.wt [data-pf-b]{--b:var(--wt-accent);--b2:var(--wt-accent);--c:var(--wt-accent);--b-bg:var(--wt-accent)}
:root.pf-js{scrollbar-color:var(--wt-line-2) var(--wt-bg);scroll-padding-top:28px}
:root.pf-js ::selection{background:var(--wt-accent);color:var(--wt-accent-ink)}
:root.pf-js body.wt{font-size:16px;line-height:1.7}
:root.pf-js body.wt :is(input,textarea){caret-color:var(--wt-accent)}
:root.pf-js body.wt :is(input,select,textarea,button){font-family:var(--wt-font);font-size:.875rem}
:root.pf-js body.wt :is(input,select,textarea)::placeholder{color:var(--wt-muted)!important;opacity:1}
:root.pf-js body.wt :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--wt-accent)!important;outline-offset:4px!important;box-shadow:none!important}
:root.pf-js body.wt a{text-underline-offset:.2em}
:root.pf-js body.wt h1,:root.pf-js body.wt h2,:root.pf-js body.wt h3{text-wrap:balance}
:root.pf-js body.wt .entry-content{max-width:1280px;padding:0 var(--ui-space) 72px;font-size:1rem}
:root.pf-js body.wt .entry-content :is(p,li,dd){overflow-wrap:break-word}
:root.pf-js body.wt :is(.pf-intro,.pf-legal){max-width:74ch}
:root.pf-js body.wt :is(.pf-lead,.pf-sub){max-width:72ch;line-height:1.75}
:root.pf-js body.wt .pf-sub{font-size:.94rem}
:root.pf-js body.wt .pf-section{margin-top:clamp(38px,4vw,64px)}
:root.pf-js body.wt .pf-eyebrow{display:none}
:root.pf-js body.wt .pf-h2{font-size:clamp(1.35rem,2vw,1.9rem)!important;letter-spacing:-.025em;margin-bottom:12px!important}
:root.pf-js body.wt .pf-h2::after{display:none}
:root.pf-js body.wt :is(.pf-panel,.pf-tile){padding:clamp(20px,2.6vw,30px)}
:root.pf-js body.wt :is(.pf-panel,.pf-real,.wt-card,.pf-tile){border-radius:var(--ui-radius)!important;box-shadow:var(--ui-shadow)!important}
:root.pf-js body.wt .pf-panel h3{font-size:1.12rem!important;margin-bottom:14px!important;letter-spacing:-.015em}
:root.pf-js body.wt :is(.pf-grid-2,.pf-company,.pf-contact,.pf-evidence-grid){gap:24px}
:root.pf-js body.wt .pf-facts div{grid-template-columns:minmax(80px,130px) minmax(0,1fr)}
:root.pf-js body.wt :is(.pf-facts dt,.pf-stack dt,.pf-recap dt,.pf-detail h4,.wt-callout__label){font-family:var(--wt-font)!important;letter-spacing:.02em;text-transform:none;font-size:.8rem!important}

:root.pf-js body.wt :is(.pf-tile,.pf-real,.wt-card):hover{transform:none!important;border-color:var(--wt-line-2)!important}
:root.pf-js body.wt :is(.wt-callout,.pf-result,.pf-ctx-note){border-left-width:1px;border-right-width:1px}

/* Identité : la géométrie du SVG remplace aussi le carré vide du pied de page. */
:root.pf-js body.wt .site-title a::before{display:none!important;content:none!important}
:root.pf-js body.wt .ui-logo{display:inline-flex;position:relative;width:44px;height:44px;flex:0 0 44px;line-height:0}
:root.pf-js body.wt .ui-logo svg{display:block;width:100%;height:100%;position:static;overflow:visible}
:root.pf-js body.wt .pf-brand small{font-size:.66rem;letter-spacing:.025em;line-height:1.4;text-transform:none;margin-top:5px}
:root.pf-js body.wt #ast-desktop-header .ast-builder-grid-row{padding:24px 16px!important;gap:18px!important}
:root.pf-js body.wt #ast-desktop-header .main-header-menu .menu-link:hover{transform:none!important}
:root.pf-js body.wt .ui-legacy-toggle,:root.pf-js body.wt [hidden]{display:none!important}
:root.pf-js body.wt .ui-settings{display:flex;align-items:stretch;gap:12px;padding:16px 0 0;border-top:1px solid var(--wt-line);color:var(--wt-text)}
/* Les IDs Astra donnent priorité aux styles du switch sur les boutons génériques
 * des couches tardives (cinq :root, !important). Aucune marque ni boucle animée. */
:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) button[data-ui-theme]{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:1;min-width:0;min-height:44px;box-sizing:border-box;padding:8px;border:1px solid var(--wt-line-2)!important;border-radius:7px;background:var(--wt-surface)!important;color:var(--wt-text)!important;font-size:.75rem;font-weight:600;line-height:1.3;text-transform:none;letter-spacing:0;cursor:pointer;touch-action:manipulation}
:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) button[data-ui-theme] .ui-theme-copy{display:grid;gap:2px;text-align:left}
:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) button[data-ui-theme] [data-ui-theme-state]{color:var(--wt-muted);font-size:.7rem;font-weight:400}
:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) button[data-ui-theme] .ui-theme-track{position:relative;display:block;width:52px;height:28px;flex:0 0 52px;box-sizing:border-box;border:1px solid var(--wt-line-2);border-radius:999px;background:var(--wt-surface-2)}
:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) button[data-ui-theme] .ui-theme-thumb{position:absolute;left:1px;top:1px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--wt-accent);color:var(--wt-accent-ink)}
:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) button[data-ui-theme] svg{width:18px;height:18px;pointer-events:none}
:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) button[data-ui-theme] .ui-theme-sun{display:block}
:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) button[data-ui-theme] .ui-theme-moon{display:none}
:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) button[data-ui-theme][aria-checked="true"] .ui-theme-thumb{transform:translateX(24px)}
:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) button[data-ui-theme][aria-checked="true"] .ui-theme-sun{display:none}
:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) button[data-ui-theme][aria-checked="true"] .ui-theme-moon{display:block}
:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) button[data-ui-theme]:focus-visible{outline:3px solid var(--wt-accent)!important;outline-offset:4px!important;background:var(--ui-control-hover)!important;border-color:var(--wt-accent)!important}
@media(hover:hover) and (pointer:fine){:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) button[data-ui-theme]:hover{background:var(--ui-control-hover)!important;border-color:var(--wt-accent)!important}}
:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) button[data-ui-theme]:active{background:var(--ui-control-pressed)!important;border-color:var(--wt-accent)!important}
@media(forced-colors:active){
 :root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) button[data-ui-theme] .ui-theme-track{border-color:CanvasText;background:Canvas}
 :root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) button[data-ui-theme] .ui-theme-thumb{background:CanvasText;color:Canvas}
 :root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) button[data-ui-theme][aria-checked="true"] .ui-theme-thumb{background:Highlight;color:HighlightText}
}
:root.pf-js body.wt [data-ui-motion]{min-height:44px;padding:9px 12px;background:var(--wt-surface);color:var(--wt-text);border:1px solid var(--wt-line-2);border-radius:7px;line-height:1.3;cursor:pointer;font-size:.75rem}
:root.pf-js body.wt [data-ui-motion] span{display:block;color:var(--wt-muted);font-size:.7rem;margin-top:2px}
:root.pf-js body.wt [data-ui-motion]:disabled{cursor:default;opacity:1;border-style:dashed}
:root.pf-js body.wt .pf-side-card{padding:0 10px;background:none}
:root.pf-js body.wt .pf-side-card__status{font-size:.76rem;line-height:1.6}
@media(min-width:922px){:root.pf-js body.wt #ast-desktop-header .pf-side-bottom{display:grid!important;gap:14px;padding-top:20px!important;margin-top:auto!important}:root.pf-js body.wt #ast-mobile-header{display:none!important}}
@media(max-width:921px){
 :root.pf-js{scroll-padding-top:158px}
 :root.pf-js body.wt #masthead{position:sticky!important;top:0;z-index:200;width:100%!important;background:var(--wt-bg-2)!important;border-bottom:1px solid var(--wt-line)}
 :root.pf-js body.wt #ast-mobile-header .ast-builder-grid-row{padding:12px 18px!important;gap:12px;min-height:68px}
 :root.pf-js body.wt #ast-mobile-header .site-title a{gap:10px}
 :root.pf-js body.wt #ast-mobile-header .pf-brand b{font-size:.93rem}
 :root.pf-js body.wt #ast-mobile-header .pf-brand small{font-size:.62rem}
 :root.pf-js body.wt #ast-mobile-header .ui-settings{padding:7px 18px 12px!important;border-top:0;align-items:center;gap:14px;background:var(--wt-bg-2)}
 :root.pf-js body.wt #ast-mobile-header button[data-ui-theme]{flex:1;max-width:220px}
 :root.pf-js body.wt #ast-mobile-header [data-ui-motion]{min-width:116px;margin-left:auto}
 :root.pf-js body.wt #ast-mobile-header .menu-toggle{min-height:44px;min-width:44px}
 :root.pf-js body.wt .entry-content{padding-bottom:48px}
}

/* Pied éditorial, liens dérivés du menu et des données du profil. */
:root.pf-js body.wt .ui-footer{background:var(--wt-bg-2)!important;color:var(--wt-text);border-top:1px solid var(--wt-line);padding:42px var(--ui-space) 24px!important;margin-top:24px}@media(max-width:921px){:root.pf-js body.wt .ui-footer a,:root.pf-js body.wt a.ui-footer-brand{min-height:44px;display:inline-flex;align-items:center}}
:root.pf-js body.wt .ui-footer-main{display:grid;grid-template-columns:minmax(190px,1.4fr) 1fr 1.25fr .7fr;gap:32px;max-width:1200px;margin:0 auto 32px}
:root.pf-js body.wt .ui-footer-brand{display:flex;gap:12px;align-items:center;text-decoration:none!important;color:var(--wt-text)!important}
:root.pf-js body.wt .ui-footer-brand strong{font-size:1.1rem;letter-spacing:-.015em}
:root.pf-js body.wt .ui-footer-identity p{font-size:.85rem;line-height:1.65;margin:16px 0 0;max-width:32ch;color:var(--wt-text-2)}
:root.pf-js body.wt .ui-footer-identity p+p{margin-top:7px;color:var(--wt-muted);font-size:.8rem}
:root.pf-js body.wt .ui-footer-group{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
:root.pf-js body.wt .ui-footer-group h2{font-size:.86rem!important;line-height:1.5;font-weight:650;margin:4px 0 10px!important;color:var(--wt-text)}
:root.pf-js body.wt .ui-footer a{font-size:.84rem;line-height:1.55;color:var(--wt-text-2);text-decoration:none}
:root.pf-js body.wt .ui-footer a:hover{color:var(--wt-accent);text-decoration:underline}
:root.pf-js body.wt .ui-footer-bottom{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;max-width:1200px;margin:auto;border-top:1px solid var(--wt-line);padding-top:20px;font-size:.75rem;line-height:1.6;color:var(--wt-muted)}
:root.pf-js body.wt .ui-footer-bottom nav{display:flex;gap:18px;margin-left:auto}
:root.pf-js body.wt .ui-footer-bottom a{font-size:.75rem}
:root.pf-js body.wt .ui-footer-date{display:block;width:100%;font-variant-numeric:tabular-nums}
@media(max-width:1190px){:root.pf-js body.wt .ui-footer-main{grid-template-columns:1fr 1fr;gap:30px 36px}}
@media(max-width:560px){:root.pf-js body.wt .ui-footer-main{grid-template-columns:1fr 1fr;gap:28px 20px}:root.pf-js body.wt .ui-footer-identity{grid-column:1/-1}:root.pf-js body.wt .ui-footer-bottom nav{margin-left:0}}

/* Moment d’entrée unique : une icône dessinée, un fond de réseau immobile au repos. */
:root.pf-js body.wt .entry-header.ui-page-header{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:20px;position:relative;max-width:1280px;margin:0 auto 32px!important;padding:44px var(--ui-space) 30px!important;overflow:hidden;isolation:isolate}
:root.pf-js body.wt .ui-page-icon{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;color:var(--wt-accent);flex:none;position:relative;z-index:1}
:root.pf-js body.wt .ui-page-icon svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
:root.pf-js body.wt .entry-title{font-size:clamp(1.85rem,3.1vw,3.15rem)!important;letter-spacing:-.032em!important;line-height:1.18!important;position:relative;z-index:1}

:root.pf-js body.wt .pf-hero2>:not(.ui-wallpaper){position:relative;z-index:1}
:root.pf-js body.wt .pf-hero2{gap:36px;align-items:center;padding:clamp(26px,3vw,46px)!important;box-shadow:var(--ui-shadow)!important;border-radius:16px!important}
:root.pf-js body.wt .pf-hero2__hello{border:0;border-radius:0;background:none;padding:0;color:var(--wt-muted);font-size:.85rem;letter-spacing:0}
:root.pf-js body.wt .pf-hero2 h1{font-size:clamp(2.1rem,4.2vw,4rem)!important;letter-spacing:-.035em!important;line-height:1.13!important}
:root.pf-js body.wt .pf-couches{background:transparent;border:0;border-left:1px solid var(--wt-line);border-radius:0;padding:12px 0 12px 30px}
:root.pf-js body.wt .pf-couches__t{font-family:var(--wt-font);letter-spacing:0;text-transform:none;font-size:1.15rem;color:var(--wt-text)!important}
:root.pf-js body.wt .pf-couches li{padding:8px 0}
:root.pf-js body.wt .pf-couches li span{font-size:.84rem;color:var(--wt-text-2)}
:root.pf-js body.wt .pf-hero2__lead{font-size:1.03rem;line-height:1.8;max-width:55ch}
:root.pf-js body.wt :is(.pf-caret,.pf-couches__pkt,.pf-ripple,.pf-logo__dot){display:none!important}
:root.pf-js body.wt :is(.wt-dot,.pf-marquee__track,.pf-logo__tr,.pf-badge-live::before,.pf-live-in,.wt-sev::after,.pf-timeline>li::before,.wt-live__status .wt-dot::after,.pf-hill *){animation:none!important}
:root.pf-js body.wt .wt-btn[data-pf-b]:not(.is-ghost){animation:none!important}
:root.pf-js body.wt .pf-bi svg,:root.pf-js body.wt .pf-bi svg *{animation:none!important;transform:none!important}
:root.pf-js body.wt .wt-sev::after{content:none!important}
:root.pf-js body.wt .pf-reveal{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}

:root.pf-js body.wt :is(.wt-btn,.ui-reset,[data-ui-more],[data-ui-motion]){transition:background-color .16s ease,border-color .16s ease,color .14s ease!important}
:root.pf-js body.wt .wt-btn:is(:hover,:active){transform:none!important}
:root.pf-js body.wt .wt-btn::after{display:none!important}
:root.pf-js body.wt .pf-modal__close:hover{transform:none}

@media(prefers-reduced-motion:no-preference){
 
 
 
 :root.pf-js[data-ui-motion="on"] body.wt .ui-page-header:hover .ui-page-icon{transform:translateY(-1px);transition:transform .25s var(--ui-ease)}
}
:root.pf-js[data-ui-motion="off"]{scroll-behavior:auto}
:root.pf-js[data-ui-motion="off"] body.wt *,:root.pf-js[data-ui-motion="off"] body.wt *::before,:root.pf-js[data-ui-motion="off"] body.wt *::after{animation:none!important;transition:none!important}
:root.pf-js[data-ui-visibility="hidden"] body.wt *{animation-play-state:paused!important}

@media(prefers-reduced-motion:reduce){:root.pf-js body.wt *,:root.pf-js body.wt *::before,:root.pf-js body.wt *::after{animation:none!important;transition:none!important}:root.pf-js{scroll-behavior:auto}}
@media(max-width:980px){:root.pf-js body.wt .pf-couches{border-left:0;border-top:1px solid var(--wt-line);padding:26px 0 0}}
@media(max-width:560px){:root.pf-js body.wt .entry-header.ui-page-header{grid-template-columns:30px minmax(0,1fr);gap:12px;padding-top:28px!important}:root.pf-js body.wt .ui-page-icon,:root.pf-js body.wt .ui-page-icon svg{width:30px;height:30px}}

/* Veille : tableau de lecture compact, non sticky, catégories et sources en selects. */
:root.pf-js body.wt .ui-catalog-toolbar{position:static;display:block;padding:20px 22px;margin:22px 0 24px;background:var(--wt-bg-2);border:1px solid var(--wt-line);border-radius:12px;box-shadow:none;backdrop-filter:none}
:root.pf-js body.wt .ui-catalog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
:root.pf-js body.wt .ui-catalog-heading>p{margin:0;font-size:1rem;font-weight:650;color:var(--wt-text)}
:root.pf-js body.wt :is(.ui-reset,.ui-empty button){min-height:40px;border:0!important;border-radius:6px;background:transparent!important;color:var(--wt-accent)!important;font-weight:600;font-size:.82rem;padding:8px 10px!important;cursor:pointer}
:root.pf-js body.wt :is(.ui-reset,.ui-empty button):hover{text-decoration:underline;background:var(--wt-accent-soft)!important}
:root.pf-js body.wt .ui-filter-row{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(130px,1fr));gap:14px}
:root.pf-js body.wt .ui-field{display:grid;gap:7px;min-width:0;margin:0;font-weight:500;font-size:.78rem;color:var(--wt-text-2)}
:root.pf-js body.wt .ui-field :is(input,select){width:100%;min-width:0;max-width:100%;height:44px;margin:0;padding:9px 12px!important;border:1px solid var(--wt-line-2)!important;border-radius:7px!important;background-color:var(--wt-surface)!important;color:var(--wt-text)!important;box-shadow:none!important;font-size:.84rem!important;line-height:1.4}
:root.pf-js body.wt .ui-field select{cursor:pointer;padding-right:28px!important}
:root.pf-js body.wt .ui-catalog-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:18px}
:root.pf-js body.wt .ui-count{margin:0!important;color:var(--wt-text-2)!important;font-size:.84rem;font-variant-numeric:tabular-nums;line-height:1.6}
:root.pf-js body.wt .ui-view-controls{display:flex;gap:12px}
:root.pf-js body.wt .ui-view-controls .ui-field{min-width:116px}
:root.pf-js body.wt .ui-view-controls .ui-field:first-child{min-width:172px}
:root.pf-js body.wt .ui-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
:root.pf-js body.wt .wt-veille-card{display:flex;flex-direction:column;gap:0;padding:22px;min-width:0;overflow:hidden}
:root.pf-js body.wt .wt-veille-card .ui-source-date{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:16px;font-size:.77rem;line-height:1.5;color:var(--wt-muted);font-variant-numeric:tabular-nums}
:root.pf-js body.wt .ui-source-date>span{font-weight:650;color:var(--wt-text-2)}
:root.pf-js body.wt .ui-card-date{margin-left:auto;white-space:nowrap}
:root.pf-js body.wt .wt-veille-card .wt-card__head{display:block;margin:0 0 12px;padding:0;min-height:0}
:root.pf-js body.wt .wt-veille-card .wt-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px}
:root.pf-js body.wt .wt-veille-card .wt-cat{border:0!important;border-radius:0!important;padding:0!important;font-family:var(--wt-font)!important;font-size:.74rem!important;line-height:1.5;letter-spacing:0;white-space:normal;text-transform:none;color:var(--wt-muted)!important}
:root.pf-js body.wt .wt-sev{font-family:var(--wt-font)!important;letter-spacing:0;text-transform:none;font-size:.72rem!important;line-height:1.5;padding:3px 7px;border-radius:5px;font-weight:650}
:root.pf-js body.wt .wt-sev i{display:none}
:root.pf-js body.wt .wt-sev.is-info{color:var(--wt-info);background:color-mix(in srgb,var(--wt-info) 7%,var(--wt-surface));border:1px solid color-mix(in srgb,var(--wt-info) 30%,var(--wt-line))}
:root.pf-js body.wt .wt-sev.is-faible{color:var(--wt-ok);background:color-mix(in srgb,var(--wt-ok) 6%,var(--wt-surface))}
:root.pf-js body.wt .wt-sev.is-moyenne{color:var(--wt-warn);background:color-mix(in srgb,var(--wt-warn) 7%,var(--wt-surface))}
:root.pf-js body.wt .wt-sev.is-haute{color:var(--wt-high);background:color-mix(in srgb,var(--wt-high) 7%,var(--wt-surface))}
:root.pf-js body.wt .wt-sev.is-critique{color:var(--wt-crit);background:color-mix(in srgb,var(--wt-crit) 7%,var(--wt-surface))}
:root.pf-js body.wt .wt-veille-card .wt-card__title{font-size:1.13rem!important;line-height:1.42!important;letter-spacing:-.016em;font-weight:650;margin:0 0 14px!important;padding:0}
:root.pf-js body.wt .wt-card__title a{color:var(--wt-text)!important;text-decoration:none}
:root.pf-js body.wt .wt-card__title a:hover{color:var(--wt-accent)!important;text-decoration:underline}
:root.pf-js body.wt .wt-veille-card .wt-card__excerpt{font-size:.92rem!important;line-height:1.75!important;display:block;overflow:visible;color:var(--wt-text-2)!important;margin:0 0 20px!important;padding:0;flex:1;-webkit-line-clamp:unset}
:root.pf-js body.wt .wt-card__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:12px 0 0;margin-top:auto;border-top:1px solid var(--wt-line);font-size:.76rem;color:var(--wt-muted);line-height:1.5}
:root.pf-js body.wt .wt-more{font-family:var(--wt-font);font-size:.8rem;font-weight:600;min-height:32px}
:root.pf-js body.wt .wt-tags{gap:6px;margin:0 0 16px}
:root.pf-js body.wt .wt-tags .wt-tag{font-family:var(--wt-font);font-size:.72rem;background:transparent;border-color:var(--wt-line);color:var(--wt-text-2)}
:root.pf-js body.wt .ui-cve-badges{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
:root.pf-js body.wt .ui-cve-badges code{font-size:.74rem;background:var(--wt-bg-2);border:1px solid var(--wt-line);color:var(--wt-text-2);border-radius:4px;padding:2px 6px}
/* Fiches lisibles avant ouverture : règles limitées aux cartes de veille, dans les deux vues. */
:root:root:root:root.pf-js.ui-veille-fiches body.wt #primary .ui-catalog-grid:has(>.wt-veille-card){align-items:stretch}
:root:root:root:root.pf-js.ui-veille-fiches body.wt #primary .wt-veille-card{align-self:stretch;height:auto;min-width:0}
:root:root:root:root.pf-js.ui-veille-fiches body.wt #primary .wt-veille-card .ui-source-date{flex-wrap:nowrap;font-size:12px;line-height:1.5;margin-bottom:10px;min-width:0;color:var(--wt-muted)}
:root:root:root:root.pf-js.ui-veille-fiches body.wt #primary .wt-veille-card .ui-source-date>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:root:root:root:root.pf-js.ui-veille-fiches body.wt #primary .wt-veille-card .ui-card-date{flex-shrink:0;font-size:12px}
:root:root:root:root.pf-js.ui-veille-fiches body.wt #primary .wt-veille-card :is(.wt-cat,.wt-sev,.wt-tag,.wt-cve,.ui-cve-badges code){font-size:12px!important;line-height:1.5}
:root:root:root:root.pf-js.ui-veille-fiches body.wt #primary .wt-veille-card .wt-cat{display:inline-flex;align-items:center;min-height:44px}
:root:root:root:root.pf-js.ui-veille-fiches body.wt #primary .wt-veille-card .wt-card__head{margin-bottom:8px}
:root:root:root:root.pf-js.ui-veille-fiches body.wt #primary .wt-veille-card .wt-card__title{display:block;overflow:visible;line-height:1.42!important;min-height:4.26em;max-height:4.26em;margin-bottom:12px!important;text-wrap:wrap}
:root:root:root:root.pf-js.ui-veille-fiches body.wt #primary .wt-veille-card .wt-card__title a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;max-height:4.26em;min-height:44px}
:root:root:root:root.pf-js.ui-veille-fiches body.wt #primary .wt-veille-card .wt-card__excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;flex:0 0 auto;font-size:15px!important;line-height:1.65!important;min-height:4.95em;max-height:4.95em;margin:0 0 16px!important;overflow-wrap:anywhere;text-wrap:wrap}
/* Une phrase source ne doit pas perdre sa conséquence à cause du clamp. Réserve de cinq lignes, hauteur extensible. */
:root:root:root:root.pf-js.ui-veille-fiches body.wt #primary .wt-veille-card .wt-card__excerpt.ui-original-excerpt{display:block;-webkit-line-clamp:unset;line-clamp:unset;overflow:visible;min-height:8.25em;max-height:none}
:root:root:root:root.pf-js.ui-veille-fiches body.wt #primary .wt-veille-card .ui-excerpt-unavailable{visibility:hidden}
:root:root:root:root.pf-js.ui-veille-fiches body.wt #primary .wt-veille-card .ui-original-label{display:block;font-size:12px;line-height:18px;margin:0 0 4px;color:var(--wt-muted);grid-column:1/-1}
:root:root:root:root.pf-js.ui-veille-fiches body.wt #primary .wt-veille-card .wt-card__foot{display:flex;flex-wrap:nowrap;gap:8px;font-size:12px;line-height:1.5;min-width:0;margin-top:auto;padding-top:10px}
:root:root:root:root.pf-js.ui-veille-fiches body.wt #primary .wt-veille-card .wt-card__foot>span{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px}
:root:root:root:root:root:root:root.pf-js.ui-veille-fiches body.wt #primary .wt-veille-card a.wt-more{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:auto!important;min-height:44px;font-size:12px!important;line-height:1.5;white-space:nowrap;margin:0}
:root:root:root:root.pf-js.ui-veille-fiches body.wt #primary .ui-catalog-grid[data-ui-view="list"] .wt-veille-card .ui-cve-badges{grid-column:1/-1}
@media(min-width:601px){:root:root:root:root.pf-js.ui-veille-fiches body.wt #primary .ui-catalog-grid[data-ui-view="list"] .wt-veille-card .wt-card__title{min-height:44px}}
:root.pf-js body.wt .ui-catalog-grid[data-ui-view="list"]{grid-template-columns:1fr;gap:14px}
:root.pf-js body.wt .ui-catalog-grid[data-ui-view="list"] .wt-veille-card{display:grid;grid-template-columns:1fr 230px;gap:0 24px}
:root.pf-js body.wt .ui-catalog-grid[data-ui-view="list"] .ui-source-date{grid-column:1/-1;justify-content:flex-start;margin-bottom:12px}
:root.pf-js body.wt .ui-catalog-grid[data-ui-view="list"] .ui-card-date{margin-left:0}
:root.pf-js body.wt .ui-catalog-grid[data-ui-view="list"] .wt-card__head{grid-column:2;grid-row:2}
:root.pf-js body.wt .ui-catalog-grid[data-ui-view="list"] .wt-card__title{grid-column:1;grid-row:2}
:root.pf-js body.wt .ui-catalog-grid[data-ui-view="list"] .wt-card__excerpt{grid-column:1/-1;max-width:90ch}
:root.pf-js body.wt .ui-catalog-grid[data-ui-view="list"] .wt-card__foot{grid-column:1/-1}
:root.pf-js body.wt .ui-empty{grid-column:1/-1;padding:36px 24px;background:var(--wt-bg-2);border:1px dashed var(--wt-line-2);border-radius:12px}
:root.pf-js body.wt .ui-empty h3{font-size:1.2rem!important;margin:0 0 8px!important}
:root.pf-js body.wt .ui-empty p{margin:0 0 12px;font-size:.94rem}
:root.pf-js body.wt .ui-pagination{display:flex;flex-direction:column;align-items:center;gap:12px;margin:28px 0 36px}
:root.pf-js body.wt .ui-pagination p{font-size:.85rem;color:var(--wt-muted);margin:0}
:root.pf-js body.wt [data-ui-more]{min-height:44px;padding:10px 20px;border-radius:7px;background:var(--wt-surface);color:var(--wt-accent);border:1px solid var(--wt-line-2);font-weight:600;cursor:pointer}
:root.pf-js body.wt [data-ui-more]:hover{border-color:var(--wt-accent);background:var(--wt-accent-soft)}
@media(max-width:1240px){:root.pf-js body.wt .ui-filter-row{grid-template-columns:repeat(3,minmax(0,1fr))}:root.pf-js body.wt .ui-filter-row .ui-query{grid-column:1/-1}:root.pf-js body.wt .ui-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 :root.pf-js body.wt .ui-catalog-toolbar{padding:18px 16px}
 :root.pf-js body.wt .ui-filter-row{grid-template-columns:1fr 1fr;gap:12px}
 :root.pf-js body.wt .ui-filter-row .ui-field:last-child{grid-column:1/-1}
 :root.pf-js body.wt .ui-catalog-foot{display:block;margin-top:18px}
 :root.pf-js body.wt .ui-view-controls{margin-top:14px}
 :root.pf-js body.wt .ui-view-controls .ui-field{flex:1;min-width:0!important}
 :root.pf-js body.wt .ui-catalog-grid{grid-template-columns:1fr}
 :root.pf-js body.wt .ui-catalog-grid[data-ui-view="list"] .wt-veille-card{display:flex}
 :root.pf-js body.wt .ui-catalog-grid[data-ui-view="list"] .ui-card-date{margin-left:auto}
 :root.pf-js body.wt .wt-veille-card .wt-card__title{font-size:1.16rem!important}
}

/* Procédures : un index documentaire à lignes, pas une deuxième grille de veille. */
:root.pf-js body.wt .ui-procedure-toolbar{background:transparent;padding:20px 0;border-width:1px 0;border-radius:0;margin:24px 0 0}
:root.pf-js body.wt .ui-procedure-index{grid-template-columns:1fr!important;gap:0}
:root.pf-js body.wt .ui-procedure-index .wt-proc-card{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:0 32px;background:transparent!important;border:0!important;border-bottom:1px solid var(--wt-line)!important;border-radius:0!important;box-shadow:none!important;padding:26px 4px}
:root.pf-js body.wt .ui-procedure-index .wt-card__head{display:flex;gap:10px;align-items:center;grid-column:1/-1;padding:0;margin:0 0 12px;flex-wrap:wrap}
:root.pf-js body.wt .ui-procedure-index .wt-card__meta{margin:0}
:root.pf-js body.wt .ui-procedure-index .wt-cat{background:transparent!important;padding:0!important;border:0!important;font-family:var(--wt-font);text-transform:none;letter-spacing:0;font-size:.76rem}
:root.pf-js body.wt .ui-procedure-index .wt-ctx{font-family:var(--wt-font);background:var(--wt-bg-2);color:var(--wt-text-2);border:1px solid var(--wt-line);border-radius:4px;font-size:.72rem;letter-spacing:0;text-transform:none;padding:3px 8px}
:root.pf-js body.wt .ui-procedure-index .wt-card__title{grid-column:1;grid-row:2;padding:0;font-size:1.22rem!important;line-height:1.4!important;margin:0 0 10px!important}
:root.pf-js body.wt .ui-procedure-index .wt-card__excerpt{grid-column:1;grid-row:3;padding:0;display:block;line-height:1.7;font-size:.94rem;color:var(--wt-text-2);margin:0;max-width:68ch}
:root.pf-js body.wt .ui-procedure-index .wt-specs{grid-column:2;grid-row:2/span 2;display:flex;flex-direction:column;gap:9px;margin:0;padding:0 0 0 20px;border:0;border-left:1px solid var(--wt-line);background:transparent;border-radius:0}
:root.pf-js body.wt .ui-procedure-index .wt-specs div{display:grid;grid-template-columns:50px minmax(0,1fr);gap:10px;padding:0;background:none;border:0}
:root.pf-js body.wt .ui-procedure-index .wt-specs dt{font-family:var(--wt-font);font-size:.72rem;letter-spacing:0;text-transform:none;color:var(--wt-muted)}
:root.pf-js body.wt .ui-procedure-index .wt-specs dd{margin:0;font-size:.77rem;font-weight:500;color:var(--wt-text-2);line-height:1.55}
:root.pf-js body.wt .ui-procedure-index .wt-card__foot{grid-column:1/-1;justify-content:flex-start;gap:24px;border:0;padding:14px 0 0;margin:0}
@media(max-width:700px){
 :root.pf-js body.wt .ui-procedure-index .wt-proc-card{display:flex;flex-direction:column;padding:24px 0;gap:0}
 :root.pf-js body.wt .ui-procedure-index .wt-specs{border:0;border-top:1px dashed var(--wt-line);padding:14px 0 0;margin:16px 0 0;gap:8px}
 :root.pf-js body.wt .ui-procedure-index .wt-specs div{grid-template-columns:56px 1fr}
}

/* Réalisations : conserver les domaines, les compétences et le dialogue d’origine. */
:root.pf-js body.wt .ui-real-toolbar{position:static;border-radius:0;border:0;border-top:1px solid var(--wt-line);border-bottom:1px solid var(--wt-line);background:transparent;box-shadow:none;backdrop-filter:none;padding:20px 0;gap:16px}
:root.pf-js body.wt .ui-real-toolbar .pf-toolbar__row{align-items:flex-end;gap:12px}
:root.pf-js body.wt .ui-real-toolbar .wt-search{display:grid;gap:7px;min-width:0}
:root.pf-js body.wt .ui-real-toolbar .wt-search::before{display:none}
:root.pf-js body.wt .ui-real-label{font-size:.8rem;font-weight:600;color:var(--wt-text-2)}
:root.pf-js body.wt .ui-real-toolbar :is(input,select){min-height:44px;border:1px solid var(--wt-line-2);border-radius:7px;background-color:var(--wt-surface);color:var(--wt-text);padding:9px 12px!important;font-size:.85rem}
:root.pf-js body.wt .ui-real-toolbar select{min-width:0;max-width:100%}
:root.pf-js body.wt .ui-real-toolbar .wt-chips{gap:8px}
:root.pf-js body.wt .ui-real-toolbar .wt-chip{border-radius:5px;font-family:var(--wt-font);font-size:.76rem;letter-spacing:0;min-height:38px;line-height:1.4;padding:8px 10px}
:root.pf-js body.wt .ui-real-toolbar .wt-chip b{font-variant-numeric:tabular-nums}
:root.pf-js body.wt .pf-real__body{padding:22px;gap:12px}
:root.pf-js body.wt .pf-real__title{font-size:1.16rem!important;line-height:1.45!important}
:root.pf-js body.wt .pf-real__sum{font-size:.94rem;line-height:1.75}
:root.pf-js body.wt .pf-count{font-size:.8rem;font-family:var(--wt-font)}
@media(max-width:640px){:root.pf-js body.wt .ui-real-toolbar .pf-toolbar__row>*{width:100%;flex-basis:100%}}

/* Lecture : faits, analyse et source restent distincts ; pas d’illustration inventée. */
:root.pf-js body.wt .wt-single{max-width:1100px;margin:auto}
:root.pf-js body.wt .wt-hero.is-single{padding:28px 0 32px;background:transparent;border:0;border-bottom:1px solid var(--wt-line);margin:0 0 28px;border-radius:0}
:root.pf-js body.wt .wt-hero.is-single .ui-page-icon{margin-bottom:18px}
:root.pf-js body.wt .wt-hero__title{font-size:clamp(1.8rem,3vw,3rem);line-height:1.2;letter-spacing:-.03em;max-width:26ch;margin:20px 0}
:root.pf-js body.wt .wt-hero__lead{max-width:72ch;font-size:1.05rem;line-height:1.8;color:var(--wt-text-2)}
:root.pf-js body.wt .wt-meta{display:flex;flex-wrap:wrap;gap:18px;font-size:.83rem;color:var(--wt-muted);font-variant-numeric:tabular-nums}
:root.pf-js body.wt .wt-prose{max-width:72ch;margin:0 auto;font-size:1rem;line-height:1.85}
:root.pf-js body.wt .wt-prose :is(p,li){font-size:1rem;line-height:1.85;color:var(--wt-text-2)}
:root.pf-js body.wt .wt-prose h2{font-size:1.45rem;margin:42px 0 16px;line-height:1.3;letter-spacing:-.02em;color:var(--wt-text)}
:root.pf-js body.wt .wt-prose h3{font-size:1.2rem;margin:30px 0 12px;line-height:1.4}
:root.pf-js body.wt .wt-prose :is(ul,ol){margin:0 0 24px;padding-left:24px}
:root.pf-js body.wt .wt-prose li+li{margin-top:9px}
:root.pf-js body.wt .wt-prose a{color:var(--wt-accent);text-decoration:underline}
:root.pf-js body.wt .ui-article-source{display:flex;align-items:center;flex-wrap:wrap;gap:12px;max-width:72ch;margin:0 auto 32px;padding:16px 20px;border:1px solid var(--wt-line);border-radius:8px;background:var(--wt-bg-2)}
:root.pf-js body.wt .ui-article-source .wt-label{font-family:var(--wt-font);letter-spacing:0;text-transform:none;font-size:.8rem;color:var(--wt-muted)}
:root.pf-js body.wt .ui-article-source a{font-size:.95rem;color:var(--wt-accent);text-decoration:underline;font-weight:600}
:root.pf-js body.wt .wt-prose :is(details,blockquote){border:1px solid var(--wt-line);border-radius:8px;padding:16px 20px;background:var(--wt-bg-2);margin:24px 0}
:root.pf-js body.wt .wt-prose details blockquote{border:0;padding:0;background:none;margin:14px 0}
:root.pf-js body.wt .wt-prose summary{font-size:.92rem;font-weight:600;cursor:pointer}
:root.pf-js body.wt .wt-prose small{font-size:.83rem;line-height:1.65;color:var(--wt-muted)}
:root.pf-js body.wt .wt-proc-body{max-width:76ch}
:root.pf-js body.wt .wt-proc-body :is(p,li){line-height:1.8}
:root.pf-js body.wt .wt-proc-body h3{margin:32px 0 14px!important}
:root.pf-js body.wt .wt-proc-body pre{overflow:auto;max-width:100%}
:root.pf-js body.wt .wt-crumbs{flex-wrap:wrap;line-height:1.6;font-size:.8rem}
:root.pf-js body.wt .wt-pager{grid-template-columns:1fr auto 1fr;gap:20px;margin-top:40px}
@media(max-width:600px){:root.pf-js body.wt .wt-pager{display:flex;flex-direction:column}:root.pf-js body.wt .wt-hero.is-single{padding-top:18px}}
@media(forced-colors:active){:root.pf-js body.wt :is(.wt-sev,.ui-logo){border:1px solid CanvasText}:root.pf-js body.wt .ui-logo svg{forced-color-adjust:none}}
@media print{
 :root.pf-js body.wt :is(.ui-settings,.ui-catalog-toolbar,.ui-pagination,.ui-wallpaper,.ui-page-icon,.ui-footer){display:none!important}
 
 :root.pf-js body.wt .ui-catalog-grid .wt-card[hidden]{display:block!important}
}

/* Les fibres occupent le fond de page, jamais une surface cliquable. */
:root.pf-fibre-ready body.wt{background:transparent!important}
:root.pf-fibre-ready body.wt .pf-fibre{position:fixed;left:0;top:0;width:100%;height:100%;transform:translateZ(0);z-index:0;pointer-events:none;display:block;contain:strict}
:root.pf-fibre-ready body.wt #page{position:relative;z-index:1;background:transparent!important}
:root.pf-fibre-ready body.wt :is(.site-content,#primary,.site-content>.ast-container){background:transparent!important}
/* Le sélecteur sombre du thème contient #primary : neutraliser exactement cette couche. */
:root.pf-js.pf-fibre-ready body.wt #primary :is(article.page,article.post,.ast-article-single){background:transparent!important}
:root.pf-fibre-ready body.wt .entry-header.ui-page-header{display:block;isolation:auto;overflow:visible}
:root.pf-fibre-ready body.wt .pf-hero2{background:color-mix(in srgb,var(--wt-bg-2) 92%,transparent)!important}
:root.pf-fibre-ready body.wt :is(.ui-page-icon,.ui-wallpaper){display:none!important}

:root.pf-fibre-ready body.wt .ui-logo{width:42px;height:42px;flex-basis:42px;color:var(--wt-accent)}
:root.pf-fibre-ready body.wt .ui-logo svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
@media print{:root.pf-fibre-ready body.wt .pf-fibre{display:none!important}}

/* Bloc autonome. Les sept jetons WatchTower restent la source des cinq palettes. */
[data-pf-network].pn {
  box-sizing: border-box;
  color: var(--wt-text, #182434);
  background: var(--wt-surface, #fff);
  border: 1px solid var(--wt-line, #d1d9e4);
  border-radius: 16px;
  padding: clamp(16px, 2vw, 28px);
  margin: 24px 0 48px;
  width: 100%;
  max-width: none;
  min-width: 0;
  isolation: isolate;
  font: 400 15px/1.6 Inter, system-ui, sans-serif;
}
[data-pf-network] *, [data-pf-network] *::before, [data-pf-network] *::after { box-sizing: border-box; }
[data-pf-network] [hidden] { display: none !important; }
[data-pf-network] h2, [data-pf-network] h3, [data-pf-network] h4, [data-pf-network] p, [data-pf-network] ul, [data-pf-network] dl { color: inherit; margin: 0; }
[data-pf-network] a { color: var(--wt-accent, #006e9d); text-decoration: underline; text-underline-offset: .18em; overflow-wrap: anywhere; }
[data-pf-network] .pn-header { display: flex; gap: 24px; justify-content: space-between; border-bottom: 1px solid var(--wt-line, #d1d9e4); padding-bottom: 24px; margin-bottom: 22px; position: relative; overflow: hidden; }
[data-pf-network] .pn-header::after { content: ''; position: absolute; bottom: 0; left: 0; width: 110px; height: 2px; background: var(--wt-accent, #006e9d); animation: none !important; opacity: .7; }
[data-pf-network][data-motion="paused"] .pn-header::after { animation-play-state: paused !important; }
@keyframes pn-heading { 0%,100% { transform: translateX(0); } 50% { transform: translateX(120px); } }
[data-pf-network] .pn-kicker { color: var(--wt-accent, #006e9d); font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; margin-bottom: 9px; }
[data-pf-network] .pn-header h2 { font-size: clamp(24px, 2.4vw, 34px); line-height: 1.2; font-weight: 650; margin: 0 0 12px; letter-spacing: -.025em; }
[data-pf-network] .pn-header p:not(.pn-kicker):not(.pn-date) { max-width: 68ch; color: var(--wt-text-2, #34445a); }
[data-pf-network] .pn-date { flex: 0 0 175px; font-size: 12px; text-align: right; color: var(--wt-text-2, #34445a); padding-top: 6px; }
[data-pf-network] .pn-date time { font-size: 14px; color: var(--wt-text, #182434); font-weight: 650; }
[data-pf-network] .pn-date span { color: var(--wt-muted, #52647a); }
[data-pf-network] .pn-toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: 14px; padding-bottom: 20px; }
[data-pf-network] .pn-control { display: flex; flex-direction: column; min-width: 0; gap: 6px; color: var(--wt-text-2, #34445a); font-size: 12px; font-weight: 600; }
[data-pf-network] .pn-toolbar .pn-control { flex: 1 1 210px; }
[data-pf-network] select { color: var(--wt-text, #182434); background-color: var(--wt-bg, #f6f8fc); border: 1px solid var(--wt-line, #d1d9e4); border-radius: 7px; padding: 8px 32px 8px 12px; min-height: 44px; width: 100%; max-width: 100%; height: auto; font: 500 14px/1.4 Inter, system-ui, sans-serif; box-shadow: none; text-overflow: ellipsis; }
[data-pf-network] option { background: var(--wt-surface, #fff); color: var(--wt-text, #182434); }
[data-pf-network] .pn-button { font: 600 13px/1.4 Inter, system-ui, sans-serif; letter-spacing: 0; text-transform: none; color: var(--wt-text, #182434); background: var(--wt-surface, #fff); border: 1px solid var(--wt-line, #d1d9e4); border-radius: 7px; box-shadow: none; min-height: 44px; padding: 9px 13px; cursor: pointer; white-space: normal; }
[data-pf-network] .pn-button:hover:not(:disabled) { border-color: var(--wt-accent, #006e9d); color: var(--wt-accent, #006e9d); }
[data-pf-network] .pn-button:disabled { color: var(--wt-muted, #52647a); cursor: default; opacity: .7; }
[data-pf-network] :is(button,select,summary,a,svg):focus-visible { outline: 3px solid var(--wt-accent, #006e9d); outline-offset: 3px; }
[data-pf-network] .pn-workspace { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 340px); align-items:start; border: 1px solid var(--wt-line, #d1d9e4); border-radius: 12px; overflow: clip; }
[data-pf-network] .pn-diagram { min-width: 0; background: var(--wt-bg, #f6f8fc); display: flex; flex-direction: column; }
[data-pf-network] .pn-map-header { display: flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 66px; padding: 13px 18px 4px; }
[data-pf-network] .pn-map-header h3 { font-size: 16px; font-weight: 650; line-height: 1.4; }
[data-pf-network] .pn-overview { font-size: 12px; min-height: 36px; padding: 7px 10px; }
[data-pf-network] [data-network-map] { display: block; width: 100%; height: auto; aspect-ratio: 1400/1220; overflow: hidden; touch-action: pan-y; user-select: none; cursor: grab; flex: 0 0 auto; }
[data-pf-network] [data-network-map]:active { cursor: grabbing; }
[data-pf-network] .pn-node, [data-pf-network] .pn-edge { cursor: pointer; outline: none; }
[data-pf-network] .pn-node-surface { fill: var(--wt-surface, #fff); stroke: var(--wt-line, #d1d9e4); stroke-width: 1.8; }
[data-pf-network] .pn-node:hover .pn-node-surface, [data-pf-network] .pn-node:focus .pn-node-surface, [data-pf-network] .pn-node[aria-pressed="true"] .pn-node-surface { stroke: var(--wt-accent, #006e9d); stroke-width: 3.2; }
[data-pf-network] .pn-node:focus .pn-node-surface { stroke-dasharray: 8 3; }
[data-pf-network] .pn-node-title { fill: var(--wt-text, #182434); font-size: 14px; font-weight: 650; }
[data-pf-network] .pn-node-kind { fill: var(--wt-text-2, #34445a); font-size: 12px; }
[data-pf-network] .pn-node-meta { fill: var(--wt-text-2, #34445a); font-size: 12px; }
[data-pf-network] .pn-node-state { fill: var(--wt-muted, #52647a); font-size: 11.5px; font-weight: 600; }
[data-pf-network] .pn-logo-back { fill: #fff; stroke: #d9dfe6; stroke-width: .6; }
[data-pf-network] .pn-generic rect { fill: none; stroke: var(--wt-accent, #006e9d); stroke-width: 1.7; }
[data-pf-network] .pn-generic path { stroke: var(--wt-accent, #006e9d); stroke-width: 2; }
[data-pf-network] .pn-cluster-back { fill: none; stroke: var(--wt-line, #d1d9e4); stroke-dasharray: 6 6; }
[data-pf-network] .pn-zone-label { fill: var(--wt-muted, #52647a); font-size: 14px; font-weight: 650; letter-spacing: .9px; }
[data-pf-network] .pn-cluster-title { fill: var(--wt-text, #182434); font-size: 20px; font-weight: 600; }
[data-pf-network] .pn-cluster-note { fill: var(--wt-text-2, #34445a); font-size: 15px; }
[data-pf-network] .pn-edge-line { stroke: var(--wt-accent, #006e9d); stroke-width: 2.2; opacity: .7; }
[data-pf-network] .pn-edge--logical .pn-edge-line { stroke-dasharray: 7 5; }
[data-pf-network] .pn-edge--test .pn-edge-line { stroke: var(--wt-muted, #52647a); stroke-dasharray: 2 7; }
[data-pf-network] .pn-edge:hover .pn-edge-line, [data-pf-network] .pn-edge:focus .pn-edge-line, [data-pf-network] .pn-edge[aria-pressed="true"] .pn-edge-line { stroke-width: 4; opacity: 1; }
[data-pf-network] .pn-edge:focus .pn-edge-label rect { stroke: var(--wt-accent, #006e9d); stroke-width: 2.5; }
[data-pf-network] .pn-edge-label { pointer-events: none; }
[data-pf-network] .pn-edge-label rect { fill: var(--wt-bg, #f6f8fc); stroke: var(--wt-line, #d1d9e4); stroke-width: .8; }
[data-pf-network] .pn-edge-label text { fill: var(--wt-text, #182434); font: 500 14px Inter, system-ui, sans-serif; }
[data-pf-network] .pn-edge-hit { vector-effect: non-scaling-stroke; }
[data-pf-network] .pn-particle { fill: var(--wt-accent, #006e9d); pointer-events: none; }
[data-pf-network] .pn-view-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; padding: 4px 16px 10px; }
[data-pf-network] .pn-view-tools button[data-network-zoom] { min-width: 44px; font-size: 20px; padding: 4px 10px; }
[data-pf-network] .pn-zoom-readout { min-width: 49px; text-align: center; font-size: 12px; color: var(--wt-text-2, #34445a); }
[data-pf-network] .pn-pan-hint { color: var(--wt-muted, #52647a); font-size: 11px; flex: 1 1 200px; padding-left: 4px; }
[data-pf-network] .pn-illustration { padding: 4px 18px 8px; font-size: 12px; color: var(--wt-text-2, #34445a); font-weight: 600; }
[data-pf-network] .pn-legend { list-style: none; display: flex; gap: 8px 18px; flex-wrap: wrap; padding: 0 18px 16px; font-size: 11px; color: var(--wt-muted, #52647a); }
[data-pf-network] .pn-legend li { display: flex; align-items: center; gap: 7px; margin: 0; }
[data-pf-network] .pn-legend-line { width: 25px; border-top: 2px solid var(--wt-accent, #006e9d); }
[data-pf-network] .pn-legend-line--logical { border-top-style: dashed; }
[data-pf-network] .pn-legend-line--test { border-top-style: dotted; border-color: var(--wt-muted, #52647a); }
[data-pf-network] .pn-inspector { position:sticky; top:96px; max-height:calc(100dvh - 116px); overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; min-width: 0; border-left: 1px solid var(--wt-line, #d1d9e4); padding: 22px 20px; color: var(--wt-text, #182434); background: var(--wt-surface, #dce5ec); overflow-wrap: anywhere; }
[data-pf-network] .pn-inspector .pn-facts { grid-template-columns:1fr; }
[data-pf-network] .pn-dialog-logo { float:right; width:96px; height:96px; margin:0 0 14px 18px; padding:8px; background:#d6e1e8; border-radius:10px; }
[data-pf-network] .pn-dialog-logo img { display:block; width:80px; height:80px; object-fit:contain; filter:none; }
[data-pf-network] .pn-dialog-logo--dark { background:#101a29; }
[data-pf-network] .pn-dialog-summary::after { content:''; display:block; clear:both; }
[data-pf-network] .pn-logo-back--dark { fill:#101a29; }
[data-pf-network] .pn-inspector h3 { font-size: 21px; line-height: 1.3; font-weight: 650; margin-bottom: 12px; letter-spacing: -.02em; }
[data-pf-network] .pn-state { font-size: 12px; font-weight: 650; color: var(--wt-text-2, #34445a); padding-bottom: 14px; }
[data-pf-network] .pn-state:empty { display: none; }
[data-pf-network] .pn-role { font-size: 14px; color: var(--wt-text-2, #34445a); margin-bottom: 18px; }
[data-pf-network] .pn-facts { font-size: 13px; line-height: 1.5; margin: 17px 0; display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px; }
[data-pf-network] .pn-facts > div { padding: 9px 0; border-bottom: 1px solid var(--wt-line, #d1d9e4); }
[data-pf-network] .pn-facts dt { color: var(--wt-muted, #52647a); font-size: 11px; font-weight: 600; margin-bottom: 4px; }
[data-pf-network] .pn-facts dd { color: var(--wt-text, #182434); margin: 0; }
[data-pf-network] .pn-preview-source { font-size: 11px; color: var(--wt-muted, #52647a); padding: 8px 0 18px; line-height: 1.6; }
[data-pf-network] .pn-preview-source p:first-child { font-weight: 700; }
[data-pf-network] .pn-more { width: 100%; color: var(--wt-accent, #006e9d); border-color: var(--wt-accent, #006e9d); }
[data-pf-network] .pn-selectors { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 20px; }
[data-pf-network] .pn-help { margin: 12px 0 18px; font-size: 12px; color: var(--wt-muted, #52647a); }
[data-pf-network] .pn-segments, [data-pf-network] .pn-planned { border-top: 1px solid var(--wt-line, #d1d9e4); padding: 12px 0; background: none; box-shadow: none; }
[data-pf-network] summary { color: var(--wt-text-2, #34445a); cursor: pointer; font-size: 14px; font-weight: 600; min-height: 34px; padding: 4px 0; }
[data-pf-network] .pn-vlans { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 24px; margin: 16px 0; }
[data-pf-network] .pn-vlans div { border-bottom: 1px solid var(--wt-line, #d1d9e4); padding: 10px 0; }
[data-pf-network] .pn-vlans dt { font-size: 12px; font-weight: 650; }
[data-pf-network] .pn-vlans dd { margin: 3px 0 0; color: var(--wt-muted, #52647a); font-size: 12px; }
[data-pf-network] .pn-segments p, [data-pf-network] .pn-planned p, [data-pf-network] .pn-source-line { font-size: 12px; color: var(--wt-muted, #52647a); }
[data-pf-network] .pn-planned ul { list-style: disc; padding: 10px 0 10px 20px; color: var(--wt-text-2, #34445a); font-size: 13px; }
[data-pf-network] .pn-source-line { padding-top: 14px; border-top: 1px solid var(--wt-line, #d1d9e4); }
[data-pf-network] .pn-dialog { width: min(700px, calc(100vw - 28px)); max-width: 700px; max-height: calc(100dvh - 32px); padding: 0; border: 1px solid var(--wt-line, #d1d9e4); border-radius: 13px; background: var(--wt-surface, #fff); color: var(--wt-text, #182434); box-shadow: 0 18px 70px #0005; overflow: auto; overscroll-behavior: contain; margin: auto; }
[data-pf-network] .pn-dialog::backdrop { background: #030c18aa; }
[data-pf-network] .pn-dialog-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 24px; position: sticky; top: 0; background: var(--wt-surface, #fff); border-bottom: 1px solid var(--wt-line, #d1d9e4); z-index: 1; }
[data-pf-network] .pn-dialog h3 { font-size: 23px; font-weight: 650; line-height: 1.25; }
[data-pf-network] .pn-dialog-content { padding: 24px; overflow-wrap: anywhere; font-size: 14px; }
[data-pf-network] .pn-dialog-content h4 { font-size: 15px; font-weight: 700; margin: 22px 0 8px; }
[data-pf-network] .pn-dialog-content ul { padding-left: 20px; }
[data-pf-network] .pn-dialog-content li { margin-bottom: 8px; }
[data-pf-network] .pn-dialog-intro { font-size: 16px; color: var(--wt-text-2, #34445a); }
[data-pf-network] .pn-doc-link { display: inline-block; margin: 16px 0 4px; font-weight: 650; }
[data-pf-network] .pn-logo-credit { margin-top: 16px; color: var(--wt-muted, #52647a); font-size: 11px; }
[data-pf-network] .pn-sr { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
[data-pf-network] [data-network-fallback] { color: var(--wt-text-2, #34445a); font-size: 14px; }
[data-pf-network] [data-network-fallback] h3 { font-size: 18px; margin: 20px 0 10px; }
[data-pf-network] [data-network-fallback] ul { padding-left: 22px; }
[data-pf-network] [data-network-fallback] li { margin-bottom: 8px; }
[data-pf-network] .pn-map-scroll { overflow: auto; width: 100%; width: round(down, 100%, 1px); max-width: 100%; scrollbar-color: var(--wt-accent, #006e9d) var(--wt-bg, #f6f8fc); }
[data-pf-network] .pn-map-scroll [data-network-map] { min-width: 880px; }
[data-pf-network] .pn-edge--hosting .pn-edge-line { stroke: var(--wt-muted, #52647a); opacity: .55; stroke-width: 1.6; }
[data-pf-network] .pn-legend-line--hosting { border-color: var(--wt-muted, #52647a); }
[data-pf-network] .pn-node--dim { opacity: .35; }
[data-pf-network] .pn-node--dim:hover, [data-pf-network] .pn-node--dim:focus, [data-pf-network] .pn-node--dim[aria-pressed="true"] { opacity: 1; }
[data-pf-network] .pn-inspector-body .pn-role { margin-bottom: 12px; max-width: 80ch; }
[data-pf-network] .pn-more { max-width: 320px; }
@media (max-width: 1000px) {
  [data-pf-network] .pn-workspace { grid-template-columns: minmax(0, 1fr); }
  [data-pf-network] .pn-inspector { position:static; max-height:none; overflow-y:auto; border-left: 0; border-top: 1px solid var(--wt-line, #d1d9e4); }
  [data-pf-network] .pn-facts { display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px; }
  [data-pf-network] .pn-more { width: auto; }
}
@media (max-width: 600px) {
  [data-pf-network].pn { padding: 16px 12px; border-radius: 10px; font-size: 14px; }
  [data-pf-network] .pn-header { flex-direction: column; gap: 10px; padding-bottom: 18px; }
  [data-pf-network] .pn-date { flex-basis: auto; text-align: left; font-size: 11px; }
  [data-pf-network] .pn-date br { display: none; }
  [data-pf-network] .pn-date time { margin: 0 8px; }
  [data-pf-network] .pn-toolbar { gap: 10px; }
  [data-pf-network] .pn-toolbar .pn-control { flex-basis: 100%; }
  [data-pf-network] .pn-toolbar > button { width: 100%; }
  [data-pf-network] .pn-selectors { grid-template-columns: 1fr; gap: 12px; }
  [data-pf-network] .pn-selectors select { font-size: 16px; }
  [data-pf-network] .pn-map-header { padding: 12px; min-height: 60px; flex-wrap: wrap; }
  [data-pf-network] .pn-map-header h3 { font-size: 15px; }
  [data-pf-network] .pn-pan-hint { display: none; }
  [data-pf-network] .pn-view-tools { padding: 0 10px 12px; }
  [data-pf-network] .pn-inspector { padding: 20px 16px; }
  [data-pf-network] .pn-facts { grid-template-columns: 1fr; }
  [data-pf-network] .pn-more { width: 100%; }
  [data-pf-network] .pn-vlans { grid-template-columns: 1fr; }
  [data-pf-network] .pn-illustration { padding: 0 12px 9px; }
  [data-pf-network] .pn-legend { padding: 0 12px 14px; gap: 7px 12px; }
  [data-pf-network] .pn-dialog-bar { padding: 14px 16px; }
  [data-pf-network] .pn-dialog-content { padding: 16px; }
  [data-pf-network] .pn-dialog h3 { font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) { [data-pf-network] .pn-header::after { animation: none !important; } }
@media print { [data-pf-network] .pn-interactive { display: none; } [data-pf-network] [data-network-fallback][hidden] { display: block !important; } }

[data-pf-network][data-motion="running"] .pn-header::after { animation: pn-heading 1.4s ease-out 1 !important; }
[data-pf-network] .pn-mobile { display:none; }
[data-pf-network] .pn-procedures { margin:16px 0; border-top:1px solid var(--wt-line,#d1d9e4); padding-top:12px; }
[data-pf-network] .pn-procedures h4 { font-size:14px; margin-bottom:8px; }
[data-pf-network] .pn-procedures .pn-doc-link { display:block; margin:8px 0; min-height:44px; font-size:14px; padding:8px 0; }
[data-pf-network] .pn-procedure-limit { font-size:12px; color:var(--wt-text-2,#34445a); }
[data-pf-network] .pn-edge--planned .pn-edge-line { stroke:#94630b; stroke-dasharray:3 6; }
[data-pf-network] .pn-node[data-node="pbs"] .pn-node-surface { stroke:#94630b; stroke-dasharray:6 3; }
@media(max-width:600px){
 [data-pf-network] .pn-mobile { display:block; margin:0 0 18px; }
 [data-pf-network] .pn-mobile details { border:1px solid var(--wt-line,#d1d9e4); border-radius:8px; padding:8px 12px; margin-bottom:8px; }
 [data-pf-network] .pn-mobile summary { min-height:44px; }
 [data-pf-network] .pn-mobile ul { list-style:none; padding:0; }
 [data-pf-network] .pn-mobile li { margin:8px 0; }
 [data-pf-network] .pn-mobile button { width:100%; text-align:left; }
}
@media(prefers-reduced-motion:reduce){[data-pf-network][data-motion="running"] .pn-header::after { animation:none !important; }}

/* Reprise tactile 14/10/2026. Vue par couches sans SVG réduit par défaut.
   Tous les styles restent bornés au bloc ; les palettes viennent du bundle UI. */
[data-pf-network].pn { isolation:auto; --pn-header-gap:96px; }
[data-pf-network] .pn-workspace { overflow:visible; }
[data-pf-network] .pn-diagram { border-radius:12px; overflow:hidden; }
[data-pf-network] .pn-mobile { display:none !important; }
[data-pf-network] .pn-selectors { margin:0 0 22px; }
[data-pf-network] .pn-selectors-hint { font-size:12px; font-weight:650; margin:0 0 8px; color:var(--wt-text-2,#34445a); }
[data-pf-network] .pn-toolbar { gap:12px; }
[data-pf-network] .pn-map-header { flex-wrap:wrap; padding:18px; border-bottom:1px solid var(--wt-line,#d1d9e4); }
[data-pf-network] .pn-map-header h3 { flex:1 1 230px; }
[data-pf-network] .pn-explorer { width:100%; min-width:0; overflow-x:auto; overflow-y:hidden; touch-action:pan-x pan-y; overscroll-behavior-x:contain; scrollbar-color:var(--wt-accent,#006e9d) var(--wt-bg,#edf5fa); }
[data-pf-network] .pn-exploration { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:28px 22px; padding:22px 18px; min-width:100%; }
[data-pf-network] .pn-layer { min-width:0; }
[data-pf-network] .pn-layer-title { font-size:18px; line-height:1.4; font-weight:750; padding:0 0 4px; color:var(--wt-text,#182434); }
[data-pf-network] .pn-layer-subtitle { font-size:12px; line-height:1.5; color:var(--wt-text-2,#34445a); margin-bottom:16px; }
[data-pf-network] .pn-layer-nodes { display:grid; gap:12px; position:relative; }
[data-pf-network] .pn-layer-nodes::before { content:''; position:absolute; left:16px; top:12px; bottom:12px; width:2px; background:var(--wt-line,#d1d9e4); pointer-events:none; }
[data-pf-network] :is(.pn-touch-node,.pn-touch-edge) { display:flex; align-items:center; gap:12px; position:relative; width:100%; min-width:44px; min-height:72px; margin:0; padding:14px; text-align:left; border:1px solid var(--wt-line,#d1d9e4); border-radius:10px; font:400 14px/1.5 Inter,system-ui,sans-serif; letter-spacing:normal; text-transform:none; box-shadow:none; color:var(--wt-text,#182434); background:var(--wt-surface,#fff); cursor:pointer; overflow-wrap:anywhere; touch-action:pan-x pan-y; }
[data-pf-network] .pn-touch-copy { display:flex; flex-direction:column; gap:4px; min-width:0; }
[data-pf-network] .pn-touch-title { display:block; font-size:16px; line-height:1.4; font-weight:700; color:var(--wt-text,#182434); }
[data-pf-network] :is(.pn-touch-meta,.pn-touch-state) { display:block; font-size:12px; line-height:1.5; color:var(--wt-text-2,#34445a); }
[data-pf-network] .pn-touch-state { font-weight:600; }
[data-pf-network] .pn-touch-logo { flex:0 0 40px; width:40px; height:40px; object-fit:contain; background:#edf4fa; border:1px solid #cedde7; border-radius:8px; padding:4px; filter:none; }
[data-pf-network] :is([data-touch-node="watchtower"],[data-touch-node="hermes"]) .pn-touch-logo { background:#142337; }
[data-pf-network] :is(.pn-touch-node,.pn-touch-edge):is(:hover,:focus-visible,[aria-pressed="true"]) { border-color:var(--wt-accent,#006e9d); outline:2px solid var(--wt-accent,#006e9d); outline-offset:2px; }
[data-pf-network] .pn-touch-node.pn-outside-zone { border-style:dashed; }
[data-pf-network] .pn-touch-node:not(.pn-outside-zone) { border-left:4px solid var(--wt-accent,#006e9d); }
[data-pf-network] [data-touch-node="pbs"] { border-style:dashed; }
[data-pf-network] .pn-links-title { font-size:12px; line-height:1.5; font-weight:700; color:var(--wt-text-2,#34445a); margin:22px 0 12px; }
[data-pf-network] .pn-layer-edges { display:grid; gap:12px; }
[data-pf-network] .pn-touch-edge { border-radius:8px; padding-left:30px; }
[data-pf-network] .pn-touch-edge::before { content:''; position:absolute; left:12px; top:20px; bottom:20px; width:6px; border-left:2px dashed var(--wt-accent,#006e9d); border-top:2px solid var(--wt-accent,#006e9d); border-bottom:2px solid var(--wt-accent,#006e9d); pointer-events:none; }
[data-pf-network] .pn-touch-edge .pn-touch-title { font-size:14px; }
[data-pf-network] .pn-touch-route { font-size:13px; line-height:1.5; color:var(--wt-text,#182434); }
[data-pf-network] .pn-view-tools { padding:12px 18px; border-top:1px solid var(--wt-line,#d1d9e4); }
[data-pf-network] .pn-pan-hint { font-size:12px; line-height:1.5; }
[data-pf-network] .pn-sheet-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; }
[data-pf-network] .pn-sheet-bar .pn-kicker { margin:0 0 8px; }
[data-pf-network] .pn-sheet-close { display:none; }
[data-pf-network] .pn-inspector { top:var(--pn-header-gap); max-height:calc(100dvh - var(--pn-header-gap) - 12px); scroll-margin-top:var(--pn-header-gap); overscroll-behavior-y:auto; }
[data-pf-network] .pn-inspector .pn-more { min-width:44px; margin-top:12px; }
[data-pf-network] .pn-legend { font-size:12px; }
[data-pf-network] .pn-node-state { font-size:12px; }
@media(min-width:1360px) { [data-pf-network] .pn-exploration { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:1023px) {
  [data-pf-network] .pn-workspace { display:block; }
  [data-pf-network] .pn-inspector { display:none; }
  [data-pf-network][data-sheet="open"] .pn-inspector { display:flex; flex-direction:column; position:fixed; z-index:2147483000; left:12px; right:12px; bottom:0; top:auto; width:auto; max-width:640px; margin:0 auto; max-height:min(70dvh,calc(100dvh - var(--pn-header-gap) - 12px)); padding:16px 16px max(16px,env(safe-area-inset-bottom)); border:1px solid var(--wt-line,#d1d9e4); border-radius:18px 18px 0 0; box-shadow:0 -8px 40px #0003; overflow:hidden; }
  [data-pf-network] .pn-inspector-body { overflow-y:auto; min-height:0; overscroll-behavior-y:auto; padding-right:4px; }
  [data-pf-network] .pn-sheet-bar, [data-pf-network] .pn-inspector > :is(h3,.pn-state,.pn-more) { flex-shrink:0; }
  [data-pf-network] .pn-inspector h3 { margin:4px 0 8px; font-size:20px; }
  [data-pf-network] .pn-state { padding-bottom:8px; }
  [data-pf-network] .pn-sheet-close { display:block; min-width:72px; }
  [data-pf-network] .pn-inspector .pn-more { width:100%; max-width:none; margin-top:12px; }
}
@media(max-width:600px) {
  [data-pf-network] .pn-exploration { grid-template-columns:minmax(0,1fr); padding:18px 12px; gap:28px; }
  [data-pf-network] .pn-map-header { padding:14px 12px; }
  [data-pf-network] .pn-toolbar .pn-control { flex-basis:100%; }
  [data-pf-network] .pn-view-tools { position:static; background:var(--wt-bg,#edf5fa); }
  [data-pf-network][data-sheet="open"] .pn-inspector { left:0; right:0; }
}
@media(max-height:450px) {
  [data-pf-network][data-sheet="open"] .pn-inspector { max-height:calc(100dvh - var(--pn-header-gap) - 8px); }
  [data-pf-network] .pn-inspector .pn-state { display:none; }
}

/* V2 : le flash bleu était la peinture tactile native du bouton, non un calque DOM. */
[data-pf-network] :is(button,svg,select,summary) { -webkit-tap-highlight-color:transparent; }
[data-pf-network] .pn-diagram { position:relative; z-index:0; }
[data-pf-network] .pn-options { margin:0 0 12px; }
[data-pf-network] .pn-options > summary { min-height:44px; padding:10px 0; }
[data-pf-network] .pn-options[open] .pn-toolbar { padding-top:12px; }
[data-pf-network] .pn-map-scroll [data-network-map] { min-width:1400px; }
[data-pf-network] .pn-edge-touch rect { fill:var(--wt-surface,#fff); stroke:var(--wt-accent,#006e9d); stroke-width:1.5; }
[data-pf-network] .pn-edge-touch text { font:600 12px system-ui,sans-serif; fill:var(--wt-text,#182434); pointer-events:none; }
[data-pf-network] .pn-inspector :is(.pn-kicker,dt,.pn-preview-source) { font-size:12px; }
@keyframes pn-flow { from { stroke-dashoffset:72; } to { stroke-dashoffset:0; } }
[data-pf-network] .pn-edge--logical .pn-edge-line { animation:pn-flow 6s linear 1; animation-play-state:paused; }
[data-pf-network][data-motion="running"] .pn-edge--logical .pn-edge-line { animation-play-state:running; }
@media(prefers-reduced-motion:reduce) { [data-pf-network] .pn-edge-line { animation:none !important; } }
@media(min-width:1024px) { [data-pf-network] .pn-workspace { display:grid; } }
@media(max-height:450px) and (max-width:1023px) {
  [data-pf-network] .pn-header { padding-bottom:8px; margin-bottom:8px; }
  [data-pf-network] .pn-header h2 { font-size:22px; margin-bottom:4px; }
  [data-pf-network] .pn-date { display:none; }
  [data-pf-network] .pn-map-header { padding:8px 12px; min-height:44px; }
  [data-pf-network] .pn-map-header h3 { display:none; }
  [data-pf-network] .pn-pan-hint { display:none; }
  [data-pf-network] .pn-view-tools { padding:6px 12px; }
  [data-pf-network] .pn-illustration { padding:0 12px 4px; }
  [data-pf-network] .pn-exploration { padding:10px 12px; }
  [data-pf-network] .pn-layer-subtitle { margin-bottom:6px; }
}

/* Keep the native page-level arrow outside the open network details sheet. */
body:has([data-pf-network][data-sheet="open"]) #ast-scroll-top { visibility:hidden !important; pointer-events:none !important; }

/* ==========================================================================
   RESPONSIVE POLISH: Articles, Code blocks, Tables, Documentation
   Enforce strict containment on narrow viewports (320px - 768px)
   ========================================================================== */
:root.pf-js body.wt .wt-doc { min-width: 0!important; max-width: 100%!important; }
:root.pf-js body.wt .wt-doc > * { min-width: 0!important; max-width: 100%!important; }
:root.pf-js body.wt .wt-prose { max-width: min(72ch, 100%)!important; width: 100%!important; min-width: 0!important; box-sizing: border-box!important; overflow-wrap: break-word!important; }
:root.pf-js body.wt .wt-prose :is(p,li,h1,h2,h3,h4,a,blockquote) { overflow-wrap: break-word!important; }
:root.pf-js body.wt .wt-proc-body { max-width: min(76ch, 100%)!important; width: 100%!important; min-width: 0!important; box-sizing: border-box!important; overflow-wrap: break-word!important; }
:root.pf-js body.wt .wt-proc-body :is(p,li,h2,h3) { overflow-wrap: break-word!important; }
:root.pf-js body.wt :is(.wt-prose,.wt-proc-body) pre { max-width: 100%!important; overflow-x: auto!important; -webkit-overflow-scrolling: touch!important; box-sizing: border-box!important; }
:root.pf-js body.wt :is(.wt-prose,.wt-proc-body) pre code { white-space: pre!important; word-break: normal!important; overflow-wrap: normal!important; }
:root.pf-js body.wt :is(.wt-prose,.wt-proc-body) :is(img,iframe,video) { max-width: 100%!important; height: auto!important; }
:root.pf-js body.wt :is(.wt-doc-table,table) { display: block!important; max-width: 100%!important; overflow-x: auto!important; -webkit-overflow-scrolling: touch!important; box-sizing: border-box!important; }
:root.pf-js body.wt .pf-recap { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr))!important; gap: 10px!important; max-width: 100%!important; box-sizing: border-box!important; }
:root.pf-js body.wt .pf-recap div { min-width: 0!important; box-sizing: border-box!important; }
:root.pf-js body.wt .pf-recap dd { overflow-wrap: break-word!important; word-break: break-word!important; }
:root.pf-js body.wt .pf-export { max-width: 100%!important; box-sizing: border-box!important; }
@media (max-width: 480px) {
  :root.pf-js body.wt .pf-export { flex-direction: column!important; align-items: stretch!important; gap: 8px!important; }
  :root.pf-js body.wt .pf-export__t { margin-bottom: 4px!important; }
  :root.pf-js body.wt .pf-export .wt-btn { width: 100%!important; text-align: center!important; justify-content: center!important; }
  :root.pf-js body.wt .wt-proc-body ol.wt-doc-steps > li { padding: 12px 14px 12px 46px!important; }
  :root.pf-js body.wt .wt-proc-body ol.wt-doc-steps > li::before { left: 10px!important; top: 10px!important; width: 26px!important; height: 26px!important; }
}

/* Surface de lecture des scènes : les faisceaux restent visibles autour, pas à travers les mots. */
:root.pf-js.pf-fibre-ready body.wt .pf-intro-motion{
 background:var(--wt-bg-2)!important;
 border:1px solid var(--wt-line);
 border-radius:16px;
 color:var(--wt-text);
}
:root.pf-js.pf-fibre-ready body.wt .pf-intro-motion:not(.pf-hero2){
 padding:clamp(20px,2.4vw,30px);
 margin-bottom:28px;
 box-sizing:border-box;
}
:root.pf-js.pf-fibre-ready body.wt .entry-header.ui-page-header{
 background:color-mix(in srgb,var(--wt-bg) 94%,transparent)!important;
}
/* Cette entrée existe déjà dans le menu enregistré ; ne plus masquer son bouton animé. */
:root.pf-js body.wt #masthead .menu-item-814{display:block!important}
/* Coins de sous-menus mobiles : la palette ne doit pas laisser apparaître un fond Astra blanc. */
:root.pf-js body.wt #ast-mobile-header :is(.main-header-menu,.sub-menu){background:var(--wt-bg-2)!important}
:root.pf-js body.wt #ast-mobile-header .sub-menu>li:not(.current-menu-item)>a:not(:hover):not(:focus-visible){background:transparent!important}

/* Geist — police variable sous SIL OFL 1.1, embarquée sur le domaine du portfolio. Copyright 2024 The Geist Project Authors (https://github.com/vercel/geist-font). SIL Open Font License 1.1. Sous-ensemble latin, build Fontsource 5.3.0 (woff2 sha256 19f9c92546aa300c). */
@font-face{font-family:"Portfolio Geist";font-style:normal;font-weight:100 900;font-display:swap;src:url(data:font/woff2;base64,d09GMgABAAAAAHLYABQAAAABAQgAAHJiAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoYFG4GfHhyHTD9IVkFSh1s/TVZBUjwGYD9TVEFUgTgAhRAvfhEICvZo3iMLhEIAMIGoaAE2AiQDiQAEIAWIGgeLSQwHGyLxFWxXY6CewOalNZfPMyrYrmbcDkTU+r1qNsKGjQMg3hwT/X9SUhlDE9iTFqA63e4PtWQjlBo5goYcMo0ZqbViQ0jvqjjmPNf7mgM3sj6o9UXp+5FQOzPJbOE3Jx5hd/ytpmpjm0pYR9BzruG68ZnXxBVYEMSHMTAwnWpYTZ0wG3f74drkjkO9/6wik1904hQkUpdYDWmJLZFY0pNBEcb7IndF19PSj1kEuE38iIQcX4SK1qgisnr6gFERPc4+OgJHpJCEZJaAxtzpl8/CAc8Rzfk/exe9hCSEEEII4fAAIZilNJgFLUVSVAJFvJRHwV/VaP29R8UpddoiNaXiVOXz+nnW8vzTuOd/7TP3wUxgI76kJCdlOHSryZ2cIZquptBglVCzlLbxtmnUViK7SXY3ySbepI23Th21In7G/T/8PXD3nBn2TjlRgXtD5X9y8/sLj1BKDapUxtT7bcyW//zF1njpmb9ZiFmfWWVarEkKASLEBdHC8/y9O39WtzE54I1pQBMnULgfMHXC/yed9r1BDQhtGTCKA5+y+w8Yu+u5KTKSj4v2ymuaz5wFYG/AcWQSNAC4Gc+jnNqMoTBjlTBQYlhwJCcyUAFAfd3JRQxiCQASnZhHqyFanw2SSW3yoCX0NbQNST3t3wtitjLDMjrC5AKDqIA84tpO+X06q19d3aKW2DLteMgws7s+RPtdEF0YdkmaA4IIKEPg+LL735x+fyVLjuNAgT8DDtDyE8VJ5/zdX+xoswDARzSdN21KaWKzLNlCv34uhbKnT9eI6JKKPh395+QWaAu0BXoHtIXfybyEh3836/8kJIGEQAIRQoAECxKklEmpQGl9rGsus5371L9E9JqP7HZnzdqZmk8LlCIJoX/k9iCCRPK2rIWh3PYL4J+AWGsmndQZSiFWlgOPgZDfTBA9mlsoDTKxz8xQv/38r2Up7Xf/esMojtKulKeklnaUQvEVkpgOEEUkKHYzvaO5v32jkPtSnpPkmC+vzpmFSM1ChCEkZmZqQ1ED6jKABowZGnBonv//5Ts7529ae2sUMo7ILxzFmpQ23KS7P9QiUaXLCBVnQXUjMR6jHCDqZv81T3ETF1IgRjKJJB6jsPi8Nst2/GZ9wAogFg0Avz5FhfaXZNmjGdM4u2Ovj9m5AFmWtePzAVIVIKiqtCnTXV2t97qtAh1g0Vb5e1PN9j8EYcVLSyr9y//yvwzHWjacAi9Url26i4tdgNhdENICJO8Wq7QAeeeF4gdFn0BS8hHgRVKekUNMdEofIH3zSZ2sZTgfpHMIoWhCyJ2L0k2fq9pFpXFRea4oO5eRnseb+MCsd5v0rcACzGRv+jFSDL5rR3UVmRIi8/WOe9fUUvNIKU12j6zTMTxCIATCUNraqc9r6/omVq3JfU/2LaGEQYYiEoJIENcL3e/m91MrGjK6RrIPCSoSZQkEqSUm9d3XvQOzYiqtAy27c6EL4OPV3wvhCgBLAZ8AzmKjCObOihAGadQMEAWeVGgw8LQnvyyX5FkeJYJ28yAgeri/vhBImAZti/nf7CJ/usjUXBR6sFgmIo65HKSrbQ4BKwHpaBFUHkZoocuC6HIR7791yCyoIEMB/BLgHMA+wHoIUIDAf9gqBByCQYDnn/XrBzD/O7gICECv+OSXH37/oxc+evGj73/+zW8/+S7Nt6adaVIcEx+U7pSelL/zy7u/PqQt6yn9Gv16/Q79PmPOWDSWjWtMN06aaXPeituIHbfn7AXnJudW53bnbuce5wkX2Q/3V/eUffvB6n58v7hfqtjHOxW5EqykKn2V/ip22DscHG5Vhaq3qla1GjZ5dC1Qk2tKLX1gO3rcQbj+ZWvailucozRIw7SfrtelQ7VRa8jMn4WzT9yE5t35SjPZzLZaEi/Iwl88tn2+T5fb7by+OWCaZMNsXY/r43dlQ+1sjtJRY7XFBSme08lAz4WnUReneIGXOMMFFljhyCK8gjyMhSQjmEbIU9AY6dIlzShlFtN87E/81J/5mU/FzUQrmAVZIISPrxB7yUZST5pJO+mG4zAN52EWFiFTllKqQqwTO/ahfXvSnPT76VC5AUU87a+nfHZt3pxPrrOsJLgEIcDFG7lwf2tccvQTuBYACKDzvG7ablGymjetVNpiyi2hbMcNBVFKqMABAATg70VLW0wZVxVWAlmAUF5kCADnUQEOHqWahWkqYG7/a8tRdlwUmQBWZ9ZXlID43IrcYhBflFmlBSsU8E4Z40S9e97iwlsrtCDreF0gubh4fx8QAIKGLg4FvSio1PWEALOnvaKu9ATayqQSofhoeBACBg15iBU0JAs2hAJXV9fgIWBYNwJheiOAUHhFAhVH1sydmDMy41JSr+zsJRlVf6gY0JA2lkFDCGCjSKFiq/nDeGjwYmALWEcAt6sWsHlgRNWqVvw98jV9EDt/t6dJ4t38UWbZvNuC7zRW2/yOyRe4u3cTvMM85eBusFEccQn2k0cMrF+2bUoEc0Q0Cw35AJgLWuBptqK8NQxQJ79YEpIozULEpYRlx2qsRXMKCGV3QHai2S0OIuvP79huwNbY9k24R9KWqqkMEM061+nLuWQQ+Rm4LD/yqVz8plpK2c6Z7My6LEnXwN+csfSmq6E/Tg+OOoqCRcRH5wXQj76iMnJzL3liryh+gbvj6VbX2GODvYalBhta1eus2XcVyYCpygCPfQYhdpwFmPobyf0m0Q5fQFD2zTkYvxXNiI3Q6YbYubiiP79YtvIZGNag1Yzfw25N44dILrWOE/tGy07v+I7wtizXnozyygvx+XZSeGAY+aRs0Ynvt7pxlYldax4X5FlrG9ti3nrGhgxcWjSWT2mo37fRC6+vHq3cNEk9rWHcOUZi63kT9BnlQEKXX/YbzbHSkOe8du6C6aWTzdruMYlJOzhSYteOXvh3LrehC91O2A2R54sy2nJASFgckLmLiZqYZHoE3M551aqGndjctE57MNyLwb1Fawgyk8FeSauiw2xI7LQqYOaw6Z1QRvjO43xSsKfTaX7INVZ2SiQVWHJy2iTsVALOnv/6TlGOyNy6hNlwLTD8Z9ycKHdGvXW/3b5E9MBzDHoV/OxCnfqhwdWAu359A+AywAnAXsBaq50rhdh2RcwWcvtzgVIXcoBSbLaysi1L6dmTBP/S85VPLebSYKs6Pdh8tH4QvB3sApaqm6yJIDhz8B/rPhVTBf+52l19taC8+esGK1ZEoSUvixIU5WYbbDIvQuRKw/9mq7csbalqSiGGo9NBI48FCUopaNIXEhoXw138VzY86FYMucw285OptCEtqlyLWwukwGQNP5O8LzB3y32AUdjLUjRZWp8ZW3M1fb/czl606sIua1m64BrEsuEoidz0rjJA6/IGmTQqxkk7fH3Gr5oz3YEwT9v+jOhj/q2133BJDQg0R9WGeBLX2G5AGRFtAoRoh4eXaZdFhSI8JbHRocrBuzirxt9kXBVQZgiWpkGf2mu0uvMCjh20D/ssaczOzCZ4VW+wD2fc9SKmUyGkqbP4YC6k2goCp+MzAo4Lt32RWJiAqP8DqEaho3qyn6Cb5TR6pUKILZNAaqj1XJA6yOmhUhwRMWT/hP2vjGHAR9fML4cNG0kSCOZtzH9sYwB+KPe/rvdAE5itjuNwyb+ubUQWFj7flxVrSSYVGN0t27wtF3uCy9FcHWW++jEY8Fb5lvXJbbqUDLX3/P46HusWhwuM1t7424JxnZFwTe4341jYJbKJe7VN+OQ4Jvvq8wSXRAucgEN/t2pvr1+CcroGRq7VSUKnMU+X6l7dL6xitWr7GYTKP6m5P7l5KF5dF+wOx9ewPAD9HCw2sOG4j2pvMdD6jhG7HHhaL2xagjYzwTotcqvkJ5hDAdUYnuVhr/Viuo/do6cRrmptPFKBNc+qbXqeJepuWNYf37sd/2RMAItyJmV62GDjqh0u1dTW4h60pdVyb+75Qcor8mV2FXn8faldbosJTJT5mEPQnen8qeMs7Fa6QfdjHgvg1ZbHNP/kLDhG+RVeN1Oo5629XL4z6JZrDcegt5o+kt+0Soh7jL5r+7snuE7qZQtVm8uXM5Yh6un2HIx5OILHs9/GYu3QG/4xyE6redq069CpS7cevY474aRThgwbc94Fl113x133PfTIE89MeOO9KX/52z/+9Z8ffgoKwhAOiO6NALH/0e4smmndCW4eEWojYu3EUAfR00n4ugium4j0EF29Up+TRF+LmCEiyGlCcZbQDRPPJuAsmYbzZBLeJTPwPpmHj+US/2IEvgJJwtdkAr4hSZglEzBHELhI4nCJIDAv450Wx2EdZAq2SAoae3cABn8/NmbzNmdTttNmbLftuDoLerDH7Al73o4VU/AReWkAeznOOzpOGVOudsJO2pJm8vvqQhLCOEAtNSsjFCALMYBEU7dN+t1EY0R0oU5vIHWXObUdi5iq5Jpy/yp/CP1kTiVMt1wNzk8JkaMAEsgkAkRAQ2p2MD0UIAcqQKKrQ7ffnHGIERzuOgX9IgW0juXZQhGNRwuKe+gic9yPXG8HnOveYhkz36GCHrPiUCqrrpXW1i4aGqTYfSSUUH9gBtKvyk+pu6yjTW3bG7mshTEtVemEZSuCOo0CAyrDMKI1/N1QvnRc0NB8USn7tLRhrnrOmL8lk0oK0dFBZ5TBRXOdn0+yBP95o+fIhLiAtksPzdS6ngKbOdKRcZmnXOdaHXcuF2j68D4nj1iMgyapoQOvujO41Gxdjk5O4mR/Z2Qn7khkO8bvbqTKZU156rI2+lxl+DILdOdJ+TftWubGm6e1rpd3FQhqjgGdgcRLpSlo5lPDkdaypvbK206RbLwXO2et96Qd0U+QuC8k6RqKkXFzVsToa/MioW4uDcF1nZgYhbCo9bcs11Glipm3bVy58p42vIziqHNqZLDuD6rbS5o5jwQkQm4R97iMCvIOBCzUGkxI4f0zRt+f8ESIvRjTkyn/+FGovyoydZ9vAx+OeFVm+H5A9diI46htvsJK/eRpygPEPKK2VGtvSKCjvOotlMsI1J0jozpfaZ37G19ya1wj+1xJjaafAJwT1kdVKsy6jg/J9kAXSjiDbr7BKFxz5jJpajawGoorCce5f2bOCq8YGNnbAz0q2c+rla3hEdQqXGU0tT3Ztwm1QHMsY051861utJY5Mnm17QovFnTmRVCHDp1RJciOzlVYyxbtRxB4RdI+K3R2DsmqhDepv0jNkvAK6Iww4BIujfT7HqtA99av+RBeN+odHZqnxW5gRwlL4xGqr22Z2eBpcp7jLcwAbDBGo+soapNJg++5l9mH5xLD4jbaaZGCUq+9pMp3G7YvlzeaOYKLgISPfISwRysrsj4F1z73hyxzNABOjYken+yiDj5YnurFBWI02F61pRuf0GAESga1QgdeC0upyUWMIrjhRw2QJZyXIfA0ptobkw/rYsYcX2kUjwEuzm0WBic6iuXz3vWYmBie0oALBc5RjNgLvhkIHwR7bDyeNDNekUmpWYvLAhzF+3hK6Lj2uGcmk3xxKqCuIYOBTYBL7VZljrMl8p7zOVk/xwVWEhKq7M0Rj5Tel6LwJDESWGES4DhXsC1+FVAbSaj3L5YiYuohdJalyYWRS07cIAEG9hnMZz2OxSHSaP87LZU6f9f0aGWMa4bwrVk1gxNBWeg9bmN+yLkthL/EiGh01n5HXZr4BUbVHpvtpDivtb40D//FHIqTYeDRZnMQs2xsKx7nYsQwhcExKWEnHDPejyPWp6HL1ei7nqQFVYuLNh4jInTm85tVr9X6xjq/rC/ZV2X0aPWQ/pbxUWr0ES8d4ODau2d9dcU17qmaBR141Z3ABZDgCKDrKT1LeEfCuxAfTjObB5+mlyZ45t8xkItazLxzb/7mdbGWjTFhm/WsT9cQ+njXJMje1a8GCE4F8FgAZkLFeG/6bBZjXhjq4qdrKnQuSk9eMdNKf9BtRfW/M5loPAgG7UicUls1J7OMDi+afUcjOJ0pedfOIz5S3DOXfKO1m4xk7N+4zZ6cdEYEtcBQOsFLXyiXmv5Nz0OGfbo5MUc4VnBQowsij+KnrMWkZNFkvOusfaHBKbpunmwXdJrLpkcGf9yXDles6xbjeQQF1hlurdgl/j+3OY8axbkuvTuld6G7c04VO2ZZ3cUF1Do6kWDT5iuhBNAxV6/u0jWtNXfocZqjcT3iPqyGWmJ54bpRFea3ZEQfkq0b9ybqq3dhZfBRriuhMcVKeLslCzR0ur93Vnrw4I1+snvs5del/7W/UR7bMaetU2x1BpB4/0n4mio8RmjjAKNWMebaC3kMvb9K6+vKnAufB296rlBc20KnBxosjW2IHn1F9Fy5oXtne4400lGrcODR2ncPGVgzqBU68NKskC18ZqlkDbR4odZ2CAfw6wi/1QB66Yd4wujb7PsJ1IzXORoe4ntOucz1Du8I3dJDnzVw6c4Z9tk7eub/tJWiozCOfK1gZ6SwfsX+a/vOuVI+AGIa81fNFK5VXodjdWtmPf2tUX+dhcq/zsQ08PW1oS14YKVBxi2toT20Od79BFjrq1eNpBLWQrqPeArURFYg42gE6sWvMB5de03hyvBfOj7/ls39qYeB8N/zcSvBzYMWhtZfn7o5598XqtJvt9DNqsr/kOiFKB19/eBQIgvg598LTeotJ9Hb/DVH9tpbC6QWe38Esgn0DOU/XpyT/oS8VKJX1SFExdaHcwcHUlK8T4t+fKtecx03pNvwPlO1BcamFzrvskWuTy93xz0rPJhe7ZEJa7xpG73/+iZTwWEzzO83mp035rQLOdOgj8JyaowooDWqzXCqGsyWUafJAsN1r53gcp1sM+p9klurkweeuivfY3eyfgQIgIeoCsENS7wxmClUglY2icpp6+Cg2joC/sMVBY11BVQ6LmNb6rfwKq/cs8zt2gH8rjpQzzOfZBU1dPW/5VrWxVrH3O89kOWZJ+qcc0qF87RL4rKrKqd9z6NLXHMJc6yPjWJTN4r/iFM80GJXBbThkmpLAzsdvRBGFUPFPVpvniab7M2SLcapxx5FaEnrZUCaZT3MQVRtNgvYWg0k18KL6P9HJECYaAgEhIUNp0MHwsGB4xJA9OnDCRlBJIyJSJlgIZlBzNnC2ZFD7NnDKSggDhzgHDnicOKGwZ0HNk+edHnxpsOHDyGlABSBAiFBomDU1PiiRcPEmAlJkkIgVSpEQ0PfLOmoMuTDFChAVagQUqQIplgxqhIlMKVKIVpaXGUq0VWpxlSjhp5a9ZgaNDDQaA6+Zs245moh1aqV2DzzOGjTxkW7ds46dJDr1MlOly5i3bo56dHDVq9eCsedwHPSKYaGDOE57TQjZ51laswYa+edZ+mCC2QuusjEJZeQLrvM3g03OLrjLp577jF3330WHnjA3EMPWXjkEYnHHjP2xBMSTz1l7JkJZt54w8p779mYMsXVX8GBgImFMNAwMdERCDpY2Hh06MBxcBjj0kMnIGBDnz6CkBGMhDEmKSkOEyaESGYw5mzgbNmis2NHSq6Jq/XoXs3EwY3BM39UIfuqGhgFzcWgiIURoBZFeqj4chNBGAQYMVzgZqSpYeYUNRExJ2HGnRsHCi6c2ZPQJy59J2QVuwW66Sr6WSYsWJajQ5YT0C+Z3CUTGskUyZQ1W3Jm32NBFAIBS3PJc/Lpl9ef1lEzNlu2/L0WFYokQviYCFw8uvj02FJwpJaqWKMz/yt2CeP+UBwe8G3MHzcCOfa/aWi7j8AoRr5AV2r7wdG8jJQ/PuqGiMnbywX1UYPgJESoMOEiRIoSLUOmLNly5MqTr0jJiNnMpo0jbiPiXQS3gXADAAAAALCycXuyAAd6084t/bMQBdCVSxPImfy/+o4SBP9vxzGOjcLxeRKpZEnKfBr3fkMeS/8/l8Y0DXNwOEUNMSJapbeBuTaGBPvrfNX8F/m+w1GFvvWGIBJStvslHC1we9zllP1+KZcOiQycKY7yI9pRcRHLf6/vxOz7aOjZYUzyxtTjlJECmJOzVi7+nTjz5tJyqDtLW1YKFcci5VUouKgwPxP64zCWgGYh8bWYS6pLKyD8sm4GgVfhwNc7/zJwMdFR4NGt2lyWTh6iMovRt+dXRuxpjsC77nnGZvultSrlL+Sdh4YNsELBgMBNtjVL0gbwh1CQRHgIz2EuewHfJJhXcdUPL1H05KtwQhwMx2B+OMrTkTABqjZ3vV44gRBzjGZD1xKrcaOqJVZN68fPBOw8dSsi+/O0zsEgv1oOaPj+FBogrBBwCB+ikLgLYZdX2AA4SMr57kZ/wGv7q1UPqILzwveeEYIiKUx/x4jt6PcjxlJnCpqQiWgsTIUsJxFTBPEEyWyiTBQXP9UCPVNCNLSKMxybrSMwzkVMKgsDOWlIUzsovbwHFWZRikzTE8Tq5GLULQhPoKWgAdlYSdbwVsywW5tA4xPbGkBJEg0zyR/jT7Ma5DyAHHdhufErrwpJI+75thxcNMb8EJP13tJLMDsiqPyhPPlzLg9y87iYwE1PZ6np8IfxCBscGsbK8uYIMWttiGj5xywAlwsgJqV/Bh/uAsqj0xYh1PJge9nCWUvEhjwm+Kz+mTLDQHREQzjY0pMolZMqFTQyaClUKlc/+DvPJDdbmSSFEqQplkC9Pld0GILjaqKa9yLZMGAeBhgFSH4ICTc3RSBQQh8SKWoABtzAWmUTDEEOtvrCQkxwvJKnUVmqGdoaAihyNL/nDGJBJwhMML9ZhFI0SeegVh1d8eI+S+drmUqJDXiG7oqaruSr/a6YppEp4ssQAp4LDrgWsA2w/A/+nvHNzLvAae7Nh+14xMJHDT+h62lHn9f/Dux8D65+CCOflfHncPSr/0v3ZxwBzwEC8JZdHTXRbe56zHt44Aj+9Phx51/df6NOD4/YRnVj2NjQueyFJVfMV/uvtV+zXgtcZ35QdUN6S3/LeAu/rRznjgvHpeO6O+DTsLtVd/l3hXc9d4P3Ku/p7ssfFH8FP3Q+an4UfeJ90v+08Dv2s2vPGp9xn41NMH+onmiccE5MPi/8uexl9UvpS/lL02vpa/1rw2vza+i1+3XP69E38AjOD8/GtHu1N3670fjWf+bNW82Hzc/++7D9uHO/89KF8Yv5/YmLN14Sq6XqyctTV45due7KXVfFg56DE9eI9DUNf6PUmLpx1e2+drk9pCf0Qf3+e+GPBh4ClpNRDgwGoG+e5T/32vxv8/0Xf6/S/ohuJ+vGjqN1sAsAPHxeftXaYA0wfwErM6g4HW5h0EcCpYLcBRXk7iQBXB5fvafgHF/G5GlwuyPu8jG75oiASBhCLuTjH///ArQtziGBlwFkYkYBNiOgtfZ8gOUIwHbYtbcXVCEA9I9mMeK+rwIkOU+hEmQoUacNAuBkckC6YirnNkxX/hzbEcsiIM9yG2Y76VbMTdJ150tWLCyydXG13XFBsFgDPaRCerlXYyulmr7STiFRSDjw0mynn+bIyficymhqoSqCU3Ambr5ZQIpJKWlGWpEupDcZSO5cNTNdvLp0wP/pwGaOvG20uzgSdxLgDWecokeKSMmFO5NeXVcY/yGc9InA/2fSkHn+j3kA/33fMQDfP97lnlRZsoGzbz6pYkeZc4AoAdd5agqADzFo9V4eCO92AbcmfeO0Z875MxR4Y8J1N4z5ywmXHXfeSaf85D8/nPUaQmDRwSWgT8iAhJQJkilzduwpOHDkxJ0HT1583HbBeI7BtWRQChQkRBi1aDFiJUmlMUuaDAWKFCuhVaZKtRq1Gtz01a1EYNAZ//N/k6Z88y5LvDfXo0ThQ67iUwA+tS+G/OKtkVzNHi0e22mHXYbRYCgYqOiY2PTw6OIzImJIjMOMNQuWbFj5h4wbZy5ceZMrpTKNL3/T+QkQLEq4CJFmipdghlDpcmTKkifbv3JVKjdbhTqF6tnKz1zE44GH7rjnvrsQYDEMIsBEdCEJctSXvvbyzWFnMeESO0WhCuw0RepFnzMUi492lhL6V8A5SrXOvnaeZBfCLtBM7RzYRVqoF4tdsgl1Z9F5cL65Rf1nDyw8F1h+JMCwEqhXAaDB+riX8HIz6UgSoaq86q6GxqUyATQaHhsLoGk6alKN1cjE1a2cukzw42JQ02px9aXmOnHy0evjUSUjqj52pav6VMUaFpIWr0O5HGXSUTP19KTUNW/is9SXsU6qkSSboV1kcHkiAgqi61MbEUY1JmNiyPPNsbG2WeXOTZJ/xo2goIleZCB0BVqtjrvZqsCl82v22TVlGu9yyCPII0vMYgfcrH337LZTKVImpwPRer2U+1XgI1dSmJ1CczXN4jivNxEhQj/2I54yfroPzYnNxm5na40dwxAw3iAFXs8ZwnJprelWCtPQH9M+s7lPcs+qalZJcnZRLgbpjEUSGbc52qXdlkmUabPZA21JpapONB7sksg+KnQf32eV4R8VX/veHaFDawevYZvzSQWExSavMyAAH/PAgGYvpdnPmRkS/KZOq0ZmSeXzLuggInw4JuKiv7nl34tZKZZR5MJv5OY/t6yWJH8XoBIuxX46dLNzeqZ9VRdUE37Kv96EhodUx6sFxi/MPqXYR96p1+K54zvWVzrrNPSy5zDWs1IcT5ApACPWgGUu32461R+iAl9qzbAOrfWVm4IpqzJ2KXTKr0YvMxObqPnzrFXNNYI83vp2aOQZQx4EEn72bVDlB6J8kISMZsrOiuW3XD2DseyYTg8vIyWpwlfxrO6yBI56hU5ymu8vH2UhDCD51v2TTyX7CVsDnTi4Vd1seWMtj4ppLvhAGu+/K8SWyXkWB/PIDLJ385M9jOsCaEDaAOlSe67WDiL3k6XofjdwGGeGsxq5zU3s+MYnrUTx+jH3JNjm33j9Fwa7YnBd4Z4qF59A/bK50uObRo3iz19umCA/Q5PkVojOdMyfnqL0sIRTDXrL4liNfLmhyD5S9dKM3yrsUbGRQUetYlsHnPApFwUtTEwYzbJ/DZjBzOmBNtGA7Mfk6GvPl10Q64EYgRCS5tiuyyZQ5HKnt/e5l3Pylkq1Pitwzbn4UD78IX0/VuSR8t3XwdE2MyRPHt9U5rPM4/cGw2z8Y8ivlHTmIWruSJL0rT/hVPb9mdPZo+VQkM1lJLKsbxhosyluIO+fiMKJfUd20ByUB62e+68hC5fr1Ur2Wq3vLG90nI/zstRLoJxJ2eJy8LGb5QHJ/zD2XPECErA3XxiZ3+0NIwkbltlZM/k7XcsQjecnUb2VVjLKR9gx5bnACGRoSRdoG5bVT2qIwJGSKXcfTdnmuPogxlR7seLDLPfV7z/fGh5kdVFlFtavaJz8ymNW5h37lVsDbAuZqNJZe2tnTa9yK70SNGt6eQleF9lPNFvbhOzjcZT+9O1WtX/ycSmhSJJikFmKyq3qfK9cftx7hayCwGO+w8AAptjDQBA1vNJxSkh56V8whCwDAsFOV96PglHmO/oX/nzRTwO1jMs/7IKLqd85J11Hd/14sitY0F1Hm1iG6irDu6Pu+5sS0XuVYt2qvxejAdSYnmX5Z3FfOfMv2cPUfe+LFYlu2Eq3k322+6BosLemdZwWvFryufuM0iMtFB89InssR301eXGVe6VuNeUua55CfXP6TJhQ7oEFy73dnDn/Uo3tO4MMrdZyjq26zCua4wup6/PGROa0kFAzPB+jGK1Mr+NcuIptUK2PxIWyQonKxTvvmT3nslPvm3pcaRGrVhGU6rtc7S3P8OmEBjyH3/A0YD++MkCn5Davzx1HZdpUrX9vrTMuc5rmT4L7IJ5KciK+78vYmwc31duK7WFkkJowROhC9BeRGzaXJfarVXNy+Zoz9goYSJ+Lix+NRRxMqHkSlkXfJ9yPoCGpTftLf01+lCIfhgX3u6vgQphBNhBq93bToX9astcbjc57axnt2anlUi8VDCSXKLY5FNWGCCuYU8p9vDtCe1mjAR+kLRKNTX/RWbPzzEnSt+yKR30TGyE6yUPCTHsLOVRi+AvQl8bAnRnclobOwT8LyhmPdxMTKYGa9I8fMLjV9WSSCDVnIB9LNPRsM/uLU+WaWCZ3nBipfZ2RJJnYWqsmDMJScpBNbcOA6i7JFMf3tMP2oLAX9+2T9O6dhGTMds87JpK4Dza8N6qRNv85fzmdL9p3yH414qIEzrYQqc5eYbLK/D+Vkq+ZR6tVjyssr01uaqqz1OAVymIYImnaJ+2ja7DCvdx6NDYp0+V8g+EtU+32dZPPKcE14+7qQspnPNt+8sNdmACFuaq6k6J5jvw04cER/59B9TLmC4XqTb9KiTQVDiTCRhWOPJk9/2gLks52cP0e17n4Szu3u8ur03ixnMZa5YSyyltT2+lASYoAuY00pm0m55HFwYCXPd0KI08NQ8a2rJZadc0f1nlamoVszs0snxGUl1/aHNJh0jixwlQfpD6pT3W+iFV6ZUStlqZC+OWONOdmKiCN1bO6OUf/HlGMoiE+8ozfxlfLdCLkQs6qTKtgJzmbgQ7DAoMzox63o8O6VXvZE22L/NTKuLk6sSLmDuiM44v34Dpz0wh7DEvUVZ3FGIMoRiAW7VDY5JyTRTWMuc2wWqeS3AgizXTroQ32otkQJ4aBXF5XFueRYnEW353E4ebC6zi9LRnHVCLuZ982iCcxUcA+spGBpQXsMyuWtmZhShrIdnvxtbrz2lwuhqz3h87fzu75mWVVy9a5Rb9Kw+azqOw5yfue0zneMPxjowE21YVZHa0D2nq1MUzpUIvuy706K8JfaTkVhUiB/pzhPHlO4afibeqqgzVVx8T8maKZf5tfXHlx7i7nuxud5Rvf4+wBwf2tqhmnBb8uPBQljS9MRoFg2ZnbCfaf9XH6X6mEI28ssvVeDcjQMaCZudK8IpIU8SwYV8aI5LqI7hXdY2e8o5hap1YTRmyG7iO8WoWaUrp/D4qZ8Z1B8vDoKHlkZ3J8zfZf9MvCjGJHdyCEZlDN6nBYsyqDoJ3prkJPmFHodIwuNwPNzFdbnx3c0b/r8Kbe+I0rVmzc1C1KjJcn+Qud+zkaF/11OGHri23vseBja+LWHEsDhczU9jh+pK/PcXRHRso3ZkB7CqEQoxAN+SPuFCla63J3rE47SFNELYnPfcsjyZoZj50+FYDHhCA6409+7vS+ZL/CLHPWHr+jgM2E00b1EAgNMECsLQCh9k7/O/tGt8dEyoQxQ6axa6BCxt/dc9MdSf33gNN3bEG1mKmJ7LNs3epavcGpvBtW3MTStKFh/8zqYDIFypnpXUHX4dFR15FdyemMKBq3+uGSKO3Fc4hqVTisWp1DcYwVjrO+inmgjJnd2ek4MjCIX/GVlqUm9dn0QRr/2Rhn/NWT8Hgqs37wSS+ZtctX017ZmhxOEllcusZLy1Zn7EAzc3+yXZxGdYkhGflEecETFIUgELXzngBV++mz7hgIhlO0+yw9Ntm2OJNxJr/df/K+WlCtY8mdlrwdCcfRbA4/ujM7k0Nz2NFcwvIYJAkMlmyuFJzJtEQdyTni5R5SuiZDbFaaUIOkQ07GBTQzRY4+mbYLFrfhllZ3EMJ1DKjsvYDuWV2h8R1WxT+gCMhgdMH4KyCa6VlisPYzbCFGqgOjOBqppQZiN/3gt6XL3eVdEqFNoVeHe6QYMaSF0nPNIUZYCGMcBewyypp+I0m8NFiR07eRMqMpPCQG5yse0Tz66xFIYnqmTOYJ9zv+mE/rDEATn6yamBRUgDNpD7L3s2lgBL4/ajcuJneRiU89Ptn9vZzdDzDfJF91573aMNCQ80v8XTrvRFOIgqvzvx/L+6tDz+hgM6gPLqsZot+Ph5iNNHjM8nQ5UJR0+ZknmwOMkEl14XTSnGJ8JBrO9I2kvyy9wqzAxQsXsGfEst3dfpLFxhQ4n2dt4x5rTN7cZGkHT1lk2m5TiyBn0+GTIsB0KKr6+aHgHKZjcSSQHhocqtk7YfQk2nnYIZTNQyT1xyoGRMa86bPWiH5Eu5ymtct6UczSY8YnJ1SzJp+mfBY5LD4bopVbx8L/Qy0ZTqdNZyBw4F+g8ol7Z5HOGfqHOF6usqYR1TKfTxR8cnAScfVEoq4cJLGI2AGjnh1EOwCrAO9HdMtpWresH8UNMaHOPR1grMfUSsydi0ahY5Ol21oQTesSYx2ggGVJIYplPh8p+sVjUQTagvfoGSdGhkNiLtlh7mgK6o1NAbOow+rJRSOeHvBJZ5Wkb1XXyGr91hXe+NwyLDZ/nZNa1nIwfnEBNmDQjZKUbiQ0g6mCIhPe5OOtWre1lMSoaMxFhTDMHfH58MwE0gIu/GNog3WI3U7jROP3LOWBs7gpDkSHNKkcg+WpAOPFNwyhTo3WL/BK5EgO0o46nJqRDASrg7I6mvqf0SOYFeFFqDsGYuewCVQosjpjHg8RAzEztM3uA/+31Ao1hJQf1vlog0uJqc0uF64HVCldCvKX4621N5osaL71czv+gVzPqx9+77t7jnlPXs8OTINB0QZ5Fh1ZCBaK8PSZcM3a8ELvFciMb/E7FiAXVjyNNLVpXCJeyOyjEbvKruIkG2CxgTbYJKSOk2QhHQYiwcaH+iTBDQIDoeCG1b7n0ZJKuJRvIJx4kVWADYgT+RTFGNaPYB+tW16wkxg1ISopVzGI3v+4Om/xS1qN3kCmXOIVTxRRVEQKrHV5a04z9n9uic52dqKuRQS3sgMQ1BJAWlvqRf3X0xRf40q4OqJCiopcGpI3+snOz1X+KlZYqgADq1VKRANLLsHXhqjBrOX0vNNrkLVOUI7YGNULX8pbTJx/28G/tSUAQb3CGRHNAwAxpfjsDSPzEdiollMyvvPxNhXgFWCJ9uyQF2CsOmd1/yNPv3UshBV5BXVCWy7cZQ2K2114gFF9QCvXRJprzeinLnaAJxRiwxSIuYYourvkUGIg7UF9fms+2B+WSL3K2Lq+KTNlJmmDWdjrZGnbyDajxaToOGFU2uzQNcC3o5B1Dp3Pvt0UiYvO4g44+C+Qsd6Yjza6lHaNyUbZ9HQptW6GaQ5ZwZ0hXc3DJ3ddwzaceMx6y46vOB6+28uPRye7aHzP/sEBDv9gvpqXmD678WxqYPZfixK7P97zMcjsxw31BxNNDX+fG/3d8RXu+p/Q715RgIwmRi34oeOTH8DB2kn5vVb7Ec1gRXNeQ/1Nm2/2ekJtsmNWZEXR9PwF+kUXC8obmhoTg19prWs5VZ6S/ZMlpV5wvVYdiVGUlAhXJE4qz2kWHJe7nBDYnpTS2xJE71/uff71UPcpicKZ/hUh9PDICHpkRdgfYMWiUf1wie/3RpP7tmjaVtOw0UCKWtEt+T8ZwfHifbie96PJFp0BeodoamKgRzX/5HMWltf+3xHhdy2whRgF2U3LRrGsTBk1KFsIGsG4cWkiy99CAzlzYtVgfiDIYJiDKkTkqr4hDumEXGpabfJIDCqr2ma1KgZDjPnkkkSvPStS+XSwh6KKS/3z01kChePjErDpkUIi8XX0bjAh+Ij/v3k08GA6+iXGEB5iLPPrEUeAdki5downl5ACRlS0Y0eCqZFx39rRcq6tz6gbtNlMg4sNoJ1JDdu129PB+ofNY70wGc9Gy/HQ3OOHfJJS+2c9WLaln2LLrD06bT9GmIaH9TavNRgkJRwbwm0XO7itNomE67AJwfODui+GLxMpj9A3iGB6ZEZxYwrsmc6JDrjT4oqkHCVlf8MjYbU6kJZaLBmpKqCGMed7ZZEl4ZTLAneOdzi9ZNSMGD14KOjFjUjUTERhm1ojs+hQxKqTaWxqUMANDvrLoPCcF67Lk2M7QB9SDWftFkuPQT+EE6bhIb0tNOxW7EmF6h4waXMGk1WCcYQ2mYTrtLVKJRYhxyGRcu0ID7Qy3aMh4+GREeOR0bDbQ0cbDo+OcEJur4/et6UnYf+wT9/+6e4Z+0AhvZE+V/x73CrsD+7xaT8iEjSwUqherf/DM7d9L1nWtzmLP13k7YItkMf2OW8tx2KSX90EVecfcN/N3nbPvR2JuXPhn97Bvr5YjO612SSuvD6rrq3dZkVF9tbwL5LFZpa4wMSi/3wPo/C9OHCubnuL77QeWMPCt/e+orT1PFQm1lWzpciloBU1axGDVKx8ecOTx8uHtHBQ63rykPRblT2f01Xf4Gmt0dTU19RUfb3IpLDscgTSaU23Osw4N+tcmlSUEZyGwy/KDl81flZ6K8PP7NXuBDu1Xla5+VKAy2rZwCELWurZzxmMvvvEe+OC5OmBaqPOoTY5LeCwVkXWucX/4kI2fdr4yamSSObmHwPJkKF2sbSXPK6ltHWrelgTFrBbG4xrFS0PGv64xnYwKwzGqx0W155QbG9xwyqVGu62BuONXMsHjopH2Uca3tUJzxl/5yqNfgMGHbHlWVBHmUqVQjGkUG6PAB5z2wvjcy8k0gfrG8BFO1hxh0nMIoB8MTNAcaBjrUx9JHVPgLi3mmndjDT/F/8rPiU9OM2BtzAs/0PnANVQrZCfy4zs/3C+PRcqp03Z9Z+xXFHEgBOOubYQgwGZ0n0aDErIVBG98KnRY0teV+S+lj1H3/TYEtX1bjnqmnj04WPnVpCOObnZHyd11r7RYnSwkTxYZ67SIpNK2LdCAqenzFN9fwnUC/dKkC2EsHAPeDfvjH0muuECy/Gu6X/tHOY6XA6sB0pHo5Q4oG9gwVLA7jbpIG/H3CGuEyCTXcTHszw8MP3e14973nU0f/pJ8fRPjMUgecBhNFbfeEF3lP198wgMI2Q47vS2Lv+2Kb7p2+V2Xufqi1QTxCxYoIg6IM8XeefNMxxReWCIPAIEj7wRMg8SyJWifT7vi7pCuuI8AXIWoaZC+ShoDCIGLkQvWA++dxBwSpe6FevBmo+Fs+rTtZGHWCB1ZLf+Mfy+Lf/Y2fGx9ar9Nmh1vGeOoQSgOll2hAoy5kcZ84MUF4DyJDPXKf7uwXO7MqVSoRxSKPQUfxYx68Hpfo+vPnEpwpImpabFsb7y+xi6WtkyrL3KeitFnEnELgA1qEXKB8qNo3+k/YcWZ0xHJ5YeghOLjwYifxigOpZ4UZXocPvzUxK/+hYd1S5wKxH5QMxsVuCi/Q/TohjzfYattHKyWqbpi3Va1mz0T3g2qTIz8u2BTnTtuoCYMlf+/KmFzk9ZkYKW3CJh+zuNkSK52AJwbmY8ERHVWPUQOnCF0eiK+t0KjM1FOjRImJQfekeS551bwB76B52Xdr6ZIg2kDKnKe+Zr2t7SIYV16sWBz3SG7HE2/zhX8MAWEEgtWbEmbDRqwjkx+tNMTAO6FBiZkKRITcF+xiqL2iySdFc2mtsJJlLs4QW4bffxm3fNHWRohGPQh3kqR9rHWGGTaBov/lVgAtvLXKWhVkc7/4FdSxtFrQo4ymlUdfS2NFXjpdy6fz1fKXzDagR+V+DcoM5Nqzc4Xer16fQGdaRr/S5Z73KqN6D1HFKXaSOJtpxeL4oqdotOl20jUoUU4hkduohC1mU0ymLwrZMSXIlF78r37RJYrL0nsLmPWkjOfeHziZiQYpQAGJ7XZAlxXJDQaEQhKSHYo1uw66NbuNkc1yoTOp2yO64xm7s0iNsPYqJL2wYLk1pzR2tj3a/ORhM6Jhp/TGZ8o0JwtcEFGDOrYqopU+USk7Kf7nRMHzvG9axTi7hxbXyeiMD51a0hAqG1vV1os/FbqZUvtBnWUhNYSzGH29jc3MjlsADv+/bnPvcfQWQgSkWPsukklSRv3Bhwk2X83hqH5UfwflS3jO4IX70+TqVqkzZdrY5rtaLodbWbfI2Fe3WIxxu6yrW+Ggc/fvVY08SGDbWN6ze01Qa5nayVanZK7TX/vgRJaCm+tB6jJvSWXoYlwEiKbARbLUGrxS1N7/tsPGVkeVzMt8q1qmBGYncOqM3JVUEGJoDsbDnkMEgXfUGY2Ev8FRltKyHVG4MDYvA0E+5VOhOCjW43f5Mr2auETWmNJVVsDjGYZh+lhUOO9jUed/uaEA4bA5EiS4RRgKL9PYZTt/DdC7AND4cfXoABT89ifcI0v6xmBO+eYSKNamUwLtM74mIZOZic83fUsY27+hzH4KtXng8/Emrr//8jATBzBzFDjOwlZghZ87fkiv97PCYeV4wR80lgff/tx93pwcFMbypnk2SAjgurtK6ulJXs2dCzVZj9O+Itt9FLuYtvr3sm9PbniLU84cybRfDRhBQkDvBBhr+Bs3reIC4UnCboYCD93y39H6rzGAW1LymiPba0lvv27t2b9cRH5DsC8Av0bBj/0y1gvXKyqZexp+unwqbAmdIAf9jn94cQ1Bfy+3xhxCDYqnTfKpAdoKf7wOkDyO6/ugUf7CONHkqFYkiUkhffsS9uX68fPunKRIYUCp5/kAfYpRLBhF8SG1zQ7gutikGrgJ0P0kBICq331lvx5ML7ewwOhw0Oi0ALPdNs/geJtwCzgE6TNcq7O6G7dLL0ixtQMstYhUU6ZmmuTF6D86s7iu6YhWVatpxvBK3D9kI7WOrSy14q5ZZWFf1rrbY1v1L8EtesDrTuDwfDYOOX4nUHzds/rBG/WKb3qvhExNyQ9x1P8noVrJpqtwceWCYncgSYe+NnOiQkWDf4cnOB84cNX72yiwCswgsIMCsE/Odg1p4NK9qzYHV7OmxYyoQ/Av3JdeAMt4QDbWkWTuJzFoBOqUfwimUz3NrBDwnXngVd7emwYAkTVgUN2hPg3p7181J7+s8bS5g/p0HJEgLNz5iaDA5mzLnrkq49C463p8OZtFdgwqUbe/S3wd18DvyWOCkSQzrRVulE/dKJDiZeK0dXE6VfOAJe0sPKTAv0fDqZsynYVwcWOJxICnL49ydhuu6V3teH1RS5PejlDrOB4goMMwqEDQXWCM8u/JHcYd6m5CcwnOEQXpTmcJJPZJgzQgTtI2hEeAjm663EtFJ2xlJh2Z6U6dLF+rKafDeTXqpRV5vUFtBxqnXoaUYdBtRZRHZ5l7gk5S9hoHYk8zWZNFrnatPe07X9sXDa/3Y6mtP5q9PVne7ZTs//ud4RN59lN/j/OZV75F65T+6XB+RBHMLzZiCv0nQCpj20l/bRfjpAB+kQBsxO+S136Y8YqJ3L8Ojk/P1ZIvfJSBoeOr4KYBbfhmO6sY4B8wnGTgMXZ4+QnEtFXAL4c2Z/2QNcX6LF7gnbHpJ522sG9Frkt7b21AigV/+pg89NfcYN80IHYhJBLNIhDnEF/zc99+59DI03sfimH3z5Et7tlMJvXY36gacB/o8A5M7qcbtbeLKRh97CO2rnjguw70/Jyox792UUDS/0VZxceE0jfcpCfvrB4+uCknek4OT5/GpA3ySXm3v0G3MMVKJcOE0jPTPjgR9RyKk4uVMuK52e/gayaxfknUWQcflgujEnp3B/9VMC2Nx2KnYL8t7JEYSdxvuoxoj59N9qfIqADXsAB/ArYh4IHww105ABhPGUjDwsE5r7eqxLlSgf1I7RKCWp5SW1JFJiTvm5HnlZP7njbxT2+zIbO46hBLk1o8mIHBfAw7s/C3AxS+vZPPbEpsSb6uwItmE4sYzYsYzlsCo4Z/zTZL0xw60IAF+njZcA1wWAQhBFNzgvQOITm8PleaezlKBiWfWWGXkHQQLaFdD8AOWNZSgEUVSZ0QCJTzThvPW3miCtU90K5M+MOfkm/10Wmi7OpIcZPf1ykHEw2z9lfQrRRauVx42btiPX73DMzguvb58jBmQmT997W4vMT1LIMuFNGJZXrtKnr1iJXBrhFmvMA0/Fi+p4qWbzxarZqnNksD9F3d+ntBjw/2/HRQDkBIBZrLkLkiBbhRYLjWTBZLPucoNHPGdF2WZE0eaBbM+hDAcPX6kyKb8K1co6UP31qYaNTTFqts2zhbTH28MhPZQPx7tF9+qFfapv6iv6tn6sPzZ9LGr1rM+2vo1+yP/52MEYO2aN9QIh/hesjt+JvwqPwoXk7cQriXcQM4k8Yod129/BSmTls6pZ8+zv27+w/2q/Zy9NWJMz9mfIH8VnJvGpOccTHc93vNbxbp0knTydKp3R6UXnPZwlaX3p99xfsv/OfjJTmKFm9FR0OUlPLXxl4a/mf5z/Z/7j/IMUk7LS75b8TnFmNr4acz9X+sVsm5kq+9/qq/n18u/2apzIxbg8V+ZOVNxYcW/FkxWvVvxK/Qf1n9f/XP9//bOFwkJ9QemAldMrHZWBymTlUOWyyk2VSys3VO6owqvKqpqrJFXmqtVVG6reVgdXZ6qfqqHWtNbsq1lbs7nmZM39mu+1tNqmWmktXOuuXVH7RO3/64LqvHXL6p6se1D3ru7vemZ9VT2/XlOP10fql9Y/XP+xwa/B3zDYsLRha8PhhvMNzxu+sUQsHsvI8rEmWDtZO1hjrOeNRONfFwUv6mua37SlmdIsah5u3tC8rHlr82ALvWWw5Tu2L/sAe5T9iP2Jw+LYOTHOUs6DnIOc71yC28Tdw93Lvcp9zv3Ko/CqeFJeiDfNO8+7wyf41XwvP8lfzF/F38Pv4/fzB/hn+Ff49/mv+N8EdDMYgtV5gAFUQLAI8EUDaq51CpAgAAQiAMRUv/RyxL+2cyUmwq7OhEJga3IHGnfsvT33Wcey8Xmu4CGd/pcHcHnx7P3RFm8rQIIVICAiAJw6gHcdKAhhZP8RfWd5kCO7sdZ3Hy2N0LH2d6elLFmBMErhHY8bLwRPfdS8i+xHnoIUHBlYU/XzR+66a4Y/LTMXbxm/A3+Xxi8UVuWVlXf3siYU2jIeeOB06gAIj7sQuhxY2LeAzfhrtzBPK90oH8mOrwm/Pf/mNfDkg//+7xGpBcel4zEzSh4INJdIAidIZTStoEUXoLegdDBCoA6UtZGBSsmJUtKMincx1cQhuog92ivQ07NFPnN9f2nY7nDixEScH0DPiygTI+sxC7fZp55aB1zTRqYBoWhWGVSMilFggQedo0WsbxyeS97SsoUBaSRve79mqZUFyw+5xnLG2Fl4Xl+44Nod7zwn6CC5uGrrrq5BxSjYL+d4SiQG5nCbocgSvtONxGD5Au5tqVf30oynjavM7D72SEYGmhFtWsj/oqo2W89tQr0iwfKXj7/GjoCfRENpEqdMkE53igMahKUwMBUl41iSMv1zvtfTLXsGdBcF7+oYMN84qLInVpJSov0DrNen9N8qC2yHfjy4Gbq9WVujlxGweVwYhZ4C1BYKgM9FXuD0QWGvy/+IC8uZvay3eP96cOS3WdpjrilwGQaLj+P6NZq8+zwyEor1ZsQemYFf8sPwlNIHmn+u4H91Aa/Ee2XAzuy6676VLvJ33GH/QEwByILq2i7ffux/N218U+cwXANXevv7LY+1ABrbI6rBr87VaxmVp5K27LbnVGq1H9/xBJUVK6wR3WpB8LjGvCPxOE2q2w820jkfh80d75KQZW1Uzp3ed3TREgH2WkrPiOUjsvPo0p29NB3RyOjt/EEmM2Epo3b8AQ4MEzL0bg2JU+lwE+qDEILPHJ9S0Fjg0ulTvN0SWlMgBCFeQcnHBe9saupcZVgPvLkZqGsYHZkIysQgTEyKRX6dEqyce3aZ1vrlNrOg+AXs3FCcmyt7lD+pO+CAm6a4jYC50JBZQHowihMKnzzq4EUp5F1ORLhYZyJmREJMSgC3Gh8CpR8XZR8ajRb4kgkSCXSNiqMcc+BRautJ5TNnPP82Kfd1FtnPUxB/6C+hvRNRutR/ouRIkZIO4TISVlbvUwYf+MyEI8xNLMHf3N/PBIoG/y4wDan66YQG89tHU/5f7jcL3M/QMXTY850PKIBLcsGagFKlVOf91M7e3kZAWCowCwPqk3XQj8PwIZAO6nEd+rr/5AVuaem9lYCkcvwiWFsrYnTTbX6v8ZNPOv/v3DGHTPba4ZulvYSTI6EfwIEH2QN5rnTPUncVCtDQ4FyA8dlF/u4zTx9Rl68HCuG7sau5suwyNI58PAnjUm/k7UxaiDWFFiyReUq2QueLFG2ys0qermigELINTKc2TQkhmInWfPA2bSeqFNGChnI38P0kRDCm/n3WopS3MjAKa62X8Ye/22t4O4NQ6YC3AqEfCzc3/1z0qOG1ezN97e5zyEgw1qUIcafepVagq+zkNny95mMEioRwq3RrheXEZNtUvGB+2+PR9QPuQ5kZEWVy0E6RlCy1OB+sug1NojsWCInp6xPiFwrLYibz7l62PM4FM9FDExa3NLlpHmzncuhS8tsVU/W7ElEz9g57IvGhzEwd9vGTg1DS+NWFW3pFQRXoMaKbArSMKaDjf/sxS8i+hq0pZ0TYMRov2AxtVu4N3Ucl/QVkpAyYfQ+kK4V12z8n+3Qlh5bqxbY5EgZiQANUu/qhp0Z9e+763uBsgLlazp/4uiTE1oH9sre3zBB5JVh8MmM575cgK2WBGSzbZ8PHmzU2Hky9xDVaLKbHduG8UVgebSZRlSus57r/HNh7vep5rOCxlRtkKabDNsxjm6JzrDAbfPOKSMaoSDo1uFm6uc1H63aykAti9ozjw+XERohXsvw8Mtmm2976gA8NZYPCEcVj3WxAijiySah+KvgwWmlk048JG1Y+NQhzIlhN5tCjciwRk0WbCoUCOTUwwrW6Ao0u49B9kcowKHn8mp4be4cGFKBkFAlmsaq49UNjr2DWefKdYVZY0fNIoA5syOMEDZa+CGMwinYK93VV3Pi1/Vyd5+i5Rd6MC8gqrHUjJ10qIaJtyVBuLStHaStsKYElpx0OntGOe+tdfWUFE4hyYByBDDNEWWl+APnmRsmvEVsHoelCCyNoyeq6FKP0YpVAgqscJCZEp03gfrhfMBw3jWMfbhVlX66EQwVoLJRMgMvRoLUrX31j0AkrMaiDSk2xdIFmgkN6kGvq6pEcc6m6wLyGwFF9lye9thHoqtvwKdpcldiW02yknZwoU06qOxLUgW3PGqHMyTv8aCsg7VRpyk2dtwZbqbEkVMTccmQc51ukYELTQ3tu1D8JXxNhsXwPOyAapq/Os+39mUztnPJdfmZ3/aoUDvl4ijpEsJfbARiKMBZIGzA/6OAvgILRe/aDcXLWYXxbMCFRmYoAqMc1Q0Qfr2341F+1qO6ZqGPGehXJ2xt2kpAA2z8TfUURWz/m16lW7u7DD6eEty3igvPHFceY1MEss8CKdCtTE3mXMxEp1jsRW2QJlERDg6CN/Dt43FIeFI+0//vAsPfIofuLQI9mbfUFfhOkaVMf+affP+us0gdT3lXgOvQvc/uXFm8uxYr7YNbNMvvXysqK94Ex4uwjItva9a7OE4L0WUxYn/hv77l7s8GLOuegwwE2+Bw6oA5Nu7v8uoXpDzvxDn6bXRPLgLnN0uLK4b+nYZce9ceEvuksVwkCaC3OPESHwj7QsXdnJgOiHNZhCtYlnkG5sa7B3PSerD+k3WExQoC4+En47LJmxLYfhgGE3Pk1X60CW+mG+Hzlt/GLd20CD0uP5J6UW3hPFwBvCxfH+UIcWYpECLLTnQuaqlvzeBhHl051v4Xc3Dsn4CEkCVzwIg228/C8FkdjD4dmk0DO1hCbI9t1OJyIKM1/vMBbmxMCPQlBE6fz6EMdubH/+siVg/76aDBwo1GPx6XK9kSdw8rSc+WFxqby0x8lBVZgJ8fBRFhK7t+C6B0xVERnr+zOyaDzzQrngvEP9fUKWOSJy7Dbz017xTYL1FYcwo9SqLuUCUkxvwnZVqLCaGczHddLFDJXYuE34ffcVWH4PedSQquN2LN8IR5Z8upIbErZnvaW+Q5VT5hIBoIUjfcqdtT0dbrT62u9HSCuPxl/vWpnt2DMSIKWqWLo2sL9fFgCFrebsQSGT9MNv9pgWZwfVrLaJuHwK+rVD4Ma1yq2PGwN3BtAA4OOV7Bm4WQheWhEbindEJkbdjfGOoPFNEKf9hmigS89pNbZxqG6y1Jugmg6GtJJ1kR7h+i4/VzcSl5duB7AZIqQXBNVPfiao52OCGdPZydyAMePBVCe54Wvu7lTGzBhXNRYPOOJlX7U6IDLaUHrx+VOS5owChMVu/drhWIRQQZTolVZ4EIE2YosE2ghkcUuUu7kzRgtTNM56TiZLkkuFDTgBS9EQLVWQHdv8IbCOae+6w/5fB7SBSE91e2LZLipTvqL1lYwYhWLdjzElM0SLFEYil/1oWlxAN2kYabIEgzBsLc1qWpfK6v2lXNRvXbJxo4L3qAUBr3IlmoGcIDjbKl3OrqXF/NgM15HabUWDbcUDzTyUUMpXJdKXK6vKiNJ3w3EYRrVL6X9GnAjGXOoVCxYmmx0LWStmAlnFcVrm4SAgf3lCrhx1SDvXOIxHg4jpOIXhEU+A8FLNWgShyoPCgaHyotpbhfNB2RwXKIDsFbWPAe2YmHHCdhWViRhbBjfQUVi3ZBubJHOSmQ4aUIpHUKUcanOZPEk73RKSYrO95NtINeaBoQb4HZmObeWxXZzyTZzY0UQQok5NF6w/EwSsBGSDkbYUaE5ETRJFJhrjUYnyoLaWuEE5t8VETgje90xYbFRVTZ9LSvb199qOq9F5/smqECAQzas6Ka/oWjHAhjn4LPO8SZuBjikX7CZ1AD6EIFBpNDYMSO9muk8I1cOiFPAF7/IrWz/gWd73Vl8RBNhzNueNxyXykUL88WvlMK+3O0PlG27de72u4Tm4i40tbQ122Fe8F4z1neFP7/SU90Il6qLj/tV9184WI2Vbwc40wBsjS0CPqHEjhCGzjAuj32AvMtr4Sj2QlgFuZMYiKBUKq/CA78DYN0E34qrVbhN08lDdf+AFCDITR44jngq8rJwIl6QNcgmxQH0YPMqEscJ67/WyALLS8WPzONhAMaU4PAkcUa90vRK7t5ENNptnVNHFvhJOqPqP427fQX+dKnzTxyAu4V3B3DctGmC4KuS0aatUCwhJeJROLe9CsctNVJc7re9AgX1gYEOBZVUFg8XrdFrb8U5I/OTCjCOaZnI5oyTwnsRFZID5drbegQ9TsV5w++IwUL7HGRND16Z2cHJrH+YyTBpit4xjf5OatJ7VcKaI0YLh6pEErcCdaZWISKUbq95XRJB9jhn4Yekz24dy2T7GtBtDu2cd1jEWek9zbdXl8joYquBDp+Xeb0TkWHGBt+y6EDDoU0rt8IQDNtwoK9wd7h1IwdITRMaraWKKGlx41WvnX8cX9jRvQCxvArfAFwiI9OwEa86FzIcbE7o/rtGQBjiUDt4WAt1l9pDXNB+9RhK+dgEAqjaoM0Bi8vT4CXwQcgTu9erNpqL4m3gOf0xn+uNqGV2PYSuKCGcUbAT5vnpwOu2C4Yy4fLoAuI7ZlRCeDBXIzajcou5hd3S79T3WTAJvY8MKepWRcRceTDbfTMaC8RD+CWCCKTFxeqY4Zpkv270UrEmk+RYKdSIs3qFwppsJFFkht614tmRBc6aJI3a1wSZkiwEroNb9KOr6U8TdaIi6I16uV5t6JZAEZolFsMOcDRenLf5nkoB52/VK9pIb9YZuRWpdmtG/mFvS1oEhzeGSfv223aPrquvOXGnE7Mi+sH+YrlYONJbBn1IrOhstozWCSw/NeFvBLjGVURY4VnKHxSUJbUqg+HGv1Q6X/YbVWlqWan01CTGIQU9MNoJJ/EyK0ui5m9wQSUcdBB78ofG1uttcne0uP3XCLO+ODRuGuvTIzNPgEHOEuoOE/pJ8umC/83BVvdU365vaFNgbbkD8tADg85k0rAgJTRj+Sw+NtU9J1U0MP8F01gzugdCm90Txa4X64p2wuOMJYf9ZQQTxqxGcRijXYtWP5qoPn2c6YhOYGOFAT9Noe5SLhSMuRAi7gwXRAPucRuiEDSuCNo8gFzegO/ACbiCO2f0xAFBcBZHc81leEeuYkSx2O60IFgd14pa/MJr1M8vMcu9ETbU3qOS18pFcCFuhG0kgEK7w52vq++FgkGvx4G7qh6GUd5g0Of313Te2kY7qYAt52ItM6XMh1I0k1EJUdERyQfRefTqAW10WWMASG1rTEGQKFpoj6YkiTh2e2apL0UZqRdkzhgI2w3P0UO7Al1Fnj8P3o9hMiw+lXJI1AW283l0ZpYMpUok8iX1/M4auu7YLTn8Kh+q2l5JHfe9KawV5EwTZnzV4+0twpufgkXZ5dM+0kdNWu2Z0gI4CVPc+c1MhuGcaEYld0rFF36V4flFt+l13WAKDV/CxbLGv6PrDGwVq4uXLmeTG1uFPrBeENdgfsu/DVPTbK8JiuoKnlmapuof8PnW29H9zcRYAGnInYCheNzSqeefOXhKK/XVYpcHrR76zRV1qAEIgzJDwegpokRSSrnMsBVDRRSr5iXnuMm1J+HBsPho9GHUHwnHgsFI0N9CkRMl+K7UD/VXszZX53wS3AF3co+dGZjxj3aVzmpCSmHabU/zWVosNOPG671Yk+JQFbnLy7yRhgkpO01WHoZZAl92a4LH7QhFXGED5UYi71vGTBlruuWxZnJs1CkZ+3ynheMsoUTQtLKYj9wxeEN3/HoT11PHIlA+VD50XTcXA15yGMIEV9JwJcKbl6lj+ZIoZI3H0oyZytOdMBCKyJyT1gNuglusJZOUojwVqHK+UGE52jl6ZBzZLRuv82mxC2v1ytTClQmZLo6uFJumZiG3HVUzTThX9upoCbc63TxmvrVcJ53HD929kurz+1MTq+QeDyFJXVGh8vUul63N7cSHjvEajfpSP/48jCKzzIvMcVnTyKg3JemgjfkSWsL1i/n/9jzxnHNcpUi2exS5zMkIMoYhyOACSWh/L+vNklgnwzlbQLnoDiudKemcygVBkjCqY/A9lckt4L2z5AdaDQnI5PoMoE+w0g76ylP8q1cZnwvsOPDqM8KprKNEOWvkpL8t+ztXF0T29fE2cWHDlxK+YBprUarZfZKvc3uQCI2Kp92nA4/AzkUcwBd214cKxWJ+FaJXcgAFzPseWPhtKbZ7GfY0OHMfWIr7DNS3q8ESThPqbwTB2bBvxjSA/+EkC2qK2Jowc1AmmhucCXDN0rr9QltHs1568MmWt/9chmjDt2DH1waD3x2eSYYMzWBe/kmeKW7nJ9VLUOTQgo9Bh8hS0BH8MzLyK7MH53k8CPqZzBDqS0SIDd69BRCF5JDyYH/P6ACt2k6z5cI+TgAZKHlsOMaZ94Vayt2S7Pe8HIfX9g7B7reTnRQCPHfFUsnvZ1Baz0+tQ+xyrg2BL1thuLYWKiSHV0ePadV9Bi7+5VXk/buhcDLIv1NX3cAWujIy3/O9JPZMQLoEArx1Ds5dge4HcydmYAsQIm428JELnHoyE5h7choLxG0bsA93Bv9cjWx7H34Hjy/6F9wH986KpipaQu3Qhe3q7hYcTWKW2IZUmVqtLlteDNaG2uS2EvlWbYupQY0kYZoyr1bj8gQrxfEGbBKBQY5G6YeIcS45zNV8veYcsPmCRomy4qV1GaW+GEllAKTa6Z4g7u3VtFzEL4sMw7rcUQ5FXsvmHRVoZbCI5FBOc20hpUxgqi2Wc2EwinMTsUJBEKCuaiTmOnDtkIfuSrrvR73KOlsSs2o7wNNZbXdjDUoaVzWUoHJkvySdIzstYMyURIm3Rz1iM5IJDvM2gYO6UmiogIwRBYE5TKBoow2HA/s6IFr0oAs0c2wXrpJzeC4C5R8Lfezj9V7ASjxfAleygAIMOlvzThexyIu2uoTkmUEbrDTFwm1GY0IdPB2gfyczOR2mNzR4ihM2o+iW6DQcyg7bilYiPYpYf59qRFe6r007epC/ukLoIIJiQMPkeFg92IlsuvktC9Z+XF/wgrc81lqpwqHOmUNgOS8Wq4dp5YMxxjNtO6Hf//wY6H9i//kdX9sjBNoKkzBZuatCn5DdKC0/5LApUUokRaE4g1nIZnX7yl4IBZfXN6mDitTG7qbmQfghi+Ko4zACWJC7e3sbu4YBh9V6Wcrc0Ubf3ZkbNVINaWWZ0ogztnRpCUG/cbkvl/T73FC5v73p/t4T1E4UGaLMmQL5+SFjuAPu4B5Llhy1g+nH5hVV2qXvF3orxaVwecgsrrhhVVeQE4bRfC63kJFx65DFOQjbQTxCm3hsqqM1G2Fd9sjCXFolwaUxmAyPjVGc35HUxbj9L6HhKp8OgNkGR53CtfRvxthqV3/Aw0jSbZOLKMCgkTGtquXjEKSdrX6Nkni2v7t5E16rM25kOw1rRcMLiwmuB7CIdUKBHJD6IRQd4okripRb9Wy1BWDPFwu8AvMetP76HhnwnX9p3rNbQb0Bt/8f5HAlupKPRW6RWu3g6rA/aF9+0pa38ATy2ML2sFJVsYNMp5HdhkNSmJJXVw94CiSjnNwATZ9KCoVlivcttrGw5k8WUbrTau9IG6P4sY2DlVjuKv+l+oc8OO35P0HLQb83hyt6GmyBDGqerhMSgbN9uKiX799nNvn2YyVtwwghIl1a1jRzj/NaczwbRNj9KTRNNf2Ga20ixkpklbObdVU04Y6ESUoiVHEbc+kAluHrRm2tS6YwlQ3NM+HXylIoudoiDDNRedSLMnAjLkzs5dDjZVJxfGLfJ8TGoP9a0aWem/1uyqLtHxyBIdqUCGYpPTYfmwi6mAj0fQmMLeA8bls0rS0ypdNSf83P23jMd4WWGr7xDX9rLX+BAXmlN9gqA5BBmlH7NOflT/lztKnVakCfiw9yvbdQOMX5kXZ8ojc0vnhW/HB44JpAADQb4SHmAcLf/+JIOQl4Gp4++rTCZIVGMMh9MLS0VpRdOKFpGZ4wdlO1y2EvoGZHfdvq7myYrlJ/ECxCC+DI4kxJGs+QrmLMQhw6BxRmolqvu1ocXJ7lHOfI7mlwAqTL0NPyIsQhnk/DgrLb+an0AOmm6a5BksKlXhN7n7k+jR1SL4Tb+RPJmRwgRaxpDWKlbbzLtjATWhbWUZRbB6+/ah+6kIOs9p2o8hgrpRNc9r403ArOVt2rBzfCN3y+Bbnvt9KpSMQVgyyxXJbZzFaNK9VKutfKNpkGfKas7qdMTpK4KyKSPhUF/S/qW5eqbpLCFwWxZXtrGkycBvVO5dNH0oPqj/uMSdeGKglNUTMuJYN6pHi8zJCLRV37YKyJa7SrYrqEHAzJlNjTkj0TkuJ7mJrwSbNGmqgP80NaDODTn45RNr9yiSvh9qC/3j0NrwL9jmhEbo4pTf3zlIPF4+XwYNPGm+g0YI2Fm8lNjpnIdMdbkVODk00Madn4Ij98/NB8ARMoBayxdDN/mqQcx3IIRTJCiFHp44gVd/dbhz0mdrIbQMk/z0zk1U+/YcqsGb5HD47Tf27p06MJIIB9PUBJpyAomQ6HQcUywY/VBi9WA1QsGMpYDlB3yfZKHUABfTAEuzrBQGA2xmhAj5EItGOUA5dj5KE+KjuB7UWFiPWtqICZCMTZ9RsFwTVwrVsf7MddqeoBAqPCmjtuQNtdI6PsoEwYfVtujbVWcxgRRqD9G01Mq5MGOH6rYOXYYOxEEYXnp3B84EFwet+bKuBDFV1Uo54eCfGUR6ltgwUsG0qOxAUatWYQ4HAZSnMeTVCia6IY4ZZwGJjAt32Qdf7udGG2nKKSWBn9Y6ObAg54pdPMQgE4Fx6QxdY6qI/opwRtePYsvqvscTYKpmojl/wHf30RWXD3Me1LcPGEchk8DX1QrKRpGw2bh3XaOBSogi0ipuqqnDN1BLYWUJzY7CITgjuQa4fdencvfv00BeyvueRjswPibIBFnFogHtj7TsepdTBgRJkQjSsYTFjrknDYddcQZNc52HPQXt1xEHijVoQIHw4+xB4VuzaE0nJ02YDuZmFMuG0D5nzHf7WZyTe1Axh6g/FK2cLXGEB3A82jZDllIAKtn5btydIfVchRIMmLDSHi0GLsSzZDjWCJQwQrT/lwMeU3djDfrrhwWmrqDJ1eMmlC0l4PvjNpRS0UVBUkjMvZsOSlSbIoZzwCr9UkDpu8baS0jzape3Aj3NjIEUrN4lLDhHSJxYAxwbleDqnnvsrCZeNlyxSPQlszMhE6mIKdIamiGtbLgqzzD/qXsbIqZRiGzu7wqMxYMfR9qUt2YdJ+yOMJeZ28VjCtabreiQbGwGa1VuaOAKORRLddVZHAtE0n1PGwmSfCD6NtuzgOYIpm0nHAgtuPkQbrHUeqTTgJ5D5Ih7ByATYKu5f3D8SQF9nOkoA/gPHLdzAMI7ztXEcwXzP6naZCRJWH7NC07X6ZEIO0Ba+FlAAxUW0KboPfiXKOQ0laNI5EFNAhRZDRRp+myl4EoWqFshqwfEsl7dEyuUIJs+BtmQy3vYYkFmxof3+1UiOebySOxcouxNAFwDUCWspoiuD5wnTSU2jH1qmGGZZxcFs6d1ipxbzB8X6CdWDMgzCtBMWtL7UuhwGF+aZnOy2ao6C1aKAUIKIp+VglXi5S61wwruXzqlo4QjojE8/rx7r7TGdsADZDn/Daej2XPXoQkiwaEEh9JxyOtzg97PYDBAh2ygGq7A2HBZWyrvIcxgwEjs4LxqknHLhFiW40gmW3b64o+pRcDojG6fqcKZezfIGQe5OgDe5zKPOUh+XxoqnbpnGZ+g1mOuhiq8738s6gY1td+tokHsxI0LJdFoB0xTtLHpeFhJttcxA2agihY75ZK6pSAjeq6jFJcLTE1q1ajPv9w1iZ6C3hfonFcqHkCty4xFHipqRkzITsuIGl9BFAmJB4ZwgwApiVHkh9jraqcDo+J0EoTXWeLbrdQsk4mQkCOMzaUWsLnlkzEQDiJxIjKHQX5EEorKuZISDE5gyizzyyzT899SSQT7836jSQhYVOM3eR0/1MAPX4OOmwkjFGRwveO1B+r72HZHQrMWj6tfOdMpSo2tt1YIz5+UdADrvyFK5AFWTDH5Z6j58OYHvyaNGmAkXfew4eC8j/dwwEENNxYeEkBzbhXRuWTObnGIAHcESt8xahobIY6UWB5Lb43AUOJ26wzw3jXVsd93WnTYsbfbiuSJQHgHmOiWJhZnnbGFFJH5Y2inYjj0Uf+KBd+O32+wiA00pE9vlO+WOCckQBY088Wcehi1ZcI4o59YcerVjMcjCvqOMa+w7lchVfB7uNepeLDoVCybjN+3ThisTR9TrNSdJx+uEzKRyDSTT18BxZshvNTmt7uXhskSrS8JKLE3l8O2MicRKDQzmFjziya9IPOSKPxXkkji1e3y/53MwtLnyY3Jgui4LM18lu1FsfuCtxpSZomP1u6loxq1MfF/bejAClSeM9PekIh8mDc+zrhyM0jPVWCoW524/XuYo1d9fVflyMBd6yOyWCOsznrE/b/VB+clBX8/ljx3h2Mu7sTUVetm3HK5xWJVvwlK9SH6LcjCiX0w3balY4T9w5/U2Pl6LDsfqGsP4F8Txs6p60Xq7CkSHyk6GokOW0Ws3tE7TR81dG8+obITemHz4T7Aat6HOwP3vR4OveS1CREUESxTfxVt9fXrrws+d/EyjCSvHSpehNwK7QlfJxXajqIYz0ClfFSeV1C4694W3HYsLi16eLA1WsAkC15CTM73NtzK/vfvrZbS1jQJqC7nBctRrOHumEK+X7Y9uh1enKvVYO2TVltrcwudbpPIY86MFYsRDcrMylD/F1XKwwX1SDgx2GQZ65GwCyKrNlwGCHhuy2uconLRf0ua/PDbdjLaB0h8cI+BPO7y5KI+BJ/K0SKneZwXpyiyPgKP7CrR2Xls+trJxDef7+++cLBxvgIuEPi1Byoamwu1LA+ltjnMqZbi/ML0Nngnd/Mj8FzmCuqHLYaepe5YSbYCoB60B1Hr4SyILYQw8eUw7kh+GWFqWnAZ50c7wxC4ARYKQ1693nmyU/otyyH9B3QECCi3iEtDw69b546xR+LE5ZoQXwP+MDhVx/rKsQ8QN3uQ2DZi1i9xTSzyIj+Kk4BB1go1pgJfHt/xwWyuoz/ji0w31N4AmAK+DKwpx3bV4sWWKjxC9TNAVXEEXhU5sdLHAyGOcgq6LPt6aobot5rHIZcmQNhVAbHJxewaLo3NtZ5X52R6km3Sgb7USjwyQkHFNXuvnUH5DN9LIDk7Y6mvJrazZWlnaYfT73+FOvW02JF0gFhaFyObBNsVm8hCBkXiyMsav4KX+pcriZ1dSsbhiVNxQf8EmihTHnCC3NSJHHcu+kGJ7nM0VZXRUZHIxQwpS6XWIoqyudOc37q/3Urzsejca7NzpDbE779NNDBReBFnhRJ7unH38iCYqyZEHXv8g3Q9sGR71xnE9fJS5sZZX6OcRuvtkDbGvUf54PAIHcHZiV7IC+thUp3378DIBJxhZO9E7barp6r/TOAl8tKgIB9gXhDfhroZYc43prO4UaDUsQQskisjNS5H8hBz9++Kab3i2cwl+K07J8Fck5tRSe9obdryRut3vfhX34Dfz1n84XS3Fg7ncvEl3/+on/tHQkZSA38rtH8EsH2jutbqNnH+E/gAEmE9C+DM5x1MLBJXA8/7Fm0HIJFZSTrXA8/EPwQWSX7EIm7je/qi0HAUuI39yQwlfeXZPbmT/fbQYz+x/p0N7Z2b0eqCoJQeWEaw1IEWYMvmlVr/AXnQEa6OsGZaj5h4Mu4C1urAexz8wZf6da3aloaXNxI6iVq/gWp1NbMtEQRBCnt3PKTlWK+K/ufgh/L8QSglghEU5bQ6nnZwK+q0gXwC9kN3tAek9rzgdwg7u+v6TsFE4DiTxE49GNab9Z6OoGakO4VxXYTR68wsDyytOorCehMS8IzXUVFkAzg+kPwHoZj38D/72PbLMLviSBNNcGx2gP6WEgqfy00m8C/XgqlUAU/KFMO/Ksz31afuqp6WxPMILDxYHVQEmDZTwZzF0YG7RFGiD8B/r3wXCrdl12FNsoAvqe8gStZHcmlU0mQjSwSk49oaxqLJ05glCaua10vldawbVIBJqnd9ZbBrVKFyagBAzPpkRUAKGJXASZDBWAKY5Xei0fCbJpRcsHyeFFl3Kch7e/U2zxF2pdqmUfogaukegXFe1QabtYXbs0R07v4FoohD4xQKFRA11dA0m7JGwckWT3reuSJQhZNVGWiSZjkk8K+OGKHrcgB+z9X0bgDrALQwx06UhciYZDPIVLdxf7jhoiuIXyu92T8d6oCIiJGmXKd1mrASUrmGaNhOq4Ls8bSihgFPEWzFvIJacpSkEIxtmcpxVXAtM2R/nZrNeoxeQ+A2JMrxNm3Qy8DL/mujPxUKoue52UkvSkjh80LOVHSJ3HyxQ2M/znaLyNUHMZk4TzNpE4PaFyvjAGKBIZGkmBAq+HJ6L4pq6WB6dPVk48/b7bjMZeGnyYFFvPkjE9LcmuIm5/+KqSd9n4OOsieEnakzAaRrfRkrSATrAS1ukFC2bp+EIUrDuJF4AOsLreSCRokpX/71fXmHSIN2KXtmIdFh5wehPMAdznh7sJYUSgsZyJonU8rh3zJGt9aluIhiE1Gq+H8LsfVl4Qkat7r68lxUF5wG7L6zWx3Tc2cKDYJpuFGLbxN2Yd0Xn9sw+2ftchaywxnl5DFPgZX237Nm8AW1V31xP5VE4KG+Enjh/+FP6Mv8pawNlOSRiUvaclHoOmUdzMBzABmpf5CcvMpuwiruxDZL/KM7x36hOPxE6TRHSYWG3uUnhD2oSQjCAEnYn38y+3zTKNGwlYQXvXtnB8uN0CUs1pKexln2dOS4KYc221rjiMpkOf6qq+HHiRL0x01ROyKXV32iFi2jXqGMje60YmvHoS2B2KTiZfMn3r3tAdDqQkAbnE1oUzPT1pErMvzL9JCyG3Ovzxxj4ZiLM2cMgwpMasdtuXf57Eh3kaOJEVeZnZbRsd1mupzR06/7qk+yqs8g5icUaFj1rzKNHhpSfG1dc636+TMDno17dBZABYRBJGJYowtUwCrCcEgRkGKPUGXb29XWHqIRwPMQRKPSvhRvnVFvX6SfXErw237QfFitTudpLdPlyMCzR0GmpJ4POhrBXU0sFdWwWCxTBEMSJ2XIRI0lSXqXQZ3mp/0nl+6vLAE0tDGc6Vg2LK6IebhUKMUMVeITdyMHofAYoXELCBcdl0ImmWRS3P88zSpQpE7PSirBf1MCyzHtFHMl+vv1o+TSnGBBGNIYRXk7mJ07TlF3ufNgdIKLOoK449J2TpMrHl3TLG036/CycDm88wwMy650wsh8NeS6Ykk1Lr3PTcBxdVg0EAztYBLlRHWSy0W/P6aS/n7FlCU8LSAU3SvsswniBFPDXrOyB3bshquAdhOqvAY4IFTlBsj7UmOtZosiJVBK7XpiiVzCjVzeyglpdabqIH1ZQPJDhWhGrS9CDiOwIAo7pbbwzkJF9112qEEhKyjdPfO+eggCOXwmfg+++ItM9TO60n+GdyyeRNvlnn+dPjEPpSHxDNpfgAPngZ5yENREdPRoFjyiqWa1iRqmz6Vt1RbEIGklcoZMMia40K67oYzhaIsCoGVbYPigwxLl28VoXQg4lSNB2QhjHz2JSWYuFh6I/F/AnXT3ZJtQVpYdffz9XasuazAE7JCXWc1v9Zgh1oLHpwQmrvJABm1DBmcDNN29fwK7gXjtUc+/+AT2JQBofkADNEJ3FaLg2TeKFL4QQcfcWm3L9MjdPhQ7eptyQii6KUTfEGsUYa063l3W85zq0aJcdTVdW03+xw2kmrpayDCJWaHVcr2C5Wjuo9OyZkmYHlOIJafs8J5D5EkNDxDiOsmn+m+1vBMe0ayvL8yv4+IcTly/aEum9MOzkJ4S8dXD1hau+W2e2EAdbaxlf1Z4+6YO77KdBR/Cb0MFrCJQSZ1VMnhIIPO1x3nNDLOsyCM2bv6rSlWWE4lmNcbKttzVJ/F5l1O1SV3rwGlssQfFy5MUUteo4jtXQcXsMj8ISPDdm9Qgetduyj7ZISyOVQZ/yjbcNIukG2VuNSWKWuWgarW+A6qPVazvbz6jVbqVvf3HM4iqGlHEkch7PUl5mcKgjRqExZqb7URUhke8ZJmZO3+7BW4LXV4kmS+M3sb6qj3VAhYzg/ikWhUjCuPd5GOVU+Meysbxb6nc1xvUaroSJllszzTCxdcT+NNvI6SjIRkXgySEZnt8BN1/UARzH6tYEY5T+qIDDiM08NlmDihSit+YfPpgSsRjyYUdB/TDSxeAXqaFJJN9gt5BoIRxghkMaVx4FN00ddDhOxFwwHQaBwDPuc7ffXR90RwGyyvUW8aG4X2u0lL7wVCoZMYyAEplFxT9+uk7lN6h0H0p89zhcFA05sPLuG1iH7t1UPVHhHKFHd0D4RpRtKUOAh6CxR5dvuViCZqRyU5iDIg/C4Fo9DlUvfI4y25/P8pu4VQIvBOiWua3oJniSTi/rirvjwzs7G2adTpbJsuMCuRpXCCfI7bfpa7eo4sxjsR5BcqnOYJIHeuDSfoHx7qWuEoP2hXNKrzNG34uTFdvGpcmXL40vHsdlchzDEN5azxpH4UTVy1vS72cXwF1fC39BuLEXxWk9a9VvaK4dzQfWwMjSnv6lNuZg+JgJIm3uU1lqW63zpyvfdr+Lu3cCGiJ4tFtyV5Ii2v5CR00QM9ZmlbUok4BcSEHiJB58u2D9HAx334GP+Ng0zMDedQS9GO77lAo58qwiG3yRauYSxs8ilW2I3d0eAqbRQ9Su5sjB+6IrrLHpKkgpgwZzOpqDZeq8h8vUd4sqVhjW4EgPKdR3dBH/dPsaumoYreXkBIPGk88/GQC8uKunrw661FEEZyNVkNKBym7fBnMaY6T8dZpNtgM3PW0XOAgIncVAUikZ5xYeU71mIRTcus7egZyUYY0IB8ZbsvSZ9sbBy+zzKl7hf917qvoQtuPFLzk1RcgMFYbxVtxCLc+/fvnKBufNJIPt7I4AxgPltGiHt6PSnpongfwNozbZhRbUT9jKQ/U6wGiygJA1A8xujoOQtTxQeP4DY0ZwXWN4wQ8LP4TxUjH2NGecydxLN8+iJbDvmh8+d64NHT0eVtsHCq3kjXV2nItTHOnienzIYlkU7GGN+HnNxHU8/KtFCTCqR1OUshIrIFdglKmpMx7O/6jiTMd1QW5h+S8hdmA+heSbbL68r/pnt1ilbgm1di376NKpYpJa2MqCoJOzgSXjI3bof+o0nM2oPU6oR4oUqUVj6yT1P9Lvn1ivPuwJ65e/eesc94jtuvenKJm76QPz3nZgWHQyKNBplqC8GOx3i+8Nw/DRiR3Vr77gBR3IlXK2LrsZEZ/kR8+NTbFDDILwOpoL5HHeDRgx7ggKJm8H4ERwPumAcBLvKw7q8beoYiJtIHjfOMGjuNJtWaA59frpgNfcn4qnglbgoZ/VF1J31auiyAykT9LX7dlx3qA9KS2y5yz/ua1mefxLv8RLENE+qwXg0rqNO07cvCVXKMeuQCVB44ZkWHZ8yBcSLklJi+Q75a64u/XHw5APqYbCPmR06xkUuBQyUh/TIqhdN7shDpQxqFuDMf7+EgjQgE66xdxkP5UsNfqqxTuT2Tm3x7Gl8sMEdVA8Q+fE5ffHJnwWaQn2SENuuuMkpqmY/FG0OHMle8WCTPzigjAiCEPSdpE7zu4rHJbXuCRaaUJ4kZJG01/OI9E4FNMzYU8Ie2mbNczMB3B2rOxB5yNlznrjeAeEI0B5ySKm3Ot7C5+M5TRtNnjazbWcmZalO5MDzDxs2dDXi+qY0CTgU/ZSMDZsCZn1XFsO6xFs3nYfaA/RBn3i0Z/m15FVmmvGxrKqKU6FhmJaF4yI6YllOEMQmDM9jsoUz1DbZCaeBmb6O6YrgE2sVNXSrHhdOCqufpHhfY/b2En8uSXS/dF0cDETiXlAQbLmjyBKP0b25Y58BPXER0pAuVFchSgQRIjgumlkNc2gFH50TS7Tym6KrtrR/0Q3umrxYNuyQVBLcii7KGoZt6nIhsazxhKXD6biGAbwT4eHYV0CbddBA4w0OdMIfqYYnXKImtbe8TtdZnmiiJU1bLBMlzQiwhMikZPVIWZQ/PbB6MzawBSsVUeDMsvlrQvJQ3j5Ot007xIx/twxD6zswno3mcDgxQ/Og3dv/O4FeuHtrlJPcaUeEGjL89RpB5H4mcvOaiPr9Lf0OdaVAanuPiiplXvcIxGG1374YmWzT2jSIqnFk+Ed7bfOyRny5BZ8H81f/cOAnMa4OLMUgA1/F4AONGP7ACjDVfSDazM2FMhCIiWYSQ8hw3/cYKNEVdOUWgQDfPWP51/jWU7n63yyOvwHgl2ceb19c+K/5b6XntDzHrJkBdBgABP31sOacVpX+e6hFVeMK5ycJWa3j0UfOevSi1S7hdup3NPVX7FsH0CglSK0JIIxTHnT+khRD+mkXA+UUTs0ggKxGU6jUBo6oXy/Wj9hLA1W2emD0w/gaxkb9eq/Go2Swax9Rzj2AoGG4VaXBLdX0eFCRSMoaebatBIknppo1QDxMi+FUll6UFWfLg4gxSY1QjNRjDw61FYXyU4GKmpgUSG2A/JllCfXHhXPtpJ0IVp5GFfNyFVGSzXjU9NGxqhphc7lJheFQhngo/C61A2XNROvWh/DIYmTZosvSB3FOi11VjLJyfZWPtCoQW8oGQWmQBURJKIQL5DCFY+IUYXVTp3Qh842R04lEGg6RZMsVwvK8JQ2pmxRZif7uWWRJPUTQOBMu6/E3mJXMOQ3fYYzcYO8S58mXxAbN6dLlLbc5o1gOyCOePYHdWz+e6FNkGeu1lC4ntuQq+nTrVWHfHT72ZLlpB9ptKhoYrpS1mFeO/UwX36X0kZch1olgDU4pi/2hvdDmcbunW483LUFWCepZ4tGUTY34jNaMJvuQu0mWKJnHAI1+yXI5ierTdYeQHb7sUwWyYpD4fr4kziVxdmUlFqx8JkV/tbmWc9hjfwL2Yzcer+72+aQ1TyGfIvCwFDkB/zWucIGA86nDk4YKGZuWf9WGZIFDAyYAb5U4VQhRPIXhFKZwjrmhKMQZBFX2gSbb1nC4R70JApgffyWAEW+ljyBWEEq+MoD0TYkgvFGGCN2oEVt7AjKquwmSwDaqjBHZraTw9CkTJFoVCUODMkUgT5nBl6DMkXJXFhDkyhIhIawk8V2sIQBXKFMqk1aYKt22RKFsIXK5smDt+Sdk1hQnI3kbpE5thUxwWXqYHGKkPApjcxxvO0sVIsrHliIKOU+rVupHSjhytvkKKMZ4rMf8CGrsEpugwJ7Uxs6ZcmXhrDH6y1Xy5sBllnM9nDe3aVU1VxNcebCi+PQK+eo2Ti6b6kbbCokRFaaw3JKcWg725MhxN+RDJexDaZwAkWacNUZmD5WZAPOd9SpWLiU5c5RWV+TKc66OsMExXlumqGCyL1r9VLfElK1CI00vaw/nUyi4dbUsCtkvxRYHNSut22RKJLGP29hrAzM+0vQGZ3+w8wG2O58ojMmyS7bdFrFkJYe1t2RynXPBRTZs2ZG75LIrrrIP3l+dn57H2TXX5btpsT32cvGRK7ee7PCtKAp8vHjzse9NW0yh56L0xaU2ChKsTIh3QpU3on22sH7ifPMdVWrUJh+qRYWBaD3guV7qxKnXqEmDTebYJ94nCWZI1G2mJM1a/GKuZClSaXxw1KzMhSGnk4D1+sIEvR75VPqz82FGJCEQC7GRzhZj/WtXV756CtRXqIEiDRVrpERjpZpIaqqZ5lpoqZXWHDfpT98j00Zb7ZRrr0IHHcHjpLMuuqKLy5jUDhRbmNnsrE46aPimx013ePY7wB8LW5oMvlSGjTjokAGH/aHfSadQEfHQUy+9McfUpUOvHr+aFx+VpHujzQn0TKPdChyffTGIZMrEUpm28sOIr9NVCQmLiGrRqk27mLgOnbokJFkgwHx3PXLPfY9TM2oOlBhJT6QLxgd7xGI5JJaJJfN7RP1DyX7a45hLtkllKpaUw/My8Yxom9R6543Fx5aeR/TJYGTuofT7jWXmDA2m756xyWzm7Z7uxffcvdYV354Jfo32TNk735xd7e12DfYMzny9+sJ2zwuWCmEWBGHmB4lAVgBhLwv7FwuwQ31pC5YCHBRAAhDcHAgAIKk95Y6RilXieKJYDGuiUk/Ge3JEFVFlVOWq5XtB4qbcklP32SR+z/ecmD4hC1n70ILKKLdyL4G95M4h0yd/JxCIrhvh4IA7C/c7mOtTjcaqnyj01bCUh+1qnSV3zm4du3P2bdjJP3guwdzukfexk+PD8yP2N5i98J4Qq7Gsav6xIo9fyA4kPKlkMxLuolJPGV8Gmj/W05+6m0telBsa6ttNYpBjC1NDY3tHXHVbkKr8ETJ1oVS0gv9gq+1iSywHTbIO9GwYeTXv/u5eynYA) 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;}

/* PORTFOLIO EDITORIAL — append LAST, after font and historical !important layers.
 * Palettes/materials are inherited untouched. All new reading surfaces are opaque.
 */
:root:root:root { --em-font:'Portfolio Geist',var(--wt-font),sans-serif; --em-ease:cubic-bezier(.16,1,.3,1); }
:root:root:root body.wt :is(.em-page-title,.entry-header .entry-title,.wt-hero__title,.pf-home .pf-h2) { font-family:var(--em-font)!important; color:var(--wt-text)!important; background-image:none!important; -webkit-text-fill-color:currentColor!important; letter-spacing:-.035em!important; }
:root:root:root body.wt .entry-header .entry-title { font-size:clamp(2rem,3.7vw,3.75rem)!important; line-height:1.08!important; font-weight:650!important; }
:root:root:root body.wt .entry-header { border-bottom:1px solid var(--wt-line-2); padding-bottom:24px!important; }
:root:root:root body.wt .pf-home .pf-hero2 {
  display:grid!important; grid-template-columns:minmax(0,1fr)!important; gap:0!important;
  background:var(--wt-bg-2)!important; border:0!important; border-radius:0!important; box-shadow:none!important;
  padding:clamp(26px,3.5vw,52px) clamp(20px,3.2vw,44px) 0!important; overflow:hidden; isolation:isolate;
}
:root:root:root body.wt .pf-home .em-profile { min-width:0; padding-bottom:clamp(32px,4vw,52px); }
:root:root:root body.wt .pf-home .pf-hero2 h1 {
  font-family:var(--em-font)!important; font-size:clamp(3rem,7.4vw,6rem)!important;
  line-height:1.03!important; font-weight:650!important; letter-spacing:-.04em!important;
  max-width:none!important; margin:0!important; color:var(--wt-text)!important; background:none!important;
}
:root:root:root body.wt .pf-home .pf-hero2 h1 br { display:none; }
:root:root:root body.wt .pf-home .em-greeting { display:block; font-size:clamp(1.1rem,1.7vw,1.4rem); line-height:1.3; font-weight:500; letter-spacing:0; margin-bottom:20px; }
:root:root:root body.wt .pf-home .em-voice { display:block; font-size:clamp(1.3rem,2.2vw,1.9rem); line-height:1.2; letter-spacing:-.015em; font-weight:450; margin-bottom:7px; }
:root:root:root body.wt .pf-home .em-name { display:block; font-size:inherit; line-height:1.03; letter-spacing:-.04em; font-weight:650; }
:root:root:root body.wt .pf-home .em-name .pf-grad { font:inherit!important; color:var(--wt-text)!important; background:none!important; -webkit-text-fill-color:currentColor!important; }
:root:root:root body.wt .em-signature { display:block; width:min(74%,520px); height:28px; margin:7px 0 26px; color:var(--wt-accent); pointer-events:none; }
:root:root:root body.wt .em-signature svg { display:block; width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
:root:root:root body.wt .pf-home .pf-hero2__lead { max-width:62ch!important; font-size:clamp(1rem,1.2vw,1.125rem)!important; line-height:1.75!important; margin:0!important; }
:root:root:root body.wt .pf-home .pf-hero2__hello { display:block!important; margin:16px 0 0!important; font:450 .86rem/1.5 var(--wt-font)!important; letter-spacing:0!important; color:var(--wt-text-2)!important; background:none!important; border:0!important; padding:0!important; }
:root:root:root body.wt .pf-home .pf-btns { margin-top:22px!important; gap:12px; }
:root:root:root body.wt .pf-home .pf-btns .wt-btn { min-height:44px; padding:11px 18px; }
/* One horizontal register below the profile: the DOM remains highest → lowest. */
:root:root:root body.wt .pf-home .pf-couches {
  display:grid!important; grid-template-columns:minmax(0,.9fr) minmax(0,3fr); column-gap:32px; align-self:stretch;
  border:0!important; border-top:3px solid var(--wt-text)!important; border-radius:0!important;
  background:var(--wt-bg-2)!important; padding:28px 0 26px!important; min-width:0;
}
:root:root:root body.wt .pf-home .pf-couches__t { grid-column:1; grid-row:1; font:600 clamp(1.4rem,1.8vw,1.8rem)/1.15 var(--em-font)!important; letter-spacing:-.025em!important; text-transform:none!important; margin:0 0 10px!important; }
:root:root:root body.wt .pf-home .pf-couches__s { grid-column:1; grid-row:2; align-self:start; font-size:.875rem!important; line-height:1.6; margin:0!important; }
:root:root:root body.wt .pf-home .pf-couches__pile { grid-column:2; grid-row:1 / span 2; padding:0!important; min-width:0; }
:root:root:root body.wt .pf-home .pf-couches__pile::before { display:none!important; }
:root:root:root body.wt .pf-home .pf-couches ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px 24px; }
:root:root:root body.wt .pf-home .pf-couches li { min-width:0; padding:0 0 5px!important; gap:5px; border:0!important; align-content:start; }
:root:root:root body.wt .pf-home .pf-couches li::before { display:none!important; }
:root:root:root body.wt .pf-home .pf-couches li b { font:600 .94rem/1.35 var(--wt-font); color:var(--wt-text); }
:root:root:root body.wt .pf-home .pf-couches li > span:not(.em-layer-trace) { font-size:.8rem!important; line-height:1.5; overflow-wrap:break-word; }
:root:root:root body.wt .em-layer-trace { display:block; width:100%; height:12px; color:var(--wt-accent); pointer-events:none; margin-top:3px; }
:root:root:root body.wt .em-layer-trace svg { width:100%; height:100%; display:block; stroke:currentColor; fill:none; stroke-width:1; opacity:.65; }
:root:root:root body.wt .pf-home .pf-couches__bts { grid-column:1 / -1; border:0!important; margin:20px 0 0!important; padding:0!important; font-size:.8rem; }
/* Index, not nine equal boxes. Existing href, labels and descriptions are untouched. */
:root:root:root body.wt .pf-home .pf-tiles { display:block!important; border-top:1px solid var(--wt-line-2); }
:root:root:root body.wt .pf-home .pf-tile {
  display:grid!important; grid-template-columns:minmax(0,35fr) minmax(0,45fr) minmax(0,20fr); gap:clamp(14px,2vw,28px); align-items:center;
  background:var(--wt-bg-2)!important; border:0!important; border-bottom:1px solid var(--wt-line-2)!important;
  border-radius:0!important; box-shadow:none!important; padding:24px 22px!important; transform:none!important;
  min-height:92px; overflow:visible; color:var(--wt-text)!important; transition:background-color 180ms var(--em-ease)!important;
}
:root:root:root body.wt .pf-home .pf-tile:is(:hover,:focus-visible) { transform:none!important; box-shadow:none!important; background:var(--wt-surface)!important; }
:root:root:root body.wt .pf-home :is(.pf-tile__ico,.pf-tile__wm,.pf-tile__n) { display:none!important; }
:root:root:root body.wt .pf-home .pf-tile__t { font:550 clamp(1.2rem,1.8vw,1.65rem)/1.2 var(--em-font)!important; letter-spacing:-.02em; margin:0!important; }
:root:root:root body.wt .pf-home .pf-tile__d { font-size:.92rem!important; line-height:1.6!important; margin:0!important; }
:root:root:root body.wt .pf-home .pf-tile__go { position:relative; display:inline-flex; justify-self:end; gap:9px; align-items:center; color:var(--wt-accent)!important; font:600 .82rem/1.4 var(--wt-font)!important; padding:7px 0; }
:root:root:root body.wt .pf-home .pf-tile__go::after { display:none!important; content:none!important; }
:root:root:root body.wt .pf-home .pf-tile__go::before { content:''; position:absolute; left:0; right:0; bottom:2px; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform 220ms var(--em-ease); }
:root:root:root body.wt .em-link-arrow { display:inline-flex; width:27px; height:20px; flex:none; pointer-events:none; }
:root:root:root body.wt .em-link-arrow svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
:root:root:root body.wt .pf-home .pf-tile:focus-visible .pf-tile__go::before { transform:scaleX(1); }
@media(hover:hover) and (pointer:fine) { :root:root:root body.wt .pf-home .pf-tile:hover .pf-tile__go::before { transform:scaleX(1); } }
:root:root:root body.wt .pf-home .pf-h2 { font-size:clamp(1.6rem,2.7vw,2.5rem)!important; line-height:1.14; margin-top:clamp(40px,5vw,68px)!important; font-weight:550!important; }
:root:root:root body.wt .pf-home .pf-h2::after { display:none!important; }
:root:root:root body.wt .pf-home > .pf-grid-2 { gap:0 40px!important; padding:28px 24px; border-top:1px solid var(--wt-line-2); border-bottom:1px solid var(--wt-line-2); background:var(--wt-bg-2); }
:root:root:root body.wt .pf-home > .pf-grid-2 > .pf-panel { padding:0!important; border:0!important; border-radius:0!important; background:transparent!important; box-shadow:none!important; }

:root:root:root body.wt .pf-home > .pf-grid-2 .pf-panel h3 { font:600 1.35rem/1.25 var(--em-font)!important; }
/* Functional focus/icons, palette selection and caret remain explicit. */
:root:root:root body.wt :is(a,button,input,select,summary):focus-visible { outline:2px solid var(--wt-accent)!important; outline-offset:4px!important; }
:root:root:root body.wt ::selection { color:var(--wt-bg-2); background:var(--wt-text); }
:root:root:root body.wt :is(input,textarea) { caret-color:var(--wt-accent); }
:root:root:root { scrollbar-color:var(--wt-muted) var(--wt-bg-2); }
@media(max-width:1000px) {
 :root:root:root body.wt .pf-home .pf-couches { grid-template-columns:minmax(0,1fr); gap:0; }
 :root:root:root body.wt .pf-home :is(.pf-couches__t,.pf-couches__s,.pf-couches__pile,.pf-couches__bts) { grid-column:1; grid-row:auto; }
 :root:root:root body.wt .pf-home .pf-couches__s { margin-bottom:24px!important; }
}
@media(max-width:640px) {
 :root:root:root body.wt .pf-home .pf-hero2 h1 { font-size:clamp(2.65rem,10.8vw,4.8rem)!important; }
 :root:root:root body.wt .pf-home .em-signature { width:90%; margin-bottom:22px; }
 :root:root:root body.wt .pf-home .pf-couches ol { grid-template-columns:minmax(0,1fr); gap:16px; }
 :root:root:root body.wt .pf-home .pf-couches li { padding-bottom:9px!important; }
 :root:root:root body.wt .pf-home .em-layer-trace { width:min(74%,240px); }
 :root:root:root body.wt .pf-home .pf-tile { grid-template-columns:minmax(0,1fr); gap:9px; padding:22px 18px!important; }
 :root:root:root body.wt .pf-home .pf-tile__go { justify-self:start; margin-top:3px; }
 :root:root:root body.wt .pf-home > .pf-grid-2 { gap:28px; padding:24px 18px; }
 :root:root:root body.wt .pf-home .pf-btns { flex-wrap:wrap; }
}
/* Reliable per-document title motion; native links stay immediate. Override
 * the legacy opt-in too: cold WordPress navigation cannot guarantee an early
 * pagereveal handler before the first rendering opportunity. */
@view-transition { navigation:none; }
/* Shared pause also cancels CSS native motion, not merely WAAPI. */
:root:is([data-editorial-motion="off"],[data-ui-motion="off"],[data-ui-visibility="hidden"]) body.wt .pf-home .pf-tile,
:root:is([data-editorial-motion="off"],[data-ui-motion="off"],[data-ui-visibility="hidden"]) body.wt .pf-home .pf-tile__go::before { transition-duration:0s!important; animation:none!important; }
:root:is([data-editorial-motion="off"],[data-ui-motion="off"],[data-ui-visibility="hidden"])::view-transition-group(*),
:root:is([data-editorial-motion="off"],[data-ui-motion="off"],[data-ui-visibility="hidden"])::view-transition-old(*),
:root:is([data-editorial-motion="off"],[data-ui-motion="off"],[data-ui-visibility="hidden"])::view-transition-new(*) { animation:none!important; animation-duration:0s!important; }
@media(prefers-reduced-motion:reduce) {
 :root:root:root body.wt .pf-home .pf-tile,
 :root:root:root body.wt .pf-home .pf-tile__go::before { transition:none!important; }
 ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*) { animation:none!important; animation-duration:0s!important; }
}
@media print { :root:root:root body.wt :is(.em-signature,.em-layer-trace,.em-link-arrow) { display:none!important; } }

/* CSS BUTTON FEEDBACK — after ui-add/editorial, before brand/sidebar CSS.
 * Exact Astra header IDs below beat the inherited important header rules.
 * The five-root scope matches the last legacy brand layer's specificity; no
 * runtime inline colors, category-based colors, whole-control movement or WAAPI.
 */
:root.pf-js { --bm-ease:cubic-bezier(.16,1,.3,1); }
:root:root:root:root:root.pf-js body.wt :is(a.menu-link,a.pf-tile,a.wt-btn,a.wt-more,button) {
  transform:none!important; translate:none!important; scale:none!important; rotate:none!important;
  animation:none!important; background-image:none!important;
  transition:background-color 160ms var(--bm-ease),border-color 160ms var(--bm-ease),color 140ms ease-out,box-shadow 160ms var(--bm-ease)!important;
}
:root:root:root:root:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) .main-header-menu a.menu-link {
  color:var(--wt-text-2)!important; background-color:transparent!important;
  background-image:none!important; box-shadow:none!important;
  transform:none!important; translate:none!important; scale:none!important; rotate:none!important;
  transition:background-color 160ms var(--bm-ease),color 140ms ease-out,box-shadow 160ms var(--bm-ease)!important;
}
:root:root:root:root:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) .main-header-menu a.menu-link::before { content:none!important; }
:root:root:root:root:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) .main-header-menu :is(.current-menu-item,.current_page_item) > a.menu-link,
:root:root:root:root:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) .main-header-menu a.menu-link[aria-current] {
  color:var(--wt-accent)!important; background-color:var(--wt-accent-soft)!important;
  box-shadow:inset 1px 0 0 var(--wt-accent)!important;
}
:root:root:root:root:root.pf-js body.wt :is(a.wt-btn,.fluentform .ff-btn-submit):not(.is-ghost) {
  background:var(--wt-accent)!important; color:var(--wt-accent-ink)!important;
  border-color:var(--wt-accent)!important; box-shadow:none!important;
}
:root:root:root:root:root.pf-js body.wt a.wt-btn.is-ghost {
  background:var(--wt-surface)!important; color:var(--wt-text)!important;
  border-color:var(--wt-line-2)!important; box-shadow:none!important;
}
:root:root:root:root:root.pf-js body.wt :is(a.wt-btn,.fluentform .ff-btn-submit)::after { content:none!important; display:none!important; }
/* Keyboard feedback is not tied to pointer hover or the animation preference. */
:root:root:root:root:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) .main-header-menu a.menu-link:focus-visible {
  background-color:var(--ui-control-hover)!important; color:var(--wt-accent)!important;
  box-shadow:inset 1px 0 0 var(--wt-accent)!important;
}
:root:root:root:root:root.pf-js body.wt :is(a.pf-tile,button:not(.ff-btn-submit),a.wt-btn.is-ghost):focus-visible:not(:disabled):not([aria-disabled="true"]) {
  background-color:var(--ui-control-hover)!important; border-color:var(--wt-accent)!important;
}
:root:root:root:root:root.pf-js body.wt :is(a.wt-btn,.ff-btn-submit):not(.is-ghost):focus-visible {
  background-color:var(--ui-primary-hover)!important;
}
@media (hover:hover) and (pointer:fine) {
  :root:root:root:root:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) .main-header-menu a.menu-link:hover:not([aria-disabled="true"]) {
    background-color:var(--ui-control-hover)!important; color:var(--wt-accent)!important;
    box-shadow:inset 1px 0 0 var(--wt-accent)!important;
  }
  :root:root:root:root:root.pf-js body.wt :is(a.pf-tile,button:not(.ff-btn-submit),a.wt-btn.is-ghost):hover:not(:disabled):not([aria-disabled="true"]) {
    background-color:var(--ui-control-hover)!important; border-color:var(--wt-accent)!important;
    box-shadow:0 5px 14px -11px rgba(0,0,0,.28)!important;
  }
  :root:root:root:root:root.pf-js body.wt :is(a.wt-btn,.ff-btn-submit):not(.is-ghost):hover:not(:disabled):not([aria-disabled="true"]) {
    background-color:var(--ui-primary-hover)!important; color:var(--wt-accent-ink)!important;
  }
}
/* Press is a bounded change of ink/material, never translation of a hit target. */
:root:root:root:root:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) .main-header-menu a.menu-link:active:not([aria-disabled="true"]),
:root:root:root:root:root.pf-js body.wt :is(a.pf-tile,button:not(.ff-btn-submit),a.wt-btn.is-ghost):active:not(:disabled):not([aria-disabled="true"]) {
  background-color:var(--ui-control-pressed)!important; border-color:var(--wt-accent)!important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.12)!important;
}
:root:root:root:root:root.pf-js body.wt :is(a.wt-btn,.ff-btn-submit):not(.is-ghost):active:not(:disabled):not([aria-disabled="true"]) {
  background-color:var(--ui-primary-pressed)!important; color:var(--wt-accent-ink)!important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.12)!important;
}
/* Defense for decoration added by an older modal callback before cleanup. */
:root:root:root:root:root.pf-js body.wt :is(.pf-bi,.pf-mi,.pf-tile__ico,.pf-tile__wm,.sm-drawing,.em-link-arrow,.pf-brand-pop) {
  display:none!important; animation:none!important; transition:none!important;
}
:root:root:root:root:root.pf-js body.wt :is(button[aria-pressed="true"],button[aria-selected="true"],button.is-active) {
  border-color:var(--wt-accent)!important; box-shadow:inset 0 -1px 0 var(--wt-accent)!important;
}
:root:root:root:root:root.pf-js body.wt :is(button,input,select,textarea):disabled,
:root:root:root:root:root.pf-js body.wt [aria-disabled="true"] {
  cursor:not-allowed!important; box-shadow:none!important; opacity:.65;
}
:root:root:root:root:root.pf-js body.wt :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline:2px solid var(--wt-accent)!important; outline-offset:4px!important;
}
:root:root:root:root:root.pf-js body.wt :is(input,select,textarea) {
  caret-color:var(--wt-accent); accent-color:var(--wt-accent);
  transition:border-color 150ms var(--bm-ease),background-color 150ms var(--bm-ease)!important;
}
:root:root:root:root:root.pf-js body.wt :is(input,select,textarea):focus { border-color:var(--wt-accent)!important; }
:root:root:root:root:root.pf-js body.wt :is(input,select,textarea):invalid:not(:placeholder-shown) { border-color:var(--wt-crit)!important; border-style:dashed!important; }
:root:root:root:root:root.pf-js body.wt :is(input,textarea)[readonly] { border-style:dotted!important; background-color:var(--wt-bg-2)!important; }
/* Documentary finishing from the incumbent UI, without changing geometry/copy. */
:root:root:root.pf-js body.wt :is(.pf-panel,.pf-detail,.wt-callout,.pf-result,.pf-ctx-note) { border-color:var(--wt-line)!important; }
:root:root:root.pf-js body.wt :is(.pf-panel h3,.pf-detail h4,.ui-footer-group h2) {
  text-decoration:underline; text-decoration-color:var(--wt-line-2); text-decoration-thickness:1px;
  text-underline-offset:.32em; text-decoration-skip-ink:auto;
}
:root:root:root.pf-js body.wt :is(.pf-facts dt,.pf-stack dt,.pf-recap dt) { color:var(--wt-text-2); }
:root:root:root.pf-js body.wt :is(.pf-facts dd,.pf-recap dd,table,.ui-card-date,time) { font-variant-numeric:tabular-nums; }
:root:root:root.pf-js body.wt .entry-content :is(hr,th,td) { border-color:var(--wt-line); }
:root:root:root.pf-js body.wt .entry-content table th { background:var(--wt-bg-2); color:var(--wt-text); }
:root:root:root.pf-js body.wt .entry-content :is(pre,code) { text-decoration:none; }
:root:root:root.pf-js body.wt :is(.entry-content,.ui-footer) a:not(.wt-btn):not(.pf-tile):not(.ui-footer-brand) {
  text-underline-offset:.24em; text-decoration-thickness:1px; text-decoration-skip-ink:auto;
}
:root:root:root.pf-js body.wt :is(.entry-content,.ui-footer) a:not(.wt-btn):not(.pf-tile):is(:hover,:focus-visible) { text-decoration-line:underline!important; text-decoration-color:currentColor; }
:root:root:root.pf-js body.wt .ui-footer a:is(:hover,:focus-visible) { color:var(--wt-accent)!important; }
:root:root:root.pf-js body.wt ::selection { background:var(--wt-accent); color:var(--wt-accent-ink); }
/* Paused, hidden and reduced: instant static feedback, no work loop. */
:root:root:root:root:root.pf-js:is([data-ui-motion="off"],[data-ui-visibility="hidden"]) body.wt :is(#ast-desktop-header,#ast-mobile-header) .main-header-menu a.menu-link,
:root:root:root:root:root.pf-js:is([data-ui-motion="off"],[data-ui-visibility="hidden"]) body.wt :is(a.menu-link,a.pf-tile,a.wt-btn,button,input,select,textarea) {
  animation:none!important; transition:none!important;
}
@media (prefers-reduced-motion:reduce) {
  :root:root:root:root:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) .main-header-menu a.menu-link,
  :root:root:root:root:root.pf-js body.wt :is(a.menu-link,a.pf-tile,a.wt-btn,button,input,select,textarea) { animation:none!important; transition:none!important; }
}
@media (forced-colors:active) {
  :root:root:root:root:root.pf-js body.wt :is(a.menu-link,a.pf-tile,a.wt-btn,button):is(:hover,:focus-visible,:active) { outline-color:Highlight!important; }
}

/* OFFICIAL INTRODUCTION LOGOS — after button-motion, before sidebar-icons.
 * Original pixels, proportions and colors; no button-brand styles remain.
 */
:root:root:root:root:root body.wt :is(.ns-scene,.pf-nav-scene,.pf-intro-scene,.pf-embed-scene,.em-layer-trace,.sm-drawing) {
  display:none!important; animation:none!important; transition:none!important;
}
/* The inherited name underline remains static; no drawn animation survives. */
:root:root:root:root:root body.wt .em-signature * { animation:none!important; transition:none!important; stroke-dashoffset:0!important; }
:root:root:root:root:root body.wt .em-link-arrow { display:none!important; }
/* Defense for a preceding legacy bundle: its header-ID rules must not win. */
:root:root:root:root:root body.wt :is(#ast-desktop-header,#ast-mobile-header) .main-header-menu a.menu-link > .ns-scene {
  display:none!important; animation:none!important; transition:none!important;
}
:root:root:root:root:root body.wt .pf-brand-drift[data-brand-id="suricata"] { background:#14171c!important; }
/* A real reserve changes layout BEFORE drawing. Opaque reading plane at all
 * times; no transparent gradient between an official mark and a sentence. */
:root:root:root:root:root body.wt .pf-brand-host {
  --brand-reserve-width:158px;
  position:relative!important; isolation:isolate!important; box-sizing:border-box;
  background:var(--wt-bg-2,#ffffff)!important; color:var(--wt-text,#151515)!important;
  overflow:visible!important; padding-inline-end:calc(var(--brand-reserve-width) + 44px)!important;
  min-height:208px!important;
}
:root:root:root:root:root body.wt .pf-brand-host[data-brand-count="2"],
:root:root:root:root:root body.wt .pf-brand-host[data-brand-count="3"] { --brand-reserve-width:258px; min-height:300px!important; }
:root:root:root:root:root body.wt .pf-brand-host :is(h1,h2,h3,p,li,dt,dd,.pf-hero2__lead,.pf-couches) {
  background-color:var(--wt-bg-2,#ffffff)!important;
}
:root:root:root:root:root body.wt .pf-brand-reserve {
  display:grid!important; grid-template-columns:minmax(0,1fr); align-content:center; justify-items:center; gap:20px;
  position:absolute!important; right:20px!important; top:24px!important; bottom:24px!important;
  width:var(--brand-reserve-width)!important; padding:0!important; margin:0!important;
  pointer-events:none!important; z-index:1; overflow:visible!important;
  mask:none!important; -webkit-mask:none!important;
}
:root:root:root:root:root body.wt .pf-brand-reserve:is([data-brand-count="2"],[data-brand-count="3"]) { grid-template-columns:repeat(2,minmax(0,1fr)); }
:root:root:root:root:root body.wt .pf-brand-reserve[data-brand-count="3"] > :last-child { grid-column:1 / -1; }
:root:root:root:root:root body.wt .pf-brand-drift {
  display:grid!important; place-items:center; width:112px; height:112px;
  background:#ffffff!important; padding:8px!important; box-sizing:border-box!important; border-radius:8px;
  box-shadow:0 10px 20px -15px rgba(0,0,0,.24);
  transform:none!important; scale:none!important; opacity:1!important;
}
:root:root:root:root:root body.wt .pf-brand-reserve img {
  display:block!important; width:96px!important; height:96px!important; max-width:130px!important; max-height:130px!important;
  object-fit:contain!important; object-position:center!important;
  filter:none!important; opacity:1!important; mix-blend-mode:normal!important;
  transform:none!important; translate:none!important; scale:none!important; animation:none!important;
  border:0!important; border-radius:0!important; padding:0!important; margin:0!important;
}
/* Introduction pauses keep the original logos visible without spatial motion. */
:root:root:root:root:root body.wt .pf-brand-reserve:not([data-brand-state="running"]) .pf-brand-drift { translate:none!important; animation:none!important; transition:none!important; }
@media (max-width:921px) {
  :root:root:root:root:root body.wt .pf-brand-host,
  :root:root:root:root:root body.wt .pf-brand-host:is([data-brand-count="2"],[data-brand-count="3"]) {
    padding-inline-end:clamp(20px,4vw,30px)!important;
    padding-bottom:166px!important; min-height:0!important;
  }
  :root:root:root:root:root body.wt .pf-brand-reserve,
  :root:root:root:root:root body.wt .pf-brand-reserve:is([data-brand-count="2"],[data-brand-count="3"]) {
    top:auto!important; right:20px!important; left:20px!important; bottom:20px!important;
    width:auto!important; height:120px!important; gap:10px;
    grid-template-columns:repeat(var(--brand-count,1),minmax(0,1fr));
  }
  :root:root:root:root:root body.wt .pf-brand-reserve[data-brand-count="2"] { --brand-count:2; }
  :root:root:root:root:root body.wt .pf-brand-reserve[data-brand-count="3"] { --brand-count:3; }
  :root:root:root:root:root body.wt .pf-brand-reserve[data-brand-count="3"] > :last-child { grid-column:auto; }
  :root:root:root:root:root body.wt .pf-brand-reserve[data-brand-count="3"] .pf-brand-drift { width:88px; height:96px; padding:4px!important; }
  :root:root:root:root:root body.wt .pf-brand-reserve[data-brand-count="3"] img { width:80px!important; height:88px!important; }
}
@media (prefers-reduced-motion:reduce) {
  :root:root:root:root:root body.wt .pf-brand-drift { transition:none!important; animation:none!important; }
  :root:root:root:root:root body.wt .pf-brand-drift { translate:none!important; }
}
@media print {
  :root:root:root:root:root body.wt .pf-brand-reserve { display:none!important; }
  :root:root:root:root:root body.wt .pf-brand-host { padding:20px!important; min-height:0!important; }
}

/* Visible official destination marks. Original pixels stay rigid and unfiltered.
 * The wave module owns finite travel of an inner support, not the hit target.
 */
:root:root:root:root:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) .main-header-menu a.menu-link.pf-wave-control {
 position:relative!important;isolation:isolate;overflow:visible!important;
 min-height:52px!important;height:auto!important;box-sizing:border-box;white-space:normal!important;overflow-wrap:anywhere;line-height:1.35!important;padding-block:8px!important;
 transform:none!important;translate:none!important;scale:none!important;rotate:none!important;
}
/* Reserve the complete swept + rotated mark, not merely its docked 28px box.
 * Undecorated destinations keep native padding: no fictitious brand gap. */
:root:root:root:root:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) .main-header-menu a.menu-link.pf-nav-icon-link {padding-inline-end:96px!important;}
:root:root:root:root:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) .main-header-menu a.menu-link > .pf-nav-icon {
 display:grid!important;place-items:center;position:absolute!important;top:50%!important;right:8px!important;bottom:auto!important;left:auto!important;
 width:28px!important;height:28px!important;padding:1px!important;margin:0!important;box-sizing:border-box;
 border:1px solid var(--wt-line)!important;border-radius:6px;background:var(--wt-surface)!important;color:var(--wt-accent)!important;
 pointer-events:none!important;z-index:2;opacity:1!important;transform:translateY(-50%)!important;translate:none!important;scale:none!important;rotate:none!important;
 transition:background-color 160ms ease-out,border-color 160ms ease-out!important;animation:none!important;
}
:root:root:root:root:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) .main-header-menu a.menu-link > .pf-nav-icon :is(svg,img) {
 display:block!important;width:24px!important;height:24px!important;max-width:24px!important;max-height:24px!important;flex:none;
 object-fit:contain!important;object-position:center!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important;
 filter:none!important;opacity:1!important;mix-blend-mode:normal!important;transform:none!important;translate:none!important;scale:none!important;rotate:none!important;animation:none!important;transition:none!important;
}
:root:root:root:root:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) .main-header-menu a.menu-link:is(:hover,:focus-visible,:active) > .pf-nav-icon {border-color:var(--wt-accent)!important;}
:root:root:root:root:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) .main-header-menu .sub-menu > li:not(.menu-item-has-children) > a.menu-link.pf-nav-icon-link {padding-inline-end:68px!important;}
:root:root:root:root:root.pf-js body.wt #ast-desktop-header .main-header-menu .sub-menu > li:not(.menu-item-has-children) > a.menu-link > .pf-nav-icon {right:8px!important;}
:root:root:root:root:root.pf-js body.wt #ast-mobile-header .main-header-menu {padding-block-start:32px!important;}
/* Astra's inherited 100vh - 70px assumes a one-row header; actual controls make
 * the native header taller at 320px. The absolute menu's containing block is the
 * sticky masthead: its 100% height keeps Contact inside the usable viewport. */
:root:root:root:root:root.pf-js body.wt #ast-mobile-header .ast-mobile-header-content {max-height:calc(100dvh - 100%)!important;overflow-y:auto!important;overscroll-behavior-y:contain;}
/* Native back-to-top belongs to the underlying document, not the open menu.
 * Hide only while Astra's mobile menu is open so it cannot cover Contact's dock. */
:root:root:root:root:root.pf-js body.wt.ast-header-break-point.ast-main-header-nav-open #ast-scroll-top {visibility:hidden!important;pointer-events:none!important;}
:root:root:root:root:root.pf-js body.wt #ast-mobile-header .main-header-menu li.menu-item-has-children > a.menu-link > .pf-nav-icon {right:56px!important;}
:root:root:root:root:root.pf-js body.wt #ast-mobile-header .main-header-menu li.menu-item-has-children > a.menu-link.pf-nav-icon-link {padding-inline-end:120px!important;}
/* Reserve an independent native 40px toggle at the far right. Astra's default
 * font-sized 54px button otherwise extends left over the mark's dock. Keep its
 * native semantics/listeners, with no colored panel hiding the official image. */
:root:root:root:root:root.pf-js body.wt #ast-mobile-header .main-header-menu li.menu-item-has-children > .ast-menu-toggle {
 position:absolute!important;right:8px!important;left:auto!important;top:4px!important;width:40px!important;min-width:0!important;height:44px!important;min-height:44px!important;padding:0!important;margin:0!important;line-height:1!important;box-sizing:border-box!important;background:transparent!important;
}
:root:root:root:root:root.pf-js body.wt #ast-mobile-header .main-header-menu li.menu-item-has-children > .ast-menu-toggle:focus-visible {outline:2px solid var(--wt-accent)!important;outline-offset:2px!important;}
:root:root:root:root:root.pf-js:is([data-ui-motion="off"],[data-ui-visibility="hidden"]) body.wt #masthead :is(#ast-desktop-header,#ast-mobile-header) .main-header-menu a.menu-link > .pf-nav-icon {transition:none!important;}
@media(prefers-reduced-motion:reduce){:root:root:root:root:root.pf-js body.wt #masthead .main-header-menu a.menu-link > .pf-nav-icon{transition:none!important;}}
@media(forced-colors:active){:root:root:root:root:root.pf-js body.wt .pf-nav-icon{color:LinkText!important;background:Canvas!important;border-color:CanvasText!important;}}
@media print{:root:root:root:root:root.pf-js body.wt .pf-nav-icon{display:none!important;}}

/* Official bottom-link exceptions: publisher pixels, stationary native links. */
:root:root:root:root:root.pf-js body.wt a.pf-footer-brand-action,
:root:root:root:root:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) .pf-side-foot a.pf-footer-brand-action {
  position:relative!important; isolation:isolate; display:inline-flex!important; align-items:center;
  min-height:44px!important; box-sizing:border-box; padding:8px 10px 8px 46px!important;
  border:1px solid var(--wt-line)!important; border-radius:7px!important;
  background:var(--wt-surface)!important; color:var(--wt-text)!important;
  text-decoration:none!important; transform:none!important; translate:none!important; scale:none!important;
  transition:background-color 160ms ease-out,border-color 160ms ease-out,color 140ms ease-out!important;
  overflow:visible!important;
}
:root:root:root:root:root.pf-js body.wt a.pf-footer-brand-action::before,
:root:root:root:root:root.pf-js body.wt a.pf-footer-brand-action::after { content:none!important; }
:root:root:root:root:root.pf-js body.wt a.pf-footer-brand-action > .pf-footer-logo {
  display:grid!important; place-items:center; position:absolute!important; left:7px!important; right:auto!important; top:50%!important;
  width:32px!important; height:32px!important; padding:2px!important; box-sizing:border-box;
  border-radius:5px; background:#ffffff!important; border:0!important;
  pointer-events:none; transform:translate(0,-50%); opacity:1!important;
  transition:none!important; animation:none!important;
}
:root:root:root:root:root.pf-js body.wt .pf-footer-logo img {
  display:block!important; width:28px!important; height:28px!important; max-width:28px!important; max-height:28px!important;
  object-fit:contain!important; object-position:center; filter:none!important; opacity:1!important;
  transform:none!important; animation:none!important; margin:0!important; padding:0!important; border:0!important; border-radius:0!important;
}
:root:root:root:root:root.pf-js body.wt a.pf-footer-brand-action:is(:hover,:focus-visible,:active),
:root:root:root:root:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) .pf-side-foot a.pf-footer-brand-action:is(:hover,:focus-visible,:active) {
  color:var(--wt-accent)!important; background:var(--ui-control-hover)!important; border-color:var(--wt-accent)!important;
}
:root:root:root:root:root.pf-js body.wt a.pf-footer-brand-action:is(:hover,:focus-visible,:active) > .pf-footer-logo { transform:translate(0,-50%)!important; }
:root:root:root:root:root.pf-js:is([data-ui-motion="off"],[data-ui-visibility="hidden"]) body.wt a.pf-footer-brand-action > .pf-footer-logo {
  transform:translate(0,-50%)!important; translate:none!important; transition:none!important;
}
@media (prefers-reduced-motion:reduce) {
  :root:root:root:root:root.pf-js body.wt a.pf-footer-brand-action,
  :root:root:root:root:root.pf-js body.wt a.pf-footer-brand-action > .pf-footer-logo { transition:none!important; }
  :root:root:root:root:root.pf-js body.wt a.pf-footer-brand-action > .pf-footer-logo { transform:translate(0,-50%)!important; translate:none!important; }
}
/* Brand marks are images, not accent-recolored semantic drawings. */
:root:root:root:root:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) .main-header-menu a.menu-link > .pf-nav-icon--brand { background:#fff!important; }
:root:root:root:root:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) .main-header-menu a.menu-link > .pf-nav-icon--brand[data-nav-icon-asset="suricata"] { background:#14171c!important; }
@media print { :root.pf-js body.wt .pf-footer-logo { display:none!important; } }

/* Subtle wallpaper transmission, without fading text or adding blur work.
 * Appended after incumbent surfaces; opaque canvas reading lanes stay unchanged.
 * Controls, dialogs, brand/logo pixels, media and map interiors are not glass.
 */
:root.pf-js {
  --pf-panel-opacity:88%;
  --pf-panel-ground:var(--wt-surface);
  --pf-intro-ground:var(--wt-bg-2);
}
:root.pf-js[data-theme="light"] { --pf-panel-opacity:92%; }
@supports (background-color:color-mix(in srgb,black 88%,transparent)) {
  :root.pf-js.pf-fibre-ready {
    --pf-panel-ground:color-mix(in srgb,var(--wt-surface) var(--pf-panel-opacity),transparent);
    --pf-intro-ground:color-mix(in srgb,var(--wt-bg-2) var(--pf-panel-opacity),transparent);
  }
}
:root.pf-js.pf-fibre-ready body.wt #primary .entry-content :is(.pf-panel,.pf-real,.wt-card,.pf-tile,.ui-catalog-toolbar,.pf-source-capture,.ui-empty,[data-pf-network].pn) {
  background-color:var(--pf-panel-ground)!important;
}
:root.pf-js.pf-fibre-ready body.wt #primary .entry-content :is(.pf-intro,.pf-brand-host,.pf-home .pf-hero2,.pf-home > .pf-grid-2) {
  background-color:var(--pf-intro-ground)!important;
}
/* Do not stack two tinted surfaces inside the same introductory layout. Text
 * planes and logos retain their original opaque paint and the canvas guard. */
:root.pf-js.pf-fibre-ready body.wt #primary .entry-content .pf-home :is(.pf-hero2 > .pf-couches,.pf-grid-2 > .pf-panel) {
  background-color:transparent!important;
}
/* Hover/focus and all controls keep incumbent theme colors and visible focus. */
:root.pf-js.pf-fibre-ready body.wt #primary .entry-content :is(.pf-tile,.wt-card,.pf-real):is(:hover,:focus-visible) {
  background-color:var(--wt-surface)!important;
}
/* A quiet opaque fallback when transparency is unwanted or cannot be printed. */
@media (prefers-reduced-transparency:reduce), print {
  :root.pf-js { --pf-panel-opacity:100%!important; }
  :root.pf-js.pf-fibre-ready body.wt #primary .entry-content .pf-home .pf-hero2 > .pf-couches { background-color:var(--wt-bg-2)!important; }
}
@media (forced-colors:active) {
  :root.pf-js.pf-fibre-ready body.wt #primary .entry-content :is(.pf-panel,.pf-real,.wt-card,.pf-tile,.ui-catalog-toolbar,.pf-source-capture,.ui-empty,[data-pf-network].pn,.pf-intro,.pf-brand-host,.pf-home .pf-hero2,.pf-home > .pf-grid-2) { background-color:Canvas!important; }
}

/* Continuous seven-wave feedback, bounded to the graphic rail, no reading overlap. */
/* Retire the inherited whole-block fade. Toggling reduced motion must not restart
 * a 700ms low-contrast text entrance; only the bounded title and waves move. */
:root:root:root:root:root.pf-js body.wt :is(.pf-hero2,.pf-intro){animation:none!important;opacity:1!important;transform:none!important;}
:root:root:root:root:root.pf-js body.wt .pf-wave-control{position:relative;isolation:isolate;}
:root:root:root:root:root.pf-js body.wt .pf-wave-feedback{
 display:block;position:absolute;inset:0 6px 0 auto;width:56px;overflow:hidden;
 color:var(--wt-accent);pointer-events:none;z-index:0;border-radius:inherit;
 mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent);opacity:.35;
}
:root:root:root:root:root.pf-js body.wt .pf-wave-feedback svg{display:block;width:100%;height:100%;overflow:visible;}
:root:root:root:root:root.pf-js body.wt .pf-wave-feedback path{opacity:.12;stroke-linecap:butt;stroke-linejoin:round;}
:root:root:root:root:root.pf-js body.wt .pf-wave-logo-slot{display:grid;place-items:center;width:24px;height:24px;pointer-events:none;}

/* Dock logo to the right rail, protecting text on desktop */
:root:root:root:root:root.pf-js body.wt #ast-desktop-header .main-header-menu a.menu-link > .pf-nav-icon{right:8px!important;}
:root:root:root:root:root.pf-js body.wt #ast-desktop-header .main-header-menu a.menu-link > .pf-wave-feedback{right:0!important;width:88px!important;}
:root:root:root:root:root.pf-js body.wt #ast-desktop-header .main-header-menu a.menu-link.pf-nav-icon-link{padding-inline-end:96px!important;}

/* Mobile header alignment: dock right on standalone links, preserve toggle rail on parents */
:root:root:root:root:root.pf-js body.wt #ast-mobile-header .main-header-menu li:not(.menu-item-has-children) > a.menu-link > .pf-nav-icon{right:8px!important;}
:root:root:root:root:root.pf-js body.wt #ast-mobile-header .main-header-menu li:not(.menu-item-has-children) > a.menu-link > .pf-wave-feedback{right:0!important;width:88px!important;}
:root:root:root:root:root.pf-js body.wt #ast-mobile-header .main-header-menu li.menu-item-has-children > a.menu-link > .pf-nav-icon{right:56px!important;}
:root:root:root:root:root.pf-js body.wt #ast-mobile-header .main-header-menu li.menu-item-has-children > a.menu-link > .pf-wave-feedback{right:48px!important;width:68px!important;}
:root:root:root:root:root.pf-js body.wt #ast-mobile-header .main-header-menu a.menu-link.pf-nav-icon-link{padding-inline-end:96px!important;}
:root:root:root:root:root.pf-js body.wt #ast-mobile-header .main-header-menu li.menu-item-has-children > a.menu-link.pf-nav-icon-link{padding-inline-end:120px!important;}

:root:root:root:root:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) .main-header-menu .sub-menu>li:not(.menu-item-has-children)>a.pf-nav-icon-link{padding-inline-end:68px!important;}
:root:root:root:root:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) .main-header-menu .sub-menu>li:not(.menu-item-has-children)>a>.pf-wave-feedback{right:0!important;width:64px!important;}
:root:root:root:root:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) .main-header-menu a.menu-link.pf-wave-control:not(.pf-nav-icon-link)>.pf-wave-feedback{right:0!important;width:12px!important;}
/* Ordinary CTA text remains intact. Curves stay inside their original side padding. */
:root:root:root:root:root.pf-js body.wt a.wt-btn>.pf-wave-feedback{right:0;width:18px;opacity:.5;color:currentColor;}
:root:root:root:root:root.pf-js body.wt a.pf-tile>.pf-wave-feedback{inset:auto 12px 8px auto;width:74px;height:14px;opacity:.4;}
:root:root:root:root:root.pf-js body.wt a.pf-footer-brand-action>.pf-wave-feedback{right:0;width:12px;color:currentColor;}
/* Ordinary action marks share the original image rail without changing labels. */
:root:root:root:root:root.pf-js body.wt :is(a.wt-btn,a.wt-more,a.wt-doc,.pf-side-list a).pf-nav-icon-link{position:relative!important;isolation:isolate;min-height:52px;padding-inline-end:72px!important;}
:root:root:root:root:root.pf-js body.wt a.pf-tile.pf-nav-icon-link{position:relative!important;padding-inline-end:84px!important;}
:root:root:root:root:root.pf-js body.wt :is(a.wt-btn,a.pf-tile,a.wt-more,a.wt-doc,.pf-side-list a)>.pf-nav-icon{
 position:absolute!important;right:10px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:28px;height:28px;padding:2px;box-sizing:border-box;pointer-events:none;z-index:2;border-radius:5px;
}
:root:root:root:root:root.pf-js body.wt a.pf-tile>.pf-nav-icon{right:22px;top:22px;transform:none;}
:root:root:root:root:root.pf-js body.wt :is(a.wt-btn,a.pf-tile,a.wt-more,a.wt-doc,.pf-side-list a)>.pf-nav-icon img{display:block!important;width:24px!important;height:24px!important;object-fit:contain;filter:none!important;transform:none!important;opacity:1!important;max-width:24px;max-height:24px;}
:root:root:root:root:root.pf-js body.wt :is(a.wt-more,a.wt-doc,.pf-side-list a)>.pf-wave-feedback{right:2px;width:40px;}
/* Tint support material, not publisher image data. No white UI surfaces in day mode. */
:root:root:root:root:root.pf-js body.wt .pf-brand-drift,
:root:root:root:root:root.pf-js body.wt a.pf-footer-brand-action>.pf-footer-logo,
:root:root:root:root:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) .main-header-menu a.menu-link>.pf-nav-icon--brand,
:root:root:root:root:root.pf-js body.wt :is(a.wt-btn,a.pf-tile,a.wt-more,a.wt-doc,.pf-side-list a)>.pf-nav-icon--brand{background:#ded8c9!important;}
:root:root:root:root:root.pf-js body.wt .pf-brand-drift[data-brand-id="suricata"],
:root:root:root:root:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) .main-header-menu a.menu-link>.pf-nav-icon--brand[data-nav-icon-asset="suricata"]{background:#14171c!important;}
:root:root:root:root:root.pf-js:is([data-ui-motion="off"],[data-ui-visibility="hidden"]) body.wt .pf-wave-logo-slot{transform:none!important;}
@media(prefers-reduced-motion:reduce){:root:root:root:root:root.pf-js body.wt .pf-wave-logo-slot{transform:none!important;}}
@media(forced-colors:active),print{:root.pf-js body.wt .pf-wave-feedback{display:none!important;}}
/* Cool reading surfaces. The light lives in the wallpaper, not in stacked boxes. */
:root.pf-js,:root.pf-js[data-theme="light"]{--pf-panel-opacity:100%;--pf-brand-support:#e8eef7;}
:root:root:root:root:root.pf-js body.wt #primary .entry-content :is(.pf-panel,.pf-real,.wt-card,.pf-tile,.ui-catalog-toolbar,.pf-source-capture,.ui-empty,[data-pf-network].pn){background-color:var(--wt-surface)!important;}
:root:root:root:root:root.pf-js body.wt #primary .entry-content :is(.pf-intro,.pf-brand-host,.pf-home .pf-hero2,.pf-home>.pf-grid-2){background-color:var(--wt-bg-2)!important;}
:root:root:root:root:root.pf-js body.wt #primary .entry-content .pf-home :is(.pf-hero2>.pf-couches,.pf-grid-2>.pf-panel){background-color:transparent!important;}
:root:root:root:root:root.pf-js body.wt :is(#ast-desktop-header,#ast-mobile-header) .main-header-menu a.menu-link>.pf-nav-icon--brand,
:root:root:root:root:root.pf-js body.wt :is(a.wt-btn,a.pf-tile,a.wt-more,a.wt-doc,.pf-side-list a)>.pf-nav-icon--brand,
:root:root:root:root:root.pf-js body.wt .pf-brand-drift{background:var(--pf-brand-support)!important;}
:root:root:root:root:root.pf-js body.wt .pf-brand-drift[data-brand-id="suricata"],
:root:root:root:root:root.pf-js body.wt .pf-nav-icon--brand[data-nav-icon-asset="suricata"]{background:#14171c!important;}
:root.pf-js[data-theme="light"]{--ui-shadow:0 10px 30px -22px rgba(33,67,112,.23);}
:root:root.pf-js[data-theme="light"] body.wt .pf-panel h3{text-decoration:none!important;}

@media(forced-colors:active){:root:root:root:root:root.pf-js body.wt :is(.pf-brand-drift,.pf-nav-icon--brand){background:Canvas!important;}}
/* Owner-requested static sidebars. Never pause the page canvas or page-footer marks. */
:root:root:root:root:root.pf-js body.wt #masthead :is(#ast-desktop-header,#ast-mobile-header,.pf-side-foot,.pf-side-bottom),
:root:root:root:root:root.pf-js body.wt #masthead :is(#ast-desktop-header,#ast-mobile-header,.pf-side-foot,.pf-side-bottom) *,
:root:root:root:root:root.pf-js body.wt #masthead :is(#ast-desktop-header,#ast-mobile-header,.pf-side-foot,.pf-side-bottom) *::before,
:root:root:root:root:root.pf-js body.wt #masthead :is(#ast-desktop-header,#ast-mobile-header,.pf-side-foot,.pf-side-bottom) *::after {
 animation:none!important;transition:none!important;scroll-behavior:auto!important;
}
:root:root:root:root:root.pf-js body.wt #masthead :is(#ast-desktop-header,#ast-mobile-header,.pf-side-foot,.pf-side-bottom) :is(a,button) {
 transform:none!important;translate:none!important;scale:none!important;rotate:none!important;
}
/* Keep the native link box and normal word wrapping after retiring wave classes. */
:root:root:root:root:root.pf-js body.wt #masthead :is(#ast-desktop-header,#ast-mobile-header) .main-header-menu a.menu-link {
 position:relative!important;isolation:isolate;min-height:52px!important;height:auto!important;
 box-sizing:border-box;white-space:normal!important;overflow-wrap:anywhere;line-height:1.35!important;padding-block:8px!important;
}
:root:root:root:root:root.pf-js body.wt #masthead :is(#ast-desktop-header,#ast-mobile-header,.pf-side-foot,.pf-side-bottom) .pf-wave-feedback {display:none!important;}
/* Centering is layout, not an animation. Preserve the publisher's pixels. */
:root:root:root:root:root.pf-js body.wt #masthead :is(#ast-desktop-header,#ast-mobile-header,.pf-side-foot,.pf-side-bottom) .pf-footer-logo {
 transform:translate(0,-50%)!important;translate:none!important;scale:none!important;rotate:none!important;
}
:root:root:root:root:root.pf-js body.wt #masthead :is(#ast-desktop-header,#ast-mobile-header,.pf-side-foot,.pf-side-bottom) :is(.pf-wave-logo-slot,.pf-nav-icon img,.pf-footer-logo img) {
 transform:none!important;translate:none!important;scale:none!important;rotate:none!important;
}
/* Hover/selection colors and keyboard focus remain instantaneous and visible. */
:root:root:root:root:root.pf-js body.wt #masthead :is(#ast-desktop-header,#ast-mobile-header) .main-header-menu a.menu-link:focus-visible {
 outline:2px solid var(--wt-accent)!important;outline-offset:2px!important;
}

/* VISUEL-OPUS 15 oct. — système de mouvement partagé : une courbe, trois durées.
 * Couleur/matière uniquement ; aucune cible ne se déplace ; en-tête latéral statique conservé. */
:root{--pf-m-ease:cubic-bezier(.16,1,.3,1);--pf-m-fast:140ms;--pf-m-base:200ms;--pf-m-enter:280ms}
/* Plus de « pop » : l'ancienne entrée pf-intro (opacité 0) ne s'applique plus avant .pf-js. */
html.pf-js:not(.pf-ui) body.wt :is(.pf-hero2,.pf-intro){animation:none!important;opacity:1!important;transform:none!important}
/* Pas de fondu de couleur rejoué pendant l'hydratation des palettes. */
:root:root:root:root:root:root:root:root:root:root:root:root.pf-js:not(.pf-motion-settled) body.wt #page *,:root:root:root:root:root:root:root:root:root:root:root:root.pf-js:not(.pf-motion-settled) body.wt #page *::before,:root:root:root:root:root:root:root:root:root:root:root:root.pf-js:not(.pf-motion-settled) body.wt #page *::after,:root:root:root:root:root:root:root:root:root:root:root:root.pf-js:not(.pf-motion-settled) body.wt a.skip-link{transition:none!important}
:root:root:root:root:root:root:root:root.pf-js body.wt #page :is(a.wt-btn,button.wt-btn,a.pf-tile,a.wt-more,a.wt-doc,a.pf-footer-brand-action,button.wt-chip),:root:root:root:root:root:root:root:root.pf-js body.wt #page .pf-real{transition:background-color var(--pf-m-base) var(--pf-m-ease),border-color var(--pf-m-base) var(--pf-m-ease),color var(--pf-m-fast) var(--pf-m-ease),box-shadow var(--pf-m-base) var(--pf-m-ease)!important}
:root:root:root:root:root:root:root:root.pf-js body.wt #page :is(a.wt-btn,button.wt-btn,a.pf-tile,a.wt-more,a.wt-doc,a.pf-footer-brand-action,button.wt-chip):active{transition-duration:var(--pf-m-fast)!important}
:root:root:root:root:root:root:root:root.pf-js body.wt #page .pf-real__media img{transition:transform var(--pf-m-enter) var(--pf-m-ease),filter var(--pf-m-enter) var(--pf-m-ease)!important}
@media (hover:hover) and (pointer:fine){
 :root:root:root:root:root:root:root:root.pf-js body.wt #page :is(a.wt-btn.is-ghost,a.pf-tile,a.wt-more,a.wt-doc,a.pf-footer-brand-action,button.wt-chip):hover:not([aria-disabled="true"]){background-color:var(--ui-control-hover)!important;border-color:var(--wt-accent)!important;box-shadow:0 5px 14px -11px rgba(0,0,0,.28)!important}
 :root:root:root:root:root:root:root:root.pf-js body.wt #page :is(a.wt-btn:not(.is-ghost),button.wt-btn:not(.is-ghost)):hover:not([aria-disabled="true"]){background-color:var(--ui-primary-hover)!important;color:var(--wt-accent-ink)!important;box-shadow:0 5px 14px -11px rgba(0,0,0,.28)!important}
}
:root:root:root:root:root:root:root:root.pf-js body.wt #page :is(a.wt-btn,button.wt-btn,a.pf-tile,a.wt-more,a.wt-doc,a.pf-footer-brand-action,button.wt-chip):focus-visible{outline:2px solid var(--wt-accent)!important;outline-offset:3px!important;box-shadow:0 0 0 5px color-mix(in srgb,var(--wt-accent) 22%,transparent)!important}
:root:root:root:root:root:root:root:root.pf-js body.wt #page :is(a.wt-btn.is-ghost,a.pf-tile,a.wt-more,a.wt-doc,a.pf-footer-brand-action,button.wt-chip):active:not([aria-disabled="true"]){background-color:var(--ui-control-pressed)!important;border-color:var(--wt-accent)!important;box-shadow:inset 0 1px 2px rgba(0,0,0,.12)!important}
:root:root:root:root:root:root:root:root.pf-js body.wt #page :is(a.wt-btn:not(.is-ghost),button.wt-btn:not(.is-ghost)):active:not([aria-disabled="true"]){background-color:var(--ui-primary-pressed)!important;color:var(--wt-accent-ink)!important;box-shadow:inset 0 1px 2px rgba(0,0,0,.12)!important}
@media (prefers-reduced-motion:reduce){:root:root:root:root:root:root:root:root.pf-js body.wt #page :is(:is(a.wt-btn,button.wt-btn,a.pf-tile,a.wt-more,a.wt-doc,a.pf-footer-brand-action,button.wt-chip),.pf-real,.pf-real__media img){transition:none!important}}
:root:root:root:root:root:root:root:root.pf-js[data-ui-motion="off"] body.wt #page :is(:is(a.wt-btn,button.wt-btn,a.pf-tile,a.wt-more,a.wt-doc,a.pf-footer-brand-action,button.wt-chip),.pf-real,.pf-real__media img){transition:none!important}
/* MOBILE LAYOUT — native Astra menu, unchanged copy, destinations and brand pixels.
 * Server-visible selectors reserve the compact header before JS hydration.
 * No clipped page-wide overflow and no new animation or continuous observer. */
@media (max-width:921px) {
  :root:has(:where(body).wt) { scroll-padding-top:86px; }
  :root:has(:where(body).wt) body.wt #ast-mobile-header .ast-primary-header-bar {
    padding:0 16px!important; line-height:normal!important;
  }
  :root:has(:where(body).wt) body.wt #ast-mobile-header .ast-builder-grid-row {
    padding:8px 0!important; min-height:68px!important; gap:10px!important;
  }
  :root:has(:where(body).wt) body.wt #ast-mobile-header .ast-site-identity {
    padding:0!important; min-width:0;
  }
  :root:has(:where(body).wt) body.wt #ast-mobile-header .site-title a {
    min-height:44px; line-height:1.25!important;
  }
  :root:has(:where(body).wt) body.wt #ast-mobile-header .site-header-section { min-width:0; }
  :root:has(:where(body).wt) body.wt #ast-mobile-header .ast-main-header-wrap > .ui-settings--mobile {
    display:none!important;
  }
  :root:has(:where(body).wt) body.wt #ast-mobile-header .ast-mobile-header-content {
    position:absolute!important; top:100%!important; left:0!important; right:0!important;
    width:100%!important; max-width:100%!important;
    max-height:calc(100vh - 70px); max-height:calc(100dvh - 70px);
    overflow-y:auto!important; overflow-x:hidden; overscroll-behavior:contain;
    scrollbar-gutter:stable; padding-bottom:max(16px,env(safe-area-inset-bottom));
    background:var(--wt-bg-2)!important; border-bottom:1px solid var(--wt-line);
    box-shadow:0 12px 22px -18px rgba(0,0,0,.35);
  }
  :root:has(:where(body).wt) body.wt #ast-mobile-header .ast-mobile-header-content > .ui-settings--mobile {
    display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:10px!important; padding:14px 16px!important; margin:0!important;
    border-bottom:1px solid var(--wt-line); align-items:stretch;
  }
  :root:has(:where(body).wt) body.wt #ast-mobile-header .ui-settings :is(button[data-ui-theme],button[data-ui-motion]) {
    min-width:0!important; min-height:48px!important; max-width:none!important;
    width:100%; margin:0!important; font-size:13px!important;
  }
  :root:has(:where(body).wt) body.wt #ast-mobile-header .main-header-menu .menu-link {
    min-height:48px!important; line-height:1.5!important; white-space:normal!important;
  }
  :root:has(:where(body).wt) body.wt #ast-mobile-header .ast-menu-toggle,
  :root:has(:where(body).wt) body.wt #ast-mobile-header button.main-header-menu-toggle {
    min-width:48px!important; min-height:48px!important;
  }
  :root:has(:where(body).wt) body.wt .entry-content :is(.pf-intro,.pf-panel,.pf-real,.wt-card,.pf-section,.pf-export,.wt-toolbar,.pf-toolbar) {
    min-width:0; max-width:100%; box-sizing:border-box;
  }
  :root:has(:where(body).wt) body.wt .entry-content :is(pre,.pf-matrix-wrap,.pf-table-wrap,.wt-table-wrap) {
    max-width:100%; overflow-x:auto; overscroll-behavior-x:contain;
  }
}
@media (max-width:600px) {
  :root:root:root:root:root:has(:where(body).wt) body.wt .entry-content {
    padding-inline:16px!important; padding-bottom:36px!important;
  }
  :root:root:root:root:root:has(:where(body).wt) body.wt .entry-content :is(p,.pf-lead,.pf-real__sum,.wt-prose li,.pf-panel li,.pf-detail li) {
    font-size:16px!important; line-height:1.65!important; overflow-wrap:break-word;
  }
  :root:root:root:root:root:has(:where(body).wt) body.wt .entry-content :is(input,select,textarea) {
    font-size:16px!important; min-height:48px!important; max-width:100%; box-sizing:border-box;
  }
  :root:root:root:root:root:has(:where(body).wt) body.wt .entry-content :is(button,a.wt-btn,a.pf-tile,summary) {
    min-height:48px!important; min-width:48px!important; box-sizing:border-box;
  }
  :root:root:root:root:root:has(:where(body).wt) body.wt .entry-content summary {
    padding-block:13px!important; line-height:1.5!important;
  }
  :root:root:root:root:root:has(:where(body).wt) body.wt .entry-content :is(.pf-panel,.pf-real__body,.wt-card,.ui-catalog-toolbar) {
    padding-inline:16px!important;
  }
  :root:root:root:root:root:has(:where(body).wt) body.wt .entry-content .pf-intro {
    padding-inline:16px!important; padding-top:18px!important;
  }
  :root:root:root:root:root:has(:where(body).wt) body.wt .entry-content .ui-filter-row {
    grid-template-columns:minmax(0,1fr)!important; gap:14px;
  }
  :root:root:root:root:root:has(:where(body).wt) body.wt .entry-content .ui-filter-row .ui-field {
    grid-column:auto!important;
  }
  :root:has(:where(body).wt) body.wt .entry-content :is(.pf-grid,.pf-grid-2,.pf-tiles) {
    grid-template-columns:minmax(0,1fr)!important;
  }
  :root:has(:where(body).wt) body.wt .entry-content .pf-facts div {
    grid-template-columns:minmax(0,1fr)!important; gap:4px;
  }
  :root:has(:where(body).wt) body.wt .entry-content .pf-section { margin-top:42px; }
  :root:has(:where(body).wt) body.wt .entry-content :is(h1,h2,h3) { overflow-wrap:break-word; }
  :root:has(:where(body).wt) body.wt .entry-header { padding:28px 16px 18px!important; }
  :root:has(:where(body).wt) body.wt .ui-footer { padding-inline:16px!important; }
  :root:has(:where(body).wt) body.wt .ui-footer-main { grid-template-columns:minmax(0,1fr); gap:24px; }
  :root:has(:where(body).wt) body.wt .ui-footer-group a { min-height:44px; display:flex; align-items:center; }
}
/* ALL LOGOS STATIC — independent of motion preferences and hover/focus.
 * Preserve native positioning/centering, official image pixels and reading reserves.
 * The page canvas and separate wave traces intentionally retain their behavior. */
:root:root:root:root:root:root:root:root:has(:where(body).wt) body.wt #page :is(.ui-logo,.pf-logo,.wt-logo,.pf-brand-reserve,.pf-brand-drift,.pf-nav-icon,.pf-footer-logo,.pf-wave-logo-slot,[data-brand-id]),
:root:root:root:root:root:root:root:root:has(:where(body).wt) body.wt #page :is(.ui-logo,.pf-logo,.wt-logo,.pf-brand-reserve,.pf-brand-drift,.pf-nav-icon,.pf-footer-logo,.pf-wave-logo-slot) * {
  animation:none!important; transition:none!important;
  translate:none!important; rotate:none!important; scale:none!important;
}
:root:root:root:root:root:root:root:root:has(:where(body).wt) body.wt #page :is(.ui-logo,.ui-logo svg,.ui-logo svg *,.pf-brand-drift,.pf-wave-logo-slot,.pf-nav-icon img,.pf-footer-logo img) {
  transform:none!important;
}
:root:root:root:root:root:root:root:root:has(:where(body).wt) body.wt #page a.pf-footer-brand-action > .pf-footer-logo {
  transform:translate(0,-50%)!important;
}
:root:root:root:root:root:root:root:root:has(:where(body).wt) body.wt #page :is(a.pf-nav-icon-link,a.pf-footer-brand-action)>.pf-wave-feedback{display:none!important;animation:none!important}
/* Apple-inspired refinement (discreet): type rhythm, hierarchy, surfaces, CTA and focus.
 * Keeps the portfolio identity (cool glacier Jour / Nuit, official brand colours).
 * Only tokens and spacing are tuned; no content, href, status or procedure text is touched. */
:root.pf-js{--pf-ease:cubic-bezier(.32,.72,0,1);--pf-r-card:16px;--pf-r-ctl:12px;--pf-hair:color-mix(in srgb,var(--wt-line) 70%,transparent);
 --pf-lift:0 1px 0 color-mix(in srgb,#fff 40%,transparent) inset,0 12px 32px -26px rgba(20,42,78,.34);}
:root.pf-js[data-theme="dark"]{--pf-lift:0 1px 0 rgba(255,255,255,.045) inset,0 14px 34px -26px rgba(0,0,0,.7);}
/* Type: calmer hierarchy, tighter display, comfortable measure. */
:root:root.pf-js body.wt{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-synthesis:none}
:root:root.pf-js body.wt #primary .entry-title{letter-spacing:-.034em;line-height:1.1;text-wrap:balance;font-weight:700}
:root:root.pf-js body.wt #primary .entry-content :is(h2,h3){letter-spacing:-.02em;line-height:1.2;text-wrap:balance}
:root:root.pf-js body.wt #primary .entry-content h2{margin-top:clamp(36px,4.4vw,60px)}
:root:root.pf-js body.wt #primary .entry-content p{line-height:1.68;text-wrap:pretty;max-width:72ch}
:root:root.pf-js body.wt #primary .entry-content :is(.pf-panel,.wt-card,.pf-tile) p{max-width:none}
:root:root.pf-js body.wt #primary .entry-content :is(small,figcaption,.wt-muted){letter-spacing:.005em}
/* Surfaces: hairline edge + soft depth instead of heavy borders. */
:root:root:root:root:root:root.pf-js body.wt #primary .entry-content :is(.pf-panel,.wt-card,.pf-tile,.pf-hero2,.ui-catalog-toolbar){border-radius:var(--pf-r-card);border-color:var(--pf-hair);box-shadow:var(--pf-lift)}
:root:root:root:root:root:root.pf-js body.wt #primary .entry-content .pf-source-capture{border-radius:var(--pf-r-card)}
/* CTA: crisp, no bounce; one short colour/shadow transition. */
:root:root:root:root:root:root.pf-js body.wt #primary .entry-content :is(a.wt-btn,a.wt-more,a.wt-doc,button.wt-btn){border-radius:var(--pf-r-ctl);font-weight:600;letter-spacing:-.005em;min-height:44px}
:root[data-ui-motion="on"] body.wt :is(a.wt-btn,a.wt-more,a.wt-doc,a.pf-tile,button.wt-btn){transition:background-color .24s var(--pf-ease),border-color .24s var(--pf-ease),box-shadow .24s var(--pf-ease),color .24s var(--pf-ease)}
:root.pf-js[data-ui-motion="on"] body.wt #primary .entry-content :is(a.wt-btn,a.wt-more,a.wt-doc,a.pf-tile,button.wt-btn):hover{box-shadow:0 14px 28px -22px color-mix(in srgb,var(--wt-accent) 70%,transparent)}
:root.pf-js body.wt #primary .entry-content :is(a.wt-btn,a.wt-more,a.wt-doc,button.wt-btn):active{box-shadow:none}
/* Focus: a clear two-tone ring replacing the thick offset outline, still >=3:1. */
:root:root.pf-js body.wt :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--wt-accent)!important;outline-offset:3px!important;border-radius:var(--pf-r-ctl);box-shadow:0 0 0 5px color-mix(in srgb,var(--wt-accent) 22%,transparent)!important}
/* Logo feedback: static. Official image and support plate never animate; the
 * hover/focus ring is instantaneous. No duration promise or transform override. */
:root:root:root:root:root:root:root:root:has(:where(body).wt)[data-ui-motion="on"] body.wt #page :is(a.pf-nav-icon-link,a.wt-btn,a.wt-doc,a.wt-more,a.pf-tile):is(:hover,:focus-visible)>.pf-nav-icon--brand{box-shadow:0 0 0 3px color-mix(in srgb,var(--wt-accent) 28%,transparent),0 8px 18px -12px color-mix(in srgb,var(--wt-accent) 80%,transparent)}
@media(prefers-reduced-motion:reduce){:root:root:root:root:root:root:root:root:has(:where(body).wt) body.wt #page :is(.pf-nav-icon--brand,a.wt-btn,a.pf-tile){transition:none!important}}
/* Docking support. Registered property => defaults to 0 (static, accessible). */
@property --pfm-dx{syntax:'<length>';inherits:false;initial-value:0px}
@property --pfm-dy{syntax:'<length>';inherits:false;initial-value:0px}
:root:root:root:root:root:root:root:root:root:root:root:root:has(:where(body).wt) body.wt #page :is(a.wt-btn,a.pf-tile,#ast-desktop-header a,#ast-mobile-header a)>.pf-nav-icon.pf-nav-icon--brand{translate:var(--pfm-dx) var(--pfm-dy)!important}
@media(prefers-reduced-motion:reduce){:root:root:root:root:root:root:root:root:root:root:root:root:has(:where(body).wt) body.wt #page .pf-nav-icon.pf-nav-icon--brand{translate:0 0!important}}

/* v2: mobile accordion toggle touch target >=44x44 (Astra/Apple prefix set 40px wide).
 * Same position, extended 4px toward the edge so the visual stays at the far right. */
:root:root:root:root:root:root.pf-js body.wt #ast-mobile-header .main-header-menu li.menu-item-has-children > .ast-menu-toggle{width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;right:4px!important}
/* Keep expanded desktop submenus in the same flow at rest, hover and focus. */
body.wt #masthead #ast-desktop-header .main-header-menu .sub-menu {
  margin: 2px 0 8px 16px !important;
}
/* Harmonisation 14 oct. : sur desktop, les boutons de cartes de documents gardent 44px (libellé sur une ligne). */
@media (min-width:922px){:root:root:root body.wt .pf-btns .wt-btn{white-space:nowrap!important;}}
/* Panneaux translucides à 85 % (15 % de lumière du fond) : l'alpha est porté par la couleur de fond, jamais par opacity,
   donc texte, focus et logos restent pleins. Les couloirs de lecture du canvas (opaques, composés en dernier) protègent le texte. */
:root.pf-js{--pf-glass:85%;}
@supports (background-color:color-mix(in srgb,black 85%,transparent)){
:root:root:root:root:root.pf-js body.wt #primary .entry-content :is(.pf-panel,.pf-real,.wt-card,.pf-tile,.ui-catalog-toolbar,.pf-source-capture,.ui-empty,[data-pf-network].pn){background-color:color-mix(in srgb,var(--wt-surface) var(--pf-glass),transparent)!important;}
:root:root:root:root:root.pf-js body.wt #primary .entry-content :is(.pf-intro,.pf-brand-host,.pf-home .pf-hero2,.pf-home>.pf-grid-2){background-color:color-mix(in srgb,var(--wt-bg-2) var(--pf-glass),transparent)!important;}
}
@media (prefers-reduced-transparency:reduce),print{:root.pf-js{--pf-glass:100%;}}
@media (forced-colors:active){:root:root:root:root:root.pf-js body.wt #primary .entry-content :is(.pf-panel,.pf-real,.wt-card,.pf-tile,.ui-catalog-toolbar,.pf-source-capture,.ui-empty,[data-pf-network].pn,.pf-intro,.pf-brand-host,.pf-home .pf-hero2,.pf-home>.pf-grid-2){background-color:Canvas!important;}}
/* Add after active portfolio stylesheet; scoped to article/index additions. */
.wta-dates{display:grid;grid-template-columns:minmax(0,1fr);gap:.25rem;margin:1rem 0;font-size:.875rem;line-height:1.55;color:inherit;overflow-wrap:anywhere}

/* Homelab — reprise 18 oct. : carte pleine largeur, inspecteur flottant (ne réduit plus le schéma). */
[data-pf-network] .pn-node-title { font-size: 15.5px; }
[data-pf-network] .pn-node-kind { font-size: 12.5px; }
[data-pf-network] .pn-node-meta { font-size: 13.5px; }
[data-pf-network] .pn-node-state { font-size: 13px; }
@media (min-width: 1024px) {
  [data-pf-network] { margin-inline: -40px; }
  [data-pf-network] .pn-workspace { display: block; }
  [data-pf-network] .pn-diagram { width: 100%; }
  [data-pf-network] .pn-map-scroll [data-network-map] { min-width: 0; width: 100%; }
  [data-pf-network] .pn-inspector { display: none; }
  [data-pf-network][data-sheet="open"] .pn-inspector { display: flex; flex-direction: column; position: fixed; z-index: 2147483000; top: auto; left: auto; right: 20px; bottom: 20px; width: min(420px, calc(100vw - 40px)); max-width: none; max-height: min(72dvh, calc(100dvh - var(--pn-header-gap) - 24px)); margin: 0; padding: 18px 18px 16px; border: 1px solid var(--wt-line, #d1d9e4); border-radius: 14px; box-shadow: 0 12px 48px #0004; overflow: hidden; }
  [data-pf-network] .pn-inspector-body { overflow-y: auto; min-height: 0; overscroll-behavior-y: auto; padding-right: 4px; }
  [data-pf-network] .pn-sheet-bar, [data-pf-network] .pn-inspector > :is(h3, .pn-state, .pn-more) { flex-shrink: 0; }
  [data-pf-network] .pn-sheet-close { display: block; min-width: 72px; min-height: 44px; }
  [data-pf-network] .pn-inspector h3 { margin: 4px 0 8px; font-size: 20px; }
  [data-pf-network] .pn-inspector .pn-more { width: 100%; max-width: none; }
}

.wta-dates dt{font-weight:700;margin:.5rem 0 0}.wta-dates dd{margin:0;font-variant-numeric:tabular-nums}
.wt-veille-card>.wta-dates{padding:0 1.25rem 1rem;margin:0;font-size:.8rem}
.wta-internal[hidden],#primary nav.wta-native-nav[hidden],.wt-pager a[hidden],.wt-meta li[hidden]{display:none!important}
.wt-prose .wta-zoom{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:zoom-in;border-radius:.5rem;min-height:44px;touch-action:manipulation}
.wt-prose .wta-zoom img{display:block;width:100%;height:auto;max-width:100%;margin:0}
.wta-zoom:focus-visible,.wta-lightbox :focus-visible{outline:3px solid #327acb;outline-offset:4px}
.wta-lightbox{box-sizing:border-box;width:min(96vw,1300px);max-height:94dvh;padding:1rem;border:1px solid #64748b;border-radius:1rem;background:#e8f1fa;color:#172b42;overflow:auto}
.wta-lightbox::backdrop{background:rgb(4 12 24 / .85)}
.wta-lightbox figure{margin:1rem 0 0}.wta-lightbox img{display:block;width:auto;height:auto;max-width:100%;max-height:72dvh;object-fit:contain;margin:auto}
.wta-lightbox figcaption{margin:1rem 0;line-height:1.6;overflow-wrap:anywhere}.wta-lightbox a{color:#164c85;text-decoration:underline}.wta-close{min-width:44px;min-height:44px;padding:.5rem 1rem;cursor:pointer;background:#d6e5f5;color:inherit;border:1px solid #7189a3;border-radius:.5rem}
[data-theme="dark"] .wta-lightbox,[data-ui-theme="dark"] .wta-lightbox{background:#172332;color:#e3edf9}
[data-theme="dark"] .wta-lightbox a,[data-ui-theme="dark"] .wta-lightbox a{color:#99cbff}
[data-theme="dark"] .wta-close,[data-ui-theme="dark"] .wta-close{background:#263c52}
.wt-single .wt-pager{display:flex;gap:.75rem;align-items:stretch;flex-wrap:wrap}.wt-single .wt-pager>a{flex:1 1 12rem;min-width:0;overflow-wrap:anywhere;min-height:44px}.wt-single .wt-pager>.is-center{flex:0 1 12rem}.wt-pager .wta-adjacent strong{display:block;font-weight:500}
@media(max-width:600px){.wt-single .wt-pager>a,.wt-single .wt-pager>.is-center{flex:1 1 100%}.wta-lightbox{padding:.75rem}.wta-dates{font-size:.85rem}}
@media(prefers-reduced-motion:reduce){.wta-lightbox,.wta-zoom{scroll-behavior:auto}}
@media(forced-colors:active){.wta-lightbox{border:2px solid CanvasText}.wta-zoom:focus-visible{outline-color:Highlight}}
/* Native publisher glossary fragment (.term/.definition), no generated definitions. */
.wt-prose .term{position:relative;display:inline}.wt-prose .term>button{font:inherit;color:inherit;min-height:44px;padding:.1em .2em;border:0;border-bottom:1px dashed currentColor;background:transparent;cursor:pointer}
.wt-prose .term>.definition{display:block;position:absolute;z-index:30;left:0;bottom:100%;width:min(340px,calc(100vw - 3rem));padding:1rem;background:#e8f1fa;color:#172b42;border:1px solid #7189a3;border-radius:.6rem;box-shadow:0 .5rem 1.5rem #112b4433;font-size:.95rem;line-height:1.6}
.wt-prose .term>.definition[hidden]{display:none!important}.wt-prose .definition a{display:block;min-height:44px;color:#164c85}.wt-prose .term>button:focus-visible{outline:3px solid #327acb;outline-offset:3px}
[data-theme=dark] .wt-prose .definition{background:#172332;color:#e3edf9}[data-theme=dark] .wt-prose .definition a{color:#99cbff}
@media(max-width:600px){.wt-prose .term>.definition{position:fixed;left:1rem;right:1rem;bottom:1rem;width:auto;max-height:50dvh;overflow:auto}}
@media(forced-colors:active){.wt-prose .term>.definition{background:Canvas;color:CanvasText;border:1px solid CanvasText}}

/* Candidate additions preserve the existing panel contract without parent opacity. */
.v5w .v5w-card{background:color-mix(in srgb,var(--v5w-surface) 85%,transparent)}
.v5w .v5w-direct{display:inline-flex;align-items:center;min-height:44px;padding:.5rem .75rem;border:1px solid var(--v5w-line);border-radius:.6rem;background:var(--v5w-surface);margin-top:auto}
.v5w-history>summary,.v5w-unknown>summary{min-height:44px;cursor:pointer;padding:.5rem 0;font-weight:600}.v5w-history-status{font-size:.9rem}.v5w-unknown li{margin:.5rem 0}.v5w-unknown a{display:inline-block;min-height:44px}
@media(prefers-reduced-transparency:reduce){.v5w .v5w-card{background:var(--v5w-surface)}}
@media(forced-colors:active){.v5w .v5w-card{background:Canvas}}@media print{.v5w .v5w-card{background:Canvas}}
/* Extension locale : aucun sélecteur de navigation ni de thème global. */
.v5w{color:var(--wt-text,#17263b);font:inherit;line-height:1.65;--v5w-surface:var(--wt-surface,#f6f9fd);--v5w-line:var(--wt-line,#c2cedd);--v5w-accent:var(--wt-accent,#2454aa);--v5w-muted:var(--wt-text-2,#374c66);margin-block:2rem;min-width:0;isolation:isolate}
.v5w *{box-sizing:border-box}.v5w [hidden]{display:none!important}.v5w h2,.v5w h3{color:inherit;text-wrap:balance;line-height:1.25}.v5w h2{font-size:clamp(1.65rem,3vw,2.5rem);margin:0 0 1.2rem}.v5w h3{font-size:1.22rem;margin:0 0 .7rem}.v5w p{margin:0 0 1rem;overflow-wrap:anywhere}.v5w a{color:var(--v5w-accent);text-decoration:underline;text-underline-offset:.2em;overflow-wrap:anywhere}.v5w :is(input,select,button){font:inherit;color:inherit;border:1px solid var(--v5w-line);border-radius:10px;background:var(--v5w-surface);min-height:44px;padding:.55rem .75rem;max-width:100%}.v5w button{cursor:pointer;font-weight:600}.v5w button:hover{background:var(--ui-control-hover,var(--wt-surface-2,#d7e4f4))}.v5w button[aria-pressed=true]{border-color:var(--v5w-accent);background:var(--wt-accent-soft,#d7e4f4)}.v5w :disabled{opacity:.65;cursor:wait}.v5w :is(a,button,input,select):focus-visible{outline:3px solid var(--v5w-accent);outline-offset:3px}.v5w ::selection{background:var(--v5w-accent);color:var(--wt-accent-ink,#fff)}.v5w input{caret-color:var(--v5w-accent)}.v5w input::placeholder{color:var(--v5w-muted);opacity:1}.v5w-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;align-items:end;padding:1.25rem;background:var(--v5w-surface);border:1px solid var(--v5w-line);border-radius:16px}.v5w-controls label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:600;min-width:0}.v5w-controls label:first-child{grid-column:span 2}.v5w-count{font-variant-numeric:tabular-nums;margin:1.25rem 0!important;font-weight:600}.v5w-state{padding:1.5rem;background:var(--v5w-surface);border:1px solid var(--v5w-line);border-radius:12px}.v5w-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}.v5w-card{min-width:0;background:var(--v5w-surface);border:1px solid var(--v5w-line);border-radius:16px;padding:1.5rem;display:flex;flex-direction:column;align-items:start;box-shadow:0 8px 24px -20px rgba(15,35,60,.25)}.v5w-card>button{margin-top:auto}.v5w-meta{font-size:.85rem;color:var(--v5w-muted);font-variant-numeric:tabular-nums}.v5w[data-v5w-view=list] .v5w-results{grid-template-columns:1fr}.v5w-demo{font-weight:750;border:2px dashed currentColor;padding:1rem;background:var(--v5w-surface)}
.v5w-dialog{margin:auto;color:var(--wt-text,#17263b);background:var(--wt-bg-2,#edf3fa);border:1px solid var(--wt-line,#c2cedd);border-radius:16px;width:min(860px,calc(100% - 1.5rem));max-height:90dvh;padding:1.5rem;scrollbar-color:var(--wt-line-2,#657a96) transparent;box-shadow:0 20px 80px -24px #0008;isolation:auto}.v5w-dialog::backdrop{background:#070b14b3}.v5w-dialog>button{display:block;margin:0 0 1.5rem auto}.v5w-reading{max-width:72ch;margin-inline:auto}.v5w-reading h3{margin-top:2.4rem}.v5w-reading blockquote{margin:1rem 0;padding:1rem;border:1px solid var(--v5w-line);background:var(--v5w-surface)}.v5w-reading blockquote a{display:block}.v5w-reading figure{margin:1rem 0}.v5w-reading figure img{display:block;max-width:100%;height:auto}.v5w-reading figcaption{font-size:.9rem;margin-top:.6rem}.v5w-term{position:relative;display:inline}.v5w button.v5w-term-trigger{display:inline;min-height:44px;padding:.15em .2em;margin:-.15em 0;border:0;border-radius:4px;border-bottom:1px dashed var(--v5w-accent);background:transparent;color:var(--v5w-accent);font-weight:inherit;text-align:left}.v5w-popover{position:absolute;z-index:10;left:0;top:100%;width:min(340px,calc(100vw - 4rem));padding:1rem;border:1px solid var(--v5w-line);border-radius:10px;background:var(--v5w-surface);color:var(--wt-text,#17263b);box-shadow:0 12px 30px -12px #0005;font-size:.95rem;line-height:1.6}.v5w-popover>*{display:block;margin-bottom:.5rem}.v5w-popover a{min-height:44px;padding-block:.3rem}.v5w-reading li{margin:.6rem 0}
.v5w-controls{grid-template-columns:minmax(14rem,2fr) repeat(2,minmax(7rem,1fr)) auto auto}.v5w-controls>label:first-child{grid-column:auto}.v5w-advanced{grid-column:1/-1;min-width:0}.v5w-advanced>summary{cursor:pointer;min-height:44px;padding:.5rem 0;font-weight:600;color:var(--v5w-accent);text-underline-offset:.2em}.v5w-advanced>summary:focus-visible{outline:3px solid var(--v5w-accent);outline-offset:3px}.v5w-advanced-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding-top:1rem}.v5w-advanced-fields>label:first-child{grid-column:auto}
@media(max-width:1000px){.v5w-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.v5w-controls>label:first-child{grid-column:span 3}}
@media(max-width:680px){.v5w-controls{grid-template-columns:repeat(2,minmax(0,1fr));padding:1rem;gap:.8rem}.v5w-controls>label:first-child{grid-column:span 2}.v5w-advanced-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.v5w-results{grid-template-columns:1fr}.v5w-card{padding:1.2rem}.v5w-dialog{padding:1rem}.v5w-popover{position:fixed;left:1.5rem;right:1.5rem;top:auto;bottom:1.5rem;width:auto;max-height:50dvh;overflow:auto}.v5w h2{font-size:1.65rem}}
@media(forced-colors:active){.v5w :is(input,select,button),.v5w-card,.v5w-popover{border:1px solid CanvasText}.v5w-popover{background:Canvas}}@media print{.v5w-controls,.v5w-dialog>button{display:none}.v5w-card,.v5w-dialog{background:Canvas;color:CanvasText;box-shadow:none}}
/* Readable ink, including on the existing 85% panels over a white tube. */
:root.pf-js[data-theme="dark"] { --wt-muted:#b2b7be; }
/* One mineral sheet per long-form document; one flat header strip per bare
   section introduction. Not a wallpaper mask: ordinary scrolling content. */
:root.pf-js body.wt #primary .pf-reading-surface {
  background-color:var(--wt-bg) !important;
  background-image:none !important;
  opacity:1;
  box-sizing:border-box;
  border-radius:0;
}
:root.pf-js body.wt #primary :is(.pf-legal,.wt-prose,.cmplz-document).pf-reading-surface {
  padding:clamp(1rem,2vw,2rem);
}
:root.pf-js body.wt #primary .pf-reading-group {
  background-color:var(--wt-surface)!important;
  border-radius:16px;
  padding:1rem;
  margin-inline:0;
  margin-block:0 1.5rem;
}
@supports (background-color:color-mix(in srgb,black 85%,transparent)) {
  :root.pf-js body.wt #primary .pf-reading-group { background-color:color-mix(in srgb,var(--wt-surface) var(--pf-glass,85%),transparent)!important; }
}
:root.pf-js body.wt #primary .pf-reading-group > :first-child { margin-top:0; }
:root.pf-js body.wt #primary .pf-reading-group > :last-child { margin-bottom:0; }
/* A native hidden index state must not leave its padded reading wrapper visible. */
:root.pf-js body.wt #primary .pf-reading-group:has(> .v5w-state[hidden]:only-child) { display:none; }
@media(forced-colors:active) {
  :root.pf-js body.wt #primary .pf-reading-surface { background-color:Canvas !important; }
}
@media print {
  :root.pf-js body.wt #primary .pf-reading-surface { background-color:Canvas !important; }
}
/* module-ui.css - additif, ajoute apres le marqueur pf3 a la fin de live.css.
   T2 : plus de pastilles numérotées ni de rail lié au défilement. T3 : outils de tri/filtre « registre ».
   Panneaux à 85 % via color-mix (jamais d'opacity parent). */
:root:root:root.pf-js body.wt{--ui-reg-ground:color-mix(in srgb,var(--wt-surface) var(--pf-glass,85%),transparent)}

/* ---------- T2 : liste de réalisations (.pf-pipe) : lignes éditoriales, sans pastille ni rail ---------- */
:root:root:root.pf-js body.wt .pf-pipe{padding:0!important;gap:0;border-top:1px solid var(--wt-line-2);counter-reset:none}
:root:root:root.pf-js body.wt .pf-pipe::before,:root:root:root.pf-js body.wt .pf-pipe::after{content:none!important;display:none!important}

:root:root:root.pf-js body.wt .pf-pipe>li{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(20px,4vw,56px);row-gap:6px;align-items:start;padding:22px 4px 22px 18px;border:0;border-bottom:1px solid var(--wt-line);border-radius:0;background:var(--ui-reg-ground);box-shadow:inset 3px 0 0 0 var(--b);transform:none;transition:background-color .18s ease,box-shadow .18s ease}
:root:root:root.pf-js body.wt .pf-pipe>li:hover{transform:none;box-shadow:inset 6px 0 0 0 var(--b);border-color:var(--wt-line)}
:root:root:root.pf-js body.wt .pf-pipe>li>h3{grid-column:1;grid-row:1 / span 2;margin:0!important;font-size:1.12rem!important;line-height:1.3;text-wrap:balance}
:root:root:root.pf-js body.wt .pf-pipe>li>p{grid-column:2;margin:0!important;max-width:62ch}
:root:root:root.pf-js body.wt .pf-pipe>li>a{grid-column:2;justify-self:start;min-height:44px;display:inline-flex;align-items:center}
@media (max-width:720px){:root:root:root.pf-js body.wt .pf-pipe>li{grid-template-columns:1fr;padding:18px 2px 18px 14px}
 :root:root:root.pf-js body.wt .pf-pipe>li>h3,:root:root:root.pf-js body.wt .pf-pipe>li>p,:root:root:root.pf-js body.wt .pf-pipe>li>a{grid-column:1;grid-row:auto}}

/* ---------- T2 : compétences (.pf-comp) : pas de pastille 01–06 ---------- */

/* ---------- T2 : frise Parcours (.pf-timeline) : plus de rail ni de points ---------- */
:root:root:root.pf-js body.wt .pf-timeline{padding:0!important;gap:0;border-top:1px solid var(--wt-line-2)}
:root:root:root.pf-js body.wt .pf-timeline::before,:root:root:root.pf-js body.wt .pf-timeline>li::before{content:none!important;display:none!important;animation:none!important}
:root:root:root.pf-js body.wt .pf-timeline>li{border-bottom:1px solid var(--wt-line)}
:root:root:root.pf-js body.wt .pf-timeline>li>.pf-panel{display:grid;grid-template-columns:minmax(150px,2fr) minmax(0,8fr);column-gap:clamp(20px,4vw,48px);row-gap:4px;border:0;border-radius:0;box-shadow:none;padding:20px 4px!important}

:root:root:root.pf-js body.wt .pf-timeline>li>.pf-panel>:is(h3,p){grid-column:2;margin:0!important}
@media (max-width:720px){:root:root:root.pf-js body.wt .pf-timeline>li>.pf-panel{grid-template-columns:1fr}
 :root:root:root.pf-js body.wt .pf-timeline>li>.pf-panel>:is(h3,p){grid-column:1;grid-row:auto}}

/* ---------- T3 : outils de tri/filtre « registre » ----------
   Une règle haute et basse, champs soulignés (pas de boîtes), libellés en petites capitales,
   le décompte en grands chiffres. Sélecteurs et comportement d'origine inchangés. */
:root:root:root.pf-js body.wt :is(.ui-catalog-toolbar,.v5w-controls){position:static!important;top:auto!important;margin:26px 0 28px;padding:20px 4px 16px 0;border:0;border-top:2px solid var(--wt-text);border-bottom:1px solid var(--wt-line-2);border-radius:0;background:var(--ui-reg-ground);box-shadow:none;backdrop-filter:none}
:root:root:root.pf-js body.wt .ui-catalog-toolbar{padding-inline:0!important}
:root:root:root.pf-js body.wt :is(.ui-field,.v5w-controls label){display:grid;gap:2px;margin:0;font:600 .7rem/1.2 var(--wt-font);letter-spacing:.09em;text-transform:uppercase;color:var(--wt-text-2)}
:root:root:root.pf-js body.wt :is(.ui-field,.v5w-controls label) :is(input,select){height:48px;width:100%;min-width:0;padding:10px 26px 8px 0!important;border:0!important;border-bottom:1px solid var(--wt-line-2)!important;border-radius:0!important;background-color:transparent!important;color:var(--wt-text)!important;font:500 1rem/1.3 var(--wt-font);letter-spacing:0;text-transform:none;box-shadow:none;transition:border-color .15s ease,box-shadow .15s ease}
:root:root:root.pf-js body.wt :is(.ui-field,.v5w-controls label) :is(input,select):hover{border-bottom-color:var(--wt-text)!important}
:root:root:root.pf-js body.wt :is(.ui-field,.v5w-controls label) :is(input,select):focus-visible{outline:none;border-bottom-color:var(--wt-accent)!important;box-shadow:0 2px 0 0 var(--wt-accent)}
:root:root:root.pf-js body.wt :is(.ui-field,.v5w-controls label) :is(input,select)::placeholder{color:var(--wt-text-2);opacity:.75}
:root:root:root.pf-js body.wt :is(.ui-field,.v5w-controls label) option{background:var(--wt-surface);color:var(--wt-text)}
:root:root:root.pf-js body.wt :is(.ui-filter-row){grid-template-columns:minmax(220px,1.6fr) repeat(3,minmax(130px,1fr));gap:12px 28px}
:root:root:root.pf-js body.wt .ui-catalog-heading{margin-bottom:6px}
:root:root:root.pf-js body.wt .ui-catalog-heading>p{font:700 1.05rem/1.2 var(--wt-font);letter-spacing:-.01em}
:root:root:root.pf-js body.wt .ui-catalog-foot{margin-top:10px;padding-top:12px;border-top:1px dashed var(--wt-line)}
:root:root:root.pf-js body.wt .ui-count{margin:0;font:500 .9rem/1.3 var(--wt-font);color:var(--wt-text-2);font-variant-numeric:tabular-nums}
:root:root:root.pf-js body.wt :is(.ui-reset,.v5w-controls button){min-height:44px;min-width:44px;padding:8px 14px!important;border:1px solid var(--wt-line-2)!important;border-radius:999px;background:transparent!important;color:var(--wt-text)!important;font:600 .82rem/1 var(--wt-font);cursor:pointer;text-decoration:none}
:root:root:root.pf-js body.wt :is(.ui-reset,.v5w-controls button):hover{border-color:var(--wt-accent)!important;color:var(--wt-accent)!important;text-decoration:none;background:transparent!important}
:root:root:root.pf-js body.wt :is(.ui-reset,.v5w-controls button):focus-visible{outline:2px solid var(--wt-accent);outline-offset:3px}
:root:root:root.pf-js body.wt .v5w-controls button[aria-pressed="true"]{background:var(--wt-text)!important;color:var(--wt-bg)!important;border-color:var(--wt-text)!important}
/* chips (réalisations) : texte souligné au survol, état actif = trait plein dessous */
:root:root:root.pf-js body.wt .ui-real-toolbar .wt-chip{min-height:44px;padding:8px 12px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--wt-text-2)}
:root:root:root.pf-js body.wt .ui-real-toolbar .wt-chip:hover{border-bottom-color:var(--wt-line-2)}
:root:root:root.pf-js body.wt .ui-real-toolbar .wt-chip:is(.is-on,.is-active,[aria-pressed="true"]){border-bottom-color:var(--wt-accent);color:var(--wt-text);font-weight:700}
/* veille : avancé */
:root:root:root.pf-js body.wt .v5w-controls{display:grid;grid-template-columns:minmax(14rem,2fr) repeat(2,minmax(8rem,1fr)) auto auto;gap:12px 28px;align-items:end}
:root:root:root.pf-js body.wt .v5w-controls>label:first-child{grid-column:auto}
:root:root:root.pf-js body.wt .v5w-advanced{grid-column:1 / -1}
:root:root:root.pf-js body.wt .v5w-advanced>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font:600 .85rem var(--wt-font);color:var(--wt-text-2)}
:root:root:root.pf-js body.wt .v5w-advanced>summary:focus-visible{outline:2px solid var(--wt-accent);outline-offset:3px}
:root:root:root.pf-js body.wt .v5w-advanced-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px 28px;padding-top:6px}
@media (max-width:900px){
 :root:root:root.pf-js body.wt .ui-filter-row{grid-template-columns:1fr 1fr}
 :root:root:root.pf-js body.wt .ui-filter-row>.ui-query{grid-column:1 / -1}
 :root:root:root.pf-js body.wt .v5w-controls{grid-template-columns:1fr 1fr}
 :root:root:root.pf-js body.wt .v5w-controls>label:first-child{grid-column:1 / -1}}
@media (max-width:520px){
 :root:root:root.pf-js body.wt .ui-filter-row,:root:root:root.pf-js body.wt .v5w-controls{grid-template-columns:1fr}
 :root:root:root.pf-js body.wt .ui-catalog-foot{flex-direction:column;align-items:stretch}}
@media (prefers-reduced-motion:reduce){:root:root:root.pf-js body.wt :is(.pf-pipe>li,.ui-field input,.ui-field select){transition:none!important}}
/* module-pages.css — pages Contexte GSB (806), Hermes (952), Méthode de veille (823). Préfixe pg-. Additif, après le marqueur pf3. */
.pg-page *{box-sizing:border-box}
.pg-band{margin:64px 0 0}
.pg-band:first-child{margin-top:0}
.pg-split{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:20px 48px;align-items:start}
.pg-split>header h2{margin:0 0 8px!important;font-size:clamp(1.3rem,2.2vw,1.7rem)!important;font-weight:800!important;letter-spacing:-.02em;line-height:1.2}
.pg-split>header p{margin:0!important;color:var(--wt-muted);font-size:.88rem;line-height:1.55}
.pg-body{min-width:0;padding:22px 24px;border-radius:16px;border:1px solid var(--wt-line);background:color-mix(in srgb,var(--wt-surface) 85%,transparent)}
.pg-body .pg-table,.pg-body .pg-floors,.pg-body .pg-route,.pg-body .pg-archive{background:color-mix(in srgb,var(--wt-bg) 40%,transparent)}
.pg-channels,.pg-archive{backdrop-filter:none}
.pg-body>p{margin:0 0 14px!important;max-width:68ch;line-height:1.72;color:var(--wt-text-2)}
.pg-body>p:last-child{margin-bottom:0!important}
.pg-body h3{margin:26px 0 8px!important;font-size:1.02rem!important;font-weight:700!important;color:var(--wt-text)}
.pg-body h3:first-child{margin-top:0!important}
.pg-body a:not(.wt-btn){color:var(--wt-accent);text-decoration:underline;text-underline-offset:3px}
.pg-body code,.pg-page td code{font:500 .84em var(--wt-mono);padding:1px 5px;border-radius:5px;background:color-mix(in srgb,var(--wt-text) 8%,transparent)}

/* chiffres : lecture en ligne, séparés par des filets */
.pg-figures{display:flex;flex-wrap:wrap;margin:0 0 22px;padding:0;list-style:none;border-top:1px solid var(--wt-line);border-bottom:1px solid var(--wt-line)}
.pg-figures li{flex:1 1 150px;min-width:0;margin:0!important;padding:16px 18px 16px 0;display:grid;gap:4px;align-content:start}
.pg-figures b{font:800 clamp(1.6rem,3vw,2.3rem)/1 var(--wt-font);letter-spacing:-.03em;color:var(--wt-text)}
.pg-figures span{font-size:.82rem;line-height:1.4;color:var(--wt-muted)}

/* étages */
.pg-floors{margin:0 0 20px;padding:0;list-style:none;border:1px solid var(--wt-line-2);border-radius:14px;overflow:hidden;background:color-mix(in srgb,var(--wt-surface) 85%,transparent)}
.pg-floors li{display:grid;grid-template-columns:9.5rem minmax(0,1fr) auto;gap:6px 18px;align-items:baseline;margin:0!important;padding:13px 18px;border-top:1px solid var(--wt-line)}
.pg-floors li:first-child{border-top:0}
.pg-floors strong{font-weight:700;color:var(--wt-text)}
.pg-floors span{color:var(--wt-text-2);min-width:0}
.pg-floors em{font-style:normal;font-size:.78rem;color:var(--wt-muted);white-space:nowrap}
.pg-floors .is-srv{background:color-mix(in srgb,var(--wt-accent) 9%,transparent)}
.pg-note{margin:0 0 18px!important;padding:2px 0 2px 16px;border-left:2px solid var(--wt-accent);color:var(--wt-text-2);font-size:.92rem;line-height:1.65;max-width:68ch}

/* tableaux */
.pg-table{width:100%;overflow-x:auto;margin:0 0 20px;border:1px solid var(--wt-line-2);border-radius:14px;background:color-mix(in srgb,var(--wt-surface) 85%,transparent)}
.pg-table table{width:100%;min-width:520px;border-collapse:collapse;margin:0;font-size:.9rem;border:0}
.pg-table th{text-align:left;font-weight:700;font-size:.76rem;letter-spacing:.04em;color:var(--wt-muted);padding:11px 16px;border:0;border-bottom:1px solid var(--wt-line-2);background:transparent;white-space:nowrap}
.pg-table td{padding:10px 16px;border:0;border-top:1px solid var(--wt-line);color:var(--wt-text-2);vertical-align:top;background:transparent}
.pg-table tr:first-child td{border-top:0}
.pg-table td:first-child{color:var(--wt-text);font-weight:600;font-variant-numeric:tabular-nums}
.pg-table caption{caption-side:top;text-align:left;padding:12px 16px 0;font-size:.8rem;color:var(--wt-muted)}

/* définitions en deux colonnes */
.pg-defs{margin:0 0 20px;display:grid;gap:0}
.pg-defs>div{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr);gap:6px 22px;padding:13px 0;border-top:1px solid var(--wt-line)}
.pg-defs>div:first-child{border-top:0;padding-top:0}
.pg-defs dt{margin:0;font-weight:700;color:var(--wt-text)}
.pg-defs dd{margin:0;color:var(--wt-text-2);line-height:1.65;min-width:0}
.pg-defs dd small{display:block;margin-top:4px;color:var(--wt-muted);font-size:.8rem}

/* statut en texte, sans pastille */
.pg-st{font:700 .72rem var(--wt-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--wt-muted);white-space:nowrap}
.pg-st.is-on{color:var(--wt-ok)}
.pg-st.is-test{color:var(--wt-warn)}
.pg-st.is-off{color:var(--wt-crit)}

/* routes de fournisseurs : texte courant relié par des flèches typographiques */
.pg-route{display:flex;flex-wrap:wrap;align-items:stretch;gap:0;margin:0 0 20px;padding:0;list-style:none;border:1px solid var(--wt-line-2);border-radius:14px;overflow:hidden;background:color-mix(in srgb,var(--wt-surface) 85%,transparent)}
.pg-route li{flex:1 1 230px;min-width:0;margin:0!important;padding:16px 18px;border-left:1px solid var(--wt-line)}
.pg-route li:first-child{border-left:0}
.pg-route small{display:block;margin-bottom:6px;font-size:.74rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--wt-muted)}
.pg-route b{display:block;margin-bottom:4px;color:var(--wt-text);overflow-wrap:anywhere}
.pg-route span{display:block;color:var(--wt-text-2);font-size:.88rem;line-height:1.55}

/* listes sobres */
.pg-list{margin:0 0 18px;padding:0 0 0 1.1em;max-width:68ch}
.pg-list li{margin:0 0 8px!important;color:var(--wt-text-2);line-height:1.65}
.pg-list li::marker{color:var(--wt-muted)}
.pg-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 44px;margin:0 0 18px}
.pg-two>div{min-width:0}
.pg-two h3{margin:0 0 8px!important}

/* deux canaux */
.pg-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 8px;border:1px solid var(--wt-line-2);border-radius:16px;overflow:hidden;background:color-mix(in srgb,var(--wt-surface) 85%,transparent)}
.pg-channels>div{min-width:0;padding:24px 26px}
.pg-channels>div+div{border-left:1px solid var(--wt-line-2)}
.pg-channels h3{margin:0 0 4px!important;font-size:1.15rem!important}
.pg-channels small{display:block;margin:0 0 12px;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--wt-accent)}
.pg-channels p{margin:0 0 14px!important;color:var(--wt-text-2);line-height:1.65;font-size:.92rem}
.pg-channels a.wt-btn{margin-top:2px}

/* étapes : texte seul, sans numéro ni rail */
.pg-steps{margin:0 0 18px;padding:0;list-style:none;max-width:70ch}
.pg-steps li{margin:0!important;padding:14px 0;border-top:1px solid var(--wt-line)}
.pg-steps li:first-child{border-top:0;padding-top:0}
.pg-steps h3{margin:0 0 4px!important;font-size:1rem!important}
.pg-steps p{margin:0!important;color:var(--wt-text-2);line-height:1.65;font-size:.94rem}

.pg-fig{margin:0 0 20px}
.pg-fig img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--wt-line)}
.pg-fig figcaption{margin-top:9px;font-size:.84rem;line-height:1.6;color:var(--wt-text-2);max-width:70ch}
.pg-archive{margin:64px 0 0;border:1px solid var(--wt-line-2);border-radius:14px;background:color-mix(in srgb,var(--wt-surface) 85%,transparent)}
.pg-archive>summary{cursor:pointer;min-height:44px;padding:13px 18px;font-weight:700;color:var(--wt-text)}
.pg-archive>div{padding:4px 18px 18px}
.pg-source{margin:0!important;font-size:.8rem;color:var(--wt-muted)}

@media (max-width:860px){
  .pg-split{grid-template-columns:1fr;gap:10px}
  .pg-two,.pg-channels{grid-template-columns:1fr}
  .pg-channels>div+div{border-left:0;border-top:1px solid var(--wt-line-2)}
  .pg-route li{flex-basis:100%;border-left:0;border-top:1px solid var(--wt-line)}
  .pg-route li:first-child{border-top:0}
}
@media (max-width:560px){
  .pg-body{padding:16px 14px}
  .pg-band{margin-top:48px}
  .pg-floors li{grid-template-columns:1fr;gap:2px}
  .pg-floors em{white-space:normal}
  .pg-defs>div{grid-template-columns:1fr;gap:2px}
  .pg-figures li{flex-basis:45%}
  .pg-channels>div{padding:20px 18px}
  .pg-page .wt-btn{min-height:44px}
}
/* module-veille.css — pages Veille SOC (293), Threat Intel (1017), orientation (1016). Préfixe vp-. Additif après le marqueur pf3. */
.vp-page *{box-sizing:border-box}

.vp-note a{color:var(--wt-accent);text-decoration:underline;text-underline-offset:3px}
.vp-note{max-width:68ch;color:var(--wt-text-2);line-height:1.7;margin:0 0 16px!important}
.vp-gestes{margin:18px 0 0;display:grid;grid-template-columns:max-content minmax(0,1fr);gap:10px 28px;align-items:baseline}
.vp-gestes dt{font-weight:800;color:var(--wt-text);letter-spacing:-.01em}
.vp-gestes dd{margin:0;color:var(--wt-text-2);line-height:1.6}
.vp-tech{padding:22px 0;scroll-margin-top:90px}
.vp-tech:first-child{padding-top:0}
.vp-tech:last-child{padding-bottom:0}
.vp-tech+.vp-tech{border-top:0;margin-top:6px}
.vp-tech h3{margin:0 0 8px!important;font-size:1.15rem!important;font-weight:800!important;letter-spacing:-.015em;color:var(--wt-text)}
.vp-tech p{margin:0 0 10px!important;max-width:68ch;line-height:1.7;color:var(--wt-text-2)}
.vp-tech p:last-child{margin-bottom:0!important}
.vp-tech p:first-child{color:var(--wt-text)}
.vp-tech a{color:var(--wt-accent);text-decoration:underline;text-underline-offset:3px}
.vp-group{margin:0 0 22px}
.vp-group:last-child{margin-bottom:0}
.vp-group h3{margin:0 0 6px!important;font-size:1rem!important;font-weight:700!important}
.vp-group p{margin:0!important;max-width:68ch;line-height:1.7;color:var(--wt-text-2)}
.vp-links{list-style:none;margin:0;padding:0}
.vp-links li{margin:0}
.vp-links a{display:inline-block;padding:11px 0;min-height:44px;color:var(--wt-text)!important;text-decoration:none;font-weight:600;line-height:1.4}
.vp-links a:hover{color:var(--wt-accent)!important;text-decoration:underline;text-underline-offset:3px}
.vp-index-title{margin-top:8px!important}

.vp-page .wt-btn,.vp-page .pf-btns a{min-height:44px;display:inline-flex;align-items:center}
@media (max-width:820px){
 
 
 .vp-gestes{grid-template-columns:minmax(0,1fr);gap:2px}
 .vp-gestes dd{margin-bottom:12px}
}
/* module-home.css — accueil (fil de publication), parcours, compétences. Préfixe hs-. */
.hs-desk,.hs-path,.hs-know,.hs-comps{--hs-surf:color-mix(in srgb,var(--wt-surface) 85%,transparent)}
.hs-desk__head{max-width:46rem;margin-bottom:clamp(20px,3vw,34px)}
.hs-desk__cols{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);padding:clamp(22px,3.4vw,44px);border-radius:var(--pf-r,12px);background:var(--hs-surf)}
.hs-col{min-width:0;display:flex;flex-direction:column}
.hs-col__t{margin:0 0 clamp(14px,2vw,24px)!important;font:600 .78rem var(--wt-mono,monospace)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--wt-accent)!important}
.hs-list{list-style:none;margin:0!important;padding:0!important;display:grid;gap:clamp(6px,1vw,12px)}
.hs-entry{margin:0!important;padding:0!important}
.hs-item{display:grid;grid-template-columns:3.6rem minmax(0,1fr);column-gap:clamp(12px,1.8vw,22px);align-items:baseline;min-height:44px;padding:8px 0;text-decoration:none!important;color:var(--wt-text)!important}
.hs-date{display:flex;flex-direction:column;align-items:flex-end;text-align:right;line-height:1;color:var(--wt-muted)}
.hs-date b{font:700 1.9rem var(--em-font,inherit);letter-spacing:-.04em;color:var(--wt-text);transition:color .2s}
.hs-date span{font:500 .72rem var(--wt-mono,monospace);margin-top:4px;letter-spacing:.04em}
.hs-title{font:600 clamp(1.02rem,1.5vw,1.28rem)/1.3 var(--em-font,inherit);letter-spacing:-.018em;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-wrap:balance}
.hs-col--veille .hs-title{font-size:clamp(1.12rem,1.8vw,1.5rem)}
.hs-item:hover .hs-title,.hs-item:focus-visible .hs-title{text-decoration:underline;text-decoration-color:var(--wt-accent);text-decoration-thickness:2px;text-underline-offset:4px}
.hs-item:hover .hs-date b,.hs-item:focus-visible .hs-date b{color:var(--wt-accent)}
.hs-item:focus-visible,.hs-more:focus-visible,.hs-retry:focus-visible,.hs-refs a:focus-visible,.hs-comp__l a:focus-visible{outline:2px solid var(--wt-accent);outline-offset:3px;border-radius:4px}
.hs-msg{margin:0!important;color:var(--wt-text-2,var(--wt-muted));max-width:34rem}
.hs-retry{min-height:44px;padding:0 6px;background:none;border:0;font:inherit;font-weight:600;color:var(--wt-accent);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.hs-more{display:inline-flex;align-items:center;min-height:44px;margin-top:auto;padding-top:10px;font-weight:600;text-decoration:none!important;color:var(--wt-accent)!important}
.hs-more::after{content:"\2192";margin-left:.5em;transition:transform .2s}
.hs-more:hover::after{transform:translateX(4px)}
.hs-sk{display:block;border-radius:6px;background:color-mix(in srgb,var(--wt-text) 10%,transparent)}
.hs-list--sk .hs-entry{display:grid;grid-template-columns:3.6rem 1fr;column-gap:18px;align-items:center;min-height:56px}
.hs-sk--d{height:30px}.hs-sk--t{height:18px;width:80%}
@media (prefers-reduced-motion:no-preference){.hs-sk{animation:hs-pulse 1.6s ease-in-out 8}}
@keyframes hs-pulse{50%{opacity:.45}}
html[data-ui-motion="paused"] .hs-sk{animation:none}
@media (max-width:760px){.hs-desk__cols{grid-template-columns:1fr;gap:34px;padding:20px 16px}.hs-item{grid-template-columns:3rem minmax(0,1fr)}.hs-date b{font-size:1.6rem}}

/* Parcours : lecture par périodes, sans rail ni points */
.hs-path__thread{display:grid;grid-template-columns:minmax(8rem,12rem) minmax(0,38rem);gap:clamp(16px,3vw,48px);margin:clamp(18px,2.6vw,30px) 0 clamp(26px,4vw,48px)}
.hs-path__thread h3,.hs-per h3{margin:0 0 8px!important;font:700 clamp(1.15rem,1.7vw,1.5rem)/1.25 var(--em-font,inherit)!important;letter-spacing:-.02em}
.hs-path__thread p,.hs-per p{margin:0!important}
.hs-yr{margin:0 0 6px!important;font:600 .8rem var(--wt-mono,monospace)!important;letter-spacing:.08em;color:var(--wt-muted)!important}
.hs-path__thread .hs-yr{font-size:1.35rem!important;font-family:var(--em-font,inherit)!important;letter-spacing:-.03em;color:var(--wt-text)!important}
.hs-path__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,44px);padding:clamp(20px,3vw,36px);border-radius:var(--pf-r,12px);background:var(--hs-surf)}
.hs-per.is-now .hs-yr{color:var(--wt-accent)!important}
.hs-per.is-now h3{text-decoration:underline;text-decoration-color:var(--wt-accent);text-decoration-thickness:3px;text-underline-offset:6px}
.hs-know__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(28px,5vw,72px);row-gap:clamp(24px,3vw,40px);margin-top:clamp(16px,2vw,26px)}
.hs-know__i h3{margin:0 0 6px!important;font:700 1.2rem var(--em-font,inherit)!important;letter-spacing:-.02em}
.hs-know__i p{margin:0 0 4px!important}
.hs-refs{display:flex;flex-wrap:wrap;gap:0 18px;margin:0!important}
.hs-refs a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;font-size:.92rem;color:var(--wt-accent)!important;text-decoration:underline;text-underline-offset:4px}
@media (max-width:900px){.hs-path__cols{grid-template-columns:1fr}.hs-path__thread{grid-template-columns:1fr;gap:4px}.hs-know__cols{grid-template-columns:1fr}}

/* Compétences : une compétence, ses réalisations */
.hs-comp{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(20px,4vw,64px);padding:clamp(20px,3vw,34px) clamp(18px,3vw,34px);margin-top:clamp(12px,1.6vw,20px);border-radius:var(--pf-r,12px);background:var(--hs-surf);scroll-margin-top:90px}
.hs-comp__h h3{margin:0 0 10px!important;font:700 clamp(1.2rem,1.9vw,1.6rem)/1.2 var(--em-font,inherit)!important;letter-spacing:-.025em;text-wrap:balance}
.hs-comp__h p{margin:0!important;color:var(--wt-text-2,var(--wt-muted))}
.hs-comp__n{margin:0 0 8px!important;font:600 .8rem var(--wt-mono,monospace)!important;letter-spacing:.05em;color:var(--wt-muted)!important}
.hs-comp__n--none{font:400 1rem var(--wt-font,inherit)!important;letter-spacing:0;line-height:1.55}
.hs-comp__l{list-style:none;margin:0!important;padding:0!important;columns:2;column-gap:28px}
.hs-comp__l li{margin:0!important;break-inside:avoid}
.hs-comp__l a{display:flex;align-items:baseline;gap:.5em;min-height:44px;padding:8px 0;text-decoration:none!important;color:var(--wt-text)!important;line-height:1.3;font-size:.95rem}
.hs-comp__l a:hover{text-decoration:underline!important;text-decoration-color:var(--wt-accent)!important;text-underline-offset:4px}
.hs-comp__l .hs-r{font:600 .78rem var(--wt-mono,monospace);color:var(--wt-accent);flex:none}
.hs-comp__l em{font-style:normal;color:var(--wt-muted);font-size:.82em;white-space:nowrap}
@media (max-width:900px){.hs-comp{grid-template-columns:1fr}.hs-comp__l{columns:1}}
/* apple-finish — correctifs additifs, sans fond, contenu ni statut */
/* Cibles autonomes : les liens de prose ne sont pas transformés en boutons. */
:root.pf-js body.wt :is(.ui-footer-group a,.wt-crumbs a,.wt-card a.wt-cat,.hs-comp__l a,.hs-more,.vp-links a,.v5w-direct,.wt-proc-card .wt-card__title a,.pf-real summary,.v5w-advanced>summary){
  min-width:44px;min-height:44px;box-sizing:border-box;
}
:root.pf-js body.wt :is(.ui-footer-group a,.wt-crumbs a,.wt-card a.wt-cat,.wt-proc-card .wt-card__title a){display:inline-flex;align-items:center;}
:root.pf-js body.wt :is(.wt-crumbs,.ui-footer-group){flex-wrap:wrap;}
/* Feedback natif à la pression, sans déplacer ni déformer la cible ou le logo. */
:root.pf-js body.wt :is(.hs-more,.hs-comp__l a,.vp-links a,.v5w-direct,.wt-card a.wt-cat,.wt-proc-card .wt-card__title a,.ui-footer-group a,.wt-crumbs a,.pf-real summary,.v5w-advanced>summary):active{
  outline:2px solid var(--wt-accent);outline-offset:-2px;transition:none!important;
}
:root.pf-js body.wt :is(.hs-more,.hs-comp__l a,.vp-links a,.v5w-direct,.wt-card a.wt-cat,.wt-proc-card .wt-card__title a,.ui-footer-group a,.wt-crumbs a,.pf-real summary,.v5w-advanced>summary):focus-visible{
  outline:2px solid var(--wt-accent)!important;outline-offset:3px;
}
/* Pas de transitions de couleur/ombre : changement immédiat ; les rails décoratifs
   et les transformations authored existants restent indépendants. */
:root.pf-js body.wt :is(.wt-btn,.wt-chip,.wt-more,.ui-reset,.ui-real-toolbar input,.ui-real-toolbar select,.ui-field input,.ui-field select,.v5w-controls input,.v5w-controls select,.v5w-controls button,.hs-more,.ui-footer-group a,.pf-real summary,.v5w-advanced>summary){
  transition-property:transform,opacity!important;transition-duration:120ms!important;transition-timing-function:ease-out!important;
}
/* Surfaces explicites : les modules récents utilisent un alpha 85% littéral,
   et ne suivent donc pas tous --pf-glass. Même spécificité que le module final. */
@media (prefers-reduced-transparency:reduce),(prefers-contrast:more),print{
  :root:root:root:root:root.pf-js body.wt #primary :is(.hs-desk__cols,.hs-path__cols,.hs-comp,.pg-body,.pg-floors,.pg-table,.pg-route,.pg-channels,.pg-archive,.vp-body,.vp-links,.v5w-card,.v5w-controls,.pf-panel,.pf-real,.wt-card,.pf-tile,.ui-catalog-toolbar,.pf-reading-group,.pf-source-capture,.pf-intro,.pf-brand-host,.pf-hero2){
    background-color:var(--wt-surface)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  }
}
@media (prefers-contrast:more){
  :root.pf-js body.wt #primary :is(.hs-desk__cols,.hs-comp,.pg-body,.vp-body,.v5w-card,.v5w-controls,.pf-panel,.pf-real,.wt-card,.pf-tile){outline:1px solid var(--wt-text);outline-offset:-1px;}
  :root.pf-js body.wt :is(a,button,input,select,summary):focus-visible{outline:3px solid var(--wt-text)!important;outline-offset:3px;}
}
@media (prefers-reduced-motion:reduce){
  :root.pf-js body.wt :is(.wt-btn,.wt-chip,.wt-more,.ui-reset,.ui-real-toolbar input,.ui-real-toolbar select,.ui-field input,.ui-field select,.v5w-controls input,.v5w-controls select,.v5w-controls button,.hs-more,.ui-footer-group a,.pf-real summary,.v5w-advanced>summary){transition:none!important;}
}
@media (forced-colors:active){
  :root.pf-js body.wt :is(a,button,input,select,summary):focus-visible{outline:2px solid Highlight!important;}
}
/* Document HTML autonome, sans assets WordPress : même module à embarquer
   séparément dans les copies candidates ; ne modifie aucun document public. */
body:has(#document) :is(.dl a,aside.side nav a,summary,.skip){min-height:44px;min-width:44px;box-sizing:border-box;}
body:has(#document) :is(.dl a,.skip){display:inline-flex;align-items:center;}
body:has(#document) aside.side nav a{display:flex;align-items:center;}
:root.pf-js body.wt :is(.ui-footer a,#masthead a.pf-has-logo,a.wt-cat){min-height:44px!important;min-width:44px!important;}
:root.pf-js body.wt :is(.ui-footer a,a.wt-cat){display:inline-flex;align-items:center;}
/* Les documents exportés sont indépendants de PF_THEME. Aucun script ajouté :
   préférence système et attribut du harnais ; tokens locaux seulement. */
@media (prefers-color-scheme:dark){
  :root:has(#document){--ink:#f1f2f4;--muted:#c9cdd2;--faint:#adb2b9;--accent:#91b5fa;--accent2:#91b5fa;--line:#686e78;--bg:#131416;--paper:#242629;--note:#1b2b3f;--warn:#342a19;--warnb:#d2ab61;color-scheme:dark;}
  body:has(#document) aside.side{background:var(--bg);}
}
@media (prefers-reduced-motion:reduce){body:has(#document),html:has(#document){scroll-behavior:auto!important;}body:has(#document) *{animation:none!important;transition:none!important;}}
@media print{:root:has(#document){--ink:#1F2A37;--muted:#41505F;--faint:#566474;--accent:#2E75B6;--accent2:#245D92;--line:#A5B4C0;--bg:white;--paper:white;--note:#DCE9F4;color-scheme:light;}}
body:has(#document) :is(a,button,summary):focus-visible{outline:2px solid currentColor;outline-offset:3px;}
body:has(#document) :is(.toolbar a,.actions a,summary):active{outline:2px solid currentColor;outline-offset:-2px;}
/* Native Contact submit touch target */
#fluentform_1 .ff-btn-submit{min-height:44px}/* Lisibilité du fond défilant : le paragraphe .pg-note (méthode de veille) reçoit la même matière de surface que les panneaux,
   à 85 % portés par la couleur de fond (jamais opacity) ; 100 % si transparence réduite/impression ; Canvas en couleurs forcées. */
@supports (background-color:color-mix(in srgb,black 85%,transparent)){
:root:root:root:root:root.pf-js body.wt #primary .entry-content .pg-note{background-color:color-mix(in srgb,var(--wt-surface) var(--pf-glass),transparent)!important;}
}
@media (forced-colors:active){:root:root:root:root:root.pf-js body.wt #primary .entry-content .pg-note{background-color:Canvas!important;}}
/* WT Recueil + Glossaire v1 — append isolé. Variables --wt-* du thème (Clair/Sombre) ; aucune règle sur le fond/canvas. */
[data-wt-recueil] .wt-toolbar{display:none!important}
.wt-recueil{margin-block:1.5rem;min-width:0;color:var(--wt-text,#17263b)}
.wt-recueil [hidden]{display:none!important}
.wt-recueil__controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem 1rem;align-items:end;padding:1rem;background:var(--wt-surface,#f6f9fd);border:1px solid var(--wt-line,#c2cedd);border-radius:14px}
.wt-recueil__controls label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem;font-weight:600;min-width:0}
.wt-recueil__controls :is(input,select){min-height:44px;font:inherit;color:inherit;background:var(--wt-bg-2,#fff);border:1px solid var(--wt-line,#c2cedd);border-radius:10px;padding:.4rem .6rem;min-width:0}
.wt-recueil__controls :is(button,summary){min-height:44px;font:inherit;cursor:pointer}
.wt-recueil__adv{grid-column:1/-1}
.wt-recueil__advbox{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem 1rem;margin-top:.75rem}
.wt-recueil__count{margin:1rem 0 .75rem;font-weight:600;font-variant-numeric:tabular-nums}
.wt-recueil__state{padding:1.1rem 1.25rem;background:var(--wt-surface,#f6f9fd);border:1px solid var(--wt-line,#c2cedd);border-radius:12px;margin-bottom:1rem}
.wt-recueil__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.wt-recueil[data-view=list] .wt-recueil__list{grid-template-columns:minmax(0,1fr)}
.wt-rc{min-width:0;display:flex;flex-direction:column;gap:.4rem;padding:1.1rem 1.25rem;background:var(--wt-surface,#f6f9fd);border:1px solid var(--wt-line,#c2cedd);border-radius:14px}
.wt-rc__meta{margin:0;font-size:.85rem;color:var(--wt-text-2,#374c66)}
.wt-rc__title{margin:0;font-size:1.1rem;line-height:1.3;overflow-wrap:anywhere}
.wt-rc__summary{margin:0;overflow-wrap:anywhere}
.wt-rc__foot{margin:0;font-size:.85rem;color:var(--wt-muted,#52637a)}
.wt-rc .wta-dates{margin:.25rem 0 0;display:grid;grid-template-columns:auto 1fr;gap:.1rem .6rem;font-size:.85rem}
.wt-rc .wta-dates dt{font-weight:600}.wt-rc .wta-dates dd{margin:0}
.wt-rc .wt-more{margin-top:auto;display:inline-flex;align-items:center;min-height:44px}
.wt-recueil__pager{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}
.wt-recueil__pager .wt-btn{min-width:44px;min-height:44px}
.wt-recueil :is(a,button,input,select,summary):focus-visible{outline:2px solid var(--wt-accent,#2454aa);outline-offset:2px}
@media (max-width:720px){.wt-recueil__controls,.wt-recueil__advbox{grid-template-columns:minmax(0,1fr)}.wt-recueil__list{grid-template-columns:minmax(0,1fr)}}
/* Glossaire */
.wt-term{position:relative;display:inline}
.wt-term__btn{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:help;text-decoration:underline dotted;text-underline-offset:.2em;min-height:0}
.wt-term__btn:focus-visible{outline:2px solid var(--wt-accent,#2454aa);outline-offset:2px;border-radius:2px}
.wt-term__pop{position:absolute;z-index:60;left:0;top:calc(100% + .35rem);width:min(22rem,80vw);display:block;padding:.75rem .9rem;background:var(--wt-surface-2,#fff);color:var(--wt-text,#17263b);border:1px solid var(--wt-line,#c2cedd);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.25);font-size:.9rem;line-height:1.45;text-align:left}
.wt-term__pop[hidden]{display:none}
.wt-term__pop>*{display:block;margin-bottom:.4rem}.wt-term__pop>*:last-child{margin-bottom:0}
.wt-term__pop a{color:var(--wt-accent,#2454aa);text-decoration:underline;display:inline-block;min-height:44px;padding-block:.5rem}
@media (max-width:720px){.wt-term__pop{position:fixed;left:1rem;right:1rem;bottom:1rem;top:auto;width:auto;max-height:50dvh;overflow:auto}}
/* Recueil : texte posé hors panneau → même matière translucide à 85 % que les panneaux de lecture (contraste mesuré, pas supposé). */
:root.pf-js body.wt .wt-recueil__count{display:block;width:fit-content;max-width:100%;padding:.4rem .8rem;border-radius:10px;background-color:color-mix(in srgb,var(--wt-surface) var(--pf-glass,85%),transparent)}
:root.pf-js body.wt .wt-recueil__pager .wt-btn.is-ghost{background-color:color-mix(in srgb,var(--wt-surface) var(--pf-glass,85%),transparent)}
@media print{:root.pf-js body.wt .wt-recueil__count{background-color:Canvas}}
:root.pf-js body.wt .wt-recueil__pager{width:fit-content;max-width:100%;padding:.5rem .65rem;border-radius:12px;background-color:color-mix(in srgb,var(--wt-surface) var(--pf-glass,85%),transparent)}
@media (prefers-reduced-transparency:reduce){:root.pf-js body.wt :is(.wt-recueil__count,.wt-recueil__pager){background-color:var(--wt-surface)}}
@media (forced-colors:active){:root.pf-js body.wt :is(.wt-recueil__count,.wt-recueil__pager){background-color:Canvas}}
/* SOC reader candidate — append after the exact served /*pf3* / bundle. */
/* Every selector requires the renderer's explicit SOC contract, never URL inference. */
:root.pf-js body.wt .wt-single:has(.pf-watch-article[data-pf-watch-channel="soc"]) {
  --pf-soc-pad:clamp(1rem,2vw,1.75rem);
  box-sizing:border-box; width:100%; max-width:72ch; min-width:0; margin-inline:auto;
}
:root.pf-js body.wt #primary .wt-single:has(.pf-watch-article[data-pf-watch-channel="soc"]) > :is(.wt-hero.is-single,.wt-prose) {
  box-sizing:border-box!important; width:100%!important; max-width:none!important;
  min-width:0; margin-inline:0!important; padding-inline:var(--pf-soc-pad)!important;
  background-color:color-mix(in srgb,var(--wt-bg) 85%,transparent)!important;
  background-image:none!important; border:0; border-radius:0; opacity:1;
}
:root.pf-js body.wt #primary .wt-single:has(.pf-watch-article[data-pf-watch-channel="soc"]) > .wt-hero.is-single {
  display:grid; grid-template-columns:minmax(0,1fr); gap:.75rem;
  padding-block:1.5rem 1rem; margin-block:0!important;
}
:root.pf-js body.wt #primary .wt-single:has(.pf-watch-article[data-pf-watch-channel="soc"]) .wt-hero__title {
  font-size:clamp(24px,2.5vw,36px)!important; line-height:1.18!important;
  max-width:30ch; margin:0; letter-spacing:-.035em; text-wrap:balance;
  overflow:visible; white-space:normal; overflow-wrap:break-word; height:auto;
  animation:none!important; opacity:1!important; transform:none!important;
}
:root.pf-js body.wt .wt-single:has(.pf-watch-article[data-pf-watch-channel="soc"]) :is(.wt-crumbs,.wt-meta,.wta-dates) {
  margin:0; padding:0; font-size:.8125rem; line-height:1.5;
}
:root.pf-js body.wt .wt-single:has(.pf-watch-article[data-pf-watch-channel="soc"]) .wt-crumbs {font-family:inherit; display:flex; flex-wrap:wrap; gap:.5rem;}
:root.pf-js body.wt .wt-single:has(.pf-watch-article[data-pf-watch-channel="soc"]) .wt-meta {display:flex; gap:1rem; list-style:none; border:0;}
:root.pf-js body.wt .wt-single:has(.pf-watch-article[data-pf-watch-channel="soc"]) .wt-meta li {display:flex; gap:.4em; align-items:baseline;}
:root.pf-js body.wt .wt-single:has(.pf-watch-article[data-pf-watch-channel="soc"]) .wta-dates {display:grid; grid-template-columns:max-content minmax(0,1fr); gap:.15rem .75rem;}
:root.pf-js body.wt .wt-single:has(.pf-watch-article[data-pf-watch-channel="soc"]) .wta-dates :is(dt,dd) {margin:0; padding:0; font-size:inherit;}
:root.pf-js body.wt .wt-single:has(.pf-watch-article[data-pf-watch-channel="soc"]) .wt-card__meta:empty {display:none;}
:root.pf-js body.wt #primary .wt-single:has(.pf-watch-article[data-pf-watch-channel="soc"]) > .wt-prose {padding-block:1rem 2rem!important;}
:root.pf-js body.wt .pf-watch-article[data-pf-watch-channel="soc"] {min-width:0; color:var(--wt-text);}
:root.pf-js body.wt .pf-watch-article[data-pf-watch-channel="soc"] :is(p,li) {line-height:1.7;}
:root.pf-js body.wt .pf-watch-article[data-pf-watch-channel="soc"] > :first-child {margin-top:0;}
:root.pf-js body.wt .pf-watch-article[data-pf-watch-channel="soc"] .pf-watch-lead {font-size:1.0625rem; color:var(--wt-text);}
:root.pf-js body.wt .pf-watch-article[data-pf-watch-channel="soc"] :is(h2,h3) {margin-block:2rem .65rem; line-height:1.3;}
:root.pf-js body.wt .pf-watch-article[data-pf-watch-channel="soc"] h2 {font-size:1.5rem;}
:root.pf-js body.wt #primary .pf-watch-article[data-pf-watch-channel="soc"] :is(h2,h3,h4,h5,h6)::before {content:none!important;}
:root.pf-js body.wt .pf-watch-article[data-pf-watch-channel="soc"] h3 {font-size:1.2rem;}
:root.pf-js body.wt .pf-watch-article[data-pf-watch-channel="soc"] .pf-watch-figure {margin:1.75rem 0;}
:root.pf-js body.wt .pf-watch-article[data-pf-watch-channel="soc"] .pf-watch-figure img {display:block; width:100%; height:auto; object-fit:contain;}
:root.pf-js body.wt .pf-watch-article[data-pf-watch-channel="soc"] figcaption {font-size:.8125rem; line-height:1.55; margin-top:.5rem; color:var(--wt-text-2);}
:root.pf-js body.wt .pf-watch-article[data-pf-watch-channel="soc"] .pf-watch-sources {margin-top:2.5rem; font-size:.875rem; overflow-wrap:anywhere;}
:root.pf-js body.wt .pf-watch-article[data-pf-watch-channel="soc"] .pf-watch-sources :is(p,li) {font-size:inherit;}
/* Native zoom leaves .wt-prose when logo moves to hero: neutralize theme button paint, retain handlers/focus. */
:root.pf-js body.wt #primary .wt-single:has(.pf-watch-article[data-pf-watch-channel="soc"]) .pf-watch-solution .wta-zoom {box-sizing:border-box; width:100%; max-width:9rem; min-width:0; min-height:44px; padding:8px!important; margin:0!important; border:0!important; background:#edf3fa!important; box-shadow:none!important;}
:root.pf-js body.wt #primary .wt-single:has(.pf-watch-article[data-pf-watch-channel="soc"]) .pf-watch-solution .pf-watch-logo {max-width:100%!important; box-shadow:none!important;}
:root.pf-js body.wt #primary .wt-single:has(.pf-watch-article[data-pf-watch-channel="soc"]) .wt-hero__lead[hidden] {display:none!important;}
:root.pf-js body.wt #primary .wt-single:has(.pf-watch-article[data-pf-watch-channel="soc"]) :is(.wt-meta,.wt-hero__title) {margin:0!important; padding:0!important; border:0!important;}
:root.pf-js body.wt .wt-single:has(.pf-watch-article[data-pf-watch-channel="soc"]) .pf-watch-solution {box-sizing:border-box; display:flex; align-items:center; gap:.75rem; max-width:100%; margin:0; padding-block:.5rem; min-width:0;}
:root.pf-js body.wt .wt-single:has(.pf-watch-article[data-pf-watch-channel="soc"]) .pf-watch-solution .pf-watch-logo {display:block; width:auto!important; height:auto!important; max-width:9rem!important; max-height:4rem; object-fit:contain; object-position:center; filter:none!important; transform:none!important; animation:none!important; opacity:1!important; flex:0 1 auto;}
:root.pf-js body.wt .wt-single:has(.pf-watch-article[data-pf-watch-channel="soc"]) :is(.wt-tag,.pf-soc-superseded,[data-pf-soc-proof])[hidden] {display:none!important;}
@media(min-width:900px) {
  :root.pf-js body.wt #primary .wt-single:has(.pf-watch-article[data-pf-watch-channel="soc"]) > .wt-hero.is-single:has(> .pf-watch-solution) {grid-template-columns:minmax(0,1fr) 9rem; column-gap:1.5rem;}
  :root.pf-js body.wt .wt-single:has(.pf-watch-article[data-pf-watch-channel="soc"]) .wt-hero.is-single > :not(.pf-watch-solution) {grid-column:1;}
  :root.pf-js body.wt .wt-single:has(.pf-watch-article[data-pf-watch-channel="soc"]) .wt-hero.is-single > .pf-watch-solution {grid-column:2; grid-row:2 / span 3; align-self:start;}
}
@media(forced-colors:active),(prefers-reduced-transparency:reduce),print {
  :root.pf-js body.wt #primary .wt-single:has(.pf-watch-article[data-pf-watch-channel="soc"]) > :is(.wt-hero.is-single,.wt-prose) {background-color:var(--wt-bg)!important;}
}
/* Portfolio — protection continue des deux sections de la page Parcours.
   Le fond et les textes ne changent pas d'opacité ; seul le matériau de lecture est translucide. */
body.page-id-424 .hs-path,
body.page-id-424 .hs-know {
  background-color: color-mix(in srgb, var(--wt-surface) 85%, transparent);
  border-radius: 16px;
  padding: clamp(20px, 2.3vw, 32px);
}
@media print, (prefers-reduced-transparency: reduce), (forced-colors: active) {
  body.page-id-424 .hs-path,
  body.page-id-424 .hs-know { background-color: var(--wt-surface); }
}
/* Parcours : le panneau de section porte seul le matériau de lecture ;
   les couches existantes à l'intérieur sont neutralisées pour éviter un fond translucide empilé.
   La règle d'origine est en !important : on la dépasse par la spécificité, pas par un masque. */
:root:root.pf-js body.wt #primary :is(.hs-path, .hs-know) > .pf-reading-group,
:root:root.pf-js body.wt #primary .hs-path .hs-path__cols {
  background-color: transparent !important;
  padding: 0 !important;
}
/* ---------- VIVANT (2 novembre 2026) : le site respire au scroll, typo display unifiée,
   encre et matiere en retour de survol ; cibles immobiles, marques officielles rigides.
   Pause, reduced-motion, impression et no-JS restent integralement statiques et lisibles. ---------- */

/* 1) Revelations au scroll, reactivees sur demande explicite : montee courte sans blur
   ni scale, cadence existante --pf-d. Uniquement moteur actif (data-ui-motion="on") ;
   la regle generale anterieure force deja opacity:1 pour pause/arret. */
:root.pf-js[data-ui-motion="on"] body.wt .pf-reveal{
  opacity:0!important;
  transform:translateY(12px)!important;
  transition:opacity .55s var(--pf-ease),transform .55s var(--pf-ease)!important;
  transition-delay:var(--pf-d,0ms)!important;
}
:root.pf-js[data-ui-motion="on"] body.wt .pf-reveal.is-in{
  opacity:1!important;transform:none!important;
}
@media (prefers-reduced-motion:reduce){
  :root.pf-js[data-ui-motion="on"] body.wt .pf-reveal{
    opacity:1!important;transform:none!important;transition:none!important;
  }
}
@media print{
  :root.pf-js body.wt .pf-reveal{opacity:1!important;transform:none!important;transition:none!important}
}

/* 2) Typo : la display du site porte aussi les intertitres d'articles ; les corps restent sur --wt-font. */
:root:root.pf-js body.wt #primary .entry-content :is(h2:not([class]),h3:not([class]),h2.pf-h2){font-family:var(--em-font)!important}
:root:root.pf-js body.wt #primary .entry-content h2:not([class]){font-weight:700}
:root:root.pf-js body.wt #primary .entry-content h3:not([class]){font-weight:650}

/* Chiffres en colonnes stables pour les dates et compteurs. */
:root.pf-js body.wt :is(time,.wt-date,.hs-date,.wt-latest__item,.wt-count){font-variant-numeric:tabular-nums}

/* Liens de prose : soulignement fin decale, encre qui s'affirme au survol ; aucune translation. */
:root:root.pf-js body.wt #primary .entry-content p a:not(.wt-btn):not(.wt-more):not(.wt-doc){
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  text-decoration-color:color-mix(in srgb,var(--wt-accent) 55%,transparent);
}
:root.pf-js[data-ui-motion="on"] body.wt #primary .entry-content p a:not(.wt-btn):not(.wt-more):not(.wt-doc){
  transition:color .2s var(--pf-ease),text-decoration-color .2s var(--pf-ease);
}
:root:root.pf-js body.wt #primary .entry-content p a:not(.wt-btn):not(.wt-more):not(.wt-doc):hover{
  text-decoration-color:var(--wt-accent);
}

/* Selection de texte au thème. */
:root.pf-js body.wt ::selection{background:color-mix(in srgb,var(--wt-accent) 32%,transparent)}

/* 3) Ascenseur fin au theme, deux moteurs. */
:root.pf-js{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--wt-accent) 42%,var(--wt-surface)) transparent}
:root.pf-js::-webkit-scrollbar{width:10px;height:10px}
:root.pf-js::-webkit-scrollbar-track{background:transparent}
:root.pf-js::-webkit-scrollbar-thumb{
  background:color-mix(in srgb,var(--wt-accent) 40%,var(--wt-surface));
  border-radius:8px;border:3px solid transparent;background-clip:content-box;
}

/* 4) Dernieres publications : retour de survol en matiere/encre, geometrie immobile. */
:root.pf-js[data-ui-motion="on"] body.wt a.wt-latest__item{
  transition:background-color .22s var(--pf-ease),border-color .22s var(--pf-ease),box-shadow .22s var(--pf-ease);
}
:root:root.pf-js body.wt a.wt-latest__item:hover{
  background-color:color-mix(in srgb,var(--wt-accent) 9%,transparent);
  box-shadow:inset 2px 0 0 var(--wt-accent);
}
:root:root.pf-js body.wt a.wt-latest__item:hover strong{color:var(--wt-accent)}
/* module-veille-fiche (2 nov. 2026) — fiches SOC compactes (soc-reader-2) : cartes colorées, image pleine largeur, impression A4 claire ≤ 2 pages. Portée : .pf-watch-article[data-pf-watch-version="soc-reader-2"] et sa page. */
:root.pf-js body.wt #primary .pf-watch-article[data-pf-watch-version="soc-reader-2"]{--fw-blue:#8ab4ff;--fw-teal:#5fd4c4;--fw-amber:#f5c26b;--fw-mix:13%;}
:root.pf-js[data-theme="light"] body.wt #primary .pf-watch-article[data-pf-watch-version="soc-reader-2"]{--fw-blue:#1d4ed8;--fw-teal:#0f766e;--fw-amber:#a35208;--fw-mix:9%;}
/* Image de l'article : pleine largeur, coins arrondis, légende discrète */
:root:root.pf-js body.wt #primary .pf-watch-article[data-pf-watch-version="soc-reader-2"] .pf-watch-figure{margin:6px 0 18px!important;}
:root:root.pf-js body.wt #primary .pf-watch-article[data-pf-watch-version="soc-reader-2"] .pf-watch-figure img{display:block!important;width:100%!important;height:auto!important;max-height:400px!important;object-fit:cover!important;object-position:top center!important;border-radius:14px!important;border:1px solid var(--wt-line)!important;}
:root:root.pf-js body.wt #primary .pf-watch-article[data-pf-watch-version="soc-reader-2"] .pf-watch-figure figcaption{margin-top:6px!important;font-size:12px!important;line-height:1.45!important;color:var(--wt-muted)!important;overflow-wrap:anywhere!important;}
/* Trois cartes colorées */
:root:root.pf-js body.wt #primary .pf-watch-article[data-pf-watch-version="soc-reader-2"] :is(.pf-watch-points,.pf-watch-impact,.pf-watch-conditions){--fw-c:var(--fw-blue);margin:14px 0!important;padding:14px 18px 12px!important;border-radius:14px!important;border:1px solid color-mix(in srgb,var(--fw-c) 35%,transparent)!important;border-left:5px solid var(--fw-c)!important;background:color-mix(in srgb,var(--fw-c) var(--fw-mix),var(--wt-surface))!important;break-inside:avoid;}
:root:root.pf-js body.wt #primary .pf-watch-article[data-pf-watch-version="soc-reader-2"] .pf-watch-impact{--fw-c:var(--fw-teal);}
:root:root.pf-js body.wt #primary .pf-watch-article[data-pf-watch-version="soc-reader-2"] .pf-watch-conditions{--fw-c:var(--fw-amber);}
:root:root.pf-js body.wt #primary .pf-watch-article[data-pf-watch-version="soc-reader-2"] :is(.pf-watch-points,.pf-watch-impact,.pf-watch-conditions)>h2{margin:0 0 8px!important;padding:0!important;font-size:13px!important;line-height:1.3!important;letter-spacing:.08em!important;text-transform:uppercase!important;font-weight:800!important;color:var(--fw-c)!important;border:0!important;}
:root:root.pf-js body.wt #primary .pf-watch-article[data-pf-watch-version="soc-reader-2"] :is(.pf-watch-points,.pf-watch-impact,.pf-watch-conditions) :is(p,li){margin:0 0 6px!important;font-size:15.5px!important;line-height:1.55!important;color:var(--wt-text)!important;}
:root:root.pf-js body.wt #primary .pf-watch-article[data-pf-watch-version="soc-reader-2"] :is(.pf-watch-points,.pf-watch-impact,.pf-watch-conditions) ul{margin:0!important;padding-left:1.15em!important;}
:root:root.pf-js body.wt #primary .pf-watch-article[data-pf-watch-version="soc-reader-2"] :is(.pf-watch-points,.pf-watch-impact,.pf-watch-conditions) li::marker{color:var(--fw-c);}
/* Bloc bleu « Le sujet » : pas d'espace mort en tête */
:root:root.pf-js body.wt #primary .pf-watch-article[data-pf-watch-version="soc-reader-2"] .pf-watch-topic>h2{margin-top:0!important;padding-top:0!important;letter-spacing:.08em!important;text-transform:uppercase!important;}
:root:root.pf-js body.wt #primary .pf-watch-article[data-pf-watch-version="soc-reader-2"] .pf-watch-topic .pf-watch-solution:not(:has(img)){display:none!important;}
/* Glossaire et sources : sobres et compacts */
:root:root.pf-js body.wt #primary .pf-watch-article[data-pf-watch-version="soc-reader-2"] .pf-watch-glossary{margin:14px 0!important;}
:root:root.pf-js body.wt #primary .pf-watch-article[data-pf-watch-version="soc-reader-2"] .pf-watch-sources{margin-top:20px!important;padding-top:12px!important;border-top:1px solid var(--wt-line)!important;}
:root:root.pf-js body.wt #primary .pf-watch-article[data-pf-watch-version="soc-reader-2"] .pf-watch-sources h2{font-size:13px!important;letter-spacing:.08em!important;text-transform:uppercase!important;margin:0 0 6px!important;}
:root:root.pf-js body.wt #primary .pf-watch-article[data-pf-watch-version="soc-reader-2"] .pf-watch-sources :is(p,li){font-size:13.5px!important;line-height:1.5!important;margin:0 0 3px!important;}
:root:root.pf-js body.wt #primary .pf-watch-article[data-pf-watch-version="soc-reader-2"] .pf-watch-note{color:var(--wt-muted)!important;font-size:12.5px!important;}
/* Impression A4 : fond clair, texte sombre, couleurs conservées, mise en page resserrée */
@media print{
 @page{size:A4;margin:12mm 13mm;}
 :root:root:root.pf-js body.wt:has(.pf-watch-article[data-pf-watch-version="soc-reader-2"]){--wt-text:#111827;--wt-text-2:#1f2937;--wt-muted:#4b5563;--wt-line:#cbd5e1;--wt-surface:#ffffff;--wt-bg:#ffffff;background:#fff!important;color:#111827!important;}
 :root:root:root.pf-js body.wt:has(.pf-watch-article[data-pf-watch-version="soc-reader-2"]) :is(#page,#content,.ast-container,#primary,#main,.site-content){min-height:0!important;height:auto!important;margin:0!important;padding:0!important;background:#fff!important;}
 :root:root:root.pf-js body.wt:has(.pf-watch-article[data-pf-watch-version="soc-reader-2"]) #primary .wt-single>:is(.wt-hero.is-single,.wt-prose){background:#fff!important;color:#111827!important;box-shadow:none!important;border:0!important;padding:0!important;margin:0!important;max-width:none!important;}
 :root:root:root.pf-js body.wt:has(.pf-watch-article[data-pf-watch-version="soc-reader-2"]) #primary .wt-hero.is-single :is(h1,.wt-hero__title){color:#0f172a!important;font-size:22pt!important;line-height:1.15!important;margin:0 0 4px!important;}
 :root:root:root.pf-js body.wt:has(.pf-watch-article[data-pf-watch-version="soc-reader-2"]) #primary .wt-hero.is-single *{color:#334155!important;}
 :root:root:root.pf-js body.wt:has(.pf-watch-article[data-pf-watch-version="soc-reader-2"]) :is(.post-navigation,.wta-native-nav,.wt-related,.ast-breadcrumbs-wrapper,.wt-breadcrumbs,nav[aria-label*="Fil"],.site-footer,.wt-footer,.pf-side,#pf-side,.pf-sidebar,.site-header,#masthead){display:none!important;}
 :root:root:root.pf-js body.wt #primary .pf-watch-article[data-pf-watch-version="soc-reader-2"]{--fw-blue:#1d4ed8;--fw-teal:#0f766e;--fw-amber:#a35208;--fw-mix:8%;font-size:10.5pt!important;}
 :root:root:root.pf-js body.wt #primary .pf-watch-article[data-pf-watch-version="soc-reader-2"] .pf-watch-figure img{max-height:62mm!important;}
 :root:root:root.pf-js body.wt #primary .pf-watch-article[data-pf-watch-version="soc-reader-2"] :is(.pf-watch-points,.pf-watch-impact,.pf-watch-conditions){padding:8px 12px 6px!important;margin:8px 0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
 :root:root:root.pf-js body.wt #primary .pf-watch-article[data-pf-watch-version="soc-reader-2"] :is(.pf-watch-points,.pf-watch-impact,.pf-watch-conditions) :is(p,li){font-size:10.5pt!important;line-height:1.45!important;color:#111827!important;}
 :root:root:root.pf-js body.wt #primary .pf-watch-article[data-pf-watch-version="soc-reader-2"] .pf-watch-topic{padding:10px 14px!important;margin:8px 0!important;background-color:#2454aa!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
 :root:root:root:root.pf-js body.wt #primary .pf-watch-article[data-pf-watch-version="soc-reader-2"] .pf-watch-topic :is(h2,p,strong,span,a){color:#fff!important;}
 :root:root:root.pf-js body.wt #primary .pf-watch-article[data-pf-watch-version="soc-reader-2"] .pf-watch-topic .pf-watch-topic__summary{font-size:11pt!important;}
 :root:root:root.pf-js body.wt #primary .pf-watch-article[data-pf-watch-version="soc-reader-2"] .pf-watch-glossary{display:none!important;}
 :root:root:root.pf-js body.wt #primary .pf-watch-article[data-pf-watch-version="soc-reader-2"] :is(.pf-watch-sources,.pf-watch-sources *){color:#334155!important;}
 :root:root:root.pf-js body.wt #primary .pf-watch-article[data-pf-watch-version="soc-reader-2"] .pf-watch-sources a{color:#1d4ed8!important;}
}
/* module-veille-layout (2 nov. 2026)
   1) Fiches SOC : pleine largeur de la zone de contenu (fin de la colonne 72ch), fil d'ariane et titre alignés.
   2) Index Veille SOC (page-id-293) et Threat Intel (page-id-1017) : le recueil de fiches passe EN PREMIER, tout en haut (flex order, DOM/JS intacts).
   3) Threat Intel : feed brut et catalogue repoussés sous les fiches. */

/* ---------- 1. Article pleine largeur ---------- */
:root.pf-js body.wt #primary .wt-single:has(.pf-watch-article){max-width:none!important;}
:root.pf-js body.wt #primary .wt-single:has(.pf-watch-article[data-pf-watch-channel="soc"]){max-width:none!important;--pf-soc-pad:clamp(1rem,2vw,1.75rem);}
:root:root.pf-js body.wt #primary .wt-single:has(.pf-watch-article) :is(.wt-hero.is-single,.wt-prose){max-width:none!important;width:100%!important;margin-inline:0!important;}
/* Fil d'ariane + titre + corps : même bord gauche */
:root:root.pf-js body.wt #primary .wt-single:has(.pf-watch-article) .wt-hero.is-single{padding-inline:0!important;}
:root:root.pf-js body.wt #primary .wt-single:has(.pf-watch-article) .wt-prose{padding-inline:0!important;}
:root:root.pf-js body.wt #primary .wt-single:has(.pf-watch-article) .wt-hero.is-single :is(.ui-breadcrumb,.wt-breadcrumb,nav,ol,.ui-crumbs,[class*="breadcrumb"]){margin-left:0!important;padding-left:0!important;}
/* Le texte long garde une largeur de lecture confortable même en pleine largeur */
:root:root.pf-js body.wt #primary .wt-single:has(.pf-watch-article[data-pf-watch-version="soc-reader-2"]) .pf-watch-article{max-width:none!important;}
:root:root.pf-js body.wt #primary .wt-single:has(.pf-watch-article) .pf-watch-impact p,
:root:root.pf-js body.wt #primary .wt-single:has(.pf-watch-article) .pf-watch-article>p,
:root:root.pf-js body.wt #primary .wt-single:has(.pf-watch-article) .pf-watch-points li,
:root:root.pf-js body.wt #primary .wt-single:has(.pf-watch-article) .pf-watch-conditions li{max-width:80ch;}

/* ---------- 2. Index : recueil de fiches tout en haut ---------- */
/* Veille SOC (page-id-293) */
:root.pf-js body.wt.page-id-293 #primary .entry-content{display:flex;flex-direction:column;align-items:stretch;}
:root.pf-js body.wt.page-id-293 #primary .entry-content>.pf-reading-surface:has(#fiches-veille){order:1;margin-top:0!important;}
:root.pf-js body.wt.page-id-293 #primary .entry-content>.wt-recueil{order:2;}
:root.pf-js body.wt.page-id-293 #primary .entry-content>.vp-page{order:3;margin-top:clamp(28px,4vw,56px);}
:root.pf-js body.wt.page-id-293 #primary .entry-content>.pf-reading-surface:has(a[href*="alertes-cybersecurite"]){order:4;}

/* Threat Intel (page-id-1017) : fiches en premier, feed brut et catalogue sous les fiches */
:root.pf-js body.wt.page-id-1017 #primary .entry-content{display:flex;flex-direction:column;align-items:stretch;}
:root.pf-js body.wt.page-id-1017 #primary .entry-content>#alertes-classees{order:1;margin-top:0!important;}
:root.pf-js body.wt.page-id-1017 #primary .entry-content>.wt-recueil{order:2;}
:root.pf-js body.wt.page-id-1017 #primary .entry-content>.vp-page{order:3;margin-top:clamp(28px,4vw,56px);}
:root.pf-js body.wt.page-id-1017 #primary .entry-content>.wt-live{order:4;}
/* 02/11/2026 — mode clair plus doux, avec une émission bleue mieux perceptible.
 * Le fond descend d'un cran en luminosité (bleu glacier, jamais blanc pur) et
 * la lumière des fibres garde sa position documentaire mais gagne en présence.
 */
:root[data-theme="light"],
:root.pf-js[data-theme="light"] {
  --wt-bg:#d9e5f1;
  --wt-bg-2:#e5eef7;
  --wt-surface:#eff5fb;
  --wt-surface-2:#cddceb;
  --wt-text:#17263b;
  --wt-text-2:#344a64;
  --wt-muted:#435a73;
  --wt-line:#c0cfdf;
  --wt-line-2:#6e849e;
  --wt-accent:#214d9f;
  --wt-accent-2:#2f62ba;
  --wt-accent-soft:rgba(33,77,159,.11);
  --pf-material-bg:#d9e5f1;
  --pf-fibre-light:#4779d6;
  --pf-fibre-power:1.28;
}

/* Keep the reading surfaces calm and opaque while the stronger glow remains
   visible only in the page background and its open gaps. */
:root.pf-js[data-theme="light"] body.wt #primary .entry-content :is(.pf-panel,.pf-real,.wt-card,.pf-tile,.ui-catalog-toolbar,.pf-source-capture,.ui-empty,[data-pf-network].pn) {
  background-color:var(--wt-surface)!important;
}
:root.pf-js[data-theme="light"] body.wt #primary .entry-content :is(.pf-intro,.pf-brand-host,.pf-home .pf-hero2,.pf-home>.pf-grid-2) {
  background-color:var(--wt-bg-2)!important;
}
/* Lisibilité multi-pages — panneaux de lecture continus à 85 % (3 nov. 2026).
   Même matériau que la page Parcours (424) : le panneau de section porte seul
   le fond translucide ; textes, liens et contrôles restent pleinement opaques.
   Pages couvertes : 60 accueil, 246/288/683/968 catalogues, 952 Hermes,
   806 Contexte GSB, 823 Méthode, 293 Veille SOC, 1016 hub veilles, 1017 Threat Intel.
   Non couverts volontairement : nav.pf-year-nav et chips de navigation (fonds propres). */
body.page-id-60 .pf-home > .pf-section,body.page-id-952 .pg-page > .pg-band,body.page-id-806 .pg-page > .pg-band,body.page-id-823 .pg-page > .pg-band,body.page-id-1016 .vp-page.vp-orient {
  background-color: color-mix(in srgb, var(--wt-surface) 85%, transparent);
  border-radius: 16px;
  padding: clamp(20px, 2.3vw, 32px);
}
/* Catalogues de réalisations : la barre recherche/filtres/compteur porte le matériau.
   La refonte éditoriale (:root.pf-js body.wt .ui-real-toolbar) pose background:transparent ;
   on la dépasse par la spécificité en conservant son langage plat (hairlines, chips, static). */
:root.pf-js body.wt.page-id-246 .pf-catalog .pf-toolbar,
:root.pf-js body.wt.page-id-288 .pf-catalog .pf-toolbar,
:root.pf-js body.wt.page-id-683 .pf-catalog .pf-toolbar,
:root.pf-js body.wt.page-id-968 .pf-catalog .pf-toolbar {
  background-color: color-mix(in srgb, var(--wt-surface) 85%, transparent);
  padding: 20px 16px;
}
@media print, (prefers-reduced-transparency: reduce), (forced-colors: active) {
  body.page-id-60 .pf-home > .pf-section,body.page-id-952 .pg-page > .pg-band,body.page-id-806 .pg-page > .pg-band,body.page-id-823 .pg-page > .pg-band,body.page-id-1016 .vp-page.vp-orient,:root.pf-js body.wt.page-id-246 .pf-catalog .pf-toolbar,:root.pf-js body.wt.page-id-288 .pf-catalog .pf-toolbar,:root.pf-js body.wt.page-id-683 .pf-catalog .pf-toolbar,:root.pf-js body.wt.page-id-968 .pf-catalog .pf-toolbar { background-color: var(--wt-surface); }
}
/* UV Veille (épuré, 8 nov. 2026) — recueil de fiches filtrable ; aucun canvas, tube ou contrôle global. */
:root { --uv-veille-ease:cubic-bezier(.19,1,.28,1); }
body.uv-watch-page {
 --uvv-paper:var(--uv-surface,#dcecf5); --uvv-ink:var(--uv-ink,#152d42);
 --uvv-muted:var(--uv-ink-muted,#344d62); --uvv-accent:var(--uv-accent,#1c4fa2);
 --uvv-field:var(--uv-surface-raised,#e6f1f8); --uvv-edge:color-mix(in srgb,var(--uvv-accent) 32%,transparent);
 --uvv-panel:color-mix(in srgb,var(--uvv-paper) 85%,transparent);
 color:var(--uvv-ink);
}
:root[data-theme="dark"] body.uv-watch-page,:root[data-theme="dark"] body.uv-watch-page {
 --uvv-paper:var(--uv-surface,#142b3d); --uvv-ink:var(--uv-ink,#e0eef8);
 --uvv-muted:var(--uv-ink-muted,#b5cddd); --uvv-accent:var(--uv-accent,#9fc7ff);
 --uvv-field:var(--uv-surface-raised,#223e53);
}
:root.pf-js body.uv-watch-page #primary :is(.uv-observatory,.uv-reading-toc){ color:var(--uvv-ink); font-family:var(--wt-font,system-ui,sans-serif); }
body.uv-watch-page :is(.uv-observatory,.uv-reading-toc) * {box-sizing:border-box;}
:root.pf-js body.uv-watch-page #primary .uv-observatory h3 {font-family:var(--uv-font-display,var(--em-font,system-ui))!important;color:var(--uvv-ink)!important;letter-spacing:-.02em;font-weight:600;line-height:1.15;}
:root.pf-js body.uv-watch-page #primary .uv-observatory :is(p,dt,dd,li,label,summary) {color:var(--uvv-ink);font-size:14px;line-height:1.6;}
:root.pf-js body.uv-watch-page #primary .uv-observatory a {color:var(--uvv-accent);text-decoration-thickness:1px;text-underline-offset:4px;}
body.uv-watch-page .uv-sr {position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
body.uv-watch-page .uv-observatory [hidden] {display:none!important;}
body.uv-watch-page .uv-observatory {width:100%;min-width:0;display:grid;gap:22px;margin:0 0 38px;}
:root.pf-js body.wt.page-id-293 #primary .entry-content>.uv-observatory {order:2;}
:root.pf-js body.uv-watch-page #primary .uv-filters {display:flex!important;flex-wrap:wrap!important;gap:14px!important;padding:22px!important;margin:0!important;align-items:end!important;border:0!important;border-radius:22px!important;background:var(--uvv-panel)!important;box-shadow:none!important;}
:root.pf-js body.uv-watch-page #primary .uv-filters>label {display:flex!important;flex-direction:column;gap:7px;flex:1 1 172px;font-size:12px;font-weight:650;min-width:0;max-width:100%;margin:0;}
:root.pf-js body.uv-watch-page #primary .uv-filters>label:first-child {flex:2 1 260px;}
:root.pf-js body.uv-watch-page #primary .uv-filters :is(input,select) {font:inherit;font-size:14px!important;color:var(--uvv-ink)!important;background-color:var(--uvv-field)!important;border:1px solid var(--uvv-edge)!important;border-radius:10px!important;box-shadow:none!important;min-height:46px!important;height:auto!important;padding:10px 12px!important;line-height:1.4!important;width:100%!important;max-width:100%!important;min-width:0!important;}
:root.pf-js body.uv-watch-page #primary .uv-filters input::placeholder {color:var(--uvv-muted);opacity:1;}
:root.pf-js body.uv-watch-page #primary .uv-observatory button {font-family:inherit!important;font-size:13px!important;font-weight:650!important;color:var(--uvv-ink)!important;background:var(--uvv-field)!important;border:1px solid var(--uvv-edge)!important;border-radius:10px!important;box-shadow:none!important;min-height:44px;padding:10px 14px!important;line-height:1.4;transform:none!important;white-space:normal;}
:root.pf-js body.uv-watch-page #primary .uv-observatory button[aria-pressed="true"] {box-shadow:inset 0 -3px 0 var(--uvv-accent)!important;}
:root.pf-js body.uv-watch-page #primary .uv-observatory button:disabled {color:var(--uvv-muted)!important;cursor:default;}
:root.pf-js body.uv-watch-page #primary .uv-advanced {flex:1 0 100%;margin:0;max-width:100%;background:none;border:0;padding:0;}
:root.pf-js body.uv-watch-page #primary .uv-advanced summary {min-height:44px;display:list-item;padding:12px 0;font-weight:650;font-size:13px;cursor:pointer;color:var(--uvv-accent);}
body.uv-watch-page .uv-filter-secondary {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-top:12px;}
body.uv-watch-page .uv-filter-secondary label {font-size:12px!important;min-width:0;}
body.uv-watch-page .uv-results {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;}
:root.pf-js body.uv-watch-page #primary .uv-entry {display:flex!important;flex-direction:column;align-items:stretch;min-width:0;position:relative;margin:0!important;border:0!important;border-radius:22px!important;background:var(--uvv-panel)!important;padding:26px!important;box-shadow:none!important;transform:none!important;opacity:1!important;}
:root.pf-js body.uv-watch-page #primary .uv-entry h3 {font-size:22px;margin:7px 0 16px;max-width:38ch;}
:root.pf-js body.uv-watch-page #primary .uv-entry h3 a {color:var(--uvv-ink);text-decoration:none;overflow-wrap:anywhere;}
:root.pf-js body.uv-watch-page #primary .uv-entry-meta {font-size:12px;letter-spacing:.04em;font-weight:700;margin:0 0 10px;color:var(--uvv-muted);}
:root.pf-js body.uv-watch-page #primary .uv-entry-summary {font-size:14px;max-width:76ch;display:block!important;overflow:visible!important;-webkit-line-clamp:unset!important;margin:0 0 20px;}
:root.pf-js body.uv-watch-page #primary .uv-entry-dates {display:grid;grid-template-columns:auto 1fr;column-gap:14px;row-gap:2px;max-width:100%;margin:0 0 16px;}
:root.pf-js body.uv-watch-page #primary .uv-entry-dates :is(dt,dd) {font-size:12px;margin:0;color:var(--uvv-muted);}
:root.pf-js body.uv-watch-page #primary .uv-entry-dates dd {font-variant-numeric:tabular-nums;}
:root.pf-js body.uv-watch-page #primary .uv-entry-source {font-size:12px;margin:0 0 8px;color:var(--uvv-muted);overflow-wrap:anywhere;}
:root.pf-js body.uv-watch-page #primary .uv-severity-label {font-size:12px;margin:0 0 12px;}
:root.pf-js body.uv-watch-page #primary .uv-read-link {display:flex;min-height:44px;align-items:center;justify-content:space-between;align-self:start;max-width:100%;margin-top:auto!important;padding:10px 0!important;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;transform:none!important;font-size:14px;font-weight:700;color:var(--uvv-accent);text-decoration:underline;}
body.uv-watch-page .uv-read-link::after {content:'↗';display:block;margin-left:20px;}
body.uv-watch-page [data-view="list"] .uv-results {grid-template-columns:minmax(0,1fr)!important;}
:root.pf-js body.uv-watch-page #primary .uv-state {padding:24px;background:var(--uvv-panel);border-radius:20px;}
body.uv-watch-page .uv-state[hidden] {display:none!important;}
:root.pf-js body.uv-watch-page #primary .uv-transport {margin:0;padding:14px 18px;background:var(--uvv-panel);border-radius:14px;font-size:12px;color:var(--uvv-muted);display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;}
body.uv-watch-page .uv-pagination {display:flex;align-items:center;justify-content:center;gap:16px;background:var(--uvv-panel);border-radius:18px;padding:12px;}
body.uv-watch-page .uv-pagination:empty {display:none;}
body.uv-watch-page .uv-react {box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--uvv-accent) 15%,transparent);transition:box-shadow 230ms var(--uv-veille-ease);}
@media(hover:hover) {body.uv-watch-page .uv-react:hover {box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--uvv-accent) 65%,transparent);}}
body.uv-watch-page .uv-react:focus-within {box-shadow:inset 0 0 0 2px var(--uvv-accent);}
:root.pf-js body.uv-watch-page #primary :is(.uv-observatory,.uv-reading-toc) :is(a,button,input,select,summary):focus-visible {outline:3px solid var(--uvv-accent)!important;outline-offset:4px!important;}
/* Recomposition des contenus existants : nœuds, liens, images et états éditoriaux conservés. */
:root.pf-js body.uv-watch-page #primary :is(.vp-page,.pg-page) {width:100%;max-width:none!important;display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));gap:22px;background:none!important;border:0!important;padding:0!important;margin:28px 0!important;}
:root.pf-js body.uv-watch-page #primary :is(.vp-page,.pg-page)>* {grid-column:1/-1;min-width:0;}
:root.pf-js body.uv-watch-page #primary :is(.vp-band,.pg-band,.vp-band-intel,.uv-watch-year .pf-section) {background:var(--uvv-panel)!important;border-radius:24px!important;border:0!important;padding:28px!important;box-shadow:none!important;margin:0 0 22px;}
:root.pf-js body.uv-watch-page #primary :is(.vp-head,.pg-split>header,.pg-channels,.vp-body,.pg-body,.vp-tech,.pg-defs>div,.pg-note,.vp-note,.pg-band>.pf-reading-group,.vp-band>.pf-reading-group) {background:transparent!important;border:0!important;box-shadow:none!important;}
:root.pf-js body.uv-watch-page #primary :is(.vp-head h2,.pg-band h2,.pg-band h3,.vp-band h3) {color:var(--uvv-ink)!important;font-family:var(--uv-font-display,var(--em-font,system-ui))!important;letter-spacing:-.02em;}
:root.pf-js body.uv-watch-page #primary :is(.vp-band,.pg-band,.vp-band-intel) :is(p,li,dt,dd) {color:var(--uvv-ink)!important;}
:root.pf-js body.uv-watch-page #primary :is(.pg-band,.vp-band) :is(.pf-h2,h2) {border:0!important;padding:0!important;font-size:clamp(25px,2.5vw,34px)!important;}
:root.pf-js body.uv-watch-page #primary :is(.pg-band,.vp-band) :is(.pf-h2,h2)::after {display:none!important;}
:root.pf-js body.uv-watch-page #primary .pg-st {background:none!important;border:0!important;border-radius:0!important;padding:0!important;color:var(--uvv-muted)!important;font:inherit!important;}
:root.pf-js body.uv-watch-page #primary .pg-defs>div {padding:16px 0!important;}
:root.pf-js body.uv-watch-page #primary .uv-reading {max-width:none!important;width:100%;}
:root.pf-js body.uv-watch-page #primary .uv-reading .wt-prose {max-width:none!important;padding:30px!important;background:var(--uvv-panel)!important;border-radius:24px!important;color:var(--uvv-ink)!important;}
:root.pf-js body.uv-watch-page #primary .uv-reading .wt-hero {background:var(--uvv-panel)!important;border-radius:24px!important;border:0!important;padding:30px!important;}
:root.pf-js body.uv-watch-page #primary .uv-reading :is(.wt-hero__title,.wt-prose h2,.wt-prose h3) {font-family:var(--uv-font-display,var(--em-font,system-ui))!important;color:var(--uvv-ink)!important;letter-spacing:-.02em;}
:root.pf-js body.uv-watch-page #primary .uv-reading .wt-hero__title {font-size:clamp(31px,4vw,52px)!important;max-width:27ch;}
:root.pf-js body.uv-watch-page #primary .uv-reading .wt-prose :is(p,li,dt,dd,figcaption) {color:var(--uvv-ink)!important;}
:root.pf-js body.uv-watch-page #primary .uv-reading .wt-prose :is(h2,h3)::before {content:none!important;}
:root.pf-js body.uv-watch-page #primary .uv-reading .pf-watch-topic {background:var(--uvv-field)!important;color:var(--uvv-ink)!important;border-radius:16px!important;box-shadow:none!important;}
:root.pf-js body.uv-watch-page #primary .uv-reading :is(.pf-watch-points,.pf-watch-impact,.pf-watch-conditions,.pf-watch-sources,.pf-watch-glossary) {background:none!important;border:0!important;border-radius:0!important;padding:22px 0!important;box-shadow:none!important;}
:root.pf-js body.uv-watch-page #primary .uv-reading .pf-watch-topic *:not(img) {color:var(--uvv-ink)!important;}
:root.pf-js body.uv-watch-page #primary .uv-reading-toc {display:flex;flex-wrap:wrap;gap:10px 24px;padding:18px 24px;margin:0 0 24px;background:var(--uvv-panel);border-radius:18px;}
body.uv-watch-page .uv-reading-toc a {padding-block:8px;min-height:44px;font-size:13px;display:flex;align-items:center;color:var(--uvv-accent);}
@media(max-width:700px) {
 :root.pf-js body.uv-watch-page #primary .uv-filters {padding:18px!important;gap:12px!important;}
 :root.pf-js body.uv-watch-page #primary .uv-filters>label {flex-basis:150px;}
 :root.pf-js body.uv-watch-page #primary .uv-filters>label:first-child {flex-basis:100%;}
 body.uv-watch-page .uv-filter-secondary {grid-template-columns:minmax(0,1fr);}
 body.uv-watch-page .uv-results {grid-template-columns:minmax(0,1fr)!important;}
 :root.pf-js body.uv-watch-page #primary .uv-entry {padding:22px!important;}
 :root.pf-js body.uv-watch-page #primary .uv-entry h3 {font-size:22px;}
 :root.pf-js body.uv-watch-page #primary :is(.vp-band,.pg-band,.vp-band-intel,.uv-watch-year .pf-section) {padding:22px!important;}
 :root.pf-js body.uv-watch-page #primary .uv-reading .wt-prose,:root.pf-js body.uv-watch-page #primary .uv-reading .wt-hero {padding:22px!important;}
}
@media(prefers-reduced-motion:reduce) {body.uv-watch-page .uv-react {transition:none!important;}}
:root[data-ui-motion="off"] body.uv-watch-page .uv-react {transition:none!important;}
@media print {
 body.uv-watch-page {--uvv-paper:#e5eff5;--uvv-field:#e5eff5;--uvv-panel:var(--uvv-paper);--uvv-ink:#152d42;--uvv-muted:#344d62;--uvv-accent:#1c4fa2;}
 body.uv-watch-page :is(.uv-filters,.uv-pagination,.uv-transport) {display:none!important;}
 body.uv-watch-page .uv-react {box-shadow:none;transition:none!important;}
}
@media(prefers-reduced-transparency:reduce) {body.uv-watch-page {--uvv-panel:var(--uvv-paper);}}
@media(forced-colors:active) {body.uv-watch-page {--uvv-panel:Canvas;--uvv-paper:Canvas;--uvv-field:Canvas;--uvv-ink:CanvasText;--uvv-muted:CanvasText;--uvv-accent:LinkText;}body.uv-watch-page .uv-react {border:1px solid CanvasText;}}
/* Typographie display du portfolio : Geist (variable), interlettrage détendu après le retrait de Bricolage. */
:root:root:root:root body.wt :is(.em-page-title,.entry-header .entry-title,.wt-hero__title,.pf-home .pf-h2,.pf-home .pf-hero2 h1,.pf-home .em-name,.pf-home .pf-couches__t,.pf-home .pf-tile__t) {letter-spacing:-.022em!important;}
:root:root:root:root body.wt :is(.hs-date b,.hs-path__thread .hs-yr) {letter-spacing:-.025em!important;}
/* Graisses : la display Geist ne dépasse pas 650 (700 pour les petits intitulés en capitales) ; les 750/800 hérités de l'ancienne police sont écrasés. */
:root:root:root:root body.wt:not(.page-id-60) :is(.pf-h2,.pg-split>header h2,.wt-hero__title,.vp-tech h3,details.sources-group>summary h3){font-weight:650!important;}
:root:root:root:root body.wt #organismes-sources .sources-group>summary h3{font-weight:650!important;}
:root:root:root:root body.wt #primary .pf-watch-article :is(.pf-watch-topic,.pf-watch-points,.pf-watch-impact,.pf-watch-conditions,.pf-watch-sources)>h2{font-weight:700!important;}
/* Veille v3 — le bandeau d'introduction court passe en tête ; le reste (technologies, architectures, KEV, flux brut) vit dans la Méthode de veille. */
:root:root.pf-js body.wt:is(.page-id-293,.page-id-1016,.page-id-1017) #primary .entry-content{display:flex;flex-direction:column;align-items:stretch;}
:root:root.pf-js body.wt:is(.page-id-293,.page-id-1016,.page-id-1017) #primary .entry-content>.vp-page{order:0;margin:0 0 clamp(18px,2.5vw,28px);}
:root:root.pf-js body.wt.page-id-1017 #primary .entry-content>#alertes-classees{order:1;margin-top:0!important;}
:root:root.pf-js body.wt:is(.page-id-1016,.page-id-1017) #primary .entry-content>.uv-observatory{order:2;}
:root:root.pf-js body.wt:is(.page-id-293,.page-id-1016,.page-id-1017) #primary .entry-content>.vp-page .pf-intro{margin-bottom:0;}
/* PF text legibility — 2026-11-09. Preserve the Inter/Geist families, native controls and 85% materials.
   No blur/scale was found in the reading chain. Address the measured 14px/400 summaries and 12px dates,
   and let each platform choose its native text antialiasing rather than forcing grayscale rendering. */
:root:root.pf-js body.wt{-webkit-font-smoothing:auto;}
:root:root.pf-js body.wt.uv-watch-page #primary .uv-entry .uv-entry-summary{
 font-size:16px!important;font-weight:500!important;line-height:1.65!important;
}
:root:root.pf-js body.wt.uv-watch-page #primary .uv-entry .uv-entry-dates :is(dt,dd){
 font-size:14px!important;line-height:1.6!important;
}
:root:root.pf-js body.wt.uv-watch-page #primary .uv-entry .uv-entry-dates dd{
 font-weight:500!important;
}
:root:root.pf-js body.wt.uv-watch-page #primary .uv-entry .uv-entry-source{
 font-size:14px!important;font-weight:500!important;line-height:1.6!important;
}
:root:root.pf-js body.wt.uv-watch-page #primary .uv-filters :is(label,.uv-filter-secondary label){
 font-size:14px!important;
}
/* Dark reading links need the lighter existing accent on 85% panels above bright tubes. */
:root:root.pf-js[data-theme="dark"] body.wt.uv-watch-page #primary .uv-entry .uv-read-link,
:root:root.pf-js[data-theme="dark"] body.wt.uv-watch-page #primary .pg-channels small{
 color:var(--wt-accent-2)!important;
}
/* Both native menu trees retain their links, logo bays, hierarchy and stationary targets. */
:root:root.pf-js body.wt #masthead .main-header-menu > .menu-item:not(.wt-menu-toggle) > .menu-link,
:root:root.pf-js body.wt #ast-mobile-popup .main-header-menu > .menu-item:not(.wt-menu-toggle) > .menu-link{
 font-size:14px!important;font-weight:500!important;line-height:1.4!important;
}
/* PREMIER RENDU — état avant hydratation (10 nov. 2026).
 * Le design s'applique dès la première image (classe pf-js posée dans <head>). Ce module couvre le court
 * intervalle où le script n'a pas encore reconstruit l'en-tête : la marque est dessinée en CSS aux mêmes
 * positions que la version finale, la place des logos de menu est réservée, et le contenu apparaît en une
 * seule fois quand la page est prête (classe pf-ready ; pf-sidebar-icons pour l'ancien script), avec un repli
 * à 3 s si le script n'arrive pas.
 * Les textes de marque viennent du profil (pf-asset-profile) : régénérer ce module s'ils changent. */
:root:root:root.pf-js:not(.pf-ui) body.wt :is(#ast-desktop-header,#ast-mobile-header) .site-title{position:relative!important}
:root:root:root.pf-js:not(.pf-ui) body.wt :is(#ast-desktop-header,#ast-mobile-header) .site-title a{gap:0!important;min-height:44px;font-size:0!important;letter-spacing:0!important;color:transparent!important}
:root:root:root.pf-js:not(.pf-ui) body.wt :is(#ast-desktop-header,#ast-mobile-header) .site-title a::before{content:""!important;display:block!important;flex:none!important;place-items:normal!important;width:42px!important;height:42px!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:var(--wt-accent)!important;-webkit-mask:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 48 48%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%223.1%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 31C5 18 11 10 23 10c8 0 12-3 12-6%22/%3E%3Cpath d=%22M11 37c0-13 6-21 18-21 8 0 12-5 12-10%22/%3E%3Cpath d=%22M17 43c0-13 6-21 18-21 7 0 10-5 10-10%22/%3E%3C/svg%3E') center/100% 100% no-repeat!important;mask:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 48 48%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%223.1%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 31C5 18 11 10 23 10c8 0 12-3 12-6%22/%3E%3Cpath d=%22M11 37c0-13 6-21 18-21 8 0 12-5 12-10%22/%3E%3Cpath d=%22M17 43c0-13 6-21 18-21 7 0 10-5 10-10%22/%3E%3C/svg%3E') center/100% 100% no-repeat!important}
/* En sombre, le thème enfant impose la couleur du texte au logo (html.portfolio-dark … .site-title a span). */
:root:root:root.pf-js.portfolio-dark:not(.pf-ui) body.wt :is(#ast-desktop-header,#ast-mobile-header) .site-title a::before{background:var(--wt-text)!important}
:root:root:root.pf-js:not(.pf-ui) body.wt :is(#ast-desktop-header,#ast-mobile-header) .site-title a::after{content:"Dorian PIOCH";display:block;box-sizing:content-box;margin-left:11px;min-width:119.81px;padding-bottom:calc(5px + .924rem);font:800 1rem/1.15 var(--wt-font);letter-spacing:-.01em;color:var(--wt-text);white-space:nowrap}
:root:root:root.pf-js:not(.pf-ui) body.wt :is(#ast-desktop-header,#ast-mobile-header) .site-title::after{content:"Portfolio BTS SIO SISR";position:absolute;left:53px;top:26.3px;font:600 .66rem/1.4 var(--wt-font);letter-spacing:.025em;color:var(--wt-muted);white-space:nowrap;pointer-events:none}
@media(max-width:921px){
 :root:root:root.pf-js:not(.pf-ui) body.wt #ast-mobile-header .site-title a::after{margin-left:10px;min-width:103.98px;padding-bottom:calc(5px + .868rem);font-size:.93rem}
 :root:root:root.pf-js:not(.pf-ui) body.wt #ast-mobile-header .site-title::after{left:52px;top:25.97px;font-size:.62rem}
}
/* Place des logos de menu réservée : les libellés gardent leurs retours à la ligne définitifs. */
:root:root:root:root:root.pf-js:not(.pf-sidebar-icons) body.wt :is(#ast-desktop-header,#ast-mobile-header) .main-header-menu li:is(.menu-item-460,.menu-item-455,.menu-item-819,.menu-item-814,.menu-item-457,.menu-item-940,.menu-item-698,.menu-item-821,.menu-item-954,.menu-item-558,.menu-item-1488,.menu-item-1020,.menu-item-1021,.menu-item-862,.menu-item-459,.menu-item-461)>a.menu-link{padding-right:96px!important}
/* Le contenu de page n'est jamais masqué : la palette et la marque sont déjà correctes au premier rendu. */

/* MOUVEMENT — système unique (10 nov. 2026).
 * Une seule courbe de sortie, quatre durées. Tout mouvement est fini (aucune boucle), n'anime que l'opacité,
 * la transformation ou un masque, et s'efface sous pause (data-ui-motion="off"), mouvement réduit et impression.
 *  1. Arrivée : le contenu apparaît en un seul fondu quand la page est prête ; le fond lumineux et la carte de
 *     réglages suivent.
 *     Le titre garde son entrée propre (module éditorial).
 *  2. Apparitions au défilement : montée courte, enchaînée dans l'ordre de lecture.
 *  3. Jour/nuit : le nouveau thème se révèle en cercle depuis l'interrupteur.
 *  4. Fiche de réalisation (dialogue natif) : entrée et sortie symétriques, voile en fondu. */
:root.pf-js{--pf-out:cubic-bezier(.16,1,.3,1);--pf-inout:cubic-bezier(.65,0,.35,1);--pf-t-1:140ms;--pf-t-2:240ms;--pf-t-3:420ms;--pf-t-4:620ms}
@keyframes pf-fade{from{opacity:0}}

/* 1. Arrivée */
:root.pf-js body.wt #ast-desktop-header .pf-side-bottom{animation:pf-fade var(--pf-t-3) var(--pf-out) backwards}
:root.pf-fibre-ready body.wt .pf-fibre{animation:pf-fade var(--pf-t-4) ease-out backwards}
:root.pf-js.pf-late body.wt #primary{animation:none} /* script arrivé après le repli de 3 s : contenu déjà visible */
:root.pf-js[data-ui-motion="off"] body.wt :is(#primary,.pf-side-bottom,.pf-fibre){animation-duration:1ms!important}
@media(prefers-reduced-motion:reduce){
 :root.pf-js:is(.pf-ready,.pf-sidebar-icons) body.wt #primary,:root.pf-js body.wt :is(.pf-side-bottom,.pf-fibre){animation:none!important}
}
@media print{:root.pf-js body.wt :is(#primary,.pf-side-bottom,.pf-fibre){animation:none!important;opacity:1!important}}

/* 2. Apparitions au défilement (classes posées par le moteur « vivant ») */
@media(prefers-reduced-motion:no-preference){
 :root.pf-js[data-ui-motion="on"] body.wt .pf-reveal{opacity:0!important;transform:translateY(14px)!important;transition:opacity var(--pf-t-4) var(--pf-out),transform var(--pf-t-4) var(--pf-out)!important;transition-delay:var(--pf-d,0ms)!important}
 :root.pf-js[data-ui-motion="on"] body.wt .pf-reveal.is-in{opacity:1!important;transform:none!important}
}

/* 3. Jour/nuit : révélation circulaire (View Transitions, même document). Sans l'API : bascule immédiate. */
:root[data-theme-switch] :is(body,#page,#masthead,#primary,.site-header-primary-section,.site-footer,#cmplz-cookiebanner-container,.cmplz-cookiebanner){view-transition-name:none!important}
:root[data-theme-switch]::view-transition-group(root){animation-duration:0s!important}
:root[data-theme-switch]::view-transition-old(root){animation:none!important;mix-blend-mode:normal;z-index:1}
:root[data-theme-switch]::view-transition-new(root){animation:pf-theme-reveal 560ms cubic-bezier(.4,0,.2,1) both!important;mix-blend-mode:normal;z-index:2}
@keyframes pf-theme-reveal{from{clip-path:circle(0 at var(--pf-vt-x,50%) var(--pf-vt-y,50%))}to{clip-path:circle(150vmax at var(--pf-vt-x,50%) var(--pf-vt-y,50%))}}

/* 4. Dialogue de réalisation : remplace l'ancienne entrée « pf-pop » ; la sortie n'existait pas. */
@media(prefers-reduced-motion:no-preference){
 :root.pf-js[data-ui-motion="on"] body.wt dialog.pf-modal{opacity:0;transform:translateY(10px) scale(.985);transition:opacity var(--pf-t-2) var(--pf-out),transform var(--pf-t-3) var(--pf-out),overlay var(--pf-t-2) allow-discrete,display var(--pf-t-2) allow-discrete}
 :root.pf-js[data-ui-motion="on"] body.wt dialog.pf-modal[open]{opacity:1;transform:none}
 :root.pf-js[data-ui-motion="on"] body.wt dialog.pf-modal::backdrop{opacity:0;transition:opacity var(--pf-t-2) ease-out,overlay var(--pf-t-2) allow-discrete,display var(--pf-t-2) allow-discrete}
 :root.pf-js[data-ui-motion="on"] body.wt dialog.pf-modal[open]::backdrop{opacity:1}
 @starting-style{
  :root.pf-js[data-ui-motion="on"] body.wt dialog.pf-modal[open]{opacity:0;transform:translateY(14px) scale(.985)}
  :root.pf-js[data-ui-motion="on"] body.wt dialog.pf-modal[open]::backdrop{opacity:0}
 }
}
/* module-fiche-v6  gabarit des fiches de veille (SOC + Threat Intel), 11 nov. 2026.
   Portee : uniquement .pf-watch-article.vf (data-pf-watch-version="fiche-6"). */
:root.pf-js body.wt .wt-single:has(.vf){box-sizing:border-box;width:100%;max-width:56rem;min-width:0;margin-inline:auto}
:root.pf-js body.wt #primary .wt-single:has(.vf)>:is(.wt-hero.is-single,.wt-prose){box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0;margin-inline:0!important;padding-inline:clamp(1rem,2.4vw,2rem)!important;background-color:color-mix(in srgb,var(--wt-bg) 85%,transparent)!important;background-image:none!important;border:0;border-radius:0}
:root.pf-js body.wt #primary .wt-single:has(.vf) .wt-hero__title{font-size:clamp(26px,2.7vw,38px)!important;line-height:1.16!important;max-width:28ch;margin:0;text-wrap:balance}
:root:root body.wt #primary .vf.pf-watch-article{--vf-band:#1f4590;--vf-band-ink:#fff;--vf-tint:color-mix(in srgb,var(--wt-accent) 11%,var(--wt-surface));--vf-r:14px;display:grid;grid-template-columns:minmax(0,1fr);gap:1.15rem;color:var(--wt-text)!important;font-size:16.5px;line-height:1.62}
:root:root[data-theme="light"] body.wt #primary .vf.pf-watch-article{--vf-band:#2454aa}
:root:root body.wt #primary .vf.pf-watch-article>*{margin:0;min-width:0}
:root:root body.wt #primary .vf.pf-watch-article :is(p,li,dd,td){color:var(--wt-text-2)!important;overflow-wrap:anywhere}
:root:root body.wt #primary .vf.pf-watch-article h2{font-family:var(--em-font,var(--wt-font))!important;font-size:1.18rem!important;font-weight:650!important;line-height:1.25!important;letter-spacing:-.012em;margin:0 0 .55rem!important;padding:0!important;border:0!important;color:var(--wt-text)!important;text-transform:none!important}
:root:root body.wt #primary .vf.pf-watch-article h2::after,:root:root body.wt #primary .vf.pf-watch-article h2::before{content:none!important}
:root:root body.wt #primary .vf.pf-watch-article h3{font-family:var(--wt-font)!important;font-size:.82rem!important;font-weight:650!important;letter-spacing:.04em;text-transform:uppercase;margin:0 0 .3rem!important;color:var(--wt-muted)!important}
:root:root body.wt #primary .vf.pf-watch-article p{margin:0 0 .6rem}
:root:root body.wt #primary .vf.pf-watch-article p:last-child{margin-bottom:0}
:root:root body.wt #primary .vf.pf-watch-article code{font-family:var(--wt-mono,ui-monospace,monospace);font-size:.88em;padding:.08em .38em;border-radius:6px;background:color-mix(in srgb,var(--wt-accent) 14%,transparent);color:var(--wt-text)!important;overflow-wrap:anywhere}
/* Bandeau  Le sujet  /  L'alerte  */
:root:root body.wt #primary .vf.pf-watch-article .vf-hero{position:relative;display:grid;gap:.5rem;padding:1.35rem 1.5rem 1.25rem;border-radius:var(--vf-r);background:var(--vf-band);color:var(--vf-band-ink)!important;print-color-adjust:exact;-webkit-print-color-adjust:exact;break-inside:avoid}
:root:root body.wt #primary .vf.pf-watch-article .vf-hero--intel[data-sev="critique"]{--vf-band:#8a1c2e}
:root:root body.wt #primary .vf.pf-watch-article .vf-hero--intel[data-sev="haute"]{--vf-band:#8f4416}
:root:root body.wt #primary .vf.pf-watch-article .vf-hero--intel[data-sev="moyenne"]{--vf-band:#6b5312}
:root:root body.wt #primary .vf.pf-watch-article .vf-hero :is(p,dt,dd,h2){color:var(--vf-band-ink)!important}
:root:root body.wt #primary .vf.pf-watch-article .vf-hero__brand{justify-self:start;display:flex;align-items:center;padding:.5rem .7rem;border-radius:10px;background:#f4f7fc;max-width:11rem;margin-bottom:.25rem}
:root:root body.wt #primary .vf.pf-watch-article .vf-logo{display:block;width:auto;max-width:100%;height:auto;max-height:2.4rem;object-fit:contain}
:root:root body.wt #primary .vf.pf-watch-article .vf-hero .vf-kicker{font-size:.76rem;font-weight:650;letter-spacing:.09em;text-transform:uppercase;margin:0;color:#fff!important;-webkit-text-fill-color:#fff;opacity:1}
:root:root body.wt #primary .vf.pf-watch-article .vf-hero__label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
:root:root body.wt #primary .vf.pf-watch-article .vf-hero__name{font-family:var(--em-font,var(--wt-font));font-size:clamp(1.45rem,2.6vw,1.95rem);font-weight:700;line-height:1.14;letter-spacing:-.018em;margin:0;text-wrap:balance}
:root:root body.wt #primary .vf.pf-watch-article .vf-hero__lead{font-size:1.06rem;line-height:1.5;margin:.15rem 0 .2rem;max-width:62ch}
:root:root body.wt #primary .vf.pf-watch-article .vf-hero code{background:rgba(255,255,255,.18);color:#fff!important}
:root:root body.wt #primary .vf.pf-watch-article .vf-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.55rem .9rem;margin:.45rem 0 0;padding:.75rem 0 0;border-top:1px solid rgba(255,255,255,.26)}
:root:root body.wt #primary .vf.pf-watch-article .vf-facts>div{min-width:0}
:root:root body.wt #primary .vf.pf-watch-article .vf-facts dt{font-size:.7rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;opacity:.78;margin:0}
:root:root body.wt #primary .vf.pf-watch-article .vf-facts dd{font-size:.95rem;font-weight:600;line-height:1.3;margin:.1rem 0 0;overflow-wrap:anywhere}
/* Risque : jauge CVSS + drapeaux */
:root:root body.wt #primary .vf.pf-watch-article .vf-risk{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:1rem 1.5rem;align-items:center;padding:1rem 1.25rem;border-radius:var(--vf-r);background:var(--wt-surface);border:1px solid var(--wt-line)}
:root:root body.wt #primary .vf.pf-watch-article .vf-meter{--vf-sev:var(--wt-accent);display:grid;gap:.4rem;min-width:0}
:root:root body.wt #primary .vf.pf-watch-article .vf-meter[data-sev="critique"]{--vf-sev:var(--wt-crit)}
:root:root body.wt #primary .vf.pf-watch-article .vf-meter[data-sev="haute"]{--vf-sev:var(--wt-high)}
:root:root body.wt #primary .vf.pf-watch-article .vf-meter[data-sev="moyenne"]{--vf-sev:var(--wt-warn)}
:root:root body.wt #primary .vf.pf-watch-article .vf-meter__head{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}
:root:root body.wt #primary .vf.pf-watch-article .vf-meter__score{font-family:var(--em-font,var(--wt-font));font-size:2.5rem;font-weight:700;line-height:1;color:var(--vf-sev)!important;letter-spacing:-.03em}
:root:root body.wt #primary .vf.pf-watch-article .vf-meter__scale{font-size:.86rem;font-weight:600;color:var(--wt-muted)!important}
:root:root body.wt #primary .vf.pf-watch-article .vf-meter__track{height:.62rem;border-radius:99px;background:color-mix(in srgb,var(--wt-text) 12%,transparent);overflow:hidden;print-color-adjust:exact;-webkit-print-color-adjust:exact}
:root:root body.wt #primary .vf.pf-watch-article .vf-meter__bar{display:block;height:100%;border-radius:99px;background:var(--vf-sev);print-color-adjust:exact;-webkit-print-color-adjust:exact}
:root:root body.wt #primary .vf.pf-watch-article .vf-meter__vector{margin:0;font-size:.74rem}
:root:root body.wt #primary .vf.pf-watch-article .vf-meter__vector code{background:none;padding:0;color:var(--wt-muted)!important}
:root:root body.wt #primary .vf.pf-watch-article .vf-badges{list-style:none;display:grid;gap:.45rem;margin:0;padding:0}
:root:root body.wt #primary .vf.pf-watch-article .vf-badge{display:flex;align-items:center;gap:.55rem;margin:0;padding:.5rem .75rem;border-radius:10px;font-size:.9rem;font-weight:600;line-height:1.3;color:var(--wt-text)!important;background:color-mix(in srgb,var(--wt-warn) 16%,var(--wt-surface))}
:root:root body.wt #primary .vf.pf-watch-article .vf-badge::before{content:"";flex:none;width:.55rem;height:.55rem;border-radius:50%;background:var(--wt-warn)}
:root:root body.wt #primary .vf.pf-watch-article .vf-badge--kev{background:color-mix(in srgb,var(--wt-crit) 16%,var(--wt-surface))}
:root:root body.wt #primary .vf.pf-watch-article .vf-badge--kev::before{background:var(--wt-crit)}
:root:root body.wt #primary .vf.pf-watch-article .vf-badge--alert{background:color-mix(in srgb,var(--wt-high) 16%,var(--wt-surface))}
:root:root body.wt #primary .vf.pf-watch-article .vf-badge--alert::before{background:var(--wt-high)}
/* Image */
:root:root body.wt #primary .vf.pf-watch-article .vf-figure{margin:0;break-inside:avoid}
:root:root body.wt #primary .vf.pf-watch-article .vf-figure img{display:block;width:100%;height:auto;max-height:26rem;object-fit:cover;object-position:top center;border-radius:var(--vf-r);border:1px solid var(--wt-line)}
:root:root body.wt #primary .vf.pf-watch-article .vf-figure figcaption{font-size:.88rem;line-height:1.45;margin-top:.5rem;color:var(--wt-text-2)!important;overflow-wrap:anywhere}
/* Sections */
:root:root body.wt #primary .vf.pf-watch-article .vf-card{padding:1.1rem 1.3rem;border-radius:var(--vf-r);background:var(--wt-surface);border:1px solid var(--wt-line);break-inside:avoid}
:root:root body.wt #primary .vf.pf-watch-article .vf-card--purpose{background:none;border:0;padding:0 .15rem}
:root:root body.wt #primary .vf.pf-watch-article .vf-card--purpose p{font-size:1.04rem;color:var(--wt-text)!important}
:root:root body.wt #primary .vf.pf-watch-article .vf-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:1.15rem;align-items:stretch}
:root:root body.wt #primary .vf.pf-watch-article .vf-duo>*{margin:0;min-width:0}
:root:root body.wt #primary .vf.pf-watch-article .vf-card--what{background:none;border:0;border-left:5px solid var(--wt-accent);border-radius:0;padding:.15rem 0 .15rem 1.15rem}
:root:root body.wt #primary .vf.pf-watch-article .vf-card--what :is(p,li){font-size:1.03rem;color:var(--wt-text)!important}
:root:root body.wt #primary .vf.pf-watch-article .vf-card--scope,:root:root body.wt #primary .vf.pf-watch-article .vf-card--tech{background:none;border:0;padding:.15rem}
:root:root body.wt #primary .vf.pf-watch-article .vf-card--impact{background:color-mix(in srgb,var(--wt-crit) 11%,var(--wt-surface));border-color:color-mix(in srgb,var(--wt-crit) 40%,var(--wt-line))}
:root:root body.wt #primary .vf.pf-watch-article .vf-card--exploit{background:color-mix(in srgb,var(--wt-high) 10%,var(--wt-surface));border-color:color-mix(in srgb,var(--wt-high) 36%,var(--wt-line))}
:root:root body.wt #primary .vf.pf-watch-article .vf-card--action{background:var(--vf-band);border:0;print-color-adjust:exact;-webkit-print-color-adjust:exact}
:root:root body.wt #primary .vf.pf-watch-article .vf-card--action :is(h2,li,p){color:#fff!important}
:root:root body.wt #primary .vf.pf-watch-article .vf-card--action ol.vf-list>li::before{background:#fff;color:var(--vf-band)!important}
:root:root body.wt #primary .vf.pf-watch-article .vf-card--action code{background:rgba(255,255,255,.18);color:#fff!important}
:root:root body.wt #primary .vf.pf-watch-article .vf-card--soc{background:var(--vf-tint);border-color:color-mix(in srgb,var(--wt-accent) 38%,var(--wt-line))}
:root:root body.wt #primary .vf.pf-watch-article .vf-card--case{background:none;border:1.5px dashed var(--wt-line-2)}
:root:root body.wt #primary .vf.pf-watch-article .vf-list{margin:0;padding:0;list-style:none;display:grid;gap:.55rem;counter-reset:vf}
:root:root body.wt #primary .vf.pf-watch-article .vf-list>li{position:relative;margin:0;padding-left:1.35rem}
:root:root body.wt #primary .vf.pf-watch-article ul.vf-list>li::before{content:"";position:absolute;left:.1rem;top:.62em;width:.5rem;height:.5rem;border-radius:2px;background:var(--wt-accent);transform:rotate(45deg)}
:root:root body.wt #primary .vf.pf-watch-article .vf-card--impact ul.vf-list>li::before{background:var(--wt-crit)}
:root:root body.wt #primary .vf.pf-watch-article ol.vf-list>li{padding-left:2.1rem;counter-increment:vf}
:root:root body.wt #primary .vf.pf-watch-article ol.vf-list>li::before{content:counter(vf);position:absolute;left:0;top:.08em;width:1.5rem;height:1.5rem;display:grid;place-items:center;border-radius:50%;font-size:.8rem;font-weight:700;background:var(--wt-accent);color:var(--wt-accent-ink)!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
:root:root body.wt #primary .vf.pf-watch-article .vf-tech{display:grid;grid-template-columns:repeat(auto-fit,minmax(13.5rem,1fr));gap:1rem 1.4rem}
:root:root body.wt #primary .vf.pf-watch-article .vf-tech__item p{font-size:.97rem}
:root:root body.wt #primary .vf.pf-watch-article .vf-keeps{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.9rem}
:root:root body.wt #primary .vf.pf-watch-article .vf-keep{padding:.85rem 1rem;border-radius:11px;background:color-mix(in srgb,var(--wt-accent) 9%,transparent)}
:root:root body.wt #primary .vf.pf-watch-article .vf-keep--minus{background:color-mix(in srgb,var(--wt-warn) 13%,transparent)}
:root:root body.wt #primary .vf.pf-watch-article .vf-keep--minus ul.vf-list>li::before{background:var(--wt-warn)}
/* Chiffres cles */
:root:root body.wt #primary .vf.pf-watch-article .vf-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.8rem}
:root:root body.wt #primary .vf.pf-watch-article .vf-stat{display:grid;gap:.15rem;padding:.95rem 1.05rem;border-radius:var(--vf-r);background:var(--vf-band);print-color-adjust:exact;-webkit-print-color-adjust:exact}
:root:root body.wt #primary .vf.pf-watch-article .vf-stat strong{font-family:var(--em-font,var(--wt-font));font-size:1.7rem;font-weight:700;line-height:1.05;color:#fff!important;letter-spacing:-.02em;overflow-wrap:anywhere}
:root:root body.wt #primary .vf.pf-watch-article .vf-stat span{font-size:.8rem;font-weight:600;line-height:1.3;color:rgba(255,255,255,.86)!important}
/* Tableau des versions */
:root:root body.wt #primary .vf.pf-watch-article .vf-tablewrap{overflow-x:auto;margin-top:.6rem}
:root:root body.wt #primary .vf.pf-watch-article .vf-table{width:100%;border-collapse:collapse;font-size:.93rem;background:none;border:0}
:root:root body.wt #primary .vf.pf-watch-article .vf-table :is(th,td){padding:.5rem .65rem;text-align:left;vertical-align:top;border:0;border-bottom:1px solid var(--wt-line);background:none}
:root:root body.wt #primary .vf.pf-watch-article .vf-table th{font-size:.72rem;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--wt-muted)!important}
:root:root body.wt #primary .vf.pf-watch-article .vf-table tr:last-child td{border-bottom:0}
/* Chronologie */
:root:root body.wt #primary .vf.pf-watch-article .vf-chrono{padding:0 .15rem}
:root:root body.wt #primary .vf.pf-watch-article .vf-timeline{list-style:none;margin:0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0}
:root:root body.wt #primary .vf.pf-watch-article .vf-timeline>li{position:relative;margin:0;padding:1.15rem .9rem 0 0;display:grid;gap:.15rem;align-content:start}
:root:root body.wt #primary .vf.pf-watch-article .vf-timeline>li::before{content:"";position:absolute;left:0;right:0;top:.34rem;height:3px;background:var(--wt-line-2)}
:root:root body.wt #primary .vf.pf-watch-article .vf-timeline>li::after{content:"";position:absolute;left:0;top:0;width:.8rem;height:.8rem;border-radius:50%;background:var(--wt-accent);box-shadow:0 0 0 3px var(--wt-bg);print-color-adjust:exact;-webkit-print-color-adjust:exact}
:root:root body.wt #primary .vf.pf-watch-article .vf-timeline>li:last-child::before{right:auto;width:0}
:root:root body.wt #primary .vf.pf-watch-article .vf-chrono h2{margin-bottom:.8rem!important}
:root:root body.wt #primary .vf.pf-watch-article .vf-timeline time{font-size:.95rem;font-weight:700;color:var(--wt-text)!important}
:root:root body.wt #primary .vf.pf-watch-article .vf-timeline span{font-size:.84rem;line-height:1.35;color:var(--wt-muted)!important}
/* Glossaire et sources */
:root:root body.wt #primary .vf.pf-watch-article .vf-glossary{padding:.8rem 1.1rem;border-radius:var(--vf-r);border:1px solid var(--wt-line);background:none}
:root:root body.wt #primary .vf.pf-watch-article .vf-glossary summary{cursor:pointer;font-weight:650;color:var(--wt-text)!important}
:root:root body.wt #primary .vf.pf-watch-article .vf-glossary dl{margin:.7rem 0 0;display:grid;gap:.55rem}
:root:root body.wt #primary .vf.pf-watch-article .vf-glossary dt{font-weight:650;color:var(--wt-text)!important;margin:0}
:root:root body.wt #primary .vf.pf-watch-article .vf-glossary dd{margin:0;font-size:.95rem}
:root:root body.wt #primary .vf.pf-watch-article .vf-sources{padding:.2rem .15rem 0}
:root:root body.wt #primary .vf.pf-watch-article .vf-sources ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.45rem .6rem}
:root:root body.wt #primary .vf.pf-watch-article .vf-sources li{margin:0}
:root:root body.wt #primary .vf.pf-watch-article .vf-sources a{display:inline-block;padding:.36rem .72rem;border-radius:9px;border:1px solid var(--wt-line-2);font-size:.88rem;font-weight:600;text-decoration:none;color:var(--wt-accent-2,var(--wt-accent))!important}
:root:root body.wt #primary .vf.pf-watch-article .vf-sources a:is(:hover,:focus-visible){background:var(--wt-accent-soft)}
:root:root body.wt #primary .vf.pf-watch-article .vf-note{font-size:.84rem;color:var(--wt-muted)!important}
:root:root body.wt #primary .vf.pf-watch-article .vf-seals{display:flex;gap:.6rem;align-items:center;margin:0 0 .6rem}
:root:root body.wt #primary .vf.pf-watch-article .vf-seal{width:auto;height:2.1rem;max-width:5rem;object-fit:contain;padding:.2rem;border-radius:8px;background:#f4f7fc}
@media (max-width:640px){
 :root:root body.wt #primary .vf.pf-watch-article{font-size:16px;gap:1rem}
 :root:root body.wt #primary .vf.pf-watch-article .vf-hero{padding:1.1rem 1.05rem}
 :root:root body.wt #primary .vf.pf-watch-article .vf-risk{grid-template-columns:minmax(0,1fr)}
 :root:root body.wt #primary .vf.pf-watch-article .vf-card{padding:1rem 1.05rem}
 :root:root body.wt #primary .vf.pf-watch-article .vf-timeline{grid-auto-flow:row;grid-auto-columns:auto;gap:.2rem}
 :root:root body.wt #primary .vf.pf-watch-article .vf-timeline>li{padding:.1rem 0 .7rem 1.4rem}
 :root:root body.wt #primary .vf.pf-watch-article .vf-timeline>li::before{left:.34rem;right:auto;top:.4rem;bottom:-.4rem;width:3px;height:auto}
 :root:root body.wt #primary .vf.pf-watch-article .vf-timeline>li::after{top:.3rem}
 :root:root body.wt #primary .vf.pf-watch-article .vf-timeline>li:last-child::before{height:0}
}
@media print{
 :root:root body.wt #primary .vf.pf-watch-article{font-size:10.5pt;line-height:1.42;gap:.55rem}
 :root:root body.wt #primary .vf.pf-watch-article .vf-hero{padding:.7rem .9rem}
 :root:root body.wt #primary .vf.pf-watch-article .vf-hero__name{font-size:15pt}
 :root:root body.wt #primary .vf.pf-watch-article .vf-hero__lead{font-size:10.5pt}
 :root:root body.wt #primary .vf.pf-watch-article .vf-card{padding:.5rem .75rem}
 :root:root body.wt #primary .vf.pf-watch-article h2{font-size:11.5pt!important;margin-bottom:.25rem!important}
 :root:root body.wt #primary .vf.pf-watch-article .vf-figure img{max-height:11rem}
 :root:root body.wt #primary .vf.pf-watch-article .vf-glossary:not([open])>dl{display:grid}
 :root:root body.wt #primary .vf.pf-watch-article .vf-stat{padding:.45rem .7rem}
 :root:root body.wt #primary .vf.pf-watch-article .vf-stat strong{font-size:13pt}
 :root:root body.wt #primary .vf.pf-watch-article .vf-meter__score{font-size:20pt}
}
/* Deduplicate the sidebar action: keep the Contact action in the profile/footer, hide its menu copy. */
body.wt #ast-desktop-header .main-header-menu > li.menu-item-461,
body.wt #ast-mobile-header .main-header-menu > li.menu-item-461{display:none!important}
/* Lexique : terme défini (soulignement pointillé) et bulle de définition. */
:root body .pfg-term{cursor:help;color:inherit;font:inherit;border-radius:3px;text-decoration:underline dotted;text-decoration-thickness:1px;text-underline-offset:.22em;text-decoration-color:color-mix(in srgb,currentColor 50%,transparent);-webkit-tap-highlight-color:transparent}
:root body .pfg-term:hover,:root body .pfg-term[aria-expanded="true"]{text-decoration-color:var(--wt-accent,currentColor);background:color-mix(in srgb,var(--wt-accent,#2454aa) 12%,transparent)}
:root body .pfg-term:focus{outline:none}
:root body .pfg-term:focus-visible{outline:2px solid var(--wt-accent,currentColor);outline-offset:2px}
:root body .pfg-pop{position:fixed;z-index:100002;left:0;top:0;display:flex;align-items:flex-start;gap:14px;box-sizing:border-box;width:max-content;max-width:min(360px,calc(100vw - 20px));margin:0;padding:14px 16px;border:1px solid var(--wt-line,#c2cedd);border-radius:12px;background:var(--wt-surface,#fff);color:var(--wt-text,#17263b);box-shadow:0 18px 40px -18px rgba(8,15,30,.45),0 2px 6px rgba(8,15,30,.12);font-family:inherit;font-size:14px;line-height:1.55;text-align:left;text-transform:none;letter-spacing:0;font-weight:400}
:root body .pfg-pop[hidden]{display:none}
:root body .pfg-pop__corps{min-width:0;flex:1 1 auto}
:root body .pfg-pop p{margin:0;padding:0;max-width:none;color:inherit;font-size:inherit;line-height:inherit}
:root body .pfg-pop .pfg-pop__titre{margin:0 0 4px;font-family:var(--em-font,inherit);font-size:15px;font-weight:650;letter-spacing:-.01em;line-height:1.3}
:root body .pfg-pop .pfg-pop__def{color:var(--wt-text-2,inherit)}
:root body .pfg-pop .pfg-pop__src{margin-top:9px;padding-top:8px;border-top:1px solid var(--wt-line,#c2cedd);color:var(--wt-muted,inherit);font-size:12.5px;line-height:1.45}
:root body .pfg-pop .pfg-pop__src a{color:var(--wt-accent,#2454aa);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
:root[data-theme="dark"] body .pfg-pop .pfg-pop__src a{color:var(--wt-accent-2,#b2cbfc)}
:root body .pfg-pop .pfg-pop__src a:focus-visible{outline:2px solid currentColor;outline-offset:2px;border-radius:2px}
:root body .pfg-pop .pfg-pop__logo{flex:0 0 auto;width:48px;height:48px;object-fit:contain;padding:6px;box-sizing:border-box;border-radius:9px;background:#fff;border:1px solid var(--wt-line,#c2cedd)}
:root body .pfg-pop .pfg-pop__logo[hidden]{display:none}
:root[data-ui-motion="on"] body .pfg-pop:not([hidden]){animation:pfg-entree .16s cubic-bezier(.2,.8,.2,1) both}
:root[data-ui-motion="on"] body .pfg-pop[data-pos="haut"]:not([hidden]){animation-name:pfg-entree-haut}
@keyframes pfg-entree{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes pfg-entree-haut{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){:root body .pfg-pop{animation:none!important}}
@media (forced-colors:active){:root body .pfg-pop{border:1px solid CanvasText;box-shadow:none}:root body .pfg-term{text-decoration-color:currentColor}}
@media print{:root body .pfg-pop{display:none!important}:root body .pfg-term{text-decoration:none;background:none}}
/* Page WatchTower (enfant de Homelab) : panneaux de lecture à 85 %, vues côte à côte, captures mobiles en grille. */
.pg-page.wtp>.pg-band{background-color:color-mix(in srgb,var(--wt-surface) 85%,transparent);border-radius:16px;padding:clamp(20px,2.3vw,32px)}
.pg-page.wtp .pg-split{grid-template-columns:1fr;gap:8px}
.pg-page.wtp .pg-body{max-width:none}
.pg-page.wtp .pg-body>p,.pg-page.wtp .wtp-ecran>p{max-width:72ch}
.pg-page.wtp .wtp-ecran{margin:34px 0 0}
.pg-page.wtp .wtp-ecran:first-child{margin-top:6px}
.pg-page.wtp .wtp-ecran>h3{margin:0 0 8px}
.pg-page.wtp .pg-fig{margin:0 0 18px}
.pg-page.wtp .wtp-vues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px;margin:0 0 4px}
.pg-page.wtp .wtp-vues .pg-fig,.pg-page.wtp .wtp-mobiles .pg-fig{margin:0}
.pg-page.wtp .wtp-mobiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:14px}
.pg-page.wtp .wtp-mobiles figcaption{text-align:center}
.pf-intro .wtp-logo{display:block;width:72px;height:72px;margin:0 0 14px;border-radius:16px}
@media (max-width:760px){.pg-page.wtp .wtp-vues{grid-template-columns:1fr}.pg-page.wtp .wtp-mobiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print,(prefers-reduced-transparency:reduce){.pg-page.wtp>.pg-band{background-color:var(--wt-surface)}}
@media (forced-colors:active){.pg-page.wtp>.pg-band{background-color:Canvas}}
/* Page WatchTower : chaque capture existe en clair et en sombre ; seule celle du thème actif est affichée (et chargée). */
.pg-page.wtp img.wtp-sombre{display:none}
:root[data-theme="dark"] .pg-page.wtp img.wtp-clair{display:none}
:root[data-theme="dark"] .pg-page.wtp img.wtp-sombre{display:block}
@media print{.pg-page.wtp img.wtp-sombre{display:none!important}.pg-page.wtp img.wtp-clair{display:block!important}}
/* Parcours : quatre étapes de formation sans carte orpheline (3 colonnes -> 4 ; 2 x 2 en largeur intermédiaire) */
@media (min-width:1101px){.hs-path__cols:has(>.hs-per:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:901px) and (max-width:1100px){.hs-path__cols:has(>.hs-per:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}}