/* Indemnix — identité unique : teal profond + sable chaud, Lora + Libre Franklin */
:root{
  --teal:#0F766E; --teal-d:#0B4F49; --teal-l:#14958A;
  --sand:#F5EFE6; --sand-d:#EBE2D2; --paper:#FFFDFA;
  --mint:#E3F0EC; --mint-d:#CFE6DF;
  --ink:#22312E; --muted:#5C6B66;
  --line:#E4DCCE;
  --shadow:0 18px 50px -28px rgba(15,118,110,.45);
  --shadow-s:0 6px 24px -16px rgba(34,49,46,.35);
  --r:18px; --r-s:12px;
  --maxw:1140px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--sand); color:var(--ink);
  font-family:"Libre Franklin",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  font-size:17px; line-height:1.65; font-weight:400;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:"Lora",Georgia,serif; font-weight:600; line-height:1.18; color:var(--teal-d); margin:0;}
h1{font-size:clamp(2.2rem,4.6vw,3.5rem); letter-spacing:-.01em;}
h2{font-size:clamp(1.7rem,3vw,2.4rem);}
h3{font-size:1.3rem;}
p{margin:0 0 1rem;}
a{color:var(--teal); text-decoration:none;}
em{font-style:italic; color:var(--teal);}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px;}
.ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none;}
.eyebrow{display:inline-block; font-family:"Libre Franklin"; font-weight:600; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--teal); background:var(--mint); padding:.35rem .8rem; border-radius:999px; margin-bottom:1rem;}

/* NAV */
.nav{position:sticky; top:0; z-index:40; background:rgba(245,239,230,.85); backdrop-filter:blur(12px); border-bottom:1px solid var(--line);}
.nav-inner{display:flex; align-items:center; justify-content:space-between; height:74px;}
.brand{display:flex; align-items:center; gap:.6rem;}
.brand-mark{display:inline-flex; line-height:0;}
.brand-name{font-family:"Lora",serif; font-weight:700; font-size:1.45rem; color:var(--teal-d); letter-spacing:.01em;}
.nav-links{display:flex; align-items:center; gap:1.6rem;}
.nav-links a{color:var(--ink); font-weight:500; font-size:.95rem;}
.nav-links a:hover{color:var(--teal);}
.nav-cta{background:var(--teal); color:#fff!important; padding:.55rem 1.1rem; border-radius:999px; font-weight:600!important;}
.nav-cta:hover{background:var(--teal-d);}
.nav-account{border:1px solid var(--teal); background:transparent; color:var(--teal); padding:.5rem 1rem; border-radius:999px; font-weight:600; font-size:.92rem; cursor:pointer; font-family:inherit;}
.nav-account:hover{background:var(--mint);}
@media(max-width:860px){ .nav-links a:not(.nav-cta){display:none} }

/* BUTTONS */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:.55rem; font-family:"Libre Franklin"; font-weight:600; font-size:1rem; padding:.85rem 1.5rem; border-radius:999px; border:1px solid transparent; cursor:pointer; transition:.2s; text-align:center;}
.btn-primary{background:var(--teal); color:#fff;}
.btn-primary:hover{background:var(--teal-d); transform:translateY(-1px); box-shadow:var(--shadow);}
.btn-ghost{background:transparent; color:var(--teal-d); border-color:var(--mint-d);}
.btn-ghost:hover{background:var(--mint); border-color:var(--teal);}
.btn-light{background:var(--sand); color:var(--teal-d);}
.btn-light:hover{background:#fff;}
.btn-block{width:100%;}
.btn-google{background:#fff; color:var(--ink); border:1px solid var(--line);}
.btn-google:hover{border-color:var(--teal); background:var(--paper);}

/* HERO */
.hero{padding:64px 0 40px; background:
  radial-gradient(900px 420px at 88% -8%, var(--mint) 0%, transparent 60%),
  linear-gradient(180deg, var(--sand) 0%, var(--sand) 100%);}
.hero-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center;}
.hero-copy .lede{font-size:1.16rem; color:var(--muted); max-width:40ch; margin-top:1.1rem;}
.hero-actions{display:flex; gap:.9rem; flex-wrap:wrap; margin:1.8rem 0 1.4rem;}
.hero-assur{list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:1.1rem 1.6rem;}
.hero-assur li{display:flex; align-items:center; gap:.5rem; font-size:.92rem; color:var(--teal-d); font-weight:500;}
.hero-assur .ic{color:var(--teal); width:18px; height:18px;}

.hero-card{background:var(--paper); border:1px solid var(--line); border-radius:var(--r); padding:26px; box-shadow:var(--shadow); position:relative;}
.hero-card::before{content:""; position:absolute; inset:0 0 auto 0; height:5px; background:linear-gradient(90deg,var(--teal),var(--teal-l)); border-radius:var(--r) var(--r) 0 0;}
.hc-head{display:flex; flex-direction:column; gap:.2rem; margin-bottom:1rem;}
.hc-tag{font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--teal);}
.hc-sub{font-size:.9rem; color:var(--muted);}
.hc-total{background:var(--mint); border-radius:var(--r-s); padding:18px; text-align:left; margin-bottom:1rem;}
.hc-label{display:block; font-size:.82rem; color:var(--teal-d); font-weight:600;}
.hc-amount{display:block; font-family:"Lora",serif; font-size:2.3rem; font-weight:700; color:var(--teal-d); line-height:1.1;}
.hc-net{display:block; font-size:.85rem; color:var(--muted);}
.hc-lines{list-style:none; padding:0; margin:0 0 .8rem;}
.hc-lines li{display:flex; justify-content:space-between; gap:1rem; padding:.55rem 0; border-bottom:1px dashed var(--line); font-size:.93rem;}
.hc-lines li:last-child{border-bottom:0;}
.hc-lines b{color:var(--teal-d); font-weight:700;}
.hc-foot{font-size:.8rem; color:var(--muted); margin:0;}

/* TRUSTBAR */
.trustbar{background:var(--teal-d); color:#fff;}
.trustbar-inner{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; padding:26px 24px; text-align:center;}
.trustbar-inner div{display:flex; flex-direction:column;}
.trustbar-inner b{font-family:"Lora",serif; font-size:1.7rem; color:#fff;}
.trustbar-inner span{font-size:.84rem; color:#BFE0D9;}
@media(max-width:680px){ .trustbar-inner{grid-template-columns:repeat(2,1fr); gap:22px;} }

/* SECTIONS */
.section{padding:72px 0;}
.sec-head{text-align:center; max-width:620px; margin:0 auto 48px;}
.sec-head p{color:var(--muted); font-size:1.08rem;}

/* STEPS */
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.step{background:var(--paper); border:1px solid var(--line); border-radius:var(--r); padding:30px 26px; box-shadow:var(--shadow-s);}
.step-ic{display:inline-flex; width:54px; height:54px; align-items:center; justify-content:center; border-radius:14px; background:var(--mint); color:var(--teal); margin-bottom:1rem;}
.step-ic svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.step h3{margin-bottom:.5rem;}
.step p{color:var(--muted); margin:0; font-size:.97rem;}

/* CALCULATEUR */
.section-calc{background:linear-gradient(180deg, var(--sand-d) 0%, var(--sand) 100%);}
.calc-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:44px; align-items:start;}
.calc-intro h2{margin-bottom:.8rem;}
.calc-intro>p{color:var(--muted);}
.calc-help{list-style:none; padding:0; margin:1.4rem 0; display:flex; flex-direction:column; gap:.7rem;}
.calc-help li{font-size:.93rem; color:var(--muted); padding-left:1.1rem; position:relative;}
.calc-help li::before{content:""; position:absolute; left:0; top:.6em; width:7px; height:7px; border-radius:50%; background:var(--teal);}
.calc-help b{color:var(--teal-d);}
.calc-reassure{display:flex; gap:.7rem; align-items:flex-start; background:var(--mint); border-radius:var(--r-s); padding:14px 16px;}
.calc-reassure .ic{color:var(--teal); margin-top:2px;}
.calc-reassure p{margin:0; font-size:.9rem; color:var(--teal-d);}

.calc-form{background:var(--paper); border:1px solid var(--line); border-radius:var(--r); padding:30px; box-shadow:var(--shadow);}
.field{margin-bottom:1.05rem; display:flex; flex-direction:column;}
.field label{font-weight:600; font-size:.9rem; color:var(--teal-d); margin-bottom:.4rem;}
.field .unit{font-weight:400; color:var(--muted); font-size:.82rem;}
.field input, .field select{font-family:inherit; font-size:1rem; padding:.7rem .85rem; border:1px solid var(--line); border-radius:var(--r-s); background:var(--paper); color:var(--ink); transition:.15s;}
.field input:focus, .field select:focus{outline:none; border-color:var(--teal); box-shadow:0 0 0 3px var(--mint);}
.grid2{display:grid; grid-template-columns:1fr 1fr; gap:1rem;}
.adv{margin:.2rem 0 1rem; border:1px dashed var(--line); border-radius:var(--r-s); padding:.6rem .9rem;}
.adv summary{cursor:pointer; font-weight:600; font-size:.9rem; color:var(--teal); list-style:none;}
.adv summary::-webkit-details-marker{display:none;}
.adv summary::before{content:"+ "; font-weight:700;}
.adv[open] summary::before{content:"– ";}
.adv[open]{padding-bottom:.2rem; margin-bottom:1rem;}
.adv .grid2{margin-top:.9rem;}
.checks{display:flex; flex-direction:column; gap:.6rem; margin:.4rem 0 1.2rem;}
.check{display:flex; align-items:center; gap:.6rem; font-size:.93rem; color:var(--ink); cursor:pointer;}
.check input{width:18px; height:18px; accent-color:var(--teal);}
.calc-note{text-align:center; font-size:.84rem; color:var(--muted); margin:.8rem 0 0;}

/* RESULT */
.result-wrap{margin-top:36px;}
.result-card{background:var(--paper); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--shadow); overflow:hidden;}
.result-head{display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; padding:28px 30px; background:linear-gradient(135deg, var(--teal) 0%, var(--teal-d) 100%); color:#fff;}
.result-head .eyebrow{background:rgba(255,255,255,.18); color:#fff;}
.result-head h3{color:#fff; font-size:1.6rem;}
.result-meta{color:#D5EBE6; font-size:.92rem; margin:.3rem 0 0;}
.result-total{text-align:right; min-width:200px;}
.rt-label{display:block; font-size:.8rem; color:#BFE0D9; font-weight:600; text-transform:uppercase; letter-spacing:.08em;}
.rt-amount{display:block; font-family:"Lora",serif; font-size:2.6rem; font-weight:700; color:#fff; line-height:1.1;}
.rt-net{display:block; font-size:.9rem; color:#D5EBE6;}
.result-lines{list-style:none; padding:18px 30px; margin:0;}
.result-lines li{padding:16px 0; border-bottom:1px solid var(--line);}
.result-lines li:last-child{border-bottom:0;}
.rl-top{display:flex; justify-content:space-between; gap:1rem; align-items:baseline;}
.rl-label{font-weight:600; color:var(--teal-d); font-size:1.02rem;}
.rl-art{font-size:.78rem; color:var(--teal); font-weight:500;}
.rl-amount{font-family:"Lora",serif; font-weight:700; font-size:1.2rem; color:var(--ink); white-space:nowrap;}
.rl-detail{font-size:.88rem; color:var(--muted); margin:.4rem 0 0;}
.result-empty{padding:18px 30px; color:var(--muted); font-style:italic;}
.result-method{margin:0 30px 8px; border-top:1px solid var(--line); padding-top:14px;}
.result-method summary{cursor:pointer; font-weight:600; color:var(--teal); font-size:.92rem;}
.result-method .rm-ref{font-size:.86rem; color:var(--muted); margin:.8rem 0;}
.result-method ul{margin:0; padding-left:1.1rem;}
.result-method li{font-size:.84rem; color:var(--muted); margin-bottom:.5rem;}

/* PAYWALL */
.paywall{display:grid; grid-template-columns:1.4fr .9fr; gap:0; border-top:1px solid var(--line); background:var(--sand);}
.paywall-copy{padding:30px;}
.paywall-copy h4{font-family:"Lora",serif; font-size:1.3rem; color:var(--teal-d); margin:0 0 .6rem;}
.paywall-copy>p{color:var(--muted); font-size:.96rem;}
.paywall-feats{list-style:none; padding:0; margin:1rem 0 0; display:flex; flex-direction:column; gap:.6rem;}
.paywall-feats li{display:flex; align-items:center; gap:.6rem; font-size:.92rem; color:var(--teal-d); font-weight:500;}
.paywall-feats .ic{color:var(--teal); width:18px; height:18px;}
.paywall-buy{padding:30px; background:var(--paper); border-left:1px solid var(--line); display:flex; flex-direction:column; gap:.7rem; justify-content:center;}
.price{text-align:center; margin-bottom:.5rem;}
.price-amount{display:block; font-family:"Lora",serif; font-size:2.4rem; font-weight:700; color:var(--teal-d); line-height:1;}
.price-unit{font-size:.85rem; color:var(--muted);}
.paywall-note{font-size:.78rem; color:var(--muted); text-align:center; margin:.3rem 0 0;}
@media(max-width:760px){ .paywall{grid-template-columns:1fr;} .paywall-buy{border-left:0; border-top:1px solid var(--line);} }

/* SITUATIONS */
.cas-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.cas{background:var(--paper); border:1px solid var(--line); border-radius:var(--r); padding:26px 22px; transition:.2s;}
.cas:hover{transform:translateY(-3px); box-shadow:var(--shadow-s);}
.cas-ic{display:inline-flex; width:48px; height:48px; align-items:center; justify-content:center; border-radius:12px; background:var(--mint); color:var(--teal); margin-bottom:.9rem;}
.cas-ic svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.cas h3{font-size:1.12rem; margin-bottom:.4rem;}
.cas p{color:var(--muted); font-size:.9rem; margin:0;}
@media(max-width:860px){ .cas-grid{grid-template-columns:repeat(2,1fr);} }

/* CONFIANCE */
.section-trust{background:linear-gradient(180deg,var(--sand) 0%, var(--sand-d) 100%);}
.trust-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:start;}
.trust-list{list-style:none; padding:0; margin:1.6rem 0 0; display:flex; flex-direction:column; gap:1.3rem;}
.trust-list li{display:flex; gap:1rem;}
.tl-ic{flex:none; width:46px; height:46px; display:inline-flex; align-items:center; justify-content:center; background:var(--teal); color:#fff; border-radius:12px;}
.tl-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.trust-list b{color:var(--teal-d); display:block; margin-bottom:.15rem;}
.trust-list p{margin:0; color:var(--muted); font-size:.93rem;}
.trust-note{background:var(--teal-d); color:#fff; border-radius:var(--r); padding:32px; box-shadow:var(--shadow);}
.trust-note h3{color:#fff; margin-bottom:.8rem;}
.trust-note p{color:#D5EBE6; font-style:italic; font-family:"Lora",serif; font-size:1.08rem;}
.trust-sign{font-size:.85rem; color:#BFE0D9;}

/* FAQ */
.section-faq{background:var(--sand-d);}
.faq{max-width:780px; margin:0 auto; display:flex; flex-direction:column; gap:.8rem;}
.faq details{background:var(--paper); border:1px solid var(--line); border-radius:var(--r-s); padding:18px 22px;}
.faq summary{cursor:pointer; font-weight:600; color:var(--teal-d); list-style:none; font-size:1.02rem;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+"; float:right; color:var(--teal); font-weight:700;}
.faq details[open] summary::after{content:"–";}
.faq p{margin:.8rem 0 0; color:var(--muted); font-size:.95rem;}

/* CTA */
.section-cta{padding:56px 0;}
.cta-band{background:linear-gradient(135deg,var(--teal) 0%, var(--teal-d) 100%); border-radius:var(--r); padding:42px 44px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; box-shadow:var(--shadow);}
.cta-band h2{color:#fff;}
.cta-band p{color:#D5EBE6; margin:.4rem 0 0;}

/* FOOTER */
.foot{background:var(--teal-d); color:#D5EBE6; padding:48px 0 28px;}
.foot-inner{display:flex; justify-content:space-between; gap:32px; flex-wrap:wrap; padding-bottom:24px; border-bottom:1px solid rgba(255,255,255,.12);}
.foot-brand{max-width:300px;}
.foot-brand .brand-name{color:#fff; margin-left:.5rem; vertical-align:middle;}
.foot-brand p{margin:.8rem 0 0; font-size:.9rem; color:#BFE0D9;}
.foot-links{display:flex; flex-direction:column; gap:.6rem;}
.foot-links a{color:#D5EBE6; font-size:.93rem;}
.foot-links a:hover{color:#fff;}
.foot-legal{padding-top:18px;}
.foot-legal p{font-size:.8rem; color:#A9CFC8; margin:0;}

/* MODAL */
.modal{position:fixed; inset:0; z-index:80; display:flex; align-items:center; justify-content:center; padding:20px;}
.modal[hidden]{display:none;}
.modal-backdrop{position:absolute; inset:0; background:rgba(11,79,73,.5); backdrop-filter:blur(3px);}
.modal-card{position:relative; background:var(--paper); border-radius:var(--r); padding:34px; width:100%; max-width:420px; box-shadow:var(--shadow); z-index:1;}
.modal-x{position:absolute; top:14px; right:16px; background:none; border:none; font-size:1.6rem; color:var(--muted); cursor:pointer; line-height:1;}
.modal-card h3{margin-bottom:.5rem;}
.modal-sub{color:var(--muted); font-size:.9rem; margin-bottom:1.2rem;}
.modal-tabs{display:flex; gap:.4rem; background:var(--mint); border-radius:999px; padding:4px; margin-bottom:1.2rem;}
.mt{flex:1; padding:.55rem; border:none; background:transparent; border-radius:999px; font-family:inherit; font-weight:600; font-size:.9rem; color:var(--teal-d); cursor:pointer;}
.mt.active{background:var(--paper); color:var(--teal); box-shadow:var(--shadow-s);}
.modal-err{background:#FBE9E7; color:#9B2C2C; border-radius:var(--r-s); padding:.6rem .8rem; font-size:.85rem; margin:0 0 .8rem;}
.modal-or{text-align:center; position:relative; margin:1.2rem 0;}
.modal-or::before{content:""; position:absolute; top:50%; left:0; right:0; height:1px; background:var(--line);}
.modal-or span{position:relative; background:var(--paper); padding:0 .8rem; color:var(--muted); font-size:.85rem;}
.modal-foot{font-size:.8rem; color:var(--muted); text-align:center; margin:.7rem 0 0;}

@media(max-width:900px){
  .hero-grid,.calc-grid,.trust-grid{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr;}
  .hero-card{order:-1;}
}
