:root{--ink:#111319;--muted:#687083;--line:#e8eaf0;--soft:#f5f6f8;--white:#fff;--blue:#0078d7;--blue2:#0e9bff;--dark:#171a22;--radius:24px;--shadow:0 24px 80px rgba(17,19,25,.08);--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);color:var(--ink);background:#fbfbfc;line-height:1.5}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}main{min-height:60vh}.site-header{position:sticky;top:0;z-index:20;background:rgba(251,251,252,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(232,234,240,.8);height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,56px)}.brand{display:flex;align-items:center;gap:14px}.brand-logo{width:132px;height:auto}.brand-separator{width:1px;height:30px;background:var(--line)}.brand-name{font-size:22px;font-weight:650;letter-spacing:-.025em}.brand-name span{color:var(--blue)}.main-nav{display:flex;align-items:center;gap:24px;font-size:15px}.nav-toggle{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 18px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:.2s;background:none}.btn-dark{background:var(--dark);color:white;box-shadow:0 12px 28px rgba(17,19,25,.18)}.btn-dark:hover{transform:translateY(-1px);box-shadow:0 16px 36px rgba(17,19,25,.24)}.btn-light{background:white;border-color:var(--line);color:var(--ink)}.btn[disabled],button[disabled]{opacity:.5;cursor:not-allowed}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding:92px clamp(20px,6vw,96px) 72px;overflow:hidden}.hero-copy h1,.page-hero h1,.client-hero h1{font-size:clamp(40px,5.4vw,72px);line-height:1.02;letter-spacing:-.045em;margin:10px 0 22px}.lead{font-size:20px;color:var(--muted);max-width:650px}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:650;color:var(--blue);margin:0 0 8px}.hero-actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.metal-card{position:relative;width:min(100%,530px);aspect-ratio:1.62/1;border-radius:32px;padding:34px;background:linear-gradient(135deg,#e9ecef,#bfc5cc 35%,#f9fafb 55%,#9ca4ae);box-shadow:0 35px 90px rgba(37,44,58,.25),inset 0 0 0 1px rgba(255,255,255,.65);overflow:hidden;transform:rotate(-4deg)}.metal-shine{position:absolute;inset:-40%;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.48),transparent 60%);transform:rotate(18deg)}.card-top,.card-footer,.card-rule{position:relative}.card-top{display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.card-top small{font-size:11px}.card-chip{position:relative;width:58px;height:42px;border-radius:10px;margin-top:48px;background:linear-gradient(135deg,#d4a84e,#ffe29a,#b98121);box-shadow:inset 0 0 0 1px rgba(0,0,0,.16)}.card-rule{font-size:28px;font-weight:700;margin-top:34px;letter-spacing:-.04em}.card-footer{position:absolute;bottom:30px;left:34px;right:34px;font-size:12px;font-weight:800;letter-spacing:.14em}.section{padding:70px clamp(20px,6vw,96px)}.section-tight{padding-top:32px}.alt{background:#f0f2f5}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.section-head h2{font-size:clamp(30px,3.5vw,48px);letter-spacing:-.035em;line-height:1;margin:0}.steps-grid,.reward-grid,.store-grid,.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.steps-grid article,.reward-card,.store-card,.panel,.stats-grid div{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}.steps-grid span{font-weight:700;color:var(--blue);font-size:12px;letter-spacing:.2em}.steps-grid h3,.reward-card h3,.store-card h2{font-size:24px;letter-spacing:-.04em;margin:12px 0 8px}.reward-img{height:180px;border-radius:20px;background:linear-gradient(135deg,#eef1f4,#dfe5ec);display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:18px}.reward-img span{font-size:64px;font-weight:700;color:white;text-shadow:0 10px 30px rgba(0,0,0,.18)}.reward-img img{width:100%;height:100%;object-fit:cover}.reward-card p,.store-card p{color:var(--muted)}.large{grid-template-columns:repeat(2,1fr)}.reward-card-large{display:grid;grid-template-columns:190px 1fr;gap:22px}.reward-card-large .reward-img{height:100%;min-height:210px;margin:0}.reward-content small{color:var(--blue);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.progress-line{height:10px;background:#e5e8ee;border-radius:999px;overflow:hidden;margin:18px 0 10px}.progress-line span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--blue2))}.reward-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.reward-meta em{font-style:normal;color:var(--muted)}.cta-panel{margin:70px clamp(20px,6vw,96px);border-radius:36px;background:var(--dark);color:white}.cta-panel p{color:#c8ccd6}.page-hero{padding:82px clamp(20px,6vw,96px) 44px}.page-hero.compact h1{font-size:clamp(38px,5vw,64px)}.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:26px;flex-wrap:wrap}.pill-row{display:flex;gap:10px;flex-wrap:wrap}.pill,.balance-pill{background:white;border:1px solid var(--line);border-radius:999px;padding:10px 15px}.pill.active{background:var(--dark);color:white}.store-grid{grid-template-columns:repeat(2,1fr)}.store-pin{width:48px;height:48px;border-radius:16px;background:var(--dark);color:white;display:flex;align-items:center;justify-content:center;font-weight:700}.store-card dl{display:grid;grid-template-columns:90px 1fr;gap:8px 18px}.store-card dt{font-weight:650}.store-card dd{margin:0;color:var(--muted)}.auth-page{min-height:calc(100vh - 78px);display:grid;place-items:center;padding:40px 20px}.auth-card{width:min(100%,480px);background:white;border:1px solid var(--line);border-radius:32px;padding:36px;box-shadow:var(--shadow)}.auth-card h1{font-size:38px;letter-spacing:-.035em;line-height:1;margin:8px 0 12px}.form-stack,.form-grid{display:grid;gap:16px}.form-grid{grid-template-columns:repeat(2,1fr)}label{font-weight:800;font-size:14px}input,select,textarea{width:100%;margin-top:7px;border:1px solid var(--line);border-radius:16px;padding:13px 14px;font:inherit;background:#fff;color:var(--ink)}textarea{resize:vertical}.full{grid-column:1/-1}.checkline{display:flex;align-items:center;gap:10px}.checkline input{width:auto;margin:0}.flash{margin:16px clamp(20px,6vw,96px);padding:14px 18px;border-radius:18px;font-weight:600}.flash-success{background:#e8f8ef;color:#176b37}.flash-error{background:#ffecec;color:#a12727}.client-hero{display:grid;grid-template-columns:1fr 320px;align-items:center;gap:30px;padding:70px clamp(20px,6vw,96px);background:radial-gradient(circle at 80% 20%,#e7f4ff,transparent 35%)}.mini-card{height:200px;border-radius:28px;padding:24px;background:linear-gradient(135deg,#2b3038,#0f1116);color:white;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between}.mini-card span{font-size:22px;font-weight:700}.mini-card strong{font-size:24px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.quick-links{display:grid;gap:10px}.quick-links a{padding:14px;border:1px solid var(--line);border-radius:16px}.history-line{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.warning-inline{display:inline-block;background:#fff6db;padding:10px 14px;border-radius:14px;color:#73500b}.narrow{max-width:980px;margin:auto}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.pos{color:#1a8a45;font-weight:700}.neg{color:#b72b2b;font-weight:700}.legal h2{margin-top:28px}.site-footer{background:#111319;color:white;padding:48px clamp(20px,6vw,96px) 24px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer-grid a{display:block;color:#c8ccd6;margin:8px 0}.footer-grid p,.footer-bottom{color:#c8ccd6}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:20px;font-size:13px}.cookie-banner{position:fixed;z-index:50;left:20px;right:20px;bottom:20px;background:white;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:20px}.cookie-banner[hidden]{display:none}.cookie-banner p{margin:4px 0 0;color:var(--muted)}.cookie-actions{display:flex;gap:10px}.small-muted{font-size:13px;color:var(--muted)}

/* FidelOrdi v1.2 — typographie volontairement légère */
body{font-weight:400}
h1,h2,h3,h4,h5,h6,.brand-name,.card-top,.card-rule,.card-footer,.mini-card span,.mini-card strong{font-weight:500}
label{font-weight:500}
.btn{font-weight:500}
.eyebrow{font-weight:500}
.reward-content small,.steps-grid span,.store-pin{font-weight:500}
.store-card dt{font-weight:500}
th{font-weight:500}
.pos,.neg{font-weight:500}
.flash{font-weight:500}
.success-page{padding-top:72px;padding-bottom:90px}
.confirmation-panel{text-align:center;max-width:760px;margin:0 auto;padding:42px}
.confirmation-panel h1,.confirmation-panel h2{font-weight:500;margin:10px 0 12px}
.success-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:#dff7e8;color:#187a43;font-size:30px;font-weight:500}
.confirmation-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin:28px 0;text-align:left}
.confirmation-details div{background:#fff;padding:16px 18px}
.confirmation-details dt{font-size:12px;color:var(--muted);margin-bottom:4px;font-weight:400}
.confirmation-details dd{margin:0;font-weight:500}
.confirmation-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
@media(max-width:680px){.confirmation-details{grid-template-columns:1fr}.confirmation-panel{padding:28px 20px}}
