/* Site public Closing Care (closingcare.fr) : accueil, présentation, pages légales.
   Même charte que l'application : bordeaux #530b32, crème #f6efe8, or #d4af37, Jost partout (style sobre, façon Apple).
   Style « liquide » : pas de contour, la matière (teinte, ombre fine) sépare les blocs. */
:root{--bd:#530b32;--bd2:#3d0724;--cr:#f6efe8;--sa:#e8d9c5;--or:#d4af37;--orc:#f1d98a;--vr:#b88f96;--tx:#35291b;--mu:#7a6a58;--bl:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cr);color:var(--tx);font:400 16.5px/1.7 Jost,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
img{max-width:100%;height:auto}
a{color:var(--bd);text-decoration-color:rgba(83,11,50,.35);text-underline-offset:3px}
a:hover{text-decoration-color:var(--bd)}
:focus-visible{outline:3px solid var(--or);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:var(--bd);color:var(--cr);padding:8px 14px;border-radius:8px;z-index:50}
.skip:focus{left:12px}

/* En-tête */
.top{position:sticky;top:0;z-index:20;background:rgba(246,239,232,.86);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);box-shadow:0 1px 0 rgba(83,11,50,.07)}
.top .in{max-width:1124px;margin:0 auto;padding:12px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.top .brand{display:flex;align-items:center;line-height:0}
.top .brand img{height:42px;width:auto;display:block}
.top nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.top nav a{color:var(--bd);text-decoration:none;font-weight:500;font-size:15.5px;padding:8px 12px;border-radius:999px}
.top nav a:hover{background:rgba(83,11,50,.07)}
.top nav a.cta{background:var(--bd);color:var(--cr);padding:9px 18px;font-weight:600;box-shadow:0 6px 16px -8px rgba(83,11,50,.7)}
.top nav a.cta:hover{background:var(--bd2)}

/* Boutons */
.btn{display:inline-block;background:var(--bd);color:var(--cr);text-decoration:none;border:0;border-radius:999px;padding:14px 28px;font:600 16.5px/1.2 Jost,sans-serif;cursor:pointer;box-shadow:0 10px 24px -12px rgba(83,11,50,.8);transition:transform .15s,background .15s}
.btn:hover{background:var(--bd2);transform:translateY(-1px)}
.btn.or{background:var(--or);color:#2a0519;box-shadow:0 10px 26px -12px rgba(212,175,55,.9)}
.btn.or:hover{background:#dcba4c}
.btn.ghost{background:rgba(246,239,232,.12);color:var(--cr);box-shadow:none}
.btn.ghost:hover{background:rgba(246,239,232,.2)}
.btn.line{background:transparent;color:var(--bd);box-shadow:inset 0 0 0 2px rgba(83,11,50,.25)}
.btn.line:hover{background:rgba(83,11,50,.06)}

/* Bandeau d'accueil : clair, centré, grand titre, aperçu de l'application */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#fbf6ef 0%,var(--cr) 100%);color:var(--bd);padding:88px 22px 40px;text-align:center}
.hero:before{content:"";position:absolute;left:50%;top:-260px;width:980px;height:700px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(199,154,184,.38),rgba(199,154,184,0));pointer-events:none}
.hero:after{content:"";position:absolute;right:-180px;top:120px;width:560px;height:560px;background:radial-gradient(closest-side,rgba(241,217,138,.4),rgba(241,217,138,0));pointer-events:none}
.hero .in{position:relative;max-width:980px;margin:0 auto}
.eyebrow{display:inline-block;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--mu);font-weight:500;margin:0 0 20px}
.hero h1{font-weight:600;font-size:clamp(38px,7vw,76px);line-height:1.03;letter-spacing:-.035em;margin:0 auto 22px;color:var(--bd);max-width:880px}
.hero h1 .g{background:linear-gradient(100deg,var(--bd) 10%,#a8456f 55%,#c9983a 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lead{font-size:clamp(18px,2.1vw,22px);line-height:1.55;color:#5a4a3a;max-width:700px;margin:0 auto 32px}
.hero .row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.hero .btn.ghost{background:rgba(83,11,50,.07);color:var(--bd)}
.hero .btn.ghost:hover{background:rgba(83,11,50,.12)}

/* Aperçu de l'application (dessiné en CSS) */
.show{position:relative;margin:64px auto 0;max-width:940px;text-align:left}
.win{background:#fff;border-radius:26px;box-shadow:0 2px 0 rgba(83,11,50,.03),0 60px 100px -50px rgba(83,11,50,.55);overflow:hidden}
.win .bar{display:flex;gap:7px;padding:14px 18px;background:#faf6f1}
.win .bar i{width:11px;height:11px;border-radius:50%;background:#e4d8ca;display:block}
.win .bd{display:grid;grid-template-columns:1fr 1fr;min-height:300px}
.win .pane{padding:26px 26px 28px}
.win .pane+.pane{background:#fbf8f4}
.win h4{margin:0 0 2px;font-size:19px;color:var(--bd);letter-spacing:-.01em}
.win .meta{font-size:14px;color:var(--mu);margin:0 0 16px}
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.slots span{background:#f5ecf0;color:var(--bd);border-radius:12px;text-align:center;padding:10px 0;font-weight:500;font-size:15px}
.slots span.on{background:var(--bd);color:var(--cr)}
.mini{margin-top:18px;background:var(--bd);color:var(--cr);border-radius:999px;text-align:center;padding:12px;font-weight:600;font-size:15px}
.row2{display:flex;align-items:center;gap:12px;padding:11px 0}
.row2+.row2{border-top:1px solid rgba(83,11,50,.07)}
.av{width:38px;height:38px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;color:var(--bd);background:linear-gradient(135deg,var(--orc),#e6c9d8)}
.row2 b{display:block;font-size:15.5px;color:var(--tx);line-height:1.25}
.row2 small{color:var(--mu);font-size:13.5px}
.tag{margin-left:auto;font-size:12.5px;font-weight:600;border-radius:999px;padding:4px 11px;background:#e5f1e8;color:#25623f;white-space:nowrap}
.tag.o{background:#fbefcf;color:#7a5a08}.tag.p{background:#f5e3ec;color:#7a1f4a}

/* Apparition douce au défilement */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.js .rv.vu{opacity:1;transform:none}

/* Sections */
.sec{max-width:1124px;margin:0 auto;padding:96px 22px 8px}
.sec h2,.page h2{font-weight:600;color:var(--bd);font-size:clamp(30px,4.4vw,48px);line-height:1.08;letter-spacing:-.025em;margin:0 0 14px}
.sec .sub{color:var(--mu);max-width:720px;margin:0 0 34px;font-size:19px;line-height:1.6}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.card{background:var(--bl);border-radius:28px;padding:30px 28px 28px;box-shadow:0 1px 0 rgba(83,11,50,.04),0 24px 48px -32px rgba(83,11,50,.4);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.card:hover{transform:translateY(-4px);box-shadow:0 1px 0 rgba(83,11,50,.04),0 34px 60px -30px rgba(83,11,50,.5)}
.card h3{margin:18px 0 8px;color:var(--bd);font-size:20px;line-height:1.28;letter-spacing:-.01em;font-weight:600}
.card p{margin:0;color:#4a3d30}
.ico{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--orc),#f4e6d6 55%,#e6c9d8);color:var(--bd)}
.ico svg{width:24px;height:24px}
.steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.steps li{counter-increment:s;position:relative;background:var(--bl);border-radius:28px;padding:30px 28px 26px;box-shadow:0 18px 40px -26px rgba(83,11,50,.45)}
.steps li:before{content:counter(s);font-weight:600;font-size:44px;letter-spacing:-.03em;line-height:1;color:var(--or);display:block;margin-bottom:10px}
.steps b{color:var(--bd)}
.band{margin-top:64px;background:linear-gradient(180deg,#fbf5e8,#f6efe8)}
.band .sec{padding-top:56px;padding-bottom:36px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}
.note{background:rgba(212,175,55,.13);border-radius:18px;padding:18px 22px;margin:22px 0}
.note p{margin:6px 0}
.pill{display:inline-block;background:rgba(83,11,50,.08);color:var(--bd);border-radius:999px;padding:3px 12px;font-size:14px;font-weight:500;margin:0 6px 6px 0}

/* Formulaire « être rappelée » */
.signup{position:relative;overflow:hidden;background:var(--bd);color:var(--cr);margin-top:70px;padding:70px 22px 80px}
.signup:before{content:"";position:absolute;inset:-30% -10% auto auto;width:560px;height:560px;background:radial-gradient(closest-side,rgba(199,154,184,.42),rgba(199,154,184,0));pointer-events:none}
.signup .in{position:relative;max-width:1080px;margin:0 auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start}
.signup h2{font-weight:600;color:var(--cr);font-size:clamp(30px,4.2vw,46px);line-height:1.08;letter-spacing:-.025em;margin:0 0 14px}
.signup p{color:#f1e4d6;margin:0 0 12px}
.signup ul{margin:14px 0 0;padding:0;list-style:none}
.signup li{padding-left:28px;position:relative;margin:8px 0;color:#f1e4d6}
.signup li:before{content:"";position:absolute;left:2px;top:9px;width:11px;height:11px;border-radius:50%;background:var(--or)}
form.wl{background:var(--cr);color:var(--tx);border-radius:24px;padding:28px 26px 24px;box-shadow:0 30px 60px -30px rgba(10,0,6,.7)}
form.wl .f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
form.wl label{display:block;font-weight:500;font-size:14.5px;color:var(--bd);margin:0 0 14px}
form.wl input,form.wl select,form.wl textarea{display:block;width:100%;margin-top:5px;background:#fff;border:0;border-radius:12px;padding:12px 14px;font:400 16px/1.4 Jost,sans-serif;color:var(--tx);box-shadow:inset 0 0 0 1.5px rgba(83,11,50,.12)}
form.wl textarea{min-height:84px;resize:vertical}
form.wl input:focus,form.wl select:focus,form.wl textarea:focus{outline:0;box-shadow:inset 0 0 0 2px var(--or)}
form.wl .chk{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14px;color:#4a3d30;margin:2px 0 16px}
form.wl .chk input{width:20px;height:20px;margin:3px 0 0;flex:none;accent-color:var(--bd)}
form.wl .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
form.wl .btn{width:100%;font-size:17px;padding:16px 24px}
form.wl .btn[disabled]{opacity:.6;cursor:wait}
.msg{border-radius:14px;padding:14px 16px;margin:0 0 14px;font-size:15.5px}
.msg.ok{background:#dcebe2;color:#1f4a33}
.msg.ko{background:#f4d6df;color:#6b1c3a}
.tiny,.signup form.wl p.tiny{font-size:13.5px;color:var(--mu);margin:12px 0 0}

/* Pages de texte */
.page{max-width:860px;margin:0 auto;padding:44px 22px 72px}
.page h1{font-weight:600;color:var(--bd);font-size:clamp(32px,5vw,50px);line-height:1.08;letter-spacing:-.028em;margin:0 0 8px}
.page .maj{color:var(--mu);font-size:14.5px;margin:0 0 26px}
.page h2{font-size:26px;letter-spacing:-.01em;line-height:1.2;margin:38px 0 8px}
.page h3{color:var(--bd);font-size:18px;margin:22px 0 4px}
.page p,.page li{margin:9px 0}
.page ul{padding-left:22px}
.page .lead{font-size:19px;color:#4a3d30}
.box{background:#fff;border-radius:18px;padding:18px 22px;margin:20px 0;box-shadow:0 16px 36px -26px rgba(83,11,50,.5)}
.box.or{background:#fdf7e3}
.box h3{margin-top:2px}
table.sc{width:100%;border-collapse:separate;border-spacing:0;margin:14px 0;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 16px 36px -26px rgba(83,11,50,.5);font-size:15.5px}
table.sc th{background:rgba(83,11,50,.06);text-align:left;padding:11px 14px;color:var(--bd);font-weight:600}
table.sc td{padding:11px 14px;vertical-align:top;border-top:1px solid rgba(83,11,50,.07)}
table.sc td:first-child{width:36%;min-width:190px}
table.sc code{background:rgba(83,11,50,.07);border-radius:6px;padding:1px 6px;font-size:13px;overflow-wrap:anywhere}
.crumb{margin:0 0 14px;font-size:14.5px}

/* Pied de page */
.foot{background:var(--bd);color:#e9dccd;margin-top:0;padding:44px 22px 34px;font-size:15px}
.foot .in{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px}
.foot img{height:44px;width:auto;display:block;margin-bottom:12px}
.foot a{color:#f6efe8;text-decoration:none;display:block;padding:3px 0}
.foot a:hover{text-decoration:underline;text-decoration-color:var(--or)}
.foot h4{margin:0 0 8px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--orc);font-weight:500}
.foot p{margin:4px 0;color:#d9c9b9}
.foot .legal{grid-column:1/-1;border-top:1px solid rgba(246,239,232,.14);padding-top:18px;font-size:13.5px;color:#cbb9a8}

@media(max-width:860px){
  .signup .in,.two,.win .bd{grid-template-columns:1fr}
  .hero{padding:56px 22px 24px}.show{margin-top:44px}
  .foot .in{grid-template-columns:1fr}
}
@media(max-width:640px){
  table.sc,table.sc tbody,table.sc tr,table.sc td,table.sc th{display:block;width:auto!important;min-width:0!important}
  table.sc thead{display:none}
  table.sc td:first-child{background:rgba(83,11,50,.05);font-weight:500}
  .top nav a:not(.cta){display:none}
  .top .brand img{height:36px}
  form.wl .f2{grid-template-columns:1fr}
  .sec{padding-top:60px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.card{transition:none}.js .rv{opacity:1;transform:none;transition:none}}
