/* Styles propres à la page /contact/ */
.kicker{font-size:15px;font-weight:500;color:#6F6E69;margin:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 26px;border-radius:999px;font:inherit;font-weight:600;font-size:16px;text-decoration:none;cursor:pointer;border:0;transition:transform .15s ease,background .2s ease,color .2s ease}
.btn-light{background:#FFFFFF;color:#2F2E2B}.btn-light:hover{color:#2F2E2B;transform:translateY(-1px)}
.btn-dark{background:#2F2E2B;color:#FFFFFF}.btn-dark:hover{background:#1E1D1B;color:#FFFFFF;transform:translateY(-1px)}
.btn-ghost{background:#FFFFFF;color:#2F2E2B;border:1px solid #E3E2DF}.btn-ghost:hover{color:#2F2E2B;border-color:#9B9A95}
.sable{background:#ECE8DF}.ciel{background:#DCE6F2}.vert{background:#3B7A4E;color:#FFFFFF}.encre{background:#2F2E2B;color:#FFFFFF}
@keyframes breathe{0%,100%{transform:scale(1);opacity:.5}50%{transform:scale(1.07);opacity:1}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes panelIn{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
@keyframes wordIn{from{opacity:0;translate:0 .38em;filter:blur(8px)}to{opacity:1;translate:0 0;filter:blur(0)}}
.live{animation:blink 2.4s ease-in-out infinite}
.ct-i0{--i:0}.ct-i1{--i:1}.ct-i3{--i:3}.ct-i4{--i:4}
.anim-on [data-r]{transition:opacity .8s ease var(--d,0ms),translate .95s cubic-bezier(.2,.7,.2,1) var(--d,0ms)}

/* Héro */
.ct-hero{padding:96px 0 72px}
.ct-hero-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px}
.ct-hero-inner > .kicker,.ct-intro{animation:riseIn .9s cubic-bezier(.2,.7,.2,1) both}
.ct-hero-inner > .kicker{animation-delay:.05s}.ct-intro{animation-delay:.5s}
.ct-titre{margin:0;font-size:clamp(46px,5.8vw,84px);line-height:1.02;letter-spacing:-0.03em;max-width:900px;text-wrap:balance}
.ct-accent{font-style:italic;color:#3B7A4E}
.ct-intro{margin:0;font-size:19px;line-height:1.6;color:#55544F;max-width:600px}

/* Carte courriel */
.ct-sec-carte{padding:0 0 96px}
.ct-carte{position:relative;overflow:hidden;border-radius:32px;padding:72px 56px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:26px}
.ct-carte-points{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:22px 22px}
.ct-carte-halo{position:absolute;left:50%;top:100%;width:1000px;height:1000px;margin:-500px 0 0 -500px;border-radius:50%;background:radial-gradient(circle,rgba(127,176,142,.30) 0%,rgba(127,176,142,0) 58%);animation:breathe 5.5s ease-in-out infinite}
.ct-carte-etiquette{position:relative;display:inline-flex;align-items:center;gap:10px;font-size:15px;color:#C9C8C2}
.ct-point{width:8px;height:8px;border-radius:50%;background:#7FB08E}
.ct-adresse{position:relative;color:#FFFFFF;font-size:clamp(34px,6vw,88px);line-height:1;letter-spacing:-0.03em;overflow-wrap:anywhere}
.ct-carte-actions{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px}
.ct-copier{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border-radius:999px;font:inherit;font-size:16px;font-weight:600;cursor:pointer;border:1px solid rgba(255,255,255,.35);background:transparent;color:#FFFFFF;transition:background .25s ease,border-color .25s ease}
.ct-copier:hover{border-color:#FFFFFF}
.ct-copier.is-ok{background:#3B7A4E;border-color:#7FB08E}

/* Sujets */
.ct-sec-sujets{padding:0 0 40px}
.ct-sujets{display:flex;flex-direction:column;gap:36px}
.ct-sujets-tete{display:flex;flex-direction:column;gap:14px;max-width:720px}
.ct-h2{margin:0;font-size:clamp(34px,4vw,52px);line-height:1.06}
.ct-sous{margin:0;font-size:16.5px;line-height:1.6;color:#55544F}
.ct-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:14px}
.topic{display:flex;flex-direction:column;gap:12px;border-radius:22px;padding:30px;min-height:230px;text-decoration:none;color:#2F2E2B;cursor:pointer;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease}
.topic h3{margin:0;font-size:26px}
.topic:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(47,46,43,.12);color:#2F2E2B}
.topic.vert,.topic.encre,.topic.vert:hover,.topic.encre:hover{color:#FFFFFF}
.topic.is-choisi{box-shadow:0 0 0 3px #F7F6F3,0 0 0 5px #3B7A4E}
.topic > span:not(.go){font-size:15px;line-height:1.6}
.ct-txt-vert{color:#FFFFFF}.ct-txt-ciel{color:#45546A}.ct-txt-sable{color:#5E574A}.ct-txt-encre{color:#D6D5D0}
.go{margin-top:auto;font-size:15px;font-weight:600}

/* Courriel préparé */
.ct-ecrire{padding-bottom:64px}
.ct-panneau{background:#FFFFFF;border:1px solid #ECEBE8;border-radius:24px;padding:32px;display:flex;flex-direction:column;gap:18px;box-shadow:0 24px 60px rgba(47,46,43,.10);animation:panelIn .45s cubic-bezier(.2,.8,.2,1) both}
.ct-panneau-tete{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.ct-panneau-tete > div{display:flex;flex-direction:column;gap:4px}
.ct-label{font-size:14px;font-weight:600;color:#3B7A4E}
.ct-panneau-titre{margin:0;font-size:30px}
.ct-fermer{width:44px;height:44px;border-radius:50%;border:1px solid #E3E2DF;background:#FFFFFF;font:inherit;font-size:20px;cursor:pointer;color:#2F2E2B}
.ct-champs{display:flex;flex-direction:column}
.ct-champ{display:flex;gap:14px;padding:14px 0;border-top:1px solid #ECEBE8;font-size:15.5px}
.ct-champ > span{min-width:70px;color:#6F6E69}
.ct-champ strong{font-weight:600;overflow-wrap:anywhere}
.ct-champ-dernier{border-bottom:1px solid #ECEBE8}
.ct-corps{white-space:pre-wrap;line-height:1.6;color:#3F3E3A}
.ct-panneau-actions{display:flex;flex-wrap:wrap;gap:10px}
.ct-note{margin:0;font-size:14px;line-height:1.55;color:#6F6E69}

/* Infos */
.ct-sec-infos{padding:96px 0;background:#FFFFFF;border-top:1px solid #ECEBE8}
.ct-infos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr));gap:56px;align-items:start}
.ct-message{display:flex;flex-direction:column;gap:20px}
.ct-h2b{margin:0;font-size:36px;line-height:1.1}
.ct-liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.ct-liste li{display:flex;gap:18px;padding:18px 0;border-top:1px solid #E3E2DF;font-size:17px}
.ct-liste li:last-child{border-bottom:1px solid #E3E2DF}
.ct-liste .serif{color:#3B7A4E;min-width:20px}
.ct-cartes{display:flex;flex-direction:column;gap:14px}
.ct-prive{border-radius:20px;padding:26px 28px;display:flex;flex-direction:column;gap:8px}
.ct-prive > strong{font-size:17px;font-weight:600}
.ct-prive > span{font-size:15.5px;line-height:1.6;color:#5E574A}
.ct-prive > span strong{color:#2F2E2B;font-weight:600}
.ct-prive-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:4px}
.ct-prive-actions a:not(.btn){font-size:14.5px;display:inline-block;padding:4px 0}
.ct-btn-petit{min-height:44px;padding:0 18px;font-size:14.5px}
.ct-adresse-postale{border:1px solid #ECEBE8;border-radius:20px;padding:26px 28px;display:flex;flex-direction:column;gap:6px}
.ct-adresse-postale strong{font-size:17px;font-weight:600}
.ct-adresse-postale span{font-size:15.5px;line-height:1.6;color:#55544F}

@media (max-width:640px){
  .ct-hero{padding:64px 0 48px}
  .ct-carte{padding:48px 22px;border-radius:24px}
  .ct-panneau{padding:22px}
  .ct-sec-infos{padding:64px 0}
}
