/* Vitrine des pros — velours / crème / or (EXCELLENCE.md). Jetons et polices : iv.css. Échelle 14/17/21/26/33/41, espacements multiples de 8, aucun texte < 14 px. */
body.vp,.vp-page{margin:0}
html{background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--iv-fs-2,17px)/1.55 var(--f-b);-webkit-font-smoothing:antialiased}
.vp-wrap{width:100%;max-width:1120px;margin-inline:auto;padding-inline:16px}
@media(min-width:760px){.vp-wrap{padding-inline:32px}}
a{color:inherit}
/* barre */
.vp-bar{background:var(--iv-velours-2,#14060c);border-bottom:1px solid rgba(226,189,107,.28)}
.vp-bar-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}
.vp-logo{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font:600 21px/1 var(--f-d);min-height:44px}
.vp-logo svg{width:28px;height:28px}.vp-logo i{color:var(--gold2)}
.vp-bar nav a{color:var(--gold1);font:600 14px/1 var(--f-b);letter-spacing:.04em;text-decoration:none;display:inline-flex;align-items:center;min-height:44px;padding-inline:4px;border-bottom:1.5px solid transparent}
.vp-bar nav a:hover{border-bottom-color:var(--gold2)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold2);outline-offset:3px}
/* bandeau d'exemple */
.vp-demo-strip{margin:0;padding:12px 16px;text-align:center;background:var(--gold1);color:var(--ink);font:600 14px/1.4 var(--f-b)}
/* héros : velours + grain */
.vp-hero{position:relative;color:#fff;background:radial-gradient(90% 120% at 80% 0%,#6b1e3a 0%,transparent 60%),linear-gradient(160deg,var(--iv-velours-1,#4a1426),var(--iv-velours-2,#14060c));overflow:hidden}
.vp-hero::before{content:"";position:absolute;inset:0;opacity:.09;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/></filter><rect width='120' height='120' filter='url(%23n)'/></svg>")}
.vp-hero-in{position:relative;display:grid;gap:32px;padding-block:48px 64px;align-items:center}
.vp-eye{margin:0 0 8px;font:600 14px/1.3 var(--f-b);letter-spacing:.12em;text-transform:uppercase;color:var(--gold2)}
.vp-hero h1{margin:0 0 8px;font:600 var(--iv-fs-5,33px)/1.12 var(--f-d);letter-spacing:-.01em;text-wrap:balance}
.vp-where{margin:0 0 32px;font-size:var(--iv-fs-2,17px);color:rgba(255,255,255,.82)}
.vp-lead{margin:8px 0 0;max-width:60ch;font-size:var(--iv-fs-3,21px);line-height:1.45;color:rgba(255,255,255,.86)}
.vp-hero-dir .vp-wrap{position:relative;padding-block:56px 64px}
@media(min-width:860px){.vp-hero h1{font-size:var(--iv-fs-6,41px)}.vp-hero-in{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:64px;padding-block:64px 80px}.vp-hero-dir .vp-wrap{padding-block:80px 88px}}
/* photo : cadre papier incliné, liseré or */
.vp-photo{margin:0;justify-self:center;width:min(100%,360px);padding:12px;background:var(--paper);border:1px solid var(--gold2);border-radius:var(--r-md,20px);box-shadow:0 2px 6px rgba(0,0,0,.28),0 32px 64px -20px rgba(0,0,0,.6);transform:rotate(-1.5deg)}
.vp-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:10px;background:var(--line)}
@media(min-width:860px){.vp-photo{width:min(100%,400px);justify-self:end;transform:rotate(-2deg)}.vp-id{order:-1}}
/* bouton principal or */
.vp-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 32px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--gold1),var(--gold2));color:var(--ink);font:700 var(--iv-fs-2,17px)/1 var(--f-b);text-decoration:none;cursor:pointer;overflow:hidden;overflow:clip;box-shadow:0 10px 28px -10px rgba(226,189,107,.7);transition:transform .15s var(--iv-ease,ease),box-shadow .25s var(--iv-ease,ease)}
.vp-btn::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-120%);transition:transform .6s var(--iv-ease,ease)}
.vp-btn:hover::after{transform:translateX(120%)}html[dir=rtl] .vp-btn::after{transform:translateX(120%)}html[dir=rtl] .vp-btn:hover::after{transform:translateX(-120%)}.vp-btn:hover{box-shadow:0 14px 34px -10px rgba(226,189,107,.9)}.vp-btn:active{transform:scale(.98)}
/* corps */
.vp-body{padding-block:48px 64px;display:grid;gap:48px}
.vp-body h2{margin:0 0 16px;font:600 var(--iv-fs-4,26px)/1.2 var(--f-d)}
.vp-card{padding:24px;background:var(--card);border:1px solid rgba(22,26,51,.08);border-radius:var(--r-md,20px);box-shadow:0 1px 2px rgba(22,26,51,.06),0 24px 48px -28px rgba(22,26,51,.3)}
@media(min-width:760px){.vp-card{padding:32px}}
.vp-card p{margin:0 0 16px;max-width:68ch}.vp-card p:last-child{margin-bottom:0}
.vp-pills{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.vp-pills li{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:1.5px solid var(--gold2);border-radius:999px;font:600 14px/1 var(--f-b);background:var(--paper)}
.vp-exs{display:grid;gap:16px}
@media(min-width:760px){.vp-exs{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}
.vp-ex{display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-height:128px;padding:24px;text-decoration:none;background:var(--card);border:1px solid rgba(22,26,51,.08);border-radius:var(--r-md,20px);box-shadow:0 1px 2px rgba(22,26,51,.06),0 20px 40px -26px rgba(22,26,51,.3);font:600 var(--iv-fs-3,21px)/1.25 var(--f-d);transition:transform .25s var(--iv-ease,ease),box-shadow .25s var(--iv-ease,ease)}
.vp-ex b{font:700 14px/1 var(--f-b);letter-spacing:.06em;text-transform:uppercase;color:var(--acc)}
.vp-ex:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(22,26,51,.08),0 32px 56px -24px rgba(22,26,51,.38)}
.vp-revs{display:grid;gap:16px}
@media(min-width:760px){.vp-revs{grid-template-columns:repeat(2,1fr)}}
.vp-rev{position:relative;margin:0;padding:48px 24px 24px;background:var(--card);border:1px solid rgba(22,26,51,.08);border-radius:var(--r-md,20px);box-shadow:0 1px 2px rgba(22,26,51,.06),0 20px 40px -26px rgba(22,26,51,.3)}
.vp-rev::before{content:"\201C";position:absolute;top:8px;inset-inline-start:24px;font:600 64px/1 var(--f-d);color:var(--gold2)}
.vp-rev p{margin:0 0 16px;font:italic 400 var(--iv-fs-3,21px)/1.45 var(--f-d)}
.vp-rev footer{font:600 14px/1.4 var(--f-b);color:var(--ink2)}
.vp-note{margin:0;padding:24px;border:1.5px dashed var(--gold2);border-radius:var(--r-md,20px);color:var(--ink2);text-align:center}
.vp-links{display:flex;flex-wrap:wrap;gap:16px}
.vp-link{display:inline-flex;align-items:center;min-height:44px;font:600 var(--iv-fs-2,17px)/1 var(--f-b);color:var(--ink);text-decoration:underline;text-decoration-color:var(--gold2);text-decoration-thickness:1.5px;text-underline-offset:5px}
.vp-link:hover{color:var(--acc)}
.vp-backrow{margin:0}
/* entrée douce, une seule fois par bloc */
@media(prefers-reduced-motion:no-preference){.vp-in{animation:vpin .6s var(--iv-ease,ease) both}.vp-in:nth-child(2){animation-delay:.08s}.vp-in:nth-child(3){animation-delay:.16s}.vp-in:nth-child(4){animation-delay:.24s}.vp-photo{animation:vpin .8s var(--iv-ease,ease) both}}
@keyframes vpin{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
/* annuaire : recherche, onglets, cartes */
.vp-tools{display:grid;gap:16px}
.vp-search{position:relative}
.vp-search>svg{position:absolute;inset-inline-start:20px;top:14px;width:24px;height:24px;color:var(--ink2);pointer-events:none}
.vp-search input{width:100%;height:52px;padding-inline:52px 52px;border:1.5px solid var(--line);border-radius:999px;background:var(--card);font:400 var(--iv-fs-2,17px) var(--f-b);color:var(--ink);box-shadow:var(--shadow-sm)}
.vp-search input:focus{border-color:var(--gold2)}
.vp-clear{position:absolute;inset-inline-end:8px;top:6px;width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:var(--ink2);font:400 26px/1 var(--f-b);cursor:pointer}
.vp-clear[hidden]{display:none}
.vp-sug{position:absolute;z-index:5;inset-inline:0;top:58px;margin:0;padding:8px;list-style:none;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md,20px);box-shadow:var(--shadow-md)}
.vp-sug[hidden]{display:none}
.vp-sug li{display:flex;align-items:center;min-height:44px;padding:0 16px;border-radius:12px;cursor:pointer;font-size:var(--iv-fs-2,17px)}
.vp-sug li:hover,.vp-sug li[aria-selected=true]{background:var(--paper)}
.vp-pillsbar{margin-inline:-16px;padding-inline:16px;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 24px),transparent)}
.vp-pillsbar::-webkit-scrollbar{display:none}
.vp-pills2{position:relative;display:flex;gap:8px;width:max-content;padding-block:4px}
.vp-pill{position:relative;z-index:1;min-height:40px;padding:0 16px;border:1.5px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font:600 14px/1 var(--f-b);white-space:nowrap;cursor:pointer;transition:color .25s var(--iv-ease,ease),border-color .25s}
.vp-pill[aria-pressed=true]{color:var(--paper);border-color:var(--ink);background:transparent}
.vp-pill:not([aria-pressed=true]):hover{border-color:var(--gold2)}
.vp-ind{position:absolute;z-index:0;top:4px;left:0;height:40px;width:0;border-radius:999px;background:var(--ink);transition:transform .35s var(--iv-ease,ease),width .35s var(--iv-ease,ease);pointer-events:none}
.vp-count{margin:0;font:600 14px/1.4 var(--f-b);color:var(--ink2);letter-spacing:.04em;min-height:20px}
.vp-grid{list-style:none;margin:0;padding:0;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.vp-grid:empty{display:none}
.vp-c[hidden]{display:none}
.vp-c a{display:block;height:100%;text-decoration:none;background:var(--card);border:1px solid rgba(22,26,51,.08);border-radius:var(--r-md,20px);box-shadow:0 1px 2px rgba(22,26,51,.06),0 20px 40px -26px rgba(22,26,51,.3);overflow:hidden;transition:transform .25s var(--iv-ease,ease),box-shadow .25s var(--iv-ease,ease)}
.vp-c a:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(22,26,51,.08),0 32px 56px -24px rgba(22,26,51,.38)}
.vp-cph{display:block;aspect-ratio:4/5;background:var(--line)}.vp-cph img{display:block;width:100%;height:100%;object-fit:cover}
.vp-ct{display:grid;gap:4px;padding:16px 24px 24px}
.vp-cj{font:700 14px/1.3 var(--f-b);letter-spacing:.08em;text-transform:uppercase;color:var(--acc)}
.vp-ct strong{font:600 var(--iv-fs-3,21px)/1.25 var(--f-d)}
.vp-cv{font-size:var(--iv-fs-1,14px);color:var(--ink2)}
.vp-cgo{margin-top:8px;font:700 14px/1 var(--f-b);text-decoration:underline;text-decoration-color:var(--gold2);text-underline-offset:5px}
.vp-tag{display:inline-block;justify-self:start;padding:4px 12px;border-radius:999px;background:var(--gold1);font:700 14px/1.2 var(--f-b);color:var(--ink)}
/* rejoindre */
.vp-join{padding:32px 24px;color:#fff;border-radius:var(--r-lg,28px);background:linear-gradient(160deg,var(--iv-velours-1,#4a1426),var(--iv-velours-2,#14060c));box-shadow:var(--shadow-lg)}
@media(min-width:760px){.vp-join{padding:48px}}
.vp-join h2{color:#fff}
.vp-join>p{margin:0 0 24px;max-width:60ch;color:rgba(255,255,255,.86)}
.vp-join form{display:grid;gap:16px;max-width:560px}
.vp-join label{display:grid;gap:8px;font:600 14px/1.3 var(--f-b);color:var(--gold1)}
.vp-join input:not([type=checkbox]),.vp-join select{height:52px;padding-inline:16px;border:1.5px solid rgba(255,255,255,.25);border-radius:var(--r-sm,14px);background:rgba(255,255,255,.08);color:#fff;font:400 var(--iv-fs-2,17px) var(--f-b)}
.vp-join select option{color:var(--ink)}
.vp-join .vp-chk{display:flex;align-items:flex-start;gap:12px;font-weight:400;color:rgba(255,255,255,.9);font-size:var(--iv-fs-1,14px)}
.vp-join .vp-chk input{flex:none;width:24px;height:24px;margin:0;accent-color:var(--gold2)}
.vp-err{margin:0;padding:12px 16px;border-radius:var(--r-sm,14px);background:#fff;color:var(--bad);font:600 14px/1.4 var(--f-b)}
.vp-err[hidden]{display:none}
.vp-join .vp-btn{justify-self:start}
/* pied */
.vp-foot{background:var(--iv-velours-2,#14060c);color:rgba(255,255,255,.82);padding-block:32px;font-size:var(--iv-fs-1,14px)}
.vp-foot p{margin:16px 0 0}
.vp-langs{display:flex;flex-wrap:wrap;gap:4px 16px}
.vp-langs a{display:inline-flex;align-items:center;min-height:44px;color:var(--gold1);text-decoration:none}
.vp-langs a[aria-current]{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:5px}
.vp-foot a{color:var(--gold1)}
/* proposition dans creer.html (module assets/pros-proposition.js) */
.vpp{margin:32px 0 0;padding:24px;background:var(--card);border:1px solid rgba(22,26,51,.08);border-radius:var(--r-md,20px);box-shadow:var(--shadow-sm)}
.vpp h3{margin:0 0 16px;font:600 var(--iv-fs-3,21px)/1.25 var(--f-d)}
.vpp ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.vpp li a{display:flex;align-items:center;gap:16px;min-height:64px;padding:8px;border-radius:var(--r-sm,14px);text-decoration:none;color:var(--ink)}
.vpp li a:hover{background:var(--paper)}
.vpp img{flex:none;width:48px;height:48px;border-radius:50%;object-fit:cover;background:var(--line)}
.vpp b{display:block;font:600 var(--iv-fs-2,17px)/1.3 var(--f-b)}.vpp span{display:block;font-size:var(--iv-fs-1,14px);color:var(--ink2)}
.vpp>a{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;font:600 var(--iv-fs-1,14px) var(--f-b);color:var(--ink)}
