:root{--white:#fff;--ivory:#fff;--stone:#fff;--mist:#f4f4f3;--stone-deep:#e4e4e2;--ink:#19110b;--ink-soft:#3d3530;--muted:#736b63;--line:#e7e5e2;--brass:#a8834a;--error:#9b2c1f;--serif:var(--font-serif), "Times New Roman", serif;--sans:var(--font-sans), "Helvetica Neue", Arial, sans-serif;--gutter:clamp(16px, 3.2vw, 48px);--header-h:64px;--ease:cubic-bezier(.22, .61, .36, 1);--slow:.9s}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}html,body{overflow-x:clip}body{background:var(--white);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:14px;font-weight:400;line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}:focus-visible{outline:1px solid var(--ink);outline-offset:3px}::selection{background:var(--stone-deep)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink);color:var(--white);padding:10px 16px;position:fixed;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus{transform:none}.display{font-family:var(--serif);letter-spacing:-.01em;margin:0;font-size:clamp(40px,6vw,84px);font-weight:300;line-height:1.02}.h1{font-family:var(--serif);margin:0;font-size:clamp(32px,4vw,52px);font-weight:300;line-height:1.1}.h2{font-family:var(--serif);margin:0;font-size:clamp(26px,2.8vw,38px);font-weight:300;line-height:1.15}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0;font-size:11px}.lead{color:var(--ink-soft);max-width:34em;margin:0;font-size:15px;line-height:1.75}.small{color:var(--muted);font-size:12px}.link{transition:background-size .5s var(--ease);background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding-bottom:2px}.link:hover{background-position:100% 100%;background-size:0 1px}.btn{letter-spacing:.04em;min-height:48px;transition:background-color .4s var(--ease), color .4s var(--ease), border-color .4s var(--ease);border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 32px;font-size:13px;display:inline-flex}.btn-primary{background:var(--ink);color:var(--white)}.btn-primary:hover{background:#3a2f27}.btn-primary:disabled{cursor:not-allowed;background:#9a938d}.btn-outline{border:1px solid var(--ink)}.btn-outline:hover{background:var(--ink);color:var(--white)}.btn-light{background:var(--white);color:var(--ink)}.btn-light:hover{background:var(--stone)}.btn-block{width:100%}.container{padding-inline:var(--gutter);max-width:1600px;margin-inline:auto}.section{padding-block:clamp(72px,10vw,160px)}.photo{background:var(--stone);position:relative;overflow:hidden}.photo img{object-fit:cover;width:100%;height:100%}.photo img[src*=provisoire]{filter:saturate(.82)contrast(.98)sepia(.06)}.reveal{opacity:0;filter:blur(5px);transition:opacity .7s var(--ease), transform .7s var(--ease), filter .7s var(--ease);transform:translateY(24px)}.reveal[data-from=left]{transform:translate(-28px)}.reveal[data-from=right]{transform:translate(28px)}.reveal.is-visible{opacity:1;filter:none;transform:none}.field{gap:8px;display:grid}.field label,.field legend{letter-spacing:.02em;font-size:12px}.input{border:1px solid var(--line);background:var(--white);width:100%;height:48px;transition:border-color .3s var(--ease);border-radius:0;padding:0 16px}.input:hover,.input:focus{border-color:var(--ink);outline:none}.input[aria-invalid=true]{border-color:var(--error)}.field-error{color:var(--error);margin:0;font-size:12px}.field-hint{color:var(--muted);margin:0;font-size:12px}.prose{max-width:720px}.prose h2{font-family:var(--serif);margin:48px 0 12px;font-size:24px;font-weight:400}.prose p,.prose li{color:var(--ink-soft);line-height:1.8}.prose a{text-underline-offset:3px;text-decoration:underline}.placeholder-note{border-left:1px solid var(--brass);color:var(--muted);padding:4px 0 4px 16px;font-size:13px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}.reveal{opacity:1;filter:none;transform:none}}
