/* Tous les sélecteurs sont préfixés k3v3 pour éviter la duplication du runtime actuel. */
[data-k3v3-surface] { position: relative; isolation: isolate; }
[data-k3v3-surface]::after {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(circle at var(--k3v3-light-x, 72%) var(--k3v3-light-y, 20%), rgba(49,93,255,.12), transparent 34%),
              linear-gradient(130deg, transparent 36%, rgba(98,215,232,.025) 52%, transparent 69%);
}
.k3v3-proof-vault { background: var(--k3v3-void); color: var(--k3v3-opal); overflow: clip; }
.k3v3-proof-vault__stage { min-height: min(82svh, 920px); display: grid; grid-template-columns: minmax(0,1.1fr) minmax(280px,.9fr); align-items: center; gap: clamp(2rem,7vw,9rem); }
.k3v3-proof-vault__canvas { min-height: 56svh; position: relative; }
.k3v3-proof-vault__canvas canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.k3v3-proof-card { border-top: 1px solid var(--k3v3-hairline); padding: 1rem 0 1.35rem; display: grid; grid-template-columns: 1fr auto; gap: 1rem; align-items: end; }
.k3v3-proof-card__meta { color: var(--k3v3-platinum); font: 500 .69rem/1.4 Manrope, sans-serif; letter-spacing: .15em; text-transform: uppercase; }
.k3v3-proof-card__title { margin: .45rem 0 0; color: var(--k3v3-carrara); font: 400 clamp(1.45rem,2.2vw,2.8rem)/.98 "Bodoni Moda",serif; }
.k3v3-certificato { position: relative; border: 1px solid rgba(216,231,239,.17); background: linear-gradient(145deg,rgba(216,231,239,.065),rgba(17,30,70,.08)); box-shadow: var(--k3v3-shadow); padding: clamp(1.4rem,3vw,3.2rem); overflow: hidden; }
.k3v3-certificato::before { content:""; position:absolute; inset:-35%; opacity:.17; background:url("../textures/k3_continuity_weave_mask.webp?v=20260819-finalmedia1") center/cover; transform:rotate(-8deg); mix-blend-mode:screen; }
.k3v3-certificato > * { position: relative; }
.k3v3-certificato__status { color:var(--k3v3-cyan); font:600 .64rem/1 Manrope,sans-serif; letter-spacing:.17em; text-transform:uppercase; }
.k3v3-certificato__title { color:var(--k3v3-carrara); font:400 clamp(2.4rem,5vw,6.8rem)/.85 "Bodoni Moda",serif; max-width:10ch; margin:1rem 0 1.6rem; }
.k3v3-certificato__timeline { display:grid; gap:.65rem; margin:2.2rem 0; }
.k3v3-certificato__step { display:grid; grid-template-columns:1.8rem 1fr auto; align-items:center; gap:.75rem; color:var(--k3v3-platinum); font:500 .72rem/1.35 Manrope,sans-serif; }
.k3v3-certificato__step i { width:.62rem; height:.62rem; border:1px solid currentColor; border-radius:50%; }
.k3v3-certificato__step[aria-current="step"] { color:var(--k3v3-opal); }
.k3v3-certificato__step[aria-current="step"] i { background:var(--k3v3-cyan); border-color:var(--k3v3-cyan); box-shadow:0 0 18px rgba(98,215,232,.4); }
.k3v3-patronage-sculpture, .k3v3-direction-lattice, .k3v3-atlas-field { position:relative; min-height:clamp(320px,58vw,760px); }
.k3v3-patronage-sculpture canvas, .k3v3-direction-lattice canvas, .k3v3-atlas-field canvas { position:absolute; inset:0; width:100%; height:100%; }
.k3v3-private-service { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.75fr); gap:clamp(2rem,8vw,10rem); align-items:start; }
.k3v3-private-service__list { border-top:1px solid var(--k3v3-hairline); }
.k3v3-private-service__item { border-bottom:1px solid var(--k3v3-hairline); padding:1.1rem 0; }
.k3v3-private-service__item button { width:100%; display:flex; justify-content:space-between; gap:1rem; color:inherit; background:none; border:0; text-align:left; font:500 .78rem/1.35 Manrope,sans-serif; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.k3v3-transmission { background:linear-gradient(135deg,var(--k3v3-burgundy),var(--k3v3-void) 62%); }
.k3v3-transmission__line { height:1px; background:linear-gradient(90deg,transparent,var(--k3v3-opal),transparent); transform-origin:left; }
.k3v3-dialogue { display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:clamp(2rem,7vw,8rem); }
.k3v3-dialogue__portrait { aspect-ratio:4/5; overflow:hidden; }
.k3v3-dialogue__portrait img { width:100%; height:100%; object-fit:cover; filter:saturate(.82) contrast(1.04); }
.k3v3-fallback { min-height:52svh; display:grid; place-items:center; background:var(--k3v3-obsidian) url("../environment/k3_palazzo_environment_2k.webp?v=20260819-finalmedia1") center/cover; }
@media (max-width: 800px) {
  .k3v3-proof-vault__stage, .k3v3-private-service, .k3v3-dialogue { grid-template-columns:1fr; }
  .k3v3-proof-vault__canvas { min-height:45svh; order:-1; }
  .k3v3-certificato__title { max-width:8ch; }
  .k3v3-certificato__timeline { gap:.9rem; }
}

/* --- K3 V3 full-mission snippets --- */
.k3v3-section-head{display:grid;gap:.8rem;max-width:min(980px,92vw);margin-bottom:clamp(2rem,6vw,6rem)}
.k3v3-eyebrow,.k3v3-meta{font:600 .66rem/1.35 Manrope,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--k3v3-cyan)}
.k3v3-display{margin:0;color:var(--k3v3-carrara);font:400 clamp(3rem,8vw,9rem)/.84 "Bodoni Moda",serif;letter-spacing:-.035em;text-wrap:balance}
.k3v3-principi__grid{display:grid;grid-template-columns:repeat(12,1fr);border-top:1px solid var(--k3v3-hairline)}
.k3v3-principi__grid>*{grid-column:span 6;padding:clamp(1.4rem,3vw,3rem) 0;border-bottom:1px solid var(--k3v3-hairline)}
.k3v3-dialogues__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,3vw,2.4rem)}
.k3v3-partners__rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,34vw);gap:1px;overflow:auto;scroll-snap-type:x mandatory;border-block:1px solid var(--k3v3-hairline)}
.k3v3-partners__rail>*{scroll-snap-align:start;padding:clamp(1.4rem,2.5vw,2.8rem);border-right:1px solid var(--k3v3-hairline)}
.k3v3-project-story{display:grid;grid-template-columns:minmax(160px,.25fr) minmax(0,1fr);gap:clamp(2rem,7vw,8rem)}
.k3v3-project-story__rail{position:sticky;top:clamp(5rem,12vh,9rem);align-self:start;display:grid;border-top:1px solid var(--k3v3-hairline)}
.k3v3-project-story__rail a{padding:.9rem 0;border-bottom:1px solid var(--k3v3-hairline);font:600 .65rem/1.2 Manrope,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--k3v3-platinum);text-decoration:none}
.k3v3-project-story__chapters{min-width:0}
.k3v3-atlas-stage{position:relative;min-height:min(82svh,900px);overflow:hidden;background:var(--k3v3-void)}
.k3v3-atlas-stage__map{position:relative;z-index:2;min-height:inherit}
.k3v3-atlas-field{position:absolute;inset:0;z-index:1;opacity:.6;pointer-events:none}
.k3v3-atlas-stage__legend{position:absolute;z-index:3;left:clamp(1rem,4vw,4rem);bottom:clamp(1rem,4vw,3rem);max-width:28rem;color:var(--k3v3-carrara)}
.k3v3-direction-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.68fr);align-items:center;gap:clamp(2rem,6vw,7rem);position:relative}
.k3v3-direction-stage__portrait{position:relative;z-index:2;margin:0;min-height:64svh}
.k3v3-direction-lattice{position:absolute;inset:5% 0 5% 42%;z-index:3;pointer-events:none;mix-blend-mode:screen;opacity:.7}
.k3v3-patronage-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.78fr);align-items:center;gap:clamp(2rem,7vw,8rem)}
@media (max-width:800px){.k3v3-display{font-size:clamp(2.8rem,15vw,6rem)}.k3v3-principi__grid>*{grid-column:1/-1}.k3v3-dialogues__grid,.k3v3-project-story,.k3v3-direction-stage,.k3v3-patronage-stage{grid-template-columns:1fr}.k3v3-project-story__rail{position:relative;top:auto;grid-template-columns:repeat(3,1fr)}.k3v3-project-story__rail a{text-align:center}.k3v3-direction-lattice{position:absolute;inset:8% -15% 28% 18%;opacity:.45}.k3v3-partners__rail{grid-auto-columns:82vw}}
.k3v3-proof-list{display:grid;gap:0}.k3v3-proof-card{grid-template-columns:72px minmax(0,1fr) auto}.k3v3-proof-card__preview{display:block;width:56px;aspect-ratio:3/4;overflow:hidden;background:var(--k3v3-carrara)}.k3v3-proof-card__preview img{width:100%;height:100%;object-fit:cover;filter:saturate(.35) contrast(1.02)}
@media(max-width:800px){.k3v3-proof-card{grid-template-columns:54px minmax(0,1fr)}.k3v3-proof-card>a{grid-column:2}.k3v3-proof-card__preview{width:44px}}

/* ═══ K3 V3 — Structure éditoriale Projets (Contexte→Restitution) ═══ */
.fc-v3-etape{display:flex;align-items:baseline;gap:14px;padding:clamp(18px,4vw,44px) clamp(20px,5vw,72px) 0;
  font:500 11px/1.4 "Manrope",sans-serif;letter-spacing:.34em;text-transform:uppercase;color:var(--k3v3-platinum,#aeb9cb)}
.fc-v3-etape b{font-weight:600;color:var(--k3v3-cyan,#62d7e8);letter-spacing:.22em}
.fc-v3-etape::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(174,185,203,.28),transparent);align-self:center}
.fc-v3-temps-sec .fc-v3-temps{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(14px,2.4vw,28px);
  padding:clamp(20px,4vw,48px) clamp(20px,5vw,72px) clamp(28px,5vw,64px);margin:0;list-style:none}
.fc-v3-temps li{border-top:1px solid rgba(174,185,203,.3);padding-top:14px}
.fc-v3-temps .fc-v3-temps__n{display:block;font:italic 400 clamp(20px,2.2vw,28px)/1 "Cormorant Garamond",serif;color:var(--k3v3-opal,#eef1f4);margin-bottom:8px}
.fc-v3-temps .fc-v3-temps__t{display:block;font:600 10.5px/1.5 "Manrope",sans-serif;letter-spacing:.26em;text-transform:uppercase;color:var(--k3v3-cyan,#62d7e8);margin-bottom:6px}
.fc-v3-temps .fc-v3-temps__d{display:block;font:400 13.5px/1.65 "Cormorant Garamond",serif;color:rgba(238,241,244,.82)}
@media (max-width:900px){.fc-v3-temps-sec .fc-v3-temps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.fc-v3-temps-sec .fc-v3-temps{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.fc-v3-etape,.fc-v3-temps li{transition:none!important}}

/* ═══ K3 V3 — Domaines : quatre chambres, couleur-lumière propre ═══ */
.fc-chambre{position:relative}
.fc-chambre::before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:2px;z-index:2;
  background:linear-gradient(90deg,var(--ch-lumiere,#62d7e8),transparent 70%);opacity:.85}
.fc-chambre__fait{display:block;margin:10px 0 4px;font:500 10.5px/1.6 "Manrope",sans-serif;letter-spacing:.22em;
  text-transform:uppercase;color:var(--ch-lumiere,#62d7e8)}
.fc-chambre__liens{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:12px}
.fc-chambre__lien--preuve{opacity:.72;font-size:.92em}
@media (prefers-reduced-motion:reduce){.fc-chambre::before{transition:none}}

/* ═══ K3 V3 — Principi Viventi : grammaire corpus (numéro·titre·texte·source) ═══ */
.fc-v3-corpus{counter-reset:v3principio}
.fc-v3-corpus .fc-defrow{counter-increment:v3principio;position:relative}
.fc-v3-corpus .fc-defrow::before{content:counter(v3principio,upper-roman);display:block;
  font:italic 400 clamp(19px,1.9vw,26px)/1 "Cormorant Garamond",serif;color:var(--k3v3-cyan,#62d7e8);
  margin-bottom:8px;letter-spacing:.06em}
.fc-v3-corpus__sources{margin-top:clamp(22px,4vw,44px);padding-top:18px;border-top:1px solid rgba(174,185,203,.22);
  font:500 11px/2 "Manrope",sans-serif;letter-spacing:.22em;text-transform:uppercase;color:rgba(238,241,244,.66)}
.fc-v3-corpus__sources a{color:var(--k3v3-platinum,#aeb9cb);text-decoration:none;border-bottom:1px solid rgba(98,215,232,.35);margin-right:.9em}
.fc-v3-corpus__sources a:hover{color:var(--k3v3-cyan,#62d7e8)}

/* ═══ K3 V3 — Proof Vault : finition documentaire ═══ */
.k3v3-proof-card__fiche{margin:10px 0 0;padding:0;list-style:none;font:500 10.5px/1.9 "Manrope",sans-serif;
  letter-spacing:.12em;text-transform:uppercase;color:rgba(238,241,244,.62)}
.k3v3-proof-card__fiche b{color:var(--k3v3-platinum,#aeb9cb);font-weight:600}
.k3v3-proof-card__hash{display:block;margin-top:6px;font:400 10px/1.6 ui-monospace,monospace;
  letter-spacing:.04em;color:rgba(98,215,232,.75);word-break:break-all;text-transform:none}
