/* Polices embarquées (SIL OFL) : remplaçantes de ABC Wide / Copperplate en attendant les fontes de la charte */
@font-face{font-family:'Archivo';src:url(fonts/archivo-latin-wdth-normal.woff2) format('woff2');font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Archivo';src:url(fonts/archivo-latin-ext-wdth-normal.woff2) format('woff2');font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'EB Garamond';src:url(fonts/eb-garamond-latin-400-normal.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'EB Garamond';src:url(fonts/eb-garamond-latin-500-normal.woff2) format('woff2');font-weight:500 800;font-style:normal;font-display:swap}
@font-face{font-family:'EB Garamond';src:url(fonts/eb-garamond-latin-400-italic.woff2) format('woff2');font-weight:400 800;font-style:italic;font-display:swap}
/* Présence & Résonances : couche responsive (desktop ≥ 1101 px = maquette d'origine) */
*{box-sizing:border-box}
img{max-width:100%}
[style*="width: 1120px"],[style*="width: 1000px"],[style*="width: 900px"],[style*="width: 820px"],[style*="width: 760px"]{max-width:100% !important}
.burger,.mnav{display:none}

/* ---------- Tablette ---------- */
@media (max-width:1100px){
  header{padding:0 32px !important}
  header nav,header nav[aria-label] {gap:26px !important}
  header img{width:180px !important}
  section,footer{padding-left:32px !important;padding-right:32px !important}
  [style*="repeat(6"]{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
  [style*="repeat(5"]{grid-template-columns:repeat(3,minmax(0,1fr)) !important;row-gap:48px !important}
  [style*="repeat(5"] > li:nth-child(4){border-left:0 !important}
  [style*="font-size: 60px"],[style*="font-size: 56px"]{font-size:44px !important}
  [style*="font-size: 52px"]{font-size:40px !important}
  [style*="font-size: 72px"]{font-size:60px !important}
}

/* intro arche */
@media (max-width:1100px){ .hero-text{padding-left:0 !important} .arch,.arch-line{width:380px !important;height:580px !important} .arch-wrap{height:620px !important} .seal{left:-24px !important} [style*="font-size: 58px"]{font-size:46px !important} }

/* ---------- Mobile ---------- */
@media (max-width:820px){
  html{-webkit-text-size-adjust:100%}
  /* header : logo + burger */
  header{display:flex !important;justify-content:space-between;align-items:center;height:64px !important;padding:0 20px !important;position:sticky;top:0;z-index:20}
  header > nav,header > div{display:none !important}
  header img{width:150px !important;height:16px !important}
  .burger{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;margin-right:-10px;padding:10px;background:none;border:0;cursor:pointer}
  .burger span{display:block;height:1px;background:#F2F0EA;transition:transform .25s}
  .burger[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .burger[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .mnav{position:fixed;inset:64px 0 0 0;background:#1A1A1A;z-index:19;flex-direction:column;align-items:center;justify-content:center;gap:26px;border-top:2px solid #C3342A}
  .mnav:not([hidden]){display:flex}
  .mnav a{color:#F2F0EA !important;font-family:'Archivo',sans-serif;font-stretch:125%;text-transform:uppercase;letter-spacing:.28em;font-size:11px;padding:6px 0;border-bottom:2px solid transparent}
  .mnav a[aria-current="page"]{border-bottom-color:#C3342A}
  .mnav .lang{margin-top:20px;font-size:10px;color:#CBCBCB;font-family:'Archivo',sans-serif;letter-spacing:.28em}
  body.menu-open{overflow:hidden}

  /* rythme */
  section{padding:56px 20px !important;gap:28px !important;height:auto !important}
  section[style*="padding: 0 56px"]{padding-top:0 !important}
  section.hero{padding:56px 20px 64px !important}
  section > div,section > form,section > dl,section > ol{max-width:100% !important}
  [style*="gap: 96px"],[style*="gap: 88px"],[style*="gap: 130px"],[style*="gap: 72px"]{gap:44px !important}
  [style*="gap: 56px"],[style*="gap: 50px"],[style*="gap: 44px"],[style*="gap: 40px"]{gap:24px !important}
  [style*="gap: 38px"],[style*="gap: 36px"],[style*="gap: 34px"],[style*="gap: 32px"]{gap:20px !important}
  [style*="gap: 26px"],[style*="gap: 24px"]{gap:16px !important}

  /* grilles */
  [style*="display: grid"]{grid-template-columns:minmax(0,1fr) !important;row-gap:24px !important;column-gap:14px !important}
  [style*="repeat(6"],[style*="repeat(4"],dl[style*="repeat(3"]{grid-template-columns:repeat(2,minmax(0,1fr)) !important;row-gap:32px !important}
  [style*="grid-column"]{grid-column:1 / -1 !important}
  [style*="repeat(5"] > li,[style*="repeat(3"] > div{border-left:0 !important;border-right:0 !important;padding:0 !important}
  [style*="repeat(5"] > li + li,[style*="repeat(3"] > div + div{border-top:1px solid #CBCBCB !important;padding-top:24px !important}
  section[style*="#1A1A1A"] [style*="repeat(3"] > div + div{border-top-color:#3A3A38 !important}
  dl[style*="repeat"] > div{border-left:0 !important;padding:16px 6px !important}
  [style*="grid-template-columns: 120px"],[style*="grid-template-columns: 100px"],[style*="grid-template-columns: 240px"],[style*="grid-template-columns: 56px"]{row-gap:8px !important;padding:24px 0 !important}

  /* images & aplats */
  [style*="height: 1030px"],[style*="height: 860px"],[style*="height: 820px"],[style*="height: 780px"],[style*="height: 720px"],[style*="height: 700px"],[style*="height: 680px"],[style*="height: 620px"],[style*="height: 560px"]{height:360px !important}
  section[style*="height: 820px"]{height:auto !important;padding:0 !important;gap:0 !important}
  section[style*="height: 820px"] > div:first-child{min-height:300px}
  section[style*="height: 820px"] > div + div{padding:48px 24px !important}
  section[style*="repeat(2"] > div[style*="#CBCBCB"]{min-height:260px}
  [style*="height: 400px"],[style*="height: 380px"]{height:300px !important}
  [style*="height: 300px"],[style*="height: 280px"]{height:190px !important}
  [style*="width: 300px"],[style*="width: 290px"]{width:100% !important}
  [style*="background: #CBCBCB"] > span.lb,[style*="background: #DCD7CD"] > span.lb,[style*="url("] > span.lb{display:block;padding:0 16px;text-align:center;font-size:7.5px !important;letter-spacing:.22em !important;line-height:1.7}

  /* flex */
  section [style*="display: flex"]{flex-wrap:wrap}
  ol > li{flex-wrap:nowrap !important}
  [style*="padding: 0 96px"]{padding:48px 24px !important}
  section [style*="padding: 0 80px"],section [style*="padding: 0 32px"],section [style*="padding: 0 28px"],section [style*="padding: 0 56px"]{padding-left:0 !important;padding-right:0 !important}
  section [style*="display: flex"][style*="gap: 24px"] > div[style*="width: 300px"],section [style*="display: flex"][style*="gap: 24px"] > div[style*="width: 290px"]{flex:1 1 calc(50% - 8px);width:auto !important}
  section [style*="display: flex"][style*="gap: 24px"] > div > div[style*="height: 400px"],section [style*="display: flex"][style*="gap: 24px"] > div > div[style*="height: 380px"]{height:220px !important}
  /* lignes de mots (mental · corps · émotions, process) */
  .w[style*="letter-spacing: .3em"][style*="display: flex"],.lb[style*="gap: 22px"]{justify-content:center;gap:10px 12px !important;font-size:12px !important;letter-spacing:.14em !important}
  .lb[style*="gap: 22px"]{font-size:9px !important}

  /* typographie */
  .w{letter-spacing:.06em}
  [style*="font-size: 72px"]{font-size:38px !important;line-height:1.1 !important}
  [style*="font-size: 60px"],[style*="font-size: 58px"],[style*="font-size: 56px"],[style*="font-size: 52px"]{font-size:26px !important;line-height:1.15 !important}
  .w[style*="font-size: 60px"],.w[style*="font-size: 52px"]{letter-spacing:.06em !important}
  [style*="font-size: 52px"][style*="italic"],[style*="font-size: 56px"][style*="italic"]{font-size:30px !important;letter-spacing:0 !important}
  [style*="font-size: 44px"]{font-size:28px !important}
  [style*="font-size: 40px"],[style*="font-size: 38px"]{font-size:22px !important;line-height:1.3 !important}
  .w[style*="font-size: 40px"]{letter-spacing:.04em !important}
  [style*="font-size: 34px"]{font-size:20px !important}
  [style*="font-size: 30px"],[style*="font-size: 28px"]{font-size:19px !important}
  .w[style*="font-size: 30px"],.w[style*="font-size: 28px"]{letter-spacing:.06em !important}
  [style*="font-size: 26px"]{font-size:14px !important;letter-spacing:.14em !important}
  [style*="font-size: 26px"][style*="italic"]{font-size:18px !important;letter-spacing:0 !important}
  [style*="font-size: 25px"],[style*="font-size: 24px"],[style*="font-size: 23px"],[style*="font-size: 22px"]{font-size:18px !important;line-height:1.5 !important}
  [style*="font-size: 21px"],[style*="font-size: 20px"]{font-size:16.5px !important;line-height:1.55 !important}
  [style*="font-size: 19px"],[style*="font-size: 18px"]{font-size:15.5px !important}
  [style*="font-size: 16px"].lb{font-size:11px !important}
  [style*="font-size: 12px"].lb,[style*="font-size: 11px"].lb{font-size:10px !important}
  [style*="min-height: 180px"]{min-height:0 !important}
  br.d{display:none}
  /* boutons */
  a.lb[style*="padding: 20px 44px"],a.lb[style*="padding: 18px 34px"],button.lb[style*="padding: 20px 44px"]{padding:16px 26px !important}
  [style*="width: 760px"]{width:100% !important}

  /* footer */
  footer{padding:52px 20px 24px !important;gap:26px !important}
  footer img{width:44px !important;height:52px !important}
  footer nav{flex-wrap:wrap;justify-content:center;gap:14px 22px !important;font-size:9.5px !important}
  footer > div{flex-direction:column;align-items:center;gap:12px;text-align:center;margin-top:12px !important}
  /* formulaires */
  form{width:100% !important}
  section > form{padding:44px 20px 56px !important}
  form [style*="justify-content: space-between"]{flex-direction:column;align-items:stretch !important;gap:10px !important}
  form button[type="submit"]{width:100%}
  fieldset{flex-wrap:wrap;gap:4px 24px !important}
  fieldset legend{float:none !important;width:100%;margin-bottom:6px !important}
  input,textarea{font-size:16px !important}
  /* intro arche (si présente) */
  .arch-wrap{display:none}
}
@media (max-width:820px){
  .presse{row-gap:0 !important}
  .presse > div{padding:28px 0 32px !important;border-top:1px solid #1A1A1A !important}
  .presse blockquote{font-size:19px !important}
  #presse{padding-bottom:72px !important}
}
@media (max-width:820px){
  /* listes de mots-clés (Méthode : mental, corps, émotions ; Wellness : diagnostic…) */
  [style*="gap: 40px; align-items: center; font-size: 20px"],[style*="gap: 22px; align-items: center; font-size: 10px"]{flex-wrap:wrap !important;justify-content:center !important;row-gap:12px !important;column-gap:16px !important;text-align:center}
  [style*="gap: 40px; align-items: center; font-size: 20px"]{font-size:13px !important;letter-spacing:.24em !important}
  [style*="gap: 40px; align-items: center; font-size: 20px"] > span[style*="#C3342A"],[style*="gap: 22px; align-items: center; font-size: 10px"] > span[style*="#C3342A"]{display:none}
}

/* ---------- Mouvement : discret, lent, jamais démonstratif ---------- */
@media (prefers-reduced-motion: no-preference){
  /* introduction de page : fondu ligne par ligne au chargement */
  header + section > *, header + nav + section > *{animation:pr-up 1.3s cubic-bezier(.2,.65,.25,1) both}
  header + section > :nth-child(2), header + nav + section > :nth-child(2){animation-delay:.14s}
  header + section > :nth-child(3), header + nav + section > :nth-child(3){animation-delay:.28s}
  header + section > :nth-child(4), header + nav + section > :nth-child(4){animation-delay:.42s}
  header + section > :nth-child(n+5), header + nav + section > :nth-child(n+5){animation-delay:.56s}
  header + section span[style*="width: 48px; height: 2px"], header + nav + section span[style*="width: 48px; height: 2px"]{animation:pr-line 1.4s cubic-bezier(.65,0,.35,1) .2s both}
  @keyframes pr-up{from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:none}}
  @keyframes pr-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}

  /* apparition au défilement (classes posées par site.js) */
  .rv{opacity:0;transform:translate3d(0,22px,0);transition:opacity 1.3s cubic-bezier(.2,.65,.25,1) var(--d,0ms),transform 1.5s cubic-bezier(.2,.65,.25,1) var(--d,0ms)}
  .rv.in{opacity:1;transform:none}
  .d1{--d:110ms}.d2{--d:220ms}.d3{--d:330ms}.d4{--d:440ms}.d5{--d:550ms}  /* délais en classes : l'attribut style n'est jamais modifié */
  .rv-img{opacity:0;clip-path:inset(7% 0 0 0);transition:opacity 1.4s ease var(--d,0ms),clip-path 1.8s cubic-bezier(.65,0,.35,1) var(--d,0ms)}
  .rv-img.in{opacity:1;clip-path:inset(0 0 0 0)}
  .rv-line{transform:scaleX(0);transition:transform 1.4s cubic-bezier(.65,0,.35,1) var(--d,0ms)}
  .rv-line.in{transform:scaleX(1)}

  /* survols : transitions lentes */
  a,button{transition:color .5s ease,background-color .6s ease,border-color .6s ease,opacity .5s ease}

  /* CTA soulignés : seul le trait s'anime (il se retire puis se redessine), le texte ne change pas */
  /* le trait est un pseudo-élément : son animation n'interfère jamais avec l'apparition de la page */
  a.lb[style*="border-bottom: 1px solid #C3342A"]{border-bottom-color:transparent !important;position:relative;display:inline-block}
  a.lb[style*="border-bottom: 1px solid #C3342A"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:#C3342A;transform-origin:left center}
  a.lb[style*="border-bottom: 1px solid #C3342A"]:hover{color:#1A1A1A !important}
  a.lb[style*="border-bottom: 1px solid #C3342A"]:hover::after{animation:pr-under .95s cubic-bezier(.65,0,.35,1) both}
  @keyframes pr-under{0%{transform:scaleX(1);transform-origin:right center}48%{transform:scaleX(0);transform-origin:right center}52%{transform:scaleX(0);transform-origin:left center}100%{transform:scaleX(1);transform-origin:left center}}

  /* en-tête : un trait rouge se dessine sous le lien survolé */
  header nav a,.mnav a{background:linear-gradient(#C3342A,#C3342A) 0 100%/0 2px no-repeat;transition:background-size .7s cubic-bezier(.65,0,.35,1),color .5s ease}
  header nav a:hover,.mnav a:hover{color:#F2F0EA !important;background-size:100% 2px}
  header nav a[style*="border-bottom: 2px solid #C3342A"]{background:none}

  /* pied de page : simple variation d'opacité */
  footer a:hover{color:inherit !important;opacity:.5}

  /* CTA rectangles : remplissage rouge, texte noir */
  a.lb[style*="border: 1px solid"],button[type="submit"]{transition:opacity 1.3s cubic-bezier(.2,.65,.25,1) var(--d,0ms),transform 1.5s cubic-bezier(.2,.65,.25,1) var(--d,0ms),background-color .8s ease,border-color .8s ease,color .8s ease}
  a.lb[style*="border: 1px solid"]:hover,button[type="submit"]:hover{background-color:#C3342A !important;border-color:#C3342A !important;color:#F2F0EA !important}
}
@media (prefers-reduced-motion: no-preference) and (max-width:820px){
  .rv{transform:translate3d(0,14px,0)}
}
@media (max-width:820px){
  section[style*="repeat(2"] > div[style*="url("]{min-height:320px}
}
