:root{
  --bg:#F7F3EC;--bg-soft:#EDE8DF;--white:#FFFFFF;
  --blue:#1B3F72;--blue-mid:#2B5498;--blue-pale:#E8EEF7;
  --terra:#C4622D;--terra-light:#E07A45;--terra-pale:#FAF0E8;
  --text:#1A2B3C;--text-mid:#3D5068;--text-soft:#7A8FA6;
  --border:#D9D0C3;
  --shadow:0 2px 16px rgba(27,63,114,.08);
  --shadow-md:0 8px 40px rgba(27,63,114,.13);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);line-height:1.65;overflow-x:hidden}

/* NAV */
header{position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(247,243,236,.96);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}
.nav{max-width:1100px;margin:0 auto;padding:0 32px;height:68px;display:flex;align-items:center;justify-content:space-between}
.logo{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:700;color:var(--blue);text-decoration:none;letter-spacing:-.2px}
.logo span{color:var(--terra)}
nav ul{list-style:none;display:flex;gap:2px}
nav a{font-size:.8rem;font-weight:600;color:var(--text-mid);text-decoration:none;padding:7px 12px;border-radius:8px;transition:all .2s;letter-spacing:.1px}
nav a:hover,nav a.active{color:var(--blue);background:var(--blue-pale)}
.nav-cta{background:var(--terra)!important;color:#fff!important;border-radius:8px!important}
.nav-cta:hover{background:var(--terra-light)!important}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px}
.burger span{display:block;width:22px;height:2px;background:var(--blue);border-radius:2px}

/* FOOTER */
footer{background:var(--blue);padding:60px 32px 32px}
.ft{max-width:1100px;margin:0 auto}
.ft-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:52px;margin-bottom:40px}
.ft-name{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:700;color:#fff;margin-bottom:10px}
.ft-name span{color:rgba(224,122,69,.9)}
.ft-desc{font-size:.85rem;color:rgba(255,255,255,.45);line-height:1.8}
.ft-col h5{font-size:.63rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.33);margin-bottom:14px}
.ft-links{list-style:none;display:flex;flex-direction:column;gap:10px}
.ft-links a{font-size:.85rem;color:rgba(255,255,255,.55);text-decoration:none;transition:color .2s}
.ft-links a:hover{color:#fff}
.ft-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.ft-copy{font-size:.72rem;color:rgba(255,255,255,.3)}
.ft-copy span{color:rgba(224,122,69,.8)}

/* UTILITAIRES */
.eyebrow{font-size:.67rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--terra);display:block;margin-bottom:10px}
.sec-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.9rem,3.5vw,2.9rem);font-weight:700;color:var(--blue);line-height:1.15;margin-bottom:14px}
.sec-title em{font-style:italic;color:var(--terra)}
.sec-desc{font-size:.95rem;color:var(--text-mid);line-height:1.8}
.btn{font-family:'DM Sans',sans-serif;font-size:.9rem;font-weight:700;padding:14px 28px;border-radius:10px;text-decoration:none;cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;letter-spacing:.1px}
.btn-terra{background:var(--terra);color:#fff}
.btn-terra:hover{background:var(--terra-light);transform:translateY(-2px);box-shadow:0 8px 24px rgba(196,98,45,.28)}
.btn-blue{background:var(--blue);color:#fff}
.btn-blue:hover{background:var(--blue-mid);transform:translateY(-2px);box-shadow:0 8px 24px rgba(27,63,114,.25)}
.btn-outline-blue{background:transparent;color:var(--blue);border:1.5px solid rgba(27,63,114,.25)}
.btn-outline-blue:hover{border-color:var(--blue);background:var(--blue-pale)}
.btn-outline-w{background:transparent;color:rgba(255,255,255,.85);border:1.5px solid rgba(255,255,255,.3)}
.btn-outline-w:hover{border-color:#fff;color:#fff}
.btn-full{width:100%;display:block;text-align:center}

/* FORMULAIRES */
.form-group{margin-bottom:18px}
.form-group label{display:block;font-size:.79rem;font-weight:600;color:var(--text);margin-bottom:7px}
.form-group label .opt{color:var(--text-soft);font-weight:400}
.form-group input,.form-group select,.form-group textarea{font-family:'DM Sans',sans-serif;width:100%;padding:12px 15px;background:#fff;border:1.5px solid var(--border);border-radius:10px;color:var(--text);font-size:.9rem;transition:all .25s;outline:none;display:block}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--terra);box-shadow:0 0 0 3px rgba(196,98,45,.1)}
.form-group textarea{resize:vertical;min-height:110px;line-height:1.6}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.radio-group{display:flex;gap:10px;flex-wrap:wrap}
.radio-opt{display:flex;align-items:center;gap:9px;cursor:pointer;background:var(--bg-soft);border:1.5px solid var(--border);border-radius:9px;padding:10px 16px;transition:all .25s;font-size:.87rem;font-weight:500;color:var(--text);user-select:none}
.radio-opt input{accent-color:var(--terra);width:15px;height:15px;flex-shrink:0}
.radio-opt:has(input:checked){border-color:var(--terra);background:var(--terra-pale);color:var(--terra)}
.consent-row{display:flex;gap:12px;align-items:flex-start;background:var(--bg-soft);border:1.5px solid var(--border);border-radius:10px;padding:14px;cursor:pointer}
.consent-row input{accent-color:var(--terra);width:15px;height:15px;flex-shrink:0;margin-top:2px}
.consent-row span{font-size:.81rem;color:var(--text-mid);line-height:1.6}
.success-state{display:none;text-align:center;padding:32px 0}
.success-state h3{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:700;color:var(--blue);margin:14px 0 10px}
.success-state p{font-size:.9rem;color:var(--text-mid);line-height:1.7}

/* TALLY LINK BUTTON — pour rediriger vers Tally */
.tally-btn{display:block;width:100%;padding:15px;background:var(--terra);color:#fff;border:none;border-radius:10px;font-family:'DM Sans',sans-serif;font-size:.94rem;font-weight:700;cursor:pointer;transition:all .3s;text-align:center;text-decoration:none;letter-spacing:.2px}
.tally-btn:hover{background:var(--terra-light);transform:translateY(-2px);box-shadow:0 8px 24px rgba(196,98,45,.28)}
.tally-btn-blue{background:var(--blue)}
.tally-btn-blue:hover{background:var(--blue-mid);box-shadow:0 8px 24px rgba(27,63,114,.25)}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:none}

/* RESPONSIVE */
@media(max-width:900px){.ft-top{grid-template-columns:1fr 1fr}}
@media(max-width:680px){
  nav ul{display:none}
  nav ul.open{display:flex;flex-direction:column;position:absolute;top:68px;left:0;right:0;background:rgba(247,243,236,.98);border-bottom:1px solid var(--border);padding:12px 20px;gap:2px}
  .burger{display:flex}
  .form-row{grid-template-columns:1fr}
  .ft-top{grid-template-columns:1fr;gap:24px}
  .ft-bottom{flex-direction:column;text-align:center}
}
