/* ==========================================================================
   PAGE D'ACCUEIL, selon la charte graphique Alecent.
   Feuille propre à index.html : solutions.html et contact.html gardent
   styles.css tant qu'elles n'ont pas été refaites.
   Toutes les couleurs sont définies dans le bloc :root, et nulle part ailleurs.
   ========================================================================== */

@font-face{font-family:"Newsreader";src:url("Polices/newsreader-latin-opsz-normal.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url("Polices/newsreader-latin-opsz-italic.woff2") format("woff2");font-weight:200 800;font-style:italic;font-display:swap}
@font-face{font-family:"Jost";src:url("Polices/jost-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  /* Palette de la charte */
  --nuit:#160E29;
  --marine:#18345F;
  --bleu:#1A65A4;
  --brume:#C8D6E5;
  --graphite:#333333;
  --gris:#6E6A64;
  --pierre:#DDD7CB;
  --papier:#F4F1EA;
  --blanc:#FFFFFF;
  --filet-sombre:rgba(255,255,255,.16);

  /* Typographie de la charte, avec ses polices de secours */
  --serif:"Newsreader",Georgia,serif;
  --sans:"Jost","Century Gothic",Arial,sans-serif;

  /* Marges : tout le contenu de la page part du même bord gauche */
  --largeur:1560px;
  --marge:clamp(20px,5vw,72px);
  --bord:max(var(--marge),calc((100vw - var(--largeur)) / 2 + var(--marge)));
  --rythme:clamp(60px,6.6vw,96px);
  --entete:76px;
  --h1:clamp(35px,4.2vw,66px);

  /* Flèches : la police Jost ne les contient pas */
  --svg-fleche:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 12'%3E%3Cpath d='M0 6h18.6M13.4 1l5.2 5-5.2 5' fill='none' stroke='%23000' stroke-width='1.3'/%3E%3C/svg%3E");
  --svg-sortie:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1.5 10.5l9-9M3.5 1.5h7v7' fill='none' stroke='%23000' stroke-width='1.2'/%3E%3C/svg%3E");
}

/* --- Base ---------------------------------------------------------------- */
*{box-sizing:border-box}
html{scroll-padding-top:calc(var(--entete) + 16px);-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;color:var(--graphite);background:var(--papier);font:400 17px/1.6 var(--sans);font-kerning:normal}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0;padding:0}
ul,ol{list-style:none}
h1,h2,h3,h4{color:var(--nuit);font-family:var(--serif);font-weight:400}
h2{font-size:clamp(31px,3.3vw,46px);line-height:1.12;letter-spacing:-.012em;text-wrap:balance}
:focus-visible{outline:2px solid var(--bleu);outline-offset:3px}
.signature :focus-visible,.fin :focus-visible{outline-color:var(--brume)}
.evitement{position:absolute;top:-60px;left:var(--bord);z-index:60;padding:10px 16px;color:var(--blanc);background:var(--nuit)}
.evitement:focus{top:10px}

.surtitre{margin-bottom:14px;color:var(--bleu);font-size:12.5px;font-weight:500;line-height:1.5;letter-spacing:.13em;text-transform:uppercase;text-wrap:balance}
.note{max-width:34em;color:var(--gris)}
.note,.chapeau,.texte p,.signature-texte p{text-wrap:pretty}
.insecable{white-space:nowrap}

/* --- Liens et boutons ---------------------------------------------------- */
.bouton{display:inline-flex;align-items:center;min-height:50px;padding:0 26px;color:var(--blanc);background:var(--nuit);font-weight:500;font-size:16px;transition:background-color .15s}
.bouton:hover{background:var(--marine)}
.bouton-clair{color:var(--nuit);background:var(--papier)}
.bouton-clair:hover{background:var(--brume)}
.lien{font-weight:500;border-bottom:1px solid currentColor;padding-bottom:1px}
.fleche::after,.fleche-ligne::after,.fleche-sortante::after,.lien-profil::after{content:"";display:inline-block;background:currentColor;-webkit-mask:var(--svg-fleche) center/contain no-repeat;mask:var(--svg-fleche) center/contain no-repeat}
.fleche::after{width:1.05em;height:.65em;margin-left:.5em;transition:transform .15s}
.fleche:hover::after{transform:translateX(3px)}
.fleche-sortante::after,.lien-profil::after{width:.62em;height:.62em;margin-left:.4em;-webkit-mask-image:var(--svg-sortie);mask-image:var(--svg-sortie)}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}

/* --- En-tête -------------------------------------------------------------- */
.entete{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:var(--entete);padding-inline:var(--bord);border-bottom:1px solid var(--pierre);background:var(--papier)}
.logo{justify-self:start}
.logo img{width:auto;height:32px}
.entete nav{display:flex;gap:34px;font-size:16px}
.entete nav a{padding:6px 0;border-bottom:1px solid transparent}
.entete nav a:hover,.entete nav a[aria-current]{border-bottom-color:var(--nuit)}
.entete-contact{justify-self:end;color:var(--bleu);font-size:16px;font-weight:500}

/* --- Haut de page --------------------------------------------------------- */
.hero{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);grid-template-areas:"tete tete" "colonne photo"}
.hero-tete{grid-area:tete;padding:clamp(30px,5.4vh,60px) var(--bord) clamp(24px,4vh,44px)}
h1{font-size:var(--h1);line-height:1.08;letter-spacing:-.016em;text-wrap:balance}
.hero-photo{grid-area:photo;position:relative;min-height:clamp(430px,calc(100vh - var(--entete) - 40px - 2.16 * var(--h1) - 9.4vh),760px);min-height:clamp(430px,calc(100svh - var(--entete) - 40px - 2.16 * var(--h1) - 9.4vh),760px)}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.hero-colonne{grid-area:colonne;display:flex;flex-direction:column;gap:24px;padding:0 clamp(28px,3.4vw,52px) 30px var(--bord)}
.chapeau{color:var(--graphite);font-size:18px;line-height:1.55}
.reperes{display:grid;grid-template-columns:max-content minmax(0,1fr);margin-top:auto}
.reperes>div{display:contents}
.reperes dt,.reperes dd{padding-block:11px;border-top:1px solid var(--pierre)}
.reperes dt{padding-right:20px;color:var(--bleu);font:400 33px/1.15 var(--serif);letter-spacing:-.01em;white-space:nowrap}
.reperes dd{display:flex;align-items:center;color:var(--gris);font-size:15px;line-height:1.35}

/* --- Sections ------------------------------------------------------------- */
.section{padding:var(--rythme) var(--bord)}
.fond-blanc{background:var(--blanc)}
.fond-papier{background:var(--papier)}
.colonnes{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(32px,6vw,96px)}
.colonne-titre .note{margin-top:20px}

/* Situations */
.situations{border-bottom:1px solid var(--pierre)}
.situations a{position:relative;display:block;padding:15px 44px 16px 0;border-top:1px solid var(--pierre)}
.situations h3{font-size:24px;line-height:1.25;text-wrap:balance;transition:color .15s}
.situations p{margin-top:2px;color:var(--gris);font-size:15.5px;line-height:1.45}
.situations a:hover h3{color:var(--bleu)}
.fleche-ligne::after{position:absolute;top:50%;right:2px;width:24px;height:14px;margin-top:-7px;color:var(--bleu);transition:transform .15s}
.fleche-ligne:hover::after{transform:translateX(4px)}

/* Expertise signature : le A en filigrane, comme sur un intercalaire */
.signature{position:relative;display:grid;grid-template-columns:minmax(0,8fr) minmax(0,5fr);column-gap:clamp(32px,6vw,96px);align-items:end;overflow:hidden;color:var(--brume);background:var(--nuit)}
.signature::after{content:"";position:absolute;top:50%;right:-3vw;width:clamp(420px,52vw,860px);aspect-ratio:1;background:url("Images/Web/a-filigrane.png") center/contain no-repeat;opacity:.055;transform:translateY(-44%);pointer-events:none}
.signature>div{position:relative;z-index:1}
.signature .surtitre{color:var(--brume)}
.signature h2{color:var(--blanc);font-size:clamp(39px,4.5vw,72px);line-height:1.06;letter-spacing:-.018em}
.signature h2 em{color:var(--brume)}
.signature-texte p{max-width:32em}
.signature-texte p+p{margin-top:14px;color:var(--blanc)}
.signature-texte .lien{display:inline-block;margin-top:24px;color:var(--blanc)}

/* Praticiens et démarche */
.texte p{max-width:39em}
.texte p+p{margin-top:14px}
.demarche{margin-top:clamp(44px,5vw,68px)}
.demarche h3{margin-bottom:22px;font-size:clamp(22px,2.1vw,29px);line-height:1.2;letter-spacing:-.008em;text-wrap:balance}
.etapes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:clamp(18px,2vw,28px);counter-reset:etape}
.etapes li{padding-top:12px;border-top:1px solid var(--graphite);counter-increment:etape}
.etapes li::before{content:counter(etape,decimal-leading-zero);color:var(--bleu);font:400 15px/1.5 var(--serif)}
.etapes h4{margin:6px 0 6px;font-size:22px;line-height:1.2}
.etapes p{color:var(--gris);font-size:15px;line-height:1.45}

/* Équipe */
.equipe-tete{grid-template-columns:minmax(0,8fr) minmax(0,5fr);align-items:end;margin-bottom:clamp(30px,3.6vw,48px)}
.equipe-note{max-width:36em}
.equipe{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:30px clamp(16px,1.8vw,26px)}
.equipe article{display:flex;flex-direction:column}
.equipe img{width:100%;aspect-ratio:1;object-fit:cover;filter:grayscale(1)}
@media (hover:hover){
  .equipe img{transition:filter .25s}
  .equipe article:hover img{filter:none}
}
.equipe h3{margin-top:12px;font-size:20px;line-height:1.2}
.equipe p{margin:5px 0 8px;color:var(--gris);font-size:14.5px;line-height:1.4}
.lien-profil{margin-top:auto;color:var(--bleu);font-size:14.5px;font-weight:500}
.lien-profil:hover{text-decoration:underline;text-underline-offset:3px}

/* Fin de page : la rade, puis le contact */
.fin{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);background:var(--nuit)}
.fin-photo{position:relative;min-height:clamp(320px,31vw,470px)}
.fin-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:18% 62%}
.fin-texte{display:flex;flex-direction:column;justify-content:center;gap:28px;padding:clamp(40px,4.4vw,64px) var(--bord) clamp(40px,4.4vw,64px) clamp(32px,4.4vw,64px)}
.fin-texte h2{color:var(--blanc);font-size:clamp(29px,2.7vw,40px)}
.fin-texte .lien{color:var(--brume);font-size:16px}

/* Pied de page */
.pied{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px 30px;padding:24px var(--bord);border-top:1px solid var(--filet-sombre);color:var(--brume);background:var(--nuit);font-size:13.5px}
.pied img{width:140px}
.pied p:last-child{justify-self:end}

/* --- Tablette ------------------------------------------------------------- */
@media (max-width:1180px){
  .equipe{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px clamp(20px,3vw,36px)}
  .equipe article{display:grid;grid-template-columns:clamp(84px,10vw,112px) minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:16px}
  .equipe img{grid-row:1 / span 3}
  .equipe h3{grid-column:2;margin-top:0}
  .equipe p{grid-column:2}
  .lien-profil{grid-column:2;margin-top:0;align-self:start}
  .etapes{grid-template-columns:1fr}
  .etapes li{display:grid;grid-template-columns:44px minmax(0,13em) minmax(0,1fr);column-gap:16px;align-items:baseline;padding-block:12px;border-top-color:var(--pierre)}
  .etapes li:first-child{border-top-color:var(--graphite)}
  .etapes li:last-child{border-bottom:1px solid var(--pierre)}
  .etapes h4{margin:0;font-size:21px}
}
@media (max-width:960px){
  :root{--h1:clamp(35px,5.6vw,52px)}
  .entete{grid-template-columns:auto 1fr}
  .entete nav{justify-self:end}
  .entete-contact{display:none}
  .colonnes.equipe-tete{grid-template-columns:minmax(0,1fr)}
  .fin-texte h2{font-size:clamp(31px,4.6vw,40px)}
  .hero{grid-template-columns:minmax(0,1fr);grid-template-areas:"tete" "photo" "colonne"}
  .hero-photo{min-height:0;aspect-ratio:16/10}
  .hero-colonne{padding:26px var(--bord) 30px}
  .reperes{margin-top:6px}
  .colonnes,.signature{grid-template-columns:minmax(0,1fr);row-gap:26px}
  .signature::after{right:-16vw;width:92vw}
  .note{max-width:40em}
  .fin{grid-template-columns:minmax(0,1fr)}
  .fin-photo{min-height:0;aspect-ratio:16/8}
  .fin-texte{padding-inline:var(--bord)}
  .pied{grid-template-columns:minmax(0,1fr)}
  .pied p:last-child{justify-self:start}
}

/* --- Téléphone ------------------------------------------------------------ */
@media (max-width:700px){
  :root{--entete:64px}
  body{font-size:16.5px}
  .logo img{height:24px}
  .entete nav{gap:18px;font-size:15px}
  .nav-accueil{display:none}
  .signature h2{font-size:clamp(28px,8.7vw,39px)}
  .chapeau{font-size:17px}
  .situations h3{font-size:22px}
  .etapes li{grid-template-columns:34px minmax(0,1fr);column-gap:8px}
  .etapes li p{grid-column:2;margin-top:3px}
  .equipe{grid-template-columns:minmax(0,1fr)}
  .fin-photo{aspect-ratio:16/9}
  .actions .bouton{width:100%;justify-content:center}
}
