*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --noir:#111110;--blanc:#fafaf8;--gris-pale:#f0ede8;
  --gris-moyen:#c8c4bc;--gris-texte:#787570;
  --accent:#4a6741;--accent-pale:#e8ede6;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Outfit',system-ui,sans-serif;
}
html{scroll-behavior:smooth}
body{font-family:var(--sans);font-weight:300;background:var(--blanc);color:var(--noir);font-size:16px;line-height:1.6;overflow-x:hidden}

nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:0.85rem 4rem;background:rgba(250,250,248,0.94);backdrop-filter:blur(12px);border-bottom:0.5px solid var(--gris-moyen)}
.nav-logo{display:inline-flex;align-items:center;text-decoration:none;color:var(--noir)}
.nav-logo img{display:block;width:96px;height:auto}
.nav-links{display:flex;gap:2.5rem;list-style:none}
.nav-links a{font-size:11px;letter-spacing:0.16em;text-transform:uppercase;text-decoration:none;color:var(--gris-texte);transition:color 0.2s}
.nav-links a:hover{color:var(--noir)}
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;border:0.5px solid rgba(17,17,16,0.14);border-radius:999px;background:transparent;color:var(--noir);cursor:pointer}
.nav-toggle span{display:block;width:16px;height:1.5px;margin:0 auto;background:currentColor;transition:transform 0.2s,opacity 0.2s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.nav-actions{display:flex;align-items:center;gap:0.75rem}
.nav-social{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;color:var(--gris-texte);text-decoration:none;border:0.5px solid rgba(17,17,16,0.14);border-radius:999px;transition:color 0.2s,border-color 0.2s,background 0.2s}
.nav-social svg{width:14px;height:14px;fill:currentColor}
.nav-social:hover{color:var(--noir);border-color:rgba(17,17,16,0.28);background:rgba(17,17,16,0.03)}
.nav-cta{font-size:10px;letter-spacing:0.14em;text-transform:uppercase;text-decoration:none;color:var(--blanc);background:var(--noir);padding:0.52rem 1.1rem;transition:background 0.2s}
.nav-cta:hover{background:var(--accent)}
.mobile-menu{display:none}

#hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;padding-top:80px}
.hero-left{display:flex;flex-direction:column;justify-content:center;padding:6rem 4rem}
.hero-eyebrow{font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--gris-texte);margin-bottom:2rem;display:flex;align-items:center;gap:12px;animation:fadeUp 0.7s ease 0.1s both}
.hero-eyebrow::before{content:'';display:inline-block;width:24px;height:0.5px;background:var(--gris-moyen)}
.hero-h1{font-family:var(--serif);font-size:clamp(48px,5.5vw,76px);font-weight:300;line-height:1.05;margin-bottom:2.5rem;letter-spacing:-0.01em;animation:fadeUp 0.8s ease 0.25s both}
.hero-h1 em{font-style:italic;color:var(--gris-texte)}
.hero-tagline{font-size:15px;line-height:1.85;color:var(--gris-texte);max-width:420px;border-left:1px solid var(--gris-moyen);padding-left:1.4rem;margin-bottom:3rem;animation:fadeUp 0.8s ease 0.4s both}
.hero-actions{display:flex;gap:2rem;align-items:center;animation:fadeUp 0.8s ease 0.55s both}
.hero-right{position:relative;overflow:hidden;background:var(--gris-pale)}
.hero-right img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;filter:grayscale(15%);margin-top:20px}
.hero-credit{position:absolute;bottom:1.5rem;right:1.5rem;font-size:10px;letter-spacing:0.1em;color:rgba(255,255,255,0.55);text-transform:uppercase}

.btn-primary{font-size:11px;letter-spacing:0.14em;text-transform:uppercase;text-decoration:none;color:var(--blanc);background:var(--noir);padding:0.9rem 2rem;transition:background 0.2s;display:inline-block}
.btn-primary:hover{background:var(--accent)}
.btn-secondary{font-size:11px;letter-spacing:0.14em;text-transform:uppercase;text-decoration:none;color:var(--gris-texte);border-bottom:0.5px solid var(--gris-moyen);padding-bottom:2px;transition:color 0.2s,border-color 0.2s}
.btn-secondary:hover{color:var(--noir);border-color:var(--noir)}

#mantra{background:var(--noir);color:var(--blanc);padding:6rem 4rem;text-align:center}
.mantra-quote{font-family:var(--serif);font-size:clamp(26px,3.5vw,46px);font-weight:300;font-style:italic;line-height:1.3;max-width:800px;margin:0 auto 1.5rem}
.mantra-sub{font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--gris-moyen)}

section{padding:6rem 4rem}
.section-label{font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--gris-texte);margin-bottom:3rem;display:flex;align-items:center;gap:12px}
.section-label::after{content:'';display:inline-block;flex:1;height:0.5px;background:var(--gris-moyen);max-width:60px}

#univers{background:var(--blanc)}
.univers-grid{display:grid;grid-template-columns:repeat(3,1fr);border:0.5px solid var(--gris-moyen)}
.univers-card{padding:2.5rem 2rem;border-right:0.5px solid var(--gris-moyen);transition:background 0.3s}
.univers-card:last-child{border-right:none}
.univers-card:hover{background:var(--gris-pale)}
.u-num{font-family:var(--serif);font-size:56px;font-weight:300;color:var(--gris-moyen);line-height:1;margin-bottom:1.5rem}
.u-tag{font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--gris-texte);border:0.5px solid var(--gris-moyen);padding:4px 10px;display:inline-block;margin-bottom:1rem}
.u-title{font-family:var(--serif);font-size:26px;font-weight:300;margin-bottom:0.8rem;line-height:1.2}
.u-desc{font-size:13px;line-height:1.75;color:var(--gris-texte)}

#conferences{background:var(--gris-pale)}
.conf-intro{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-bottom:3.5rem;align-items:end}
.conf-h2{font-family:var(--serif);font-size:clamp(30px,4vw,50px);font-weight:300;line-height:1.1}
.conf-h2 em{font-style:italic;color:var(--gris-texte)}
.conf-texte{font-size:14px;line-height:1.85;color:var(--gris-texte)}

.conf-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:280px 280px;gap:8px;margin-bottom:3rem}
.photo{overflow:hidden;position:relative;background:var(--gris-moyen)}
.photo img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(25%);transition:filter 0.4s,transform 0.6s}
.photo:hover img{filter:grayscale(0%);transform:scale(1.03)}
.photo.large{grid-row:span 2}
.photo-label{position:absolute;bottom:0.8rem;left:0.8rem;font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.8);background:rgba(0,0,0,0.4);padding:3px 8px}

.conf-sujets{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--gris-moyen);border:0.5px solid var(--gris-moyen)}
.conf-sujet{background:var(--blanc);padding:2rem;transition:background 0.2s}
.conf-sujet:hover{background:var(--accent-pale)}
.cs-tag{font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent);margin-bottom:0.6rem;display:block}
.cs-title{font-family:var(--serif);font-size:20px;font-weight:300;margin-bottom:0.5rem}
.cs-desc{font-size:12px;color:var(--gris-texte);line-height:1.65}

#offres{background:var(--blanc)}
.offres-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--gris-moyen);border:0.5px solid var(--gris-moyen)}
.offre-card{background:var(--blanc);padding:2.5rem 2rem;transition:background 0.2s}
.offre-card:hover{background:var(--gris-pale)}
.o-cible{font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:var(--gris-texte);margin-bottom:0.8rem;display:block}
.o-title{font-family:var(--serif);font-size:22px;font-weight:300;margin-bottom:0.7rem}
.o-desc{font-size:13px;color:var(--gris-texte);line-height:1.7;margin-bottom:1.2rem}
.o-items{list-style:none;border-top:0.5px solid var(--gris-moyen)}
.o-items li{font-size:12px;color:var(--gris-texte);padding:0.5rem 0;border-bottom:0.5px solid var(--gris-moyen)}
.o-items li::before{content:"→ ";color:var(--noir)}

#fungimaker{background:var(--noir);color:var(--blanc);display:grid;grid-template-columns:1fr 1fr}
.fungi-left{padding:6rem 4rem;display:flex;flex-direction:column;justify-content:center}
.fungi-tag{font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--gris-moyen);border:0.5px solid #444;padding:4px 12px;display:inline-block;margin-bottom:2rem;width:fit-content}
.fungi-h2{font-family:var(--serif);font-size:clamp(36px,4vw,56px);font-weight:300;line-height:1.05;margin-bottom:1.5rem}
.fungi-h2 em{font-style:italic;color:var(--gris-moyen)}
.fungi-txt{font-size:14px;line-height:1.85;color:var(--gris-moyen);margin-bottom:2.5rem;max-width:400px}
.fungi-details{border-top:0.5px solid #333}
.fungi-row{display:flex;justify-content:space-between;padding:0.8rem 0;border-bottom:0.5px solid #333;font-size:12px;gap:1rem}
.fungi-row-key{color:#555;letter-spacing:0.08em;text-transform:uppercase;font-size:10px;flex-shrink:0}
.fungi-row-val{color:var(--blanc);text-align:right}
.fungi-cta{margin-top:2.5rem;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;text-decoration:none;color:var(--blanc);border-bottom:0.5px solid #555;padding-bottom:2px;display:inline-block;transition:border-color 0.2s}
.fungi-cta:hover{border-color:var(--blanc)}
.fungi-right{position:relative;overflow:hidden;min-height:500px}
.fungi-right img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(25%) brightness(0.75)}

#about{background:var(--gris-pale);display:grid;grid-template-columns:1fr 1fr}
.about-photo{overflow:hidden;min-height:520px}
.about-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:grayscale(15%)}
.about-content{padding:6rem 4rem;display:flex;flex-direction:column;justify-content:center}
.about-h2{font-family:var(--serif);font-size:clamp(30px,3.5vw,46px);font-weight:300;line-height:1.15;margin-bottom:2rem}
.about-h2 em{font-style:italic;color:var(--gris-texte)}
.about-txt{font-size:14px;line-height:1.9;color:var(--gris-texte);margin-bottom:1.2rem}
.about-txt strong{color:var(--noir);font-weight:400}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--gris-moyen);border:0.5px solid var(--gris-moyen);margin-top:2.5rem}
.stat{background:var(--blanc);padding:1.2rem 0.8rem;text-align:center}
.stat-n{font-family:var(--serif);font-size:32px;font-weight:300;display:block;line-height:1}
.stat-l{font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--gris-texte);display:block;margin-top:4px}

#contact{background:var(--blanc);text-align:center;padding:7rem 4rem}
.contact-h2{font-family:var(--serif);font-size:clamp(36px,5vw,68px);font-weight:300;line-height:1.1;margin-bottom:1.5rem}
.contact-h2 em{font-style:italic;color:var(--gris-texte)}
.contact-sub{font-size:14px;color:var(--gris-texte);max-width:480px;margin:0 auto 3rem;line-height:1.7}
.contact-actions{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;margin-bottom:4rem}
.contact-infos{display:flex;justify-content:center;gap:3rem;font-size:12px;color:var(--gris-texte);letter-spacing:0.06em;flex-wrap:wrap}
.contact-infos a{color:var(--gris-texte);text-decoration:none;transition:color 0.2s}
.contact-infos a:hover{color:var(--noir)}

footer{background:var(--noir);color:var(--gris-moyen);padding:2rem 4rem;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:0.08em}
footer a{color:var(--gris-moyen);text-decoration:none}
footer a:hover{color:var(--blanc)}
.footer-logo{font-family:var(--serif);font-size:16px;color:var(--blanc);font-weight:300}

@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:900px){
  nav{padding:0.8rem 1.25rem}
  .nav-links{display:none}
  .nav-toggle{display:flex;margin-left:auto}
  .nav-actions{display:none}
  .mobile-menu{position:fixed;top:74px;left:0;right:0;z-index:99;display:block;padding:0 1rem}
  .mobile-menu[hidden]{display:none}
  .mobile-menu-panel{background:rgba(250,250,248,0.98);backdrop-filter:blur(12px);border:0.5px solid var(--gris-moyen);box-shadow:0 18px 36px rgba(17,17,16,0.08);padding:1rem 1.25rem;display:flex;flex-direction:column;gap:0.9rem}
  .mobile-menu-panel a{font-size:11px;letter-spacing:0.16em;text-transform:uppercase;text-decoration:none;color:var(--gris-texte)}
  .mobile-menu-panel a:last-child{color:var(--noir)}
  #hero{grid-template-columns:1fr}
  .hero-right{min-height:50vh}
  .hero-left{padding:5rem 2rem 3rem}
  section{padding:4rem 2rem}
  .univers-grid{grid-template-columns:1fr}
  .univers-card{border-right:none;border-bottom:0.5px solid var(--gris-moyen)}
  .conf-intro{grid-template-columns:1fr;gap:2rem}
  .conf-gallery{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .conf-gallery .photo{height:220px}
  .photo.large{grid-row:span 1}
  .conf-sujets{grid-template-columns:1fr}
  .offres-grid{grid-template-columns:1fr}
  #fungimaker{grid-template-columns:1fr}
  .fungi-right{min-height:300px}
  #about{grid-template-columns:1fr}
  .about-photo{min-height:300px}
  .about-content{padding:3rem 2rem}
  .stats-row{grid-template-columns:repeat(2,1fr)}
  footer{flex-direction:column;gap:1rem;text-align:center}
  #mantra{padding:4rem 2rem}
  #contact{padding:5rem 2rem}
}
