/* ===== Côté Mariés · Design System (tokens + base partagés funnel) ===== */
:root{
  --paper:#F4EEE2;--surface:#FCFAF4;--surface-2:#FFFFFF;--ink:#26221D;--soft:#5B5246;--faint:#9A9183;--quiet:#6E665A;
  --line:#E6DDCD;--line-2:#EFE8DA;--fil:#A8362A;--fil-deep:#88291F;--or:#9A7B33;--or-deep:#6f5816;--sage:#5E7050;--ok-deep:#4b5a39;--blush:#D9A99B;
  --shadow-sm:0 1px 2px rgba(38,34,29,.05);--shadow:0 2px 6px rgba(38,34,29,.05),0 12px 30px rgba(38,34,29,.07);
  --r:14px;--r-lg:20px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Hanken Grotesk',system-ui,sans-serif;background:var(--paper);color:var(--ink);line-height:1.55;font-size:16px;-webkit-font-smoothing:antialiased}
.serif{font-family:'Fraunces',Georgia,serif}
button{font-family:inherit;cursor:pointer;color:inherit;background:none;border:none}
a{color:inherit}
:focus-visible{outline:3px solid var(--fil);outline-offset:2px;border-radius:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px;z-index:200}.skip:focus{left:12px}
.muted{color:var(--soft)}
svg{display:block}

.wrap{max-width:720px;margin:0 auto;padding:0 22px}
.kicker{font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--fil);font-weight:700}

/* boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;background:var(--fil);color:#fff;font-weight:600;font-size:15.5px;border-radius:30px;padding:0 26px;text-decoration:none;transition:transform .15s,background .15s,box-shadow .15s;box-shadow:var(--shadow-sm)}
.btn:hover{transform:translateY(-1px);background:var(--fil-deep);box-shadow:var(--shadow)}
.btn[disabled]{opacity:.4;pointer-events:none}
.btn.soft{background:transparent;color:var(--ink);border:1.5px solid var(--line);box-shadow:none}.btn.soft:hover{border-color:var(--ink);background:none;box-shadow:none}
.btn.ghost{background:transparent;color:var(--soft);min-height:44px;padding:0 8px;box-shadow:none}.btn.ghost:hover{color:var(--ink);background:none;box-shadow:none}

/* champs */
.field{margin-bottom:14px;text-align:left}
.field label{display:block;font-size:13.5px;font-weight:600;margin-bottom:7px}
.field input{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:13px 15px;font-size:16px;background:var(--surface);font-family:'Hanken Grotesk'}
.field input:focus{outline:none;border-color:var(--fil)}
.consent{display:flex;gap:11px;align-items:flex-start;font-size:13px;color:var(--soft);text-align:left;margin:4px 0 16px;cursor:pointer}
.consent input{width:20px;height:20px;accent-color:var(--fil);flex:0 0 auto;margin-top:1px}

/* carte */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;box-shadow:var(--shadow)}

@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
