.page-contact{background:var(--blanc);color:var(--noir)}.page-contact footer{display:none !important}.contact-hero{padding:clamp(8rem,14vw,12rem) var(--marge) clamp(3rem,5vw,5rem);display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(1.25rem,2.5vw,2rem)}.contact-label{font-family:var(--font-mono);font-size:var(--fs-mono-xs);letter-spacing:.1em;text-transform:uppercase;color:rgba(10,10,10,0.45);margin:0}.contact-titre{font-family:var(--font-titre);font-weight:400;font-size:clamp(5rem,13vw,12rem);line-height:.95;letter-spacing:.01em;text-transform:uppercase;margin:0;color:transparent;-webkit-text-stroke:2.5px rgba(10,10,10,1);text-stroke:2.5px rgba(10,10,10,1)}.contact-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(1rem,2.5vw,2.5rem);margin-top:clamp(0.5rem,1.5vw,1rem)}.contact-alternance,.contact-dispo{font-family:var(--font-mono);font-size:var(--fs-mono-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--noir);margin:0;display:flex;align-items:center;gap:.7rem}.contact-alternance::before,.contact-dispo::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0}.contact-alternance::before{background:#e8a020;animation:pulse-contact-dot 2.5s ease-in-out infinite .8s}.contact-dispo::before{background:#2ecc71;animation:pulse-contact-dot 2.5s ease-in-out infinite}@keyframes pulse-contact-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(0.75)}}.contact-stack-section{padding:clamp(3rem,5vw,5rem) var(--marge) clamp(3.5rem,6vw,6rem);display:flex;justify-content:center;border-top:1px solid rgba(10,10,10,0.1)}.contact-email-bar{display:flex;justify-content:center;align-items:center;text-align:center;padding:clamp(2rem,4vw,3.5rem) var(--marge);border-top:1px solid rgba(10,10,10,0.08);width:100%}.contact-email{font-family:var(--font-titre);font-size:clamp(2.2rem,6vw,6.5rem);font-weight:400;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;display:inline-block;position:relative;overflow:hidden;line-height:1.05;vertical-align:bottom;color:var(--noir);margin:0 auto;height:1.05em;min-width:1em}.contact-email-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.contact-email::before{content:attr(data-email);display:block;width:100%;text-align:center;transform:translateY(0);transition:transform .55s var(--ease-out)}.contact-email::after{content:attr(data-email);position:absolute;left:0;top:0;width:100%;display:block;text-align:center;transform:translateY(105%);transition:transform .55s var(--ease-out)}.contact-email:hover::before{transform:translateY(-105%)}.contact-email:hover::after{transform:translateY(0)}.contact-stack-section .cc-stack{justify-self:center;align-self:center;max-width:460px}@media(max-width:900px){.contact-titre{font-size:clamp(4rem,15vw,8rem);-webkit-text-stroke:2px rgba(10,10,10,1)}.contact-email{font-size:clamp(2rem,9vw,4.5rem)}}@media(max-width:600px){.contact-hero{padding:clamp(5rem,12vh,7rem) var(--marge) clamp(1.5rem,4vh,2.5rem);gap:1rem}.contact-label{font-size:.7rem}.contact-titre{font-size:clamp(3rem,14vw,6rem);-webkit-text-stroke:1.5px rgba(10,10,10,1);line-height:.92}.contact-tags{flex-direction:column;align-items:center;gap:.6rem}.contact-stack-section{padding:2rem var(--marge) 2.5rem}.contact-email-bar{padding:1.2rem var(--marge)}.contact-email{font-size:clamp(1.4rem,7vw,2.4rem)}}.cc-stack{position:relative;width:100%;max-width:460px;aspect-ratio:4 / 5}.cc-card{position:absolute;inset:0;display:flex;flex-direction:column;padding:clamp(2.2rem,3.2vw,2.8rem) clamp(1.4rem,2.2vw,2rem) clamp(1.4rem,2.2vw,2rem);border-radius:20px;overflow:hidden;user-select:none;transform:rotate(5deg) translate(75px,12px) scale(0.95);transform-origin:center;transition:transform .35s cubic-bezier(0.33,1,0.68,1),opacity .35s cubic-bezier(0.33,1,0.68,1);will-change:transform,opacity;cursor:pointer;touch-action:pan-y;z-index:1}.cc-card--form{background:var(--blanc);color:var(--noir);border:2.5px solid var(--noir)}.cc-card--socials{background:var(--noir);color:var(--blanc);border:2.5px solid var(--noir)}.cc-card.cc-card--top{transform:rotate(-2deg) translate(0,0) scale(1);z-index:2;cursor:grab}.cc-card.is-dragging{transition:none;cursor:grabbing}.cc-card.is-swiping-out{transform:translateX(140%) rotate(18deg) !important;opacity:0 !important;transition:transform .32s cubic-bezier(0.33,1,0.68,1),opacity .28s cubic-bezier(0.33,1,0.68,1);pointer-events:none;z-index:3}.cc-card.is-incoming{animation:cc-card-incoming .4s cubic-bezier(0.33,1,0.68,1) forwards}@keyframes cc-card-incoming{0%{transform:rotate(5deg) translate(75px,12px) scale(0.95)}100%{transform:rotate(-2deg) translate(0,0) scale(1)}}.cc-toggle{position:absolute;top:clamp(0.6rem,1vw,1rem);right:clamp(0.8rem,1.4vw,1.3rem);z-index:10;display:inline-flex;align-items:center;gap:.5rem;padding:.6rem;margin:0;border:0;background:transparent;color:inherit;font-family:var(--font-corps);font-size:var(--fs-mono-xs);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;font-weight:inherit;line-height:1;opacity:.7;transition:opacity .3s ease;pointer-events:auto;-webkit-appearance:none;appearance:none;outline:0}.cc-toggle>*{pointer-events:none}.cc-toggle:hover{opacity:1}.cc-toggle:hover .cc-toggle-label{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:.5px}.cc-toggle-label{letter-spacing:.05em;transition:text-decoration .3s ease}.cc-card-titre{font-family:var(--font-titre);font-weight:400;font-size:clamp(2.2rem,4vw,3.4rem);line-height:.95;letter-spacing:.01em;text-transform:uppercase;margin:clamp(1rem,1.8vw,1.6rem) 0 clamp(1.2rem,2.2vw,1.8rem);color:inherit}.cc-socials{list-style:none;padding:0;margin:0;flex:1;display:flex;flex-direction:column;isolation:isolate}.cc-socials li{border-top:1px solid rgba(255,255,255,0.18);position:relative}.cc-socials li:last-child{border-bottom:1px solid rgba(255,255,255,0.18)}.cc-social-lien{display:flex;align-items:center;justify-content:space-between;padding:clamp(0.5rem,1vw,0.8rem) 0;text-decoration:none;color:inherit;transition:opacity .3s ease;position:relative}.cc-socials:hover .cc-social-lien{opacity:.35}.cc-socials:hover .cc-social-lien:hover{opacity:1}.cc-social-lien:hover .cc-social-nom{transform:translateX(6px)}.cc-social-lien:hover .cc-social-fleche{transform:translate(3px,-3px)}.cc-social-nom{font-family:var(--font-titre);font-weight:400;font-size:clamp(1.2rem,1.7vw,1.7rem);letter-spacing:.02em;line-height:1;text-transform:uppercase;transition:transform .35s var(--ease-out);display:inline-block;will-change:transform}.cc-social-fleche{font-family:var(--font-titre);font-size:1.1rem;line-height:1;transition:transform .4s cubic-bezier(0.76,0,0.24,1);display:inline-block;will-change:transform}.cc-form{display:flex;flex-direction:column;gap:clamp(0.55rem,1vw,0.8rem);flex:1;position:relative}.cc-field{display:flex;flex-direction:column;gap:.3rem}.cc-field--message{flex:1}.cc-field-label{font-family:var(--font-corps);font-size:var(--fs-mono-xs);letter-spacing:.05em;text-transform:uppercase;opacity:.55}.cc-input{background:transparent;border:0;border-bottom:1px solid rgba(10,10,10,0.25);border-radius:0;padding:.45rem 0;font-family:var(--font-corps);font-size:var(--fs-corps);letter-spacing:.01em;color:var(--noir);width:100%;outline:0;transition:border-color .3s ease}.cc-input::placeholder{color:rgba(10,10,10,0.35)}.cc-input:focus{border-color:var(--noir)}.cc-textarea{resize:none;min-height:60px;font-family:var(--font-corps);line-height:1.4}.cc-form-feedback{font-family:var(--font-corps);font-size:var(--fs-mono-xs);letter-spacing:.05em;text-transform:uppercase;min-height:.95rem;margin-top:.25rem;color:var(--noir)}.cc-form-feedback.is-error{color:#c0392b}.cc-form-feedback.is-success{color:#2ecc71}.cc-cta-bar{margin-top:auto;margin-left:calc(-1 * clamp(1.4rem, 2.2vw, 2rem));margin-right:calc(-1 * clamp(1.4rem, 2.2vw, 2rem));margin-bottom:calc(-1 * clamp(1.4rem, 2.2vw, 2rem));border:0;border-top:1px solid currentColor;border-radius:0 0 19px 19px;padding:clamp(0.85rem,1.4vw,1.1rem) clamp(1.4rem,2.2vw,2rem);background:transparent;color:inherit;display:flex;justify-content:space-between;align-items:center;font-family:var(--font-corps);font-size:var(--fs-mono-xs);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;width:calc(100% + 2 * clamp(1.4rem, 2.2vw, 2rem));transition:background .3s ease,color .3s ease;font-weight:inherit}.cc-cta-arrow{font-family:var(--font-titre);font-size:1.1rem;line-height:1;transition:transform .4s cubic-bezier(0.76,0,0.24,1)}.cc-card--form .cc-cta-bar:hover{background:var(--noir);color:var(--blanc)}.cc-card--socials .cc-cta-bar:hover{background:var(--blanc);color:var(--noir)}.cc-cta-bar:hover .cc-cta-arrow{transform:translate(3px,-3px)}.cc-cta-bar--button{font-family:var(--font-corps);font-size:var(--fs-mono-xs)}.cc-cta-bar--button[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}.cc-card *:focus-visible{outline:2px solid currentColor;outline-offset:2px}@media(max-width:900px){.cc-stack{max-width:100%;aspect-ratio:4 / 5.2;margin-top:1rem}.cc-card{padding:1.4rem}.cc-card-titre{font-size:2.4rem}.cc-social-nom{font-size:1.4rem}}@media(prefers-reduced-motion:reduce){.cc-card,.cc-card.is-swiping-out,.cc-card.is-incoming{animation:none !important;transition:opacity .2s ease !important}}@media(max-width:600px){.cc-stack{aspect-ratio:4 / 5.6}.contact-stack-section .cc-stack{max-width:100%}.cc-card{padding:1.4rem 1.2rem 1.2rem;border-radius:16px}.cc-card-titre{font-size:clamp(1.9rem,8vw,2.4rem)}.cc-toggle{padding:.5rem .7rem;min-height:36px;min-width:36px}.cc-toggle-label{font-size:.7rem}.cc-social-nom{font-size:1.15rem}.cc-social-fleche{font-size:1.15rem}.cc-input{font-size:1rem;padding:.45rem 0}.cc-textarea{min-height:60px}}@media(min-width:1800px){.contact-hero{padding:clamp(7rem,11vw,9.5rem) var(--marge) clamp(2.2rem,3.8vw,3.2rem)}.contact-titre{font-size:clamp(4.5rem,9vw,11rem);-webkit-text-stroke:2.5px rgba(10,10,10,1);text-stroke:2.5px rgba(10,10,10,1)}.contact-email{font-size:clamp(2rem,4vw,5rem)}.cc-stack{max-width:400px}.cc-card-titre{font-size:clamp(2.1rem,2.7vw,3.1rem)}.cc-social-nom{font-size:clamp(1.15rem,1.45vw,1.55rem)}.contact-stack-section{padding:clamp(2.5rem,4vw,4rem) var(--marge) clamp(3rem,5vw,5rem)}}@media(min-width:2100px){.contact-titre{font-size:clamp(5rem,8vw,12rem)}}