/* ---------------------------------------------------------
   Réno Soleil — Funnel subdomain
   Tokens aligned with main site (_css/style.css)
--------------------------------------------------------- */
:root{
  --primary: #2a7d2e;
  --primary-dark: #0b3d2c;
  --primary-hover: #17511a;
  --accent: #94d96b;
  --mint: #cde4ce;
  --mint-soft: #edfbe6;
  --ink: #202020;
  --ink-soft: #454545;
  --muted: #646464;
  --line: #e6e8e6;
  --bg: #ffffff;
  --bg-soft: #f5f7fa;
  --danger: #fe4040;

  --radius: 14px;
  --radius-sm: 10px;
  --shadow-sm: 0 2px 6px rgba(11,61,44,.06);
  --shadow-md: 0 10px 30px rgba(11,61,44,.10);

  --ff-head: "Tenor Sans", Georgia, serif;
  --ff-body: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--ff-body);
  color:var(--ink);
  background:var(--bg-soft);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--primary-dark);text-decoration:none}
a:hover{text-decoration:underline}

/* Topbar */
.rs-topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 24px;background:#fff;border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:10;
}
.rs-logo{display:flex;align-items:center;gap:10px;color:var(--primary-dark);font-family:var(--ff-head);font-size:22px}
.rs-logo-mark{
  display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;
  background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-size:18px;
}
.rs-phone{
  display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--primary-dark);
  padding:8px 14px;border-radius:999px;border:1.5px solid var(--primary);
  transition:background .15s,color .15s;
}
.rs-phone:hover{background:var(--primary);color:#fff;text-decoration:none}
.rs-phone-ico{font-size:14px}

/* Funnel container */
.rs-funnel{max-width:860px;margin:0 auto;padding:40px 20px 80px}

/* Hero */
.rs-hero{
  background:linear-gradient(135deg,var(--mint-soft) 0%,#fff 60%);
  border:1px solid var(--line);border-radius:calc(var(--radius) + 6px);
  padding:56px 40px;box-shadow:var(--shadow-md);
  text-align:center;
}
.rs-hero-inner{max-width:640px;margin:0 auto}
.rs-badge{
  display:inline-block;padding:6px 14px;border-radius:999px;
  background:var(--mint);color:var(--primary-dark);
  font-size:13px;font-weight:600;letter-spacing:.2px;margin-bottom:20px;
}
.rs-hero h1{
  font-family:var(--ff-head);font-weight:400;
  font-size:clamp(28px,4.2vw,44px);line-height:1.15;margin:0 0 18px;color:var(--ink);
}
.rs-accent{color:var(--primary);position:relative;white-space:nowrap}
.rs-sub{font-size:17px;color:var(--muted);margin:0 auto 28px;max-width:520px}
.rs-trust{
  list-style:none;padding:0;margin:28px 0 0;
  display:flex;flex-wrap:wrap;justify-content:center;gap:18px;
  color:var(--ink-soft);font-size:14px;font-weight:500;
}

/* Buttons */
[hidden]{display:none!important}
.rs-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--ff-body);font-weight:600;font-size:15px;
  padding:12px 22px;border-radius:999px;border:0;cursor:pointer;
  background:var(--primary);color:#fff;
  transition:transform .08s,background .15s,box-shadow .15s;
  box-shadow:var(--shadow-sm);
}
.rs-btn:hover{background:var(--primary-hover)}
.rs-btn:active{transform:translateY(1px)}
.rs-btn-lg{font-size:17px;padding:16px 32px}
.rs-btn-ghost{background:transparent;color:var(--primary-dark);box-shadow:none}
.rs-btn-ghost:hover{background:var(--mint-soft)}

/* Form card */
.rs-steps{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:40px;box-shadow:var(--shadow-md);margin-top:20px;
}

/* Progress */
.rs-progress{
  display:flex;align-items:center;gap:14px;margin-bottom:28px;
}
.rs-progress-bar{
  flex:1;height:8px;background:var(--bg-soft);border-radius:999px;overflow:hidden;position:relative;
}
.rs-progress-bar::after{
  content:"";display:block;height:100%;width:var(--p,20%);
  background:linear-gradient(90deg,var(--primary),var(--accent));
  border-radius:999px;transition:width .3s ease;
}
.rs-progress-label{font-size:13px;color:var(--muted);white-space:nowrap}

/* Step */
.rs-step{border:0;padding:0;margin:0}
.rs-q{
  font-family:var(--ff-head);font-weight:400;
  font-size:clamp(22px,3vw,30px);line-height:1.2;margin:0 0 8px;color:var(--ink);
}
.rs-help{color:var(--muted);margin:0 0 22px;font-size:15px}

/* Grid of cards */
.rs-grid{display:grid;gap:12px}
.rs-grid-services{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.rs-grid-4{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}

.rs-card{
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  min-height:110px;padding:18px 12px;
  background:#fff;border:2px solid var(--line);border-radius:var(--radius-sm);
  text-align:center;font-size:14px;font-weight:500;color:var(--ink);
  cursor:pointer;transition:border-color .15s,background .15s,transform .08s,box-shadow .15s;
}
.rs-card:hover{border-color:var(--primary);background:var(--mint-soft);transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.rs-card input{position:absolute;opacity:0;pointer-events:none}
.rs-card input:checked + .rs-card-ico,
.rs-card:has(input:checked){
  border-color:var(--primary);background:var(--mint-soft);
  box-shadow:0 0 0 3px rgba(42,125,46,.15);
}
.rs-card-ico{font-size:28px;line-height:1}

/* Fields */
.rs-field{margin-bottom:18px;display:flex;flex-direction:column;gap:6px}
.rs-field label{font-weight:600;font-size:14px;color:var(--ink-soft)}
.rs-field input, .rs-field textarea{
  font:inherit;padding:14px 16px;border-radius:var(--radius-sm);
  border:1.5px solid var(--line);background:#fff;color:var(--ink);
  transition:border-color .15s, box-shadow .15s;
}
.rs-field input:focus, .rs-field textarea:focus{
  outline:0;border-color:var(--primary);box-shadow:0 0 0 3px rgba(42,125,46,.15);
}
.rs-field-lg input{font-size:20px;padding:18px 20px;letter-spacing:1px}
.rs-optional{color:var(--muted);font-weight:400}
.rs-consent{
  display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink-soft);
  margin-top:6px;cursor:pointer;
}
.rs-consent input{margin-top:3px;accent-color:var(--primary)}

/* Nav */
.rs-nav{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  margin-top:32px;padding-top:24px;border-top:1px solid var(--line);
}
.rs-nav .rs-btn:only-child,
.rs-nav #rs-next:not([hidden]){margin-left:auto}

/* Thanks */
.rs-thanks{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:56px 40px;box-shadow:var(--shadow-md);text-align:center;margin-top:20px;
}
.rs-thanks-ico{font-size:54px;margin-bottom:8px}
.rs-thanks h2{font-family:var(--ff-head);font-weight:400;font-size:30px;margin:0 0 12px}
.rs-thanks-call{margin:24px 0;font-weight:500}

/* Social proof */
.rs-social{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;
  margin-top:40px;
}
.rs-social-item{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);
  padding:18px 14px;text-align:center;
}
.rs-social-item strong{display:block;font-size:20px;color:var(--primary-dark);font-family:var(--ff-head);font-weight:400}
.rs-social-item span{font-size:13px;color:var(--muted)}

/* Footer */
.rs-footer{
  text-align:center;color:var(--muted);font-size:13px;padding:24px 16px 40px;
}
.rs-footer a{color:var(--ink-soft)}

/* Error state */
.rs-error{
  background:#fff5f5;border:1px solid #fecaca;color:#b91c1c;
  padding:12px 14px;border-radius:var(--radius-sm);font-size:14px;margin-top:14px;
}

/* Responsive */
@media (max-width:600px){
  .rs-topbar{padding:12px 16px}
  .rs-logo-txt{display:none}
  .rs-hero{padding:36px 22px}
  .rs-steps{padding:24px 20px}
  .rs-thanks{padding:40px 24px}
  .rs-grid-services{grid-template-columns:repeat(2,1fr)}
  .rs-grid-4{grid-template-columns:repeat(2,1fr)}
  .rs-card{min-height:96px;padding:14px 8px;font-size:13px}
  .rs-card-ico{font-size:24px}
  .rs-nav{flex-direction:row;flex-wrap:wrap}
  .rs-btn-lg{width:100%}
}

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