/* =====================================================================================================================
   YC Creations — styles propres à la page Packs (repris de la maquette ; les commentaires vNNN renvoient à ses versions)
   Autre feuille : commun.css (toutes les pages).
   ===================================================================================================================== */
/* Titres de bloc : badge flottant — pilule en verre, contour lumineux GoldYC/BleuYC qui tourne, point doré qui pulse,
     reflet champagne qui balaie le texte, léger flottement vertical. Tout en boucle douce (transform/opacity). */
@property --badge-angle{syntax:'<angle>'; inherits:false; initial-value:0deg;}
@keyframes badgeSpin{to{--badge-angle:360deg;}}
@keyframes heroCtaIn{from{opacity:0; transform:translateY(22px) scale(0.94);}}
@keyframes heroArrowIn{from{transform:scale(0) rotate(-90deg);}}
/* Chiffres clés : comptage de 0 au chiffre final, en CSS pur */
@property --num{syntax:'<integer>'; inherits:false; initial-value:0;}
/* Halos ambiants qui dérivent lentement, en fond de section */
@keyframes driftBlob{0%{transform:translate(0,0) scale(1);}50%{transform:translate(34px,-26px) scale(1.1);}100%{transform:translate(0,0) scale(1);}}
.blob{position:absolute;border-radius:50%;filter:blur(70px);pointer-events:none;animation:driftBlob 16s ease-in-out infinite;}
@keyframes ycGrad{from{background-position:0% 0;}to{background-position:200% 0;}}
/* halos "spot de scène" des sections sombres atténués, pour un fond plus sombre */
.yc-sky > .blob{filter:blur(70px) brightness(0.55);}
.nav-shell, .hero-in, .trust-head, .stats-light, .hx-section, .tl-section, .pf-head, .tm-section,
  .sv-hero, .sv-main, .sv-packs, .po-hero, .po-index, .po-cases, .po-m-shell, .pk-hero, .pk-process, .pk-faq,
  .ap-hero, .ap-manifesto, .ap-stats, .ap-story, .ap-team, .ap-values, .ct-hero, .ct-proms{padding-left:var(--gutter) !important; padding-right:var(--gutter) !important;}
/* Conteneurs : plus de centrage à largeur max, ils vont d'une marge à l'autre */
.hx-wrap, .sv-hero-grid, .sv-layout, .sv-packs-card, .po-hero-grid, .po-wrap, .po-m-bar, .po-m-panels, .po-m-nav,
  .pk-wrap, .pk-cards, .pk-flow, .ap-hero-grid, .ap-wrap, .ap-team-row, .ct-grid, .ct-wrap{max-width:none !important; margin-left:0 !important; margin-right:0 !important;}
.pk-page{display:flex; flex-direction:column;}
/* entrées : le hero monte en cascade (--d) ; le reste se révèle au scroll (.rv -> .is-in, posé par pkRef) */
.sv-line{display:block; width:fit-content; overflow:hidden; padding-bottom:0.1em; margin:0 auto -0.06em;}
.sv-line .sv-in{display:inline-block;}
.sv-in{animation:svIn 1s cubic-bezier(.22,1,.36,1) calc(.15s + var(--d, 0) * .12s) backwards;}
.sv-line .sv-in{animation-name:svLine; animation-duration:1.1s;}
@keyframes svIn{from{opacity:0; transform:translateY(26px); filter:blur(6px);}}
@keyframes svLine{from{transform:translateY(105%);}}
.pk-title .yc-grad.sv-in{animation:svLine 1.1s cubic-bezier(.22,1,.36,1) calc(.15s + var(--d, 0) * .12s) backwards, ycGrad 3.5s linear infinite;}
.pk-page.pk-ready .rv{opacity:0; transform:translateY(40px); filter:blur(6px);}
.pk-page.pk-ready .rv.is-in{opacity:1; transform:none; filter:none; transition:opacity .9s ease calc(var(--d, 0) * .14s), transform 1.1s cubic-bezier(.22,1,.36,1) calc(var(--d, 0) * .14s), filter .9s ease calc(var(--d, 0) * .14s);}
/* ---------- HERO (v445) : texte à gauche, « Quel est votre besoin ? » à droite ; il occupe son écran, le haut des cartes dépasse en bas (≥ 12 % de l'écran : assez pour que leur entrée se déclenche) ---------- */
.pk-page{--pk-out:cubic-bezier(.16,1,.3,1);}
.pk-hero{position:relative; overflow-x:clip; min-height:100vh; min-height:100svh; box-sizing:border-box; display:flex; align-items:center; padding:128px var(--gutter) 64px;}
/* v451 : tout l'écran, aucune carte visible à l'ouverture */
.pk-hero-grid{position:relative; z-index:1; width:100%; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.02fr); gap:clamp(48px, 6vw, 112px); align-items:center;}
.pk-hero-in{display:flex; flex-direction:column; align-items:flex-start; gap:24px; min-width:0;}
.pk-title{font-size:clamp(52px, 6.6vw, 100px); margin:0;}
.pk-title .sv-line{margin-left:0; margin-right:0;}
.pk-hero-p{font-size:20px; line-height:1.7; color:var(--texte-corps); margin:0; max-width:500px;}
.pk-hero-in .hero-cta{margin-top:8px;}
/* « Le curseur de l'exigence » (v450) : une slide 16:9, deux versions du même contenu séparées par une poignée (--p = position).
     Textes en cqw (relatifs à la largeur de la slide). */
.pk-cmp{position:relative; display:flex; flex-direction:column; gap:16px; min-width:0;}
.pk-cmp-stage{position:relative; width:100%; aspect-ratio:16/9; border-radius:var(--rayon-m); overflow:hidden; container-type:inline-size; isolation:isolate;
    touch-action:pan-y; cursor:ew-resize; user-select:none; -webkit-user-select:none; box-shadow:0 40px 90px rgba(0,0,0,0.5), inset 0 0 0 1px rgba(255,255,255,0.08);}
.pk-cmp-sl{position:absolute; inset:0;}
/* avant : mise en page par défaut, police standard, puces serrées */
.pk-cmp-sl.is-before{background:#F7F7F5; color:#222; font-family:Arial, Helvetica, sans-serif;}
.cb-t{position:absolute; left:5%; top:7%; font-size:4.4cqw; font-weight:700; color:#1F1F1F; white-space:nowrap;}
.cb-ul{position:absolute; left:5%; top:21%; width:47%; margin:0; padding:0 0 0 3.2cqw; font-size:2.25cqw; line-height:1.35; color:#333;}
.cb-ul li{margin:0 0 1.1cqw;}
.cb-chart{position:absolute; left:56%; top:22%; width:38%; height:52%; border:1px solid #CFCFCF; background:#fff;}
.cb-grid{position:absolute; inset:8% 4% 18% 4%; background:repeating-linear-gradient(180deg, #E3E3E3 0 1px, transparent 1px 25%);}
.cb-b{position:absolute; bottom:18%; left:var(--x); width:9%; height:calc(var(--h) * .74); background:#4472C4;}
.cb-b.is-o{background:#ED7D31;}
.cb-leg{position:absolute; left:0; right:0; bottom:4%; display:flex; justify-content:center; align-items:center; gap:1cqw; font-size:1.5cqw; color:#555;}
.cb-leg i{display:inline-block; width:1.4cqw; height:1.4cqw; background:#4472C4;}
.cb-leg i.is-o{background:#ED7D31; margin-left:1.5cqw;}
.cb-foot{position:absolute; right:4%; bottom:5%; font-size:1.5cqw; color:#888;}
/* après : la même slide, signée YC Creations (grille, Nohemi, mot-clé en dégradé, chiffre clé, graphique propre).
     Titre et chiffre clé dans la moitié droite : poignée au milieu, on voit d'emblée l'ordinaire face au soigné ; le graphique se découvre en glissant. */
.pk-cmp-sl.is-after{background-color:var(--bleu-nuit); clip-path:inset(0 0 0 var(--p)); font-family:'Plus Jakarta Sans',sans-serif;}
.pk-cmp-sl.is-after::before{content:''; position:absolute; inset:0; pointer-events:none;
    background:radial-gradient(60% 70% at 85% 10%, rgba(110,193,228,0.18), transparent 70%), radial-gradient(50% 60% at 10% 100%, rgba(217,169,79,0.07), transparent 70%);}
.pk-cmp-sl.is-after > span{position:absolute; line-height:1;}
.ca-k{left:55%; top:9%; font-size:1.6cqw; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--BleuYC);}
.ca-t{left:55%; top:16%; font-family:'Nohemi',sans-serif; font-weight:300; font-size:4.6cqw; line-height:1.04 !important; letter-spacing:-0.02em; color:#fff;}
.ca-t b{font-weight:700;}
.ca-kpi{left:55%; top:44%; font-family:'Nohemi',sans-serif; font-weight:600; font-size:11.5cqw; letter-spacing:-0.04em; color:#fff;}
.ca-kpi i{font-style:normal; font-weight:300; color:var(--BleuYC);}
.ca-cap{left:55.4%; top:66%; font-size:1.8cqw; color:rgba(255,255,255,0.62);}
.ca-chart{left:7%; top:16%; width:38%; height:58%; display:flex; align-items:flex-end; justify-content:space-between; gap:6%; box-shadow:0 1px 0 rgba(255,255,255,0.2);}
.ca-col{position:relative; flex:1; height:var(--h); border-radius:.8cqw .8cqw 0 0; background:linear-gradient(180deg, var(--ciel), var(--BleuYC));}
.ca-col.is-gold{background:linear-gradient(180deg, var(--champagne), var(--GoldYC));}
.ca-col em{position:absolute; left:50%; top:calc(100% + 1.4cqw); translate:-50% 0; font-style:normal; font-size:1.5cqw; letter-spacing:0.1em; color:rgba(255,255,255,0.45);}
.ca-stats{left:7%; right:7%; top:84%; display:flex; gap:6cqw; padding-top:2cqw; border-top:1px solid rgba(255,255,255,0.1);}
.ca-stats > span{display:flex; align-items:baseline; gap:1cqw; font-size:1.6cqw; color:rgba(255,255,255,0.6);}
.ca-stats b{font-family:'Nohemi',sans-serif; font-weight:600; font-size:2.6cqw; color:#fff;}
/* poignée : un filet vertical et une pastille au trait (sans halo) */
.pk-cmp-handle{position:absolute; top:0; bottom:0; left:var(--p); z-index:3; width:44px; margin-left:-22px; display:flex; align-items:center; justify-content:center; outline:none; cursor:ew-resize;}
.pk-cmp-handle::before{content:''; position:absolute; top:0; bottom:0; left:50%; width:2px; margin-left:-1px; background:rgba(255,255,255,0.9); box-shadow:0 0 0 1px rgba(10,13,16,0.25);}
.pk-cmp-grip{position:relative; display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; color:#fff;
    background:rgba(10,13,16,0.78); box-shadow:inset 0 0 0 1px rgba(255,255,255,0.45), 0 10px 24px rgba(0,0,0,0.35); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
    transition:box-shadow .3s ease, transform .4s var(--pk-out); flex-shrink:0; aspect-ratio:1;}
.pk-cmp-grip svg{width:20px; height:20px; flex-shrink:0;}
.pk-cmp-stage:hover .pk-cmp-grip, .pk-cmp-stage.is-drag .pk-cmp-grip{box-shadow:inset 0 0 0 1px var(--BleuYC), 0 10px 24px rgba(0,0,0,0.35); transform:scale(1.06);}
.pk-cmp-handle:focus-visible .pk-cmp-grip{box-shadow:0 0 0 2px var(--BleuYC), 0 10px 24px rgba(0,0,0,0.35);}
.pk-cmp-labels{display:flex; justify-content:space-between; font-family:'Plus Jakarta Sans',sans-serif; font-size:12px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:var(--muted);}
/* v489 : message d'aide entre « Avant » et « Après » ; il disparaît en fondu à la première interaction avec la poignée */
.pk-cmp-labels{position:relative;}
.pk-cmp-hint{position:absolute; left:50%; top:0; transform:translateX(-50%); white-space:nowrap; color:rgba(255,255,255,0.7); transition:opacity .4s ease;}
.pk-cmp-hint i{font-style:normal; color:var(--BleuYC); margin-right:.4em; letter-spacing:0;}
.pk-cmp-hint.is-gone{opacity:0;}
@media (max-width:560px){
  /* écran étroit : le message passe sous « Avant » et « Après », centré */
  .pk-cmp-labels{flex-wrap:wrap; row-gap:8px;}
  .pk-cmp-hint{position:static; order:3; width:100%; text-align:center; transform:none;}
}
/* ---------- PETITS VISUELS (slide de pitch · template · écran de formation), communs à l'aperçu et aux cartes ---------- */
.pk-vis{position:relative; width:100%; aspect-ratio:16/9;}
.pk-vis svg{display:block; width:100%; height:100%; overflow:visible;}
.pk-vis svg *{transform-box:fill-box;}
.pk-vis .v-fr{fill:#0E141A; stroke:rgba(255,255,255,0.14); stroke-width:1; vector-effect:non-scaling-stroke;}
.pk-vis .v-t{fill:rgba(255,255,255,0.85); transform-origin:0 50%;}
.pk-vis .v-s{fill:rgba(255,255,255,0.22);}
.pk-vis .v-base{stroke:rgba(255,255,255,0.18); stroke-width:1; vector-effect:non-scaling-stroke;}
.pk-vis .v-bar{fill:rgba(110,193,228,0.55); transform-origin:50% 100%; transform:scaleY(.3); transition:transform 1s var(--pk-out) calc(.15s + var(--j, 0) * .12s);}
.pk-vis .v-bar:nth-of-type(n){fill:rgba(110,193,228,0.55);}
.pk-vis .v-bar + .v-bar{fill:var(--BleuYC);}
.pk-vis .v-bar.is-gold{fill:var(--GoldYC);}
.pk-vis .v-grid{stroke:rgba(110,193,228,0.22); stroke-width:1; stroke-dasharray:2 3; vector-effect:non-scaling-stroke; opacity:.35; transition:opacity .8s ease .1s;}
.pk-vis .v-sw{transform-origin:50% 50%; transform:scale(.2); opacity:0; transition:transform .7s cubic-bezier(.34,1.56,.64,1) calc(.2s + var(--j, 0) * .09s), opacity .4s ease calc(.2s + var(--j, 0) * .09s);}
.pk-vis .v-blk{fill:rgba(255,255,255,0.04); stroke:rgba(255,255,255,0.14); stroke-width:1; vector-effect:non-scaling-stroke;}
.pk-vis .v-blk.is-blue{fill:rgba(110,193,228,0.10); stroke:rgba(110,193,228,0.4);}
.pk-vis .v-aa{font-family:'Nohemi',sans-serif; font-weight:300; font-size:20px; fill:rgba(255,255,255,0.88);}
.pk-vis .v-play{fill:none; stroke:rgba(255,255,255,0.55); stroke-width:1.2; vector-effect:non-scaling-stroke;}
.pk-vis .v-tri{fill:rgba(255,255,255,0.88);}
.pk-vis .v-track{fill:rgba(255,255,255,0.12);}
.pk-vis .v-prog{transform-origin:0 50%; transform:scaleX(.08); transition:transform 1.6s var(--pk-out) .2s;}
.pk-vis .v-mod{fill:rgba(255,255,255,0.05); stroke:rgba(255,255,255,0.12); stroke-width:1; vector-effect:non-scaling-stroke; opacity:0; transform:translateX(6px); transition:opacity .5s ease calc(.3s + var(--j, 0) * .1s), transform .7s var(--pk-out) calc(.3s + var(--j, 0) * .1s);}
.pk-vis .v-mod.is-on{fill:rgba(110,193,228,0.16); stroke:rgba(110,193,228,0.5);}
/* état « joué » : aperçu actif, ou carte arrivée à l'écran */
.pk-card.is-in .v-bar{transform:none;}
.pk-card.is-in .v-grid{opacity:1;}
.pk-card.is-in .v-sw{transform:none; opacity:1;}
.pk-card.is-in .v-prog{transform:scaleX(.62);}
.pk-card.is-in .v-mod{opacity:1; transform:none;}
.pk-card.is-in .pk-vis *{transition-delay:calc(1s + var(--j, 0) * .12s);}
/* dans les cartes : après l'éventail */
.pk-card:hover .v-prog{transform:scaleX(.8);}
/* v489 : cartes 01 et 02, petites animations dans l'esprit de la 03 (jouées une fois à l'arrivée, après l'éventail ; aucune boucle).
     Animations CSS (et non transitions) pour l'arrivée, afin que le survol réagisse sans le délai de l'éventail. */
.pk-card.is-in .pk-vis.is-pres .v-bar{transform:none; animation:pkBarUp 1.4s var(--pk-out) calc(1s + var(--j, 0) * .15s) backwards; transition:transform .6s var(--pk-out); transition-delay:0s;}
.pk-card:hover .pk-vis.is-pres .v-bar{transform:scaleY(1.05);}
.pk-card:hover .pk-vis.is-pres .v-bar.is-gold{transform:scaleY(1.1);}
.pk-vis .v-ul{transform-origin:0 50%;}
.pk-card.is-in .pk-vis.is-pres .v-ul{animation:pkDraw .9s var(--pk-out) 1.1s backwards;}
.pk-card.is-in .pk-vis.is-tpl .v-grid{opacity:1; transform-origin:50% 0; animation:pkGrid .8s var(--pk-out) calc(1s + var(--j, 0) * .08s) backwards;}
.pk-card.is-in .pk-vis.is-tpl .v-sw{transform:none; opacity:1; animation:pkSw .6s cubic-bezier(.34,1.56,.64,1) calc(1.75s + var(--j, 0) * .09s) backwards; transition:transform .4s var(--pk-out); transition-delay:0s;}
.pk-card:hover .pk-vis.is-tpl .v-sw{transform:translateY(-2px); transition-delay:calc(var(--j, 0) * .06s);}
.pk-card.is-in .pk-vis.is-tpl .v-ul{animation:pkDraw .9s var(--pk-out) 1.5s backwards;}
.pk-card.is-in .pk-vis.is-tpl .v-aa{animation:pkFade .8s ease 1.6s backwards;}
.pk-card.is-in .pk-vis.is-tpl .v-blk.is-blue{transition:stroke .4s ease, fill .4s ease; transition-delay:0s;}
.pk-card:hover .pk-vis.is-tpl .v-blk.is-blue{stroke:rgba(110,193,228,0.6); fill:rgba(110,193,228,0.13);}
@keyframes pkBarUp{from{transform:scaleY(.15);}}
@keyframes pkDraw{from{transform:scaleX(0);}}
@keyframes pkGrid{from{transform:scaleY(0);}}
@keyframes pkSw{from{transform:scale(.2); opacity:0;}}
@keyframes pkFade{from{opacity:0;}}
@media (prefers-reduced-motion: reduce){
  .pk-vis *{animation:none !important;}
}
/* ---------- LES 3 CARTES (v445) ---------- */
.pk-offer{position:relative; padding:112px var(--gutter) 0;}
/* v451 : respiration entre le hero et les packs */
.pk-cards{position:relative; z-index:1; display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px; align-items:stretch;}
.pk-card{position:relative; display:flex; flex-direction:column; border-radius:var(--rayon-l); isolation:isolate; overflow:hidden; scroll-margin-top:120px;
    background:radial-gradient(90% 60% at 100% 0%, rgba(31,110,145,0.16), transparent 70%), linear-gradient(165deg, #161C22 0%, #10151A 100%);
    box-shadow:0 40px 80px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.06);}
/* filet fin, puis bordure animée Or / Bleu au survol (même famille que les badges et la nav) */
.pk-card::before{content:''; position:absolute; inset:0; z-index:3; border-radius:inherit; padding:1px; pointer-events:none;
    background:linear-gradient(180deg, rgba(255,255,255,0.14), rgba(255,255,255,0.03));
    -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask:linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);}
.pk-card::after{content:''; position:absolute; inset:0; z-index:3; border-radius:inherit; padding:1.5px; pointer-events:none; opacity:0; transition:opacity .6s ease;
    background:conic-gradient(from var(--badge-angle), rgba(217,169,79,0.1) 0%, var(--GoldYC) 18%, rgba(217,169,79,0.1) 36%, rgba(110,193,228,0.1) 55%, var(--BleuYC) 72%, rgba(110,193,228,0.1) 90%, rgba(217,169,79,0.1) 100%);
    -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask:linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
    animation:badgeSpin 6s linear infinite;}
.pk-card:hover::after, .pk-card.is-pick::after{opacity:1;}
/* halo Bleu YC qui suit la souris (--mx/--my) */
.pk-body::before{content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:0; transition:opacity .5s ease;
    background:radial-gradient(460px circle at var(--mx, 50%) var(--my, 0%), rgba(110,193,228,0.13), transparent 60%);}
.pk-card:hover .pk-body::before{opacity:1;}
.pk-page.pk-ready .pk-card.rv.is-in{transition:opacity .9s ease calc(var(--d, 0) * .14s), transform 1.1s cubic-bezier(.22,1,.36,1) calc(var(--d, 0) * .14s), filter .9s ease calc(var(--d, 0) * .14s), box-shadow .6s ease;}
.pk-page.pk-ready .pk-card.rv.is-in:hover, .pk-card:hover{transform:translateY(-8px); box-shadow:0 60px 100px rgba(0,0,0,0.55), 0 0 60px rgba(110,193,228,0.08); transition-delay:0s;}
@media (hover:hover){
  .pk-cards:hover .pk-card:not(:hover){opacity:.62 !important;}
}
.pk-page.pk-ready .pk-card.rv.is-in{transition-property:opacity, transform, filter, box-shadow;}
/* numéro en filigrane, dans l'angle */
.pk-ghost{position:absolute; top:-22px; right:16px; z-index:0; font-family:'Nohemi',sans-serif; font-weight:700; font-size:150px; line-height:1; letter-spacing:-0.04em; pointer-events:none;
    color:transparent; -webkit-text-stroke:1px rgba(110,193,228,0.12); transition:-webkit-text-stroke-color .6s ease, transform 1s cubic-bezier(.22,1,.36,1);}
.pk-card:hover .pk-ghost{-webkit-text-stroke-color:rgba(217,169,79,0.32); transform:translateY(6px);}
.pk-body{position:relative; z-index:1; flex:1; display:flex; flex-direction:column; padding:32px;}
/* 1er niveau de lecture : nom du pack, puis prix */
.pk-top{display:flex; align-items:center; gap:12px;}
.pk-n{font-family:'Nohemi',sans-serif; font-weight:600; font-size:12px; letter-spacing:0.1em; color:var(--muted); padding:5px 10px; border-radius:999px; box-shadow:inset 0 0 0 1px rgba(255,255,255,0.14);}
.pk-kind{font-size:12px; letter-spacing:0.16em; text-transform:uppercase; font-weight:600; color:var(--BleuYC);}
.pk-name{margin:20px 0 0; font-family:'Nohemi',sans-serif; font-weight:200; font-size:clamp(30px, 2.5vw, 38px); line-height:1.04; letter-spacing:-0.02em; color:#fff;}
.pk-name .yc-grad{font-weight:700; display:block;}
.pk-lead{margin:12px 0 0; font-size:15px; line-height:1.55; color:rgba(255,255,255,0.6);}
.pk-price{position:relative; display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-top:24px; padding:20px 0 22px;}
.pk-price::before, .pk-price::after{content:''; position:absolute; left:0; right:0; height:1px;}
.pk-price::before{top:0; background:linear-gradient(90deg, var(--BleuYC), rgba(241,221,176,0.6) 55%, rgba(217,169,79,0) 100%); opacity:.55;}
.pk-price::after{bottom:0; background:rgba(255,255,255,0.07);}
.pk-price-v{display:flex; flex-direction:column; gap:8px; min-width:0;}
.pk-price-v small{font-size:12px; letter-spacing:0.18em; text-transform:uppercase; color:var(--muted);}
.pk-amount{display:flex; align-items:flex-start; gap:8px;}
.pk-count{font-family:'Nohemi',sans-serif; font-weight:200; font-size:80px; line-height:.86; letter-spacing:-0.04em; color:#fff; counter-reset:num var(--num); font-variant-numeric:tabular-nums;}
.pk-count::after{content:counter(num);}
.is-in .pk-count{animation:pkCount 2.2s cubic-bezier(.22,1,.36,1) calc(.4s + var(--d, 0) * .14s) both;}
@keyframes pkCount{from{--num:0;} to{--num:var(--to);}}
.pk-cur{display:flex; flex-direction:column; gap:4px; padding-top:4px; font-family:'Nohemi',sans-serif; font-weight:600; font-size:22px; line-height:1; color:var(--GoldYC);}
.pk-cur em{font-style:normal; font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; font-size:11px; letter-spacing:0.16em; color:rgba(255,255,255,0.5);}
.pk-quote{font-family:'Nohemi',sans-serif; font-weight:200; font-size:52px; line-height:.95; letter-spacing:-0.03em; color:#fff; white-space:nowrap;}
.pk-price .pk-vis{flex:0 0 auto; width:clamp(112px, 9.4vw, 140px); transition:transform .8s var(--pk-out);}
.pk-card:hover .pk-price .pk-vis{transform:translateY(-3px);}
/* 2e niveau : inclusions, support, demande de devis */
.pk-inc-k{margin:20px 0 12px; font-size:11px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--muted);}
.pk-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; flex:1;}
.pk-list li{display:flex; align-items:flex-start; gap:12px; font-size:14px; line-height:1.5; color:rgba(255,255,255,0.8);}
.pk-list i{flex:0 0 16px; width:16px; height:16px; margin-top:3px; display:flex; align-items:center; justify-content:center; color:var(--BleuYC);}
.pk-list svg{width:16px; height:16px; flex-shrink:0;}
/* v491 : mention de la carte 02, sous la liste (« Charte graphique seule ou avec template de présentation ») */
.pk-mention{display:flex; align-items:flex-start; gap:10px; margin:14px 0 0; text-align:left; font-family:'Plus Jakarta Sans',sans-serif; font-size:14px; font-style:italic; line-height:1.45; color:var(--texte-corps);}
.pk-mention::before{content:''; flex:0 0 16px; width:16px; height:2px; margin-top:.65em; border-radius:1px; background:linear-gradient(90deg, var(--BleuYC), #F1DDB0, var(--GoldYC));}
.pk-list:has(+ .pk-mention){flex:0 0 auto;}
.pk-mention{flex:1 0 auto;}
/* la mention suit la liste ; c'est elle qui prend l'espace restant (cartes de même hauteur) */
.pk-page.pk-ready .pk-card .pk-list li{opacity:0; transform:translateX(-10px);}
.pk-page.pk-ready .pk-card.is-in .pk-list li{opacity:1; transform:none; transition:opacity .6s ease calc(.9s + var(--d, 0) * .14s + var(--i) * .1s), transform .7s cubic-bezier(.22,1,.36,1) calc(.9s + var(--d, 0) * .14s + var(--i) * .1s);}
/* support technique offert : filet doré, pictogramme au trait, sans lueur */
.pk-support{display:flex; align-items:center; gap:14px; margin-top:20px; padding:12px 14px; border-radius:var(--rayon-m);
    background:linear-gradient(110deg, rgba(217,169,79,0.08), rgba(217,169,79,0) 75%); box-shadow:inset 0 0 0 1px rgba(217,169,79,0.22);}
.pk-support i{flex:0 0 36px; width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--GoldYC); box-shadow:inset 0 0 0 1px rgba(217,169,79,0.45); aspect-ratio:1;}
.pk-support svg{width:18px; height:18px; flex-shrink:0;}
.pk-support span{display:flex; flex-direction:column; gap:2px; font-size:13px; line-height:1.4; color:rgba(255,255,255,0.6);}
.pk-support b{font-family:'Nohemi',sans-serif; font-weight:500; font-size:15px; color:#fff;}
/* « Demander un devis » (v471) : même composant que le bouton de l'appel final (.hero-cta : bordure animée, remplissage
     dégradé YC depuis la droite, pastille Or YC qui tourne de 45°), en pleine largeur dans la carte. Apparition heroCtaIn en même
     temps que la carte (0,25 s après le début réel de sa distribution, --rvd posé par revealRef), puis heroArrowIn pour la pastille (v473). */
.pk-cta{display:flex; width:auto; align-self:stretch; justify-content:space-between; margin-top:16px; text-decoration:none;}
.pk-cta:focus-visible .hero-cta-fill{transform:scale(1);}
.pk-card.is-in .pk-cta{animation:heroCtaIn .95s cubic-bezier(.22,1,.36,1) calc(var(--rvd, 450ms) + .25s) backwards;}
.pk-card.is-in .pk-cta .hero-cta-arrow{animation:heroArrowIn .8s cubic-bezier(.34,1.56,.64,1) calc(var(--rvd, 450ms) + .75s) backwards;}
@media (prefers-reduced-motion: reduce){
  .pk-card.is-in .pk-cta, .pk-card.is-in .pk-cta .hero-cta-arrow{animation:none;}
}
.pk-note{position:relative; z-index:1; text-align:center; margin:40px auto 0; font-size:14px; color:var(--muted);}
/* ---------- ÉTAPES DE LA COLLABORATION (v445) : tient sur un écran d'ordinateur ---------- */
.pk-steps{position:relative; padding:120px var(--gutter) 64px;}
.pk-steps-head{position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; gap:24px; margin-bottom:72px;}
.pk-steps-title{font-size:clamp(44px, 5vw, 72px);}
.pk-flow2{position:relative; z-index:1; list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(6, minmax(0,1fr)); gap:24px;}
/* la ligne relie le centre du 1er repère à celui du 6e */
.pk-flow2::before, .pk-flow2::after{content:''; position:absolute; z-index:0; left:22px; top:22px; width:calc(83.333% + 20px); height:1px;}
/* v451 : la ligne sous les étapes */
.pk-flow2::before{background:rgba(255,255,255,0.08);}
.pk-flow2::after{background:linear-gradient(90deg, var(--BleuYC), #A9D9EC 45%, #F1DDB0 75%, var(--GoldYC)); transform-origin:left; transform:scaleX(var(--ln, 1));}
.pk-step{position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; gap:12px; min-width:0;}
.pk-node{position:relative; z-index:1; width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:12px;
    font-family:'Nohemi',sans-serif; font-weight:600; font-size:13px; letter-spacing:0.06em; color:#fff; background:#12181E; box-shadow:inset 0 0 0 1px rgba(110,193,228,0.55); flex-shrink:0; aspect-ratio:1;}
.pk-step h3{margin:0; font-family:'Nohemi',sans-serif; font-weight:400; font-size:20px; line-height:1.15; color:#fff;}
/* titres des étapes sur deux lignes (v470) : ligne 1 en Nohemi 300, ligne 2 (le sens) en Nohemi 500, jamais recoupée ;
     taille commune réduite dans les colonnes étroites pour que « & ajustements » et « post-livraison » tiennent */
.pk-step h3{font-size:var(--pk-h3, 20px); line-height:1.1;}
.pk-t1, .pk-t2{display:block;}
.pk-t1{font-weight:300;}
.pk-t2{font-weight:500; white-space:nowrap;}
@media (min-width:1051px){
  .pk-step h3{font-size:clamp(17px, calc(2.215vw - 5.5px), 20px);}
}
/* 6 colonnes : 20 px dès 1 152 px, un peu moins en dessous */
.pk-step p{margin:0; font-size:14px; line-height:1.6; color:rgba(255,255,255,0.62);}
.pk-step.is-gold .pk-node{color:var(--GoldYC); box-shadow:inset 0 0 0 1px var(--GoldYC); background:linear-gradient(140deg, #322F26, #12181E 70%);}
/* opaque : la ligne ne se voit jamais à travers */
.pk-step.is-gold h3{color:var(--GoldYC);}
/* arrivée (une fois) : la ligne se trace, les étapes suivent en cascade, au rythme de la ligne */
.pk-steps.is-armed .pk-flow2{--ln:0;}
.pk-steps.is-armed .pk-flow2::after{transition:transform 1.8s cubic-bezier(.65,0,.35,1) .2s;}
/* v451 : les étapes elles-mêmes ne s'estompent plus (sinon la ligne se verrait à travers les cercles) : le cercle, opaque, s'ouvre quand la ligne l'atteint, puis le texte monte */
.pk-steps.is-armed .pk-step h3, .pk-steps.is-armed .pk-step p{opacity:0; transform:translateY(12px); transition:opacity .7s ease calc(.4s + var(--i) * .3s), transform .9s var(--pk-out) calc(.4s + var(--i) * .3s);}
.pk-steps.is-armed .pk-node{transform:scale(0); box-shadow:inset 0 0 0 1px rgba(255,255,255,0.14); transition:transform .6s cubic-bezier(.34,1.56,.64,1) calc(.25s + var(--i) * .3s), box-shadow .6s ease calc(.35s + var(--i) * .3s);}
.pk-steps.is-in .pk-flow2{--ln:1;}
.pk-steps.is-in .pk-step h3, .pk-steps.is-in .pk-step p{opacity:1; transform:none;}
.pk-steps.is-in .pk-node{transform:none; box-shadow:inset 0 0 0 1px rgba(110,193,228,0.55);}
.pk-steps.is-in .pk-step.is-gold .pk-node{box-shadow:inset 0 0 0 1px var(--GoldYC);}
/* ---------- Responsive ---------- */
/* mobile et tablette peu hauts : la carte se resserre pour rester lisible entière */
@media (max-width:1100px) and (max-height:760px){
  .pk-offer .pk-body{padding:18px 20px;}
  .pk-offer .pk-name{margin-top:10px; font-size:26px;}
  .pk-offer .pk-lead{margin-top:6px; font-size:13px; line-height:1.4;}
  .pk-offer .pk-price{margin-top:12px; padding:10px 0 12px;}
  .pk-offer .pk-count{font-size:48px;}
  .pk-offer .pk-quote{font-size:36px;}
  .pk-offer .pk-inc-k{margin:10px 0 6px;}
  .pk-offer .pk-list{gap:4px;}
  .pk-offer .pk-list li{font-size:13px; line-height:1.35;}
  .pk-offer .pk-support{margin-top:10px; padding:6px 12px;}
  .pk-offer .pk-support i{flex-basis:28px; width:28px; height:28px; flex-shrink:0;}
  .pk-offer .pk-support span{font-size:12px;}
  .pk-offer .pk-support b{font-size:14px;}
  .pk-offer .pk-cta{margin-top:10px; padding:6px 6px 6px 20px;}
  .pk-offer .pk-cta .hero-cta-arrow{width:32px; height:32px;}
}
@media (max-width:1100px){
  .pk-offer .pk-cards{grid-template-columns:1fr; max-width:580px !important; margin-left:auto !important; margin-right:auto !important;}
  .pk-lead{min-height:0;}
}
@media (max-width:700px){
  .pk-body{padding:26px 22px 24px;}
  .pk-ghost{font-size:120px;}
  .pk-count{font-size:64px;}
  .pk-quote{font-size:44px;}
}
@media (max-width:1050px){
  .pk-hero{min-height:0; padding-top:144px; padding-bottom:72px;}
  .pk-offer{padding-top:56px;}
  .pk-hero-grid{grid-template-columns:1fr; gap:48px;}
  .pk-cmp{max-width:680px;}
  .pk-flow2{grid-template-columns:repeat(3, minmax(0,1fr)); row-gap:40px;}
  .pk-flow2::before, .pk-flow2::after{display:none;}
}
@media (max-width:767px){
  .pk-hero{padding-top:120px; padding-bottom:56px;}
  .pk-offer{padding-top:48px;}
  .pk-hero-p{font-size:16px;}
  .pk-cmp-grip{width:40px; height:40px; flex-shrink:0; aspect-ratio:1;}
  .pk-price .pk-vis{width:104px;}
  /* étapes : frise verticale serrée */
  .pk-steps{padding-top:88px; padding-bottom:48px;}
  .pk-steps-head{margin-bottom:40px;}
  .pk-flow2{grid-template-columns:1fr; gap:18px;}
  .pk-flow2::before, .pk-flow2::after{display:block; left:17px; top:18px; width:1px; height:calc(100% - 36px);}
  .pk-flow2::after{background:linear-gradient(180deg, var(--BleuYC), #A9D9EC 45%, #F1DDB0 75%, var(--GoldYC)); transform-origin:top; transform:scaleY(var(--ln, 1));}
  .pk-step{display:grid; grid-template-columns:36px minmax(0,1fr); column-gap:16px; row-gap:4px; align-items:start;}
  .pk-node{grid-row:span 2; width:36px; height:36px; margin:0; font-size:12px; flex-shrink:0; aspect-ratio:1;}
  .pk-step h3{font-size:17px; padding-top:7px;}
  .pk-step p{font-size:14px; line-height:1.5;}
}
@media (prefers-reduced-motion: reduce){
  .sv-in, .sv-line .sv-in, .pk-card::after, .pk-dot::after{animation:none !important;}
  .pk-cmp-grip, .pk-vis *, .pk-steps .pk-step, .pk-steps .pk-step h3, .pk-steps .pk-step p, .pk-steps .pk-node, .pk-steps .pk-flow2::after{transition:none !important;}
  .pk-page.pk-ready .rv, .pk-page.pk-ready .pk-card .pk-list li{opacity:1; transform:none; filter:none;}
}
@keyframes pkBar{to{height:var(--h);}}
.nav-shell, .hero-in, .trust-head, .stats-light, .hx-section, .tl-section, .pf-head, .tm-section,
  .sv-hero, .sv-main, .sv-packs, .po-hero, .po-index, .po-cases, .po-m-shell, .pk-hero, .pk-process, .pk-faq,
  .ap-hero, .ap-manifesto, .ap-stats, .ap-story, .ap-team, .ap-values, .ct-hero, .ct-proms{padding-left:var(--gutter) !important; padding-right:var(--gutter) !important;}
/* Conteneurs : plus de centrage à largeur max, ils vont d'une marge à l'autre */
.hx-wrap, .sv-hero-grid, .sv-layout, .sv-packs-card, .po-hero-grid, .po-wrap, .po-m-bar, .po-m-panels, .po-m-nav,
  .pk-wrap, .pk-cards, .pk-flow, .ap-hero-grid, .ap-wrap, .ap-team-row, .ct-grid, .ct-wrap{max-width:none !important; margin-left:0 !important; margin-right:0 !important;}
/* ===== PHOTO AVANT L'APPEL FINAL — mêmes effets que la photo de la page d'accueil =====
     Pleine largeur, fondu en haut et en bas, ouverture du cadre + zoom doux à l'apparition, calque photo en parallaxe (--py),
     halo de projecteur qui part dans l'autre sens (--pg), voile sombre. Classes et variables posées par cfPhotoRef. */
.cf-photo{position:relative; z-index:1; height:clamp(420px, 52vw, 720px); margin:96px 0 0; overflow:hidden;
    -webkit-mask-image:linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.35) 14%, #000 38%, #000 76%, transparent 100%);
    mask-image:linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.35) 14%, #000 38%, #000 76%, transparent 100%);}
.cf-photo-layer{position:absolute; left:0; right:0; top:-14%; height:128%; will-change:transform; transform:translate3d(0, var(--py, 0px), 0);
    clip-path:inset(16% 12% round 30px); transition:clip-path 2s cubic-bezier(.16,1,.3,1);}
.cf-photo.is-in .cf-photo-layer{clip-path:inset(0% 0% round 0px);}
.cf-photo img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 42%;
    filter:saturate(0.8) brightness(0.82); opacity:0.001; transform:scale(1.08); transition:transform 2.2s cubic-bezier(.22,1,.36,1), opacity 1.4s ease;}
.cf-photo.is-in img{opacity:1; transform:scale(1);}
.cf-photo-glow{position:absolute; inset:-20%; pointer-events:none; mix-blend-mode:screen; opacity:0; will-change:transform; transform:translate3d(0, var(--pg, 0px), 0); transition:opacity 1.8s ease .5s;}
.cf-photo-glow::before{content:''; position:absolute; inset:0; background:radial-gradient(34% 44% at 30% 44%, rgba(110,193,228,0.34), transparent 70%), radial-gradient(28% 36% at 78% 38%, rgba(217,169,79,0.10), transparent 70%);}
.cf-photo.is-in .cf-photo-glow{opacity:1;}
.cf-photo.is-in .cf-photo-glow::before{animation:cfPhotoGlow 16s ease-in-out infinite alternate;}
@keyframes cfPhotoGlow{0%{transform:translate3d(-5%,0,0) scale(1);}50%{transform:translate3d(4%,-3%,0) scale(1.08);}100%{transform:translate3d(9%,3%,0) scale(1.14);}}
.cf-photo::after{content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg, rgba(10,13,16,0.55) 0%, rgba(14,42,58,0.2) 45%, rgba(10,13,16,0.4) 100%);}
@media (max-width:767px){
  .cf-photo{height:340px; margin-top:56px;}
}
@media (prefers-reduced-motion: reduce){
  .cf-photo-layer{clip-path:none; transition:none;}
  .cf-photo img{opacity:1; transform:none; transition:none;}
  .cf-photo-glow::before{animation:none !important;}
}
/* ===== PHOTO → APPEL FINAL : continuité =====
     Cadrage abaissé pour garder la partie sombre du bas de la photo, fondu du bas repoussé tout au bout,
     et appel final remonté sur ce bas sombre : la photo se prolonge dans le fond de l'appel final. */
.cf-photo{height:clamp(460px, 58vw, 840px);
    -webkit-mask-image:linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.35) 10%, #000 28%, #000 80%, transparent 100%);
    mask-image:linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.35) 10%, #000 28%, #000 80%, transparent 100%);}
.cf-photo img{object-position:center 58%;}
/* la poignée de main au centre, la table sombre sous le logo de l'appel final */
/* ≥ 768 px : image calée pour que le logo de l'appel final tombe toujours au même endroit de la photo (bord de la table, sous la poignée de main, ligne ≈ 880 px sur 1254), quelle que soit la largeur ; même calcul que la page d'accueil. */
@media (min-width:768px){
  .cf-photo img{object-position:50% calc(1.14 * clamp(460px, 58vw, 840px) - 120px - 70.2vw);}
}
.cf-photo::after{background:linear-gradient(180deg, rgba(10,13,16,0.55) 0%, rgba(14,42,58,0.2) 40%, rgba(10,13,16,0.45) 72%, rgba(10,13,16,0.9) 100%);}
#contact{margin-top:calc(-80px - var(--section));}
/* logo 80 px dans le bas de la photo, comme sur l'accueil */
@media (max-width:767px){
  .cf-photo{height:400px;}
  #contact{margin-top:calc(-16px - var(--section));}
}
/* ===== APPEL FINAL AU PREMIER PLAN + PARALLAXE DU HAUT DE LA PHOTO =====
     L'appel final passe toujours au-dessus de la photo (et de tout le reste de la page, sauf la nav).
     La photo défile moins vite que le bloc « Questions » : elle part plus haut, derrière le bas des questions, et rejoint sa place
     exacte au moment où le logo de l'appel final arrive au milieu de l'écran (le bas de la photo reste donc inchangé).
     Décalage --pf posé par cfPhotoRef. */
#contact{z-index:3;}
/* la photo suit directement les questions */
.cf-photo{translate:0 var(--pf, 0px);}
@media (prefers-reduced-motion: reduce){
  .cf-photo{translate:none;}
}
/* La photo ne passe jamais derrière le bloc « Questions » : son haut est rogné (--pc) sous ce bloc (160 px de fond de page), et un long fondu
     du haut repart de cette nouvelle limite. Dès que les questions sont sorties de l'écran, la photo retrouve toute sa hauteur. */
.cf-photo{
    -webkit-mask-image:linear-gradient(to bottom, transparent 0, transparent var(--pc, 0px), rgba(0,0,0,0.12) calc(var(--pc, 0px) + 10%), rgba(0,0,0,0.45) calc(var(--pc, 0px) + 24%), #000 calc(var(--pc, 0px) + 40%), #000 80%, transparent 100%);
    mask-image:linear-gradient(to bottom, transparent 0, transparent var(--pc, 0px), rgba(0,0,0,0.12) calc(var(--pc, 0px) + 10%), rgba(0,0,0,0.45) calc(var(--pc, 0px) + 24%), #000 calc(var(--pc, 0px) + 40%), #000 80%, transparent 100%);}
/* ===== CARTES LISIBLES SANS DÉFILER (v445) =====
     Chaque carte tient entière sous la nav ; sur les écrans peu hauts, espacements et prix se resserrent (rien n'est retiré). */
@media (max-height:860px) and (min-width:1051px){
  .pk-hero{padding-top:112px; padding-bottom:40px;}
  .pk-title{font-size:min(6.6vw, 10.5vh);}
  .pk-hero-p{font-size:18px;}
  .pk-hero-in{gap:20px;}
  .pk-cmp{max-width:min(100%, calc(56vh * 16 / 9));}
}
@media (max-height:860px) and (min-width:1101px){
  .pk-body{padding:24px 26px;}
  .pk-name{margin-top:14px; font-size:clamp(28px, 2.3vw, 34px);}
  .pk-lead{margin-top:8px; font-size:14px; line-height:1.5;}
  .pk-price{margin-top:16px; padding:14px 0 16px;}
  .pk-count{font-size:64px;}
  .pk-quote{font-size:44px;}
  .pk-inc-k{margin:14px 0 10px;}
  .pk-list{gap:6px;}
  .pk-list li{line-height:1.4;}
  .pk-support{margin-top:14px; padding:8px 12px;}
  .pk-support i{flex-basis:30px; width:30px; height:30px; flex-shrink:0; aspect-ratio:1;}
  .pk-cta{margin-top:12px; padding:7px 7px 7px 24px;}
  .pk-cta .hero-cta-arrow{width:34px; height:34px;}
}
@media (max-height:720px) and (min-width:1101px){
  .pk-body{padding:18px 22px;}
  .pk-name{margin-top:10px;}
  .pk-price{margin-top:12px; padding:10px 0 12px;}
  .pk-inc-k{margin:10px 0 6px;}
  .pk-list{gap:4px;}
  .pk-support{margin-top:10px;}
  .pk-cta{margin-top:10px; padding:6px 6px 6px 20px;}
  .pk-cta .hero-cta-arrow{width:32px; height:32px;}
  .pk-name{font-size:26px;}
  .pk-count{font-size:52px;}
  .pk-quote{font-size:38px;}
  .pk-support span{font-size:12px;}
  .pk-support b{font-size:14px;}
  .pk-price .pk-vis{width:100px;}
}
@media (min-width:2000px){
  .pk-hero{min-height:calc(100svh / var(--xl));}
  .cf-photo img{object-position:50% calc(1.14 * 840px - 120px - 70.2vw / var(--xl));}
}
/*=====BLOCK=====*/
/* ===== v505 — MOBILE (≤ 767 px) : MÉMOIRE ET FLUIDITÉ — tablette, ordinateur et grands écrans inchangés =====
     Cause du rechargement de l'Accueil sur iPhone : trop de grandes couches graphiques actives en même temps (halos de fond
     animés avec will-change, halos flous, avis flous), plus des images de 2 400 px décodées pour des vignettes. Ici :
     halos figés et sans flou, plus de verre dépoli, animations en pause hors écran, images de 800 px sur mobile. */
@media (max-width:767px){
  /* départ commun des hero : nav (80 px) + 40 px — badge, ou titre s'il n'y a pas de badge */
  .pk-hero{padding-top:var(--hero-top-m) !important;}
  /* halos « spot de scène » : figés, flou remplacé par un masque radial (aucun filter:blur) */
  .blob{animation:none !important; translate:none !important; filter:none !important;
        -webkit-mask-image:radial-gradient(closest-side, #000 18%, transparent 100%); mask-image:radial-gradient(closest-side, #000 18%, transparent 100%);}
  .yc-sky > .blob{filter:brightness(0.55) !important;}
}
/*=====BLOCK=====*/
/* ===== v506 — HERO MOBILE (≤ 767 px) : même paragraphe que Services (16 px, interligne 1,7) sur les 6 pages ;
     titre agrandi : sa ligne la plus longue (« Trois formules, » — déjà à 99 % : taille actuelle gardée) occupe ≈ 98 % de la largeur utile, à toute largeur de mobile
     (taille proportionnelle à 100vw − 2 gouttières), plafonnée à 112 px. Tablette et ordinateur inchangés. ===== */
@media (max-width:767px){
  h1.pk-title{font-size:min(calc((100vw - 2 * var(--gutter, 24px)) * 0.152), 112px) !important;}
}
