/* Rejoindre le club : composition de la page. Les cartes photo (.formula), le hero, les titres de section, le lien d'action et le chapitre bilan viennent de forge.css et forge-formules.css.
   Même langage que la homepage, Formules et Espaces : photo plein cadre, cartes sombres à lueur abricot, grain, bandes en dégradé, décalages en hauteur, apparition ligne à ligne, dérive au défilement. Aucun tracé SVG. */
.contact-ways{padding-block:var(--space-section) 0}
.contact-ways .section-heading{margin-bottom:clamp(28px,3.4vw,52px)}
/* Façons de nous rejoindre : deux lignes éditoriales sans photo. Grand titre, détail concret, flèche ; au survol un aplat abricot remplit la ligne. */
.contact-way-list{display:grid;gap:0;border-top:1px solid color-mix(in srgb,var(--color-forest) 22%,transparent)}
.contact-way{position:relative;isolation:isolate;display:grid;grid-template-columns:clamp(36px,3.6vw,56px) minmax(0,1.6fr) minmax(0,1fr) 270px;align-items:center;gap:clamp(16px,3vw,48px);padding:clamp(28px,3.4vw,52px) clamp(12px,1.6vw,24px);border-bottom:1px solid color-mix(in srgb,var(--color-forest) 22%,transparent);color:var(--color-text)}
.contact-way::before{content:'';position:absolute;z-index:-1;inset:0 calc(-1 * clamp(0px,1.2vw,16px));border-radius:var(--radius);background:var(--color-brand);transform:scaleX(0);transform-origin:left center;transition:transform var(--learn-out) var(--learn-ease)}
.contact-way-index{font:500 var(--text-sm)/1 var(--font-label);letter-spacing:1.4px;color:var(--color-subtle)}
.contact-way h3{margin:0;font:400 clamp(28px,3vw,46px)/1.06 var(--font-heading);letter-spacing:-.02em;text-transform:uppercase}
.contact-way-text{margin:0;max-width:34ch;font:400 var(--text-body)/1.55 var(--font-body);color:var(--color-subtle)}
.contact-way-cta{justify-self:end;white-space:nowrap;display:inline-flex;align-items:center;gap:14px;color:inherit;text-decoration:none;font:500 var(--text-sm)/1.2 var(--font-label);letter-spacing:1.2px;text-transform:uppercase}
.contact-way-cta::after{content:'';position:absolute;inset:0}
.contact-way-cta svg{width:34px;height:auto;color:var(--color-brand);transition:translate var(--learn-out) var(--learn-ease),color 200ms ease}
.contact-way-cta:focus-visible{outline:2px solid var(--color-text);outline-offset:4px}
@media(hover:hover){.contact-way:hover::before,.contact-way:focus-within::before{transform:scaleX(1)}.contact-way:hover .contact-way-cta svg,.contact-way:focus-within .contact-way-cta svg{translate:8px 0;color:var(--color-text)}.contact-way:hover .contact-way-text,.contact-way:focus-within .contact-way-text,.contact-way:hover .contact-way-index,.contact-way:focus-within .contact-way-index{color:var(--color-text)}}
@media(max-width:1000px){.contact-way{grid-template-columns:48px minmax(0,1fr) auto;row-gap:12px}.contact-way h3{grid-column:2/-1}.contact-way-text{grid-column:2}.contact-way-cta{grid-column:3;grid-row:3}}
@media(max-width:700px){.contact-way{grid-template-columns:minmax(0,1fr) auto;padding-inline:0}.contact-way-index{grid-column:1/-1}.contact-way h3,.contact-way-text{grid-column:1/-1}.contact-way-cta{grid-column:1/-1;grid-row:auto;margin-top:6px}.contact-way::before{inset-inline:-8px}}
@media(prefers-reduced-motion:reduce){.contact-way::before,.contact-way-cta svg{transition:none}}

/* Parcours : bande kaki qui apparaît et disparaît en dégradé, trois cartes sombres décalées */
.contact-steps{position:relative;padding-block:var(--space-section)}
.contact-steps::before{content:'';position:absolute;z-index:-1;inset:0;background:var(--forge-grain) 0 0/256px 256px,color-mix(in srgb,var(--color-forest) 9%,var(--color-surface));-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 16%,#000 84%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 16%,#000 84%,transparent 100%)}
.contact-steps .section-heading{margin-bottom:clamp(32px,4vw,64px)}
.step-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px);align-items:start;padding-bottom:clamp(32px,4vw,64px)}
.step-card{--glow:.5;position:relative;isolation:isolate;display:flex;flex-direction:column;min-width:0;min-height:clamp(380px,29vw,460px);padding:clamp(24px,2.4vw,36px);overflow:hidden;border-radius:var(--radius);color:var(--color-surface);background:var(--forge-grain) 0 0/256px 256px,linear-gradient(165deg,#30352a 0,var(--color-forest) 62%);container-type:inline-size;top:0;transform:translate3d(0,var(--step-shift,0px),0);transition:top var(--learn-out) var(--learn-ease)}
.step-card::before{content:'';position:absolute;z-index:-1;inset:0;background:radial-gradient(90% 70% at 100% 0,color-mix(in srgb,var(--color-brand) 34%,transparent) 0,transparent 62%);opacity:var(--glow);transition:opacity 400ms ease}
.step-list>.step-card:nth-child(2){translate:0 clamp(28px,3.4vw,56px)}
.step-list>.step-card:nth-child(3){translate:0 clamp(10px,1.4vw,22px)}
.step-kicker{font:500 var(--text-xs)/1.4 var(--font-label);letter-spacing:1.4px;text-transform:uppercase;color:color-mix(in srgb,var(--color-surface) 72%,transparent)}
.step-icon{display:block;margin-top:clamp(28px,4vw,56px);color:var(--color-brand)}
.step-icon .forge-icon{display:block;width:clamp(44px,4vw,60px);height:auto}
.step-icon .forge-icon :is(path,circle,line,polyline,polygon,rect,ellipse){stroke-width:.9;stroke-dasharray:1;stroke-dashoffset:0}
.step-card h3{margin-top:auto;padding-top:clamp(24px,3vw,40px);font-size:min(clamp(26px,2.4vw,36px),9.4cqi);line-height:1.1;letter-spacing:-.5px;overflow-wrap:normal}
.step-text{margin-top:12px;line-height:1.65;color:color-mix(in srgb,var(--color-surface) 82%,transparent)}
@media(hover:hover) and (pointer:fine){
.step-card:hover{--glow:1;top:-4px}
.step-card:hover .step-icon .forge-icon :is(path,circle,line,polyline,polygon,rect,ellipse){animation:forge-icon-draw 1000ms var(--dropdown-ease) both}
}

/* Nous trouver : titre et adresse en grande typographie, puis la carte interactive (plan vectoriel aux couleurs de Forge) */
.contact-find{padding-block:calc(var(--space-section) * .8) var(--space-section)}
.find-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:end;margin-bottom:clamp(28px,3.4vw,52px)}
.find-main .eyebrow{margin-bottom:14px}
.find-main h2{max-width:20ch;font-size:clamp(34px,4.2vw,64px);line-height:1.04;letter-spacing:-.02em}
.find-address{font-style:normal;display:grid;gap:4px;justify-items:start}
.find-address>span{font:500 clamp(24px,2.4vw,36px)/1.2 var(--font-heading);letter-spacing:-.3px}
.find-address .forge-link{margin-top:14px}
.find-address small{margin-top:10px;font:500 var(--text-xs)/1.4 var(--font-label);letter-spacing:1.2px;text-transform:uppercase;color:var(--color-text-soft)}

.forge-map{position:relative;isolation:isolate;width:100%;aspect-ratio:16/8;min-height:380px;max-height:72vh;overflow:hidden;border-radius:var(--radius);background:var(--color-surface)}
.forge-map::after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;background:var(--forge-grain) 0 0/256px 256px;opacity:.9}
.forge-map-static{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.forge-map.is-live .forge-map-static{display:none}
.forge-map-view{position:absolute;inset:0;cursor:grab;touch-action:pan-y;outline-offset:-3px}
.forge-map-view:active{cursor:grabbing}
.forge-map.is-active .forge-map-view{touch-action:none}
.forge-map-view:focus-visible{outline:2px solid var(--color-brand)}
.forge-map-view svg{display:block;width:100%;height:100%}
.forge-map-pin{position:absolute;left:0;top:0;z-index:2;pointer-events:none;transform:translate3d(var(--px,50%),var(--py,50%),0);will-change:transform}
.pin-dot,.pin-pulse{position:absolute;left:-10px;top:-10px;width:20px;height:20px;background:var(--color-brand)}
.pin-dot{border:3px solid var(--color-surface);box-shadow:0 6px 18px rgba(14,17,8,.35)}
.pin-pulse{opacity:.45;animation:pin-pulse 2.6s cubic-bezier(.22,1,.36,1) infinite}
@keyframes pin-pulse{0%{transform:scale(1);opacity:.5}100%{transform:scale(3.4);opacity:0}}
.pin-label{position:absolute;left:22px;top:-24px;display:grid;gap:1px;padding:9px 14px;border-radius:var(--radius);background:var(--color-forest);color:var(--color-surface);font:400 var(--text-xs)/1.4 var(--font-body);white-space:nowrap;box-shadow:0 10px 28px rgba(14,17,8,.28)}
.pin-label b{font:500 15px/1.2 var(--font-heading);letter-spacing:.06em;text-transform:uppercase}
.forge-map-controls{position:absolute;top:14px;right:14px;z-index:4;display:grid;gap:6px}
.forge-map-controls button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:var(--radius);background:var(--color-forest);color:var(--color-surface);font:500 22px/1 var(--font-heading);cursor:pointer;transition:background-color 200ms ease,color 200ms ease}
.forge-map-controls button:is(:hover,:focus-visible){background:var(--color-brand);color:var(--color-text)}
.forge-map-controls button:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}
.forge-map-hint{position:absolute;left:50%;bottom:16px;z-index:4;translate:-50% 0;padding:8px 14px;border-radius:var(--radius);background:var(--color-forest);color:var(--color-surface);font:500 var(--text-xs)/1.4 var(--font-label);letter-spacing:1.2px;text-transform:uppercase;opacity:0;pointer-events:none;transition:opacity 250ms ease}
.forge-map-hint.is-visible{opacity:1}
.forge-map-credit{position:absolute;left:10px;bottom:10px;z-index:4;padding:3px 8px;border-radius:2px;background:color-mix(in srgb,var(--color-surface) 88%,transparent);font:400 11px/1.4 var(--font-label)}
.forge-map-credit a{display:inline-block;padding-block:4px;color:var(--color-subtle)}
.forge-map-credit a:is(:hover,:focus-visible){color:var(--color-text);text-decoration:underline}
@media(max-width:1000px){
.step-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.step-list>.step-card:nth-child(n){translate:none}
.step-list>.step-card:last-child:nth-child(odd){grid-column:1/-1}
.find-grid{grid-template-columns:minmax(0,1fr)}
.forge-map{aspect-ratio:auto;height:420px}
}
@media(max-width:700px){
.step-list{grid-template-columns:minmax(0,1fr)}
.step-card{min-height:340px}
}
@media(prefers-reduced-motion:reduce){.pin-pulse{animation:none;opacity:.35;transform:scale(2)}.forge-map-controls button,.forge-map-hint{transition:none}.step-card{transform:none;transition:none}.step-card::before{transition:none}.step-card .forge-icon *{animation:none!important}}
@media print{.step-card{transform:none}}
