/* HOMAZEK INSTITUT — style commun aux huit pages */
:root{--bleu:#15585b;--bleu-fonce:#103e40;--vert:#8dc63f;--encre:#183536;--texte:#445759;--clair:#f3f7f2;--blanc:#fff;--bordure:#dde6df;--largeur:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--blanc);font:16px/1.75 'Segoe UI',Arial,sans-serif;color:var(--texte);-webkit-font-smoothing:antialiased}
a{color:var(--bleu)}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--vert);outline-offset:4px}
h1,h2,h3{color:var(--encre);line-height:1.16;letter-spacing:-.035em;margin:0 0 22px}h1{font-size:clamp(2.6rem,5vw,5.1rem);font-weight:760}h2{font-size:clamp(2rem,3.3vw,3rem);font-weight:730}h3{font-size:1.5rem}p{margin:0 0 19px}h1 em{font-family:Georgia,serif;font-style:italic;font-weight:400;color:var(--bleu)}
.conteneur{width:min(var(--largeur),calc(100% - 64px));margin-inline:auto}
.lien-rapide{position:absolute;top:-100px;left:15px;z-index:200;background:white;padding:9px 16px}.lien-rapide:focus{top:10px}
/* Header */
.entete{height:90px;position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #ecf0eb}.entete-interieur{height:100%;display:flex;align-items:center;gap:28px}.logo,.marque-pied{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1.03;flex-shrink:0}.logo img{width:51px;height:51px;object-fit:contain;border-radius:8px}.logo span{color:var(--bleu-fonce);font-size:17px;font-weight:850;letter-spacing:.01em}.logo small,.marque-pied small{display:block;font-size:11px;letter-spacing:.18em;margin-top:5px}.navigation{display:flex;align-items:center;justify-content:flex-end;flex:1;gap:21px}.navigation>a{text-decoration:none;white-space:nowrap;color:#354f51;font-weight:650;font-size:13px}.navigation>a[aria-current]{color:var(--bleu);border-bottom:2px solid var(--vert)}.navigation>a:hover{color:#4b862d}.nav-contact{white-space:nowrap;text-decoration:none;background:var(--bleu);color:#fff;padding:12px 17px;border-radius:6px;font-weight:700;font-size:13px}.nav-contact:hover{background:var(--bleu-fonce)}.nav-contact span{color:var(--vert);padding-left:8px}.bouton-menu{display:none}
/* Hero */
.hero{background:linear-gradient(145deg,#f6f9f6,#edf4ee);overflow:hidden}.hero-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);gap:52px;align-items:center;min-height:565px;padding-block:52px}.hero-copie{padding-block:34px}.hero h1{max-width:640px}.hero-description{max-width:545px;font-size:clamp(1.05rem,1.55vw,1.2rem);line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:29px}.hero-secondaire .hero-grille{min-height:390px}.hero-secondaire h1{font-size:clamp(2.55rem,4vw,4.25rem)}.hero-secondaire .hero-copie{max-width:620px}.eyebrow{color:#4c7d30;text-transform:uppercase;letter-spacing:.19em;font-size:11px;font-weight:800;margin-bottom:19px}.bouton{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--bleu);color:white;border:1px solid var(--bleu);border-radius:6px;text-decoration:none;padding:13px 23px;font-weight:750;font-size:14px;transition:background .2s}.bouton:hover{background:var(--bleu-fonce)}.bouton span{font-size:16px;color:var(--vert)}.bouton-clair{background:transparent;color:var(--bleu)}.bouton-clair:hover{background:#e3eee6;color:var(--bleu)}
.diaporama{position:relative;border-radius:8px;min-height:430px;overflow:hidden;background:#dfeade;box-shadow:0 18px 50px rgba(12,67,57,.1)}.hero-secondaire .diaporama{min-height:320px}.photos{position:absolute;inset:0}.photo{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;opacity:0;transition:opacity .9s ease}.photo.active{opacity:1}.commandes-diaporama{display:none}
/* Sections éditoriales */
.section{padding:90px 0}.section-lumiere{background:#f6f8f5}.section-ouverture{padding-block:88px 76px}.ouverture-grille{display:grid;grid-template-columns:1fr 1fr;gap:86px;align-items:start}.ouverture-grille h2{max-width:580px}.texte-large{font-size:1.23rem;color:#274a47;line-height:1.65}.lien-fleche{font-weight:760;text-decoration:none;display:inline-flex;align-items:center;margin-top:6px}.section-titre{max-width:700px;margin-bottom:30px}.section-titre>p:not(.eyebrow){font-size:1.05rem}.editorial{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.editorial-inverse .editorial-texte{order:2}.editorial-inverse figure{order:1}.editorial-texte p{max-width:63ch}.photo-legende{margin:0}.photo-editoriale{width:100%;height:410px;object-fit:cover;border-radius:8px}.photo-legende figcaption{font-size:12px;color:#6c7b76;margin-top:12px}.deux-textes{display:grid;grid-template-columns:1fr 1fr;gap:78px}.deux-textes>div,.deux-textes>article{max-width:550px}.valeurs{background:#eaf1e7}.valeurs-interieur{display:grid;grid-template-columns:1fr 1.1fr;gap:70px}.valeurs-interieur>div:last-child{font-size:1.03rem}
.domaines-grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.domaine{background:white;border:1px solid var(--bordure);overflow:hidden;border-radius:7px}.domaine-image{height:215px;overflow:hidden}.domaine-image img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.domaine:hover img{transform:scale(1.035)}.domaine-corps{padding:26px 28px 31px}.domaine-corps h3{font-size:1.5rem;margin-bottom:12px}.domaine-corps p{font-size:.95rem}.indice{display:block;color:#699835;font-weight:800;font-size:12px;letter-spacing:.15em;margin-bottom:16px}
.innovation-grille{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.section-innovation{background:#eef4ec}.innovation-photo{position:relative}.innovation-photo img{height:350px;object-fit:cover;width:100%;border-radius:8px}.photo-etiquette{position:absolute;bottom:18px;left:18px;background:#fff;padding:10px 15px;color:var(--bleu);font-weight:700;font-size:12px;border-radius:4px}
.expertise-ligne{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:center}.expertise-ligne h2{max-width:650px}.expertise-ligne p:not(.eyebrow){max-width:70ch}.expertise-illustration img{width:100%;height:310px;object-fit:cover;border-radius:7px}.expertise-aside{font-size:.91rem;color:#537461;padding-top:14px;border-top:1px solid #d7e3db}
.services-liste{border-top:1px solid #ccd9d0}.service-item{display:grid;grid-template-columns:75px minmax(0,1fr);gap:18px;padding:37px 14px;border-bottom:1px solid #ccd9d0;align-items:start}.service-item h2{font-size:clamp(1.35rem,2.4vw,2rem);margin-bottom:12px}.service-item p{max-width:750px}.service-numero{font-weight:750;color:#679b31;font-size:14px}.livrable{font-size:.92rem;color:#58716c}.livrable strong{color:var(--bleu)}
.projet-phare{background:#eff4ee}.projet-phare-grille{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px}.projet-image img{width:100%;height:460px;object-fit:cover;border-radius:8px}.pastille{display:inline-block;background:#e4eed9;color:#395b2b;border-radius:4px;font-weight:750;font-size:12px;padding:6px 12px;margin-bottom:22px}.questions{max-width:850px}.questions details{border-top:1px solid var(--bordure);padding:22px 4px}.questions details:last-child{border-bottom:1px solid var(--bordure)}.questions summary{font-weight:700;color:var(--bleu);cursor:pointer;font-size:1.06rem}.questions details p{margin-top:14px}
/* Contact */
.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px;align-items:start}.contact-details{padding-top:20px}.detail-contact{border-top:1px solid #d9e4db;padding-block:21px;display:flex;flex-direction:column;gap:5px}.detail-contact span{font-size:.83rem;color:#657c71}.detail-contact a,.detail-contact strong{font-weight:680;color:var(--bleu);text-decoration:none;overflow-wrap:anywhere}.formulaire-panel{background:#fff;border:1px solid #d9e6db;border-radius:8px;padding:43px;box-shadow:0 15px 55px rgba(14,56,42,.05)}.formulaire-panel h2{margin-bottom:8px}.formulaire-contact{display:grid;gap:22px;margin-top:26px}.formulaire-contact label{font-size:.88rem;color:#244b49;font-weight:700;display:block;margin-bottom:8px}.formulaire-contact input:not([type=checkbox]),.formulaire-contact select,.formulaire-contact textarea{display:block;width:100%;border:1px solid #b8c9bf;padding:12px 14px;background:#fff;color:var(--encre);border-radius:5px}.formulaire-contact textarea{resize:vertical}.champs-deux{display:grid;grid-template-columns:1fr 1fr;gap:20px}.formulaire-contact .case-consentement{display:flex;align-items:start;gap:9px;font-size:.84rem;line-height:1.5;font-weight:400}.case-consentement input{margin-top:5px}.retour-formulaire{margin:0;min-height:1.5em;font-weight:650}.retour-formulaire.erreur{color:#a82321}.retour-formulaire.succes{color:#24723b}.champ-cache{position:absolute;left:-10000px}
/* CTA & footer */
.cta{background:var(--bleu);color:#fff;padding:70px 0}.cta-ligne{display:flex;justify-content:space-between;align-items:center;gap:40px}.cta h2{color:#fff;max-width:780px;margin-bottom:11px}.cta .eyebrow{color:#c9e6a2}.cta p:not(.eyebrow){max-width:650px;opacity:.87}.cta .bouton{border-color:#fff;background:#fff;color:var(--bleu);white-space:nowrap}.cta .bouton span{color:var(--bleu)}.pied-page{background:#10393b;color:#d9e8df;padding-top:70px}.pied-grille{display:grid;grid-template-columns:1.5fr .7fr 1fr;gap:75px}.pied-grille h2{font-size:1rem;color:#fff;margin:0 0 20px;letter-spacing:0}.pied-grille a{color:#ebf4ef;text-decoration:none}.pied-grille a:hover{text-decoration:underline}.pied-grille p{font-size:.9rem;line-height:1.65}.pied-nav>a,.pied-contact>a:not(.lien-fleche){display:block;margin:0 0 9px;overflow-wrap:anywhere}.pied-contact .lien-fleche{margin-top:10px;color:#cceca9}.marque-pied{margin-bottom:20px;gap:12px}.marque-pied img{width:48px;height:48px;object-fit:cover;border-radius:6px}.marque-pied span{font-size:16px;font-weight:800;color:#fff;line-height:1.05}.reseaux-sociaux{display:flex;gap:10px;margin-top:23px}.reseaux-sociaux a{width:39px;height:39px;border:1px solid #537070;border-radius:50%;display:grid;place-items:center}.reseaux-sociaux a:hover{background:#2e5e5c}.reseaux-sociaux svg{width:17px;height:17px;fill:currentColor}.pied-bas{display:flex;justify-content:space-between;gap:18px;border-top:1px solid #406161;margin-top:65px;padding:24px 0;font-size:.83rem}.pied-bas a{color:#cfe0d8;margin-left:22px}.contenu-legal{max-width:820px;padding-top:25px;padding-bottom:50px}.contenu-legal h1{font-size:3rem}
@media(max-width:1100px){.navigation{gap:12px}.navigation>a{font-size:12px}.nav-contact{font-size:12px;padding:10px 12px}.hero-grille{gap:30px}.editorial{gap:48px}}
@media(max-width:940px){.entete{height:auto;min-height:78px}.entete-interieur{flex-wrap:wrap;min-height:78px;padding-block:12px}.bouton-menu{display:block;margin-left:auto;background:#fff;border:1px solid var(--bordure);padding:9px 14px;color:var(--bleu);border-radius:5px}.navigation{order:3;width:100%;display:none;flex-direction:column;align-items:stretch;padding:14px 0}.navigation.ouvert{display:flex}.navigation>a{font-size:15px;padding:6px 0}.nav-contact{display:none}.hero-grille,.ouverture-grille,.editorial,.deux-textes,.innovation-grille,.expertise-ligne,.projet-phare-grille,.contact-grid,.valeurs-interieur{grid-template-columns:1fr;gap:38px}.hero-grille{padding-block:40px}.hero-copie{padding-block:0}.hero-secondaire .hero-grille{min-height:0}.hero-secondaire .diaporama{min-height:340px}.hero-accueil .diaporama{min-height:400px}.domaines-grille{grid-template-columns:repeat(2,1fr)}.editorial-inverse .editorial-texte,.editorial-inverse figure{order:initial}.cta-ligne{align-items:start;flex-direction:column}.pied-grille{gap:38px;grid-template-columns:1.1fr .8fr}.pied-contact{grid-column:1/-1}.photo-editoriale{height:350px}}
@media(max-width:620px){.conteneur{width:calc(100% - 36px)}.logo img{width:43px;height:43px}.logo span{font-size:15px}.logo small{font-size:9px}.section,.section-ouverture{padding:62px 0}.hero-grille{padding-block:30px;gap:20px}.hero h1{font-size:clamp(2.35rem,10vw,3.7rem)}.hero-secondaire h1{font-size:clamp(2.15rem,9vw,3.2rem)}.hero-accueil .diaporama{min-height:300px}.hero-secondaire .diaporama{min-height:245px}.hero-description{font-size:1.03rem}.domaines-grille{grid-template-columns:1fr}.domaine-image{height:225px}.expertise-illustration img,.photo-editoriale,.innovation-photo img{height:270px}.service-item{grid-template-columns:35px 1fr 32px;gap:9px;padding-inline:0}.service-item h2{font-size:1.5rem}.contact-grid{gap:35px}.formulaire-panel{padding:25px 18px}.champs-deux{grid-template-columns:1fr;gap:18px}.pied-grille{grid-template-columns:1fr;gap:28px}.pied-contact{grid-column:auto}.pied-bas{flex-direction:column;margin-top:42px}.pied-bas a{margin-left:0;margin-right:20px}.hero-actions{gap:8px}.bouton{padding:12px 17px}.cta{padding:56px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}


/* BANDEAUX IMMERSIFS — images derrière le texte */
.hero-immersif { position: relative; isolation: isolate; color: white; background: #103e40; }
.hero-immersif .hero-grille { min-height: 640px; display: flex; align-items: center; padding-block: 105px; position: relative; z-index: 3; }
.hero-secondaire.hero-immersif .hero-grille { min-height: 490px; padding-block: 85px; }
.hero-immersif .hero-copie { max-width: 800px; padding: 0; }
.hero-immersif h1, .hero-immersif h1 em { color: white; }
.hero-immersif h1 em { color: #c5e99b; }
.hero-immersif .eyebrow { color: #d3f4b1; }
.hero-immersif .hero-description { color: rgba(255,255,255,.94); max-width: 640px; }
.hero-immersif .diaporama { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; border: 0; border-radius: 0; box-shadow: none; z-index: 0; }
.hero-immersif .diaporama::after { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, rgba(7,40,41,.86), rgba(7,40,41,.58) 53%, rgba(7,40,41,.24)); }
.hero-immersif .diaporama .photos { inset: 0; }
.hero-immersif .diaporama .photo { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-immersif .commandes-diaporama { z-index: 4; right: max(24px, calc((100vw - var(--largeur))/2)); bottom: 26px; }
.hero-immersif .bouton { background: #fff; color: var(--bleu); border-color: white; }
.hero-immersif .bouton:hover { background: #eaf5dd; border-color: #eaf5dd; }
.hero-immersif .bouton-clair { color: white; background: transparent; border-color: rgba(255,255,255,.72); }
.hero-immersif .bouton-clair:hover { color: var(--bleu-fonce); background: white; }
/* Respiration photographique entre les contenus */
.interlude-photo { position: relative; isolation: isolate; min-height: 425px; display: flex; align-items: center; overflow: hidden; background: #184f50; color: white; }
.interlude-photo::after { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(8,43,44,.82), rgba(8,43,44,.3)); }
.interlude-fond { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 46%; }
.interlude-contenu { position: relative; z-index: 2; padding-block: 80px; }
.interlude-texte { max-width: 670px; }
.interlude-texte h2 { color: white; font-size: clamp(2rem,4vw,3.7rem); }
.interlude-texte p { color: #f1f6f0; font-size: 1.08rem; max-width: 58ch; }
.interlude-texte .eyebrow { color: #c9e8a4; font-size: .76rem; }
/* Petits reportages photographiques */
.galerie-observations { background: #f5f8f4; padding-block: 65px; }
.galerie-grille { display: grid; grid-template-columns: 1.15fr .85fr; gap: 25px; }
.galerie-item { margin: 0; }
.galerie-item img { width: 100%; height: 320px; object-fit: cover; border-radius: 7px; }
.galerie-item figcaption { font-size: .79rem; margin-top: 11px; color: #627671; }
/* Animation discrète au défilement : le contenu reste accessible sans JavaScript */
@media (prefers-reduced-motion: no-preference) {
  html.animations-actives .revelation { opacity: 0; transform: translateY(22px); transition: opacity .72s ease, transform .72s ease; }
  html.animations-actives .revelation.visible { opacity: 1; transform: translateY(0); }
  .hero-immersif .photo.active { animation: zoom-photo 12s ease-out both; }
  @keyframes zoom-photo { from { transform: scale(1.04); } to { transform: scale(1); } }
}
@media (max-width: 940px) {
  .hero-immersif .hero-grille, .hero-secondaire.hero-immersif .hero-grille { min-height: 475px; padding-block: 85px; }
  .hero-immersif .hero-copie { max-width: 690px; }
  .galerie-grille { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
  .hero-immersif .hero-grille, .hero-secondaire.hero-immersif .hero-grille { min-height: 495px; padding-block: 68px 90px; }
  .hero-immersif .diaporama::after { background: linear-gradient(90deg,rgba(7,40,41,.89),rgba(7,40,41,.51)); }
  .hero-immersif .commandes-diaporama { right: 18px; bottom: 18px; }
  .interlude-photo { min-height: 350px; }
  .interlude-contenu { padding-block: 65px; }
  .interlude-texte p { font-size: 1rem; }
  .galerie-grille { grid-template-columns: 1fr; gap: 24px; }
  .galerie-item img { height: 225px; }
}

/* Reportage photographique : une image forte accompagne un texte développé. */
.focus-reportage { background: #ffffff; }
.focus-grille { display: grid; grid-template-columns: minmax(0,1.03fr) minmax(0,.97fr); align-items: center; gap: clamp(32px,6vw,98px); }
.focus-image { margin: 0; }
.focus-image img { width: 100%; height: clamp(380px,42vw,590px); object-fit: cover; border-radius: 8px; background: #eaf0e7; }
.focus-image figcaption { margin-top: 12px; font-size: .79rem; line-height: 1.5; color: #718078; }
.focus-texte { max-width: 620px; }
.focus-texte h2 { font-size: clamp(1.85rem,3.05vw,3rem); margin-bottom: 30px; }
.focus-paragraphes p { font-size: 1.025rem; line-height: 1.9; margin-bottom: 18px; }
.focus-paragraphes p:last-child { margin-bottom: 0; }
/* Une transition douce, plutôt que des éléments qui surgissent. */
@media (prefers-reduced-motion: no-preference) {
  html.animations-actives .focus-grille.revelation { transform: translateY(20px); }
  html.animations-actives .focus-grille.revelation.visible { transform: translateY(0); }
  .focus-image img { transition: filter .6s ease; }
  .focus-image:hover img { filter: saturate(1.06); }
}
@media(max-width:940px){
 .focus-grille { grid-template-columns: 1fr; gap: 35px; }
 .focus-texte { max-width: 720px; }
 .focus-image img { height: 420px; }
}
@media(max-width:620px){
 .focus-image img { height: 280px; }
 .focus-texte h2 { margin-bottom: 22px; }
 .focus-paragraphes p { font-size: 1rem; line-height: 1.8; }
}


/* Publications — articles alimentés par Directus lorsque l'API est configurée */
.publications-en-tete{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}
.publications-en-tete h2{margin-bottom:0}
.publications-filtre label{display:block;font-weight:700;color:var(--bleu);font-size:.83rem;margin-bottom:7px}
.publications-filtre select{width:210px;max-width:100%;padding:11px 12px;background:#fff;border:1px solid #b9c9c0;border-radius:5px;color:var(--encre)}
.publications-grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
.publication-carte{overflow:hidden;background:white;border:1px solid var(--bordure);border-radius:7px;transition:transform .2s,box-shadow .2s}
.publication-carte:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(21,88,91,.09)}
.publication-carte-lien{display:block;height:100%;text-decoration:none;color:inherit}
.publication-carte-lien>img{width:100%;height:220px;object-fit:cover}
.publication-carte-texte{padding:25px}
.publication-carte h3{font-size:1.4rem;margin:12px 0}
.publication-carte p{font-size:.94rem;color:var(--texte)}
.publication-meta{font-size:.77rem;color:#517a37;font-weight:750}
.publication-lien{font-weight:750;color:var(--bleu);font-size:.88rem}
.publications-etat{border:1px solid var(--bordure);border-radius:7px;background:#f4f8f3;padding:30px;max-width:840px}
.publications-etat p{margin:0}
.publication-detail{max-width:860px;margin-inline:auto}
.publication-detail h2{margin-top:18px}
.publication-detail img{width:100%;height:auto;max-height:510px;object-fit:cover;margin:28px 0 34px;border-radius:7px}
.publication-corps p{white-space:pre-line;line-height:1.9;font-size:1.08rem}
.publication-chapeau{font-size:1.25rem;color:var(--encre)}
.publication-retour{display:inline-block;margin-bottom:22px;font-weight:750}
/* L'espace navigation gagne une rubrique. */
@media(min-width:941px) and (max-width:1220px){.entete-interieur{gap:16px}.navigation{gap:12px}.nav-contact{display:none}}
@media(max-width:940px){.publications-grille{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.publications-grille{grid-template-columns:1fr}.publications-en-tete{align-items:start;flex-direction:column}}

/* Cacher l'onglet Projets */
.navigation a[href="projets.html"],
.pied-nav a[href="projets.html"] {
  display: none;
}
