.page-hero{position:relative;overflow:hidden;padding:clamp(5rem,9vw,9rem) 0 clamp(3.5rem,7vw,6.5rem);border-bottom:1px solid var(--line);background-image:url('/assets/media/orbit-field.svg');background-size:cover}.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 25%,color-mix(in srgb,var(--accent,var(--pink)),transparent 80%),transparent 28%),linear-gradient(115deg,transparent 42%,color-mix(in srgb,var(--accent2,var(--violet)),transparent 92%));pointer-events:none}.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--accent,var(--pink)),var(--accent2,var(--cyan)),transparent 80%)}.hero-grid{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:center}.hero-mark{justify-self:end;width:min(300px,34vw);aspect-ratio:1;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent),transparent 30%);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent),transparent 78%),transparent 67%);box-shadow:0 0 70px color-mix(in srgb,var(--accent),transparent 74%)}.hero-mark img{width:62%;max-height:74%;object-fit:contain;color:var(--accent);filter:drop-shadow(0 0 25px color-mix(in srgb,var(--accent),transparent 40%))}.visual-code{display:grid;gap:.2rem;margin-top:1.5rem;border-left:3px solid var(--accent);padding-left:1rem;max-width:56ch}.visual-code span{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:var(--accent);font-weight:900}.visual-code strong{font-size:.92rem;color:var(--muted)}
.section{padding:clamp(3.5rem,7vw,7rem) 0}.section.alt{background:color-mix(in srgb,var(--surface),transparent 30%);border-block:1px solid var(--line)}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:end;margin-bottom:2rem}.section-head p{color:var(--muted);max-width:60ch}.proof-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:1rem;align-items:stretch}.proof-stage{border:1px solid var(--line);border-radius:var(--radius-l);padding:clamp(1.5rem,4vw,3.5rem);background:linear-gradient(135deg,color-mix(in srgb,var(--accent),transparent 90%),var(--surface));position:relative;overflow:hidden;min-height:360px;display:flex;align-items:end}.proof-stage::after{content:"";position:absolute;right:-12%;top:-25%;width:52%;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--accent),transparent 60%);border-radius:50%;box-shadow:0 0 0 25px color-mix(in srgb,var(--accent),transparent 95%),0 0 0 55px color-mix(in srgb,var(--accent2),transparent 96%)}.proof-copy{position:relative;z-index:2;max-width:650px}.proof-copy p{font-size:var(--step-0);color:var(--muted)}.proof-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.proof-mosaic figure{margin:0;border:1px solid var(--line);border-radius:var(--radius-l);overflow:hidden;position:relative;min-height:360px}.proof-mosaic img{width:100%;height:100%;object-fit:cover;filter:grayscale(.28) contrast(1.06)}.proof-mosaic figure::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 56%,rgba(7,7,11,.88))}.proof-mosaic figcaption{position:absolute;left:1rem;bottom:.85rem;right:1rem;z-index:2;font-weight:900;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:#fff}.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.content-card{position:relative;border:1px solid var(--line);border-radius:var(--radius-m);padding:1.5rem;background:var(--surface);overflow:hidden;min-height:210px}.content-card::before{content:attr(data-index);position:absolute;right:1rem;top:.4rem;font-family:var(--display);font-size:4.8rem;font-weight:950;color:color-mix(in srgb,var(--accent),transparent 88%);line-height:1}.content-card h3{position:relative;max-width:16ch}.content-card p{position:relative;color:var(--muted)}.audience-grid{display:flex;flex-wrap:wrap;gap:.75rem}.audience-pill{border:1px solid var(--line);border-radius:999px;padding:.7rem 1rem;background:var(--surface);font-weight:800}.process{display:grid;grid-template-columns:repeat(6,1fr);gap:.6rem}.step{position:relative;border-top:2px solid var(--accent);padding:1rem .7rem;border-radius:0 0 14px 14px;background:var(--surface);font-weight:850;min-height:105px}.step span{display:block;color:var(--accent);font-family:var(--display);font-size:1.6rem;line-height:1;margin-bottom:.5rem}.cta-band{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid color-mix(in srgb,var(--accent),transparent 45%);border-radius:var(--radius-l);padding:clamp(1.3rem,4vw,2.5rem);background:linear-gradient(110deg,color-mix(in srgb,var(--accent),transparent 84%),color-mix(in srgb,var(--accent2),transparent 91%))}.cta-band h2{margin:0}
.audit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.audit-card{border:1px solid var(--line);border-radius:var(--radius-m);padding:1.4rem;background:var(--surface)}.audit-card.featured{border-color:var(--yellow);transform:translateY(-8px);box-shadow:0 0 45px rgba(255,216,74,.08)}.audit-card ul{padding-left:1.1rem;color:var(--muted)}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.project-card{--project:#fff;border:1px solid var(--line);border-left:4px solid var(--project);border-radius:var(--radius-m);padding:1.4rem;background:var(--surface)}.project-card .status{color:var(--project);font-weight:900;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.project-card .kind{font-weight:800}.project-card p,.project-card small{color:var(--muted)}.project-feature{display:grid;grid-template-columns:.8fr 1.2fr;gap:1rem;border:1px solid var(--line);border-radius:var(--radius-l);overflow:hidden;background:#09080d}.project-feature-copy{padding:clamp(1.5rem,4vw,3.2rem);display:flex;flex-direction:column;justify-content:center}.project-logo{width:min(100%,430px);margin:1rem 0}.project-feature-media{display:grid;grid-template-columns:1fr 1fr;min-height:480px}.project-feature-media img{width:100%;height:100%;object-fit:cover}.project-feature-media .project-animation{filter:saturate(.8) contrast(1.08)}
.universe-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}.universe-grid>img{border-radius:var(--radius-l);border:1px solid var(--line);box-shadow:var(--shadow)}.principle-list{display:grid;gap:.6rem;padding-left:1.2rem;color:var(--muted)}.swatch-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.7rem}.swatch{min-height:160px;border-radius:18px;background:var(--sw);padding:1rem;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid rgba(255,255,255,.18);color:#fff;text-shadow:0 1px 4px #000}.swatch span{text-transform:uppercase;font-weight:900}.swatch strong{font-size:.72rem}.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.mode-grid article{border:1px solid var(--line);border-radius:var(--radius-m);padding:1.4rem;background:var(--surface)}.mode-grid article>span{font-family:var(--display);font-size:3rem;color:var(--accent);line-height:1}.mode-grid p{color:var(--muted)}
.identity-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.identity-card,.team-card{border:1px solid var(--line);border-radius:var(--radius-m);padding:1.4rem;background:var(--surface)}.identity-card dl{display:grid;grid-template-columns:minmax(120px,.6fr) 1.4fr;gap:.7rem 1rem;margin:0}.identity-card dt{color:var(--muted)}.identity-card dd{margin:0;font-weight:750;overflow-wrap:anywhere}.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.field-rail.compact{grid-template-columns:repeat(4,1fr);margin-top:1rem}.timeline{position:relative;display:grid;gap:1rem}.timeline::before{content:"";position:absolute;left:77px;top:0;bottom:0;width:1px;background:linear-gradient(var(--pink),var(--cyan),var(--violet))}.timeline-item{display:grid;grid-template-columns:70px 1fr;gap:2rem;position:relative}.timeline-item::before{content:"";position:absolute;left:70px;top:1.25rem;width:15px;height:15px;border-radius:50%;background:var(--accent);box-shadow:0 0 20px var(--accent)}.timeline-year{font-size:1.1rem;font-weight:950;color:var(--accent);padding-top:.9rem}.timeline-card{border:1px solid var(--line);border-radius:var(--radius-m);padding:1.2rem 1.4rem;background:var(--surface)}.timeline-card p{color:var(--muted);margin:0}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:2rem}.contact-panel{border:1px solid var(--line);border-radius:var(--radius-l);padding:1.5rem;background:var(--surface)}.contact-logo{width:120px;border-radius:50%;margin-bottom:1rem}.contact-panel a{text-decoration:none}.contact-form{display:grid;gap:1rem;border:1px solid var(--line);border-radius:var(--radius-l);padding:clamp(1.2rem,3vw,2rem);background:var(--surface)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-form label{display:grid;gap:.4rem;font-weight:750}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:12px;padding:.85rem}.contact-form .consent{display:flex;grid-template-columns:auto 1fr;align-items:flex-start}.contact-form .consent input{width:auto;margin-top:.3rem}.hidden{display:none}.legal-content{max-width:820px}.legal-content h2{margin-top:2.4rem}.legal-content p,.legal-content li{color:var(--muted)}
@media(max-width:900px){.proof-layout,.project-feature,.universe-grid{grid-template-columns:1fr}.proof-mosaic{min-height:420px}.process{grid-template-columns:repeat(3,1fr)}.project-feature-media{min-height:350px}.swatch-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.hero-grid,.section-head,.contact-layout,.identity-grid,.team-grid{grid-template-columns:1fr}.hero-mark{justify-self:start;width:150px}.card-grid,.projects-grid,.audit-grid,.mode-grid{grid-template-columns:1fr}.audit-card.featured{transform:none}.field-grid{grid-template-columns:1fr}.cta-band{align-items:flex-start;flex-direction:column}.timeline::before{left:17px}.timeline-item{grid-template-columns:1fr;padding-left:2.7rem;gap:.2rem}.timeline-item::before{left:10px}.timeline-year{padding-top:0}.identity-card dl{grid-template-columns:1fr;gap:.2rem}.identity-card dd{margin-bottom:.6rem}.process{grid-template-columns:repeat(2,1fr)}.proof-mosaic{grid-template-columns:1fr}.proof-mosaic figure{min-height:300px}.project-feature-media{grid-template-columns:1fr}.project-feature-media .project-animation{display:none}.swatch-grid{grid-template-columns:repeat(2,1fr)}.field-rail.compact{display:flex}}

/* V2.1 — traces d'activité */
.proof-mosaic figcaption{display:grid;gap:.3rem}
.proof-mosaic figcaption strong{font:inherit}
.proof-mosaic figcaption small{font-size:.62rem;line-height:1.35;color:rgba(255,255,255,.72);letter-spacing:.035em}
.proof-mosaic figure[data-media-type="event"]{border-color:color-mix(in srgb,var(--yellow),transparent 55%)}
.proof-mosaic figure[data-media-type="terrain"]{border-color:color-mix(in srgb,var(--cyan),transparent 65%)}
.proof-mosaic figure[data-media-type="project"]{border-color:color-mix(in srgb,var(--pink),transparent 60%)}
.archive-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.archive-card{border:1px solid var(--line);border-radius:var(--radius-m);overflow:hidden;background:var(--surface);display:grid;grid-template-rows:230px 1fr;min-width:0}
.archive-card figure{margin:0;overflow:hidden;background:#08080b}
.archive-card img{width:100%;height:100%;object-fit:cover;transition:.35s var(--ease)}
.archive-card:hover img{transform:scale(1.035)}
.archive-card>div{padding:1.1rem}
.archive-card .status{font-size:.67rem;text-transform:uppercase;letter-spacing:.07em;color:var(--accent);font-weight:900}
.archive-card h3{font-size:1.15rem;margin:.45rem 0 .15rem}
.archive-card p{color:var(--muted);font-size:.86rem;margin:.35rem 0}
.archive-card .archive-period{color:var(--text);font-weight:800}
@media(max-width:1050px){.archive-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.archive-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.5rem}.archive-card{min-width:82vw;scroll-snap-align:start}}


/* V2.2 — formulaire et anti-chevauchement */
.contact-form>*{min-width:0}
.contact-form input,.contact-form select,.contact-form textarea{min-width:0;max-width:100%}
.form-status{margin:.15rem 0 0;color:var(--muted);font-size:.82rem}
.contact-fallback{margin:.1rem 0 0;padding:.85rem 1rem;border:1px dashed color-mix(in srgb,var(--accent),transparent 52%);border-radius:12px;background:color-mix(in srgb,var(--accent),transparent 92%);font-size:.9rem}
.contact-fallback a{font-weight:900;overflow-wrap:anywhere}
@media(max-width:560px){.process{grid-template-columns:1fr}.archive-card{min-width:min(82vw,320px)}}
.contact-form .hidden{display:block!important;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}

/* V2.6 — fiche Contact sans formulaire */
.contact-hero{padding-bottom:clamp(2.8rem,5vw,4.6rem)}
.contact-hero-copy{max-width:860px;text-align:center}
.contact-hero-copy .lead{margin-inline:auto}
.contact-sheet-section{padding-top:clamp(2rem,5vw,4rem)}
.contact-sheet{
  position:relative;
  max-width:980px;
  margin:0 auto;
  padding:clamp(1.35rem,4vw,3rem);
  border:1px solid color-mix(in srgb,var(--accent),transparent 55%);
  border-radius:clamp(24px,4vw,40px);
  background:
    radial-gradient(circle at 50% 12%,color-mix(in srgb,var(--accent),transparent 86%),transparent 34%),
    linear-gradient(145deg,color-mix(in srgb,var(--surface),transparent 3%),color-mix(in srgb,var(--bg),transparent 8%));
  box-shadow:0 28px 90px rgba(0,0,0,.38),inset 0 0 0 1px rgba(255,255,255,.025);
  overflow:hidden;
}
.contact-sheet::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(#000,transparent 76%);
}
.contact-mail-logo{
  position:relative;
  z-index:2;
  display:grid;
  justify-items:center;
  gap:.85rem;
  width:min(74vw,330px);
  margin:0 auto 1.6rem;
  text-align:center;
  text-decoration:none;
  color:var(--muted);
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.contact-mail-logo img{
  width:100%;
  aspect-ratio:1;
  object-fit:cover;
  border-radius:50%;
  background:#fff;
  box-shadow:0 20px 65px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.42),0 0 44px rgba(255,45,170,.15);
  transition:transform .32s var(--ease),box-shadow .32s var(--ease),filter .32s var(--ease);
}
.contact-mail-logo:hover img,.contact-mail-logo:focus-visible img{
  transform:translateY(-4px) scale(1.018);
  box-shadow:0 24px 74px rgba(0,0,0,.5),0 0 0 2px var(--pink),0 0 50px rgba(255,45,170,.3);
  filter:contrast(1.04);
}
.contact-sheet-intro{position:relative;z-index:2;text-align:center;margin-bottom:1.7rem}
.contact-sheet-intro h2{margin:.35rem 0 .25rem;font-size:clamp(2.2rem,6vw,4.6rem)}
.contact-sheet-intro p{margin:0;color:var(--muted)}
.contact-facts{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem;
  margin:0;
}
.contact-facts>div{
  min-width:0;
  padding:1rem 1.05rem;
  border:1px solid var(--line);
  border-radius:16px;
  background:color-mix(in srgb,var(--surface2),transparent 14%);
}
.contact-facts dt{
  margin-bottom:.28rem;
  color:var(--muted);
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.contact-facts dd{margin:0;font-weight:800;overflow-wrap:anywhere}
.contact-facts a{text-decoration:none}
.contact-facts a:hover{text-decoration:underline}
.contact-fact-wide{grid-column:1/-1}
.contact-actions{
  position:relative;
  z-index:2;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:.75rem;
  margin-top:1.5rem;
}
.button-secondary{background:transparent;border-color:var(--line)}
.contact-actions .text-link{padding:.65rem .2rem;font-weight:850}
.contact-privacy{
  position:relative;
  z-index:2;
  max-width:760px;
  margin:1.3rem auto 0;
  color:var(--muted);
  text-align:center;
  font-size:.82rem;
}
html[data-theme="light"] .contact-sheet{box-shadow:0 28px 70px rgba(64,16,62,.12)}

@media(max-width:700px){
  .contact-facts{grid-template-columns:1fr}
  .contact-fact-wide{grid-column:auto}
  .contact-actions{align-items:stretch;flex-direction:column}
  .contact-actions .button,.contact-actions .text-link{width:100%;text-align:center;justify-content:center}
  .contact-mail-logo{width:min(78vw,280px)}
}


/* V3.1 — répertoire des projets accompagnés */
.accompanied-projects-page{
  background:
    radial-gradient(circle at 50% 28%,rgba(244,214,124,.055),transparent 34%),
    var(--bg);
}
.accompanied-projects-hero .hero-mark{
  border-color:color-mix(in srgb,#f4d67c,transparent 60%);
  box-shadow:0 0 42px rgba(244,214,124,.07);
}
.accompanied-projects-grid{
  display:grid;
  grid-template-columns:minmax(0,720px);
  justify-content:center;
}
.accompanied-project-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(190px,.7fr) minmax(0,1.3fr);
  gap:clamp(1.5rem,5vw,3.5rem);
  align-items:center;
  padding:clamp(1.5rem,4vw,3rem);
  border:1px solid color-mix(in srgb,var(--project-gold-soft),transparent 72%);
  border-radius:var(--radius-l);
  background:
    radial-gradient(circle at 22% 50%,rgba(200,154,50,.075),transparent 34%),
    color-mix(in srgb,var(--surface),transparent 4%);
  box-shadow:0 30px 80px rgba(0,0,0,.32);
  overflow:hidden;
}
.accompanied-project-logo-link{
  position:relative;
  isolation:isolate;
  display:grid;
  place-items:center;
  width:min(100%,230px);
  aspect-ratio:1;
  margin-inline:auto;
  border-radius:50%;
  outline-offset:8px;
  text-decoration:none;
  transition:transform .28s var(--ease),filter .28s var(--ease);
}
.accompanied-project-logo-link::before{
  content:"";
  position:absolute;
  inset:-6px;
  z-index:-1;
  border-radius:50%;
  border:1px solid rgba(244,214,124,.24);
  box-shadow:
    0 0 18px rgba(244,214,124,.11),
    inset 0 0 16px rgba(244,214,124,.05);
  transition:box-shadow .28s var(--ease),border-color .28s var(--ease),transform .28s var(--ease);
}
.accompanied-project-halo{
  position:absolute;
  inset:-20%;
  z-index:-2;
  border-radius:50%;
  background:radial-gradient(circle,rgba(244,214,124,.16),rgba(200,154,50,.045) 38%,transparent 68%);
  filter:blur(12px);
  opacity:.66;
  transition:opacity .28s var(--ease),transform .35s var(--ease);
}
.accompanied-project-logo-link img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
  display:block;
  box-shadow:0 18px 50px rgba(0,0,0,.38);
}
.accompanied-project-logo-link:hover,
.accompanied-project-logo-link:focus-visible{
  transform:translateY(-5px) scale(1.025);
  filter:saturate(1.06) brightness(1.035);
}
.accompanied-project-logo-link:hover::before,
.accompanied-project-logo-link:focus-visible::before{
  border-color:rgba(244,214,124,.55);
  box-shadow:0 0 32px rgba(244,214,124,.2),inset 0 0 20px rgba(244,214,124,.07);
  transform:scale(1.018);
}
.accompanied-project-logo-link:hover .accompanied-project-halo,
.accompanied-project-logo-link:focus-visible .accompanied-project-halo{
  opacity:.95;
  transform:scale(1.06);
}
.accompanied-project-copy h2{margin:.35rem 0 .65rem}
.accompanied-project-copy p{color:var(--muted);max-width:48ch}
.accompanied-project-external{color:var(--project-gold-soft)}
.accompanied-projects-note{border-top:1px solid var(--line)}
@media(max-width:760px){
  .accompanied-project-card{grid-template-columns:1fr;text-align:center}
  .accompanied-project-copy p{margin-inline:auto}
  .accompanied-project-logo-link{width:min(66vw,210px)}
}
@media(prefers-reduced-motion:reduce){
  .accompanied-project-logo-link,
  .accompanied-project-logo-link::before,
  .accompanied-project-halo{transition:none!important}
  .accompanied-project-logo-link:hover,
  .accompanied-project-logo-link:focus-visible{transform:none}
}
