.bilans-hero { position:relative; isolation:isolate; background:#dedad2; }
.bilans-hero-photo { position:absolute; inset:0; z-index:-1; overflow:hidden; }
.bilans-hero-photo img { width:100%; max-width:none; height:100%; object-fit:cover; object-position:center top; transform:translateX(220px); }
.bilans-hero-inner { max-width:1480px; margin:auto; padding:48px 4% 32px; min-height:530px; display:grid; grid-template-columns:40% 60%; align-items:start; }
.bilans-hero-copy { padding-top:10px; position:relative; z-index:1; }
.welcome-page .bilans-product-name { font:600 13px/1.4 Manrope,sans-serif; margin-bottom:14px; color:#39574d; }
.welcome-page .bilans-hero-copy h2 { font:400 60px/1.08 "DM Serif Display",Georgia,serif; color:#102e26; }
.bilans-hero-copy h2 span,.bilans-plans-copy h2 span,.bilans-slogan span { position:relative; }
.bilans-hero-copy h2 span::after,.bilans-plans-copy h2 span::after,.bilans-slogan span::after { content:""; position:absolute; bottom:-14px; left:12%; right:0; height:9px; border-top:4px solid var(--public-coral); border-radius:50%; transform:rotate(-3deg); pointer-events:none; }
.bilans-hero-copy > p { font-size:19px; line-height:1.6; color:#454b46; margin:40px 0 30px; max-width:480px; }
.bilans-hero-copy .welcome-actions { gap:12px 24px; }
.bilans-hero-copy .welcome-button { padding:15px 24px; font-size:16px; }
.bilans-hero-copy .welcome-text-link { color:#454b46; font-weight:400; }
.bilans-demo { width:440px; max-width:92%; align-self:end; margin:144px 0 0 -4%; padding:18px 20px 10px; background:#fffdf9fa; border:1px solid #fff; border-radius:8px; box-shadow:0 12px 38px #16382b18; color:#202b26; font-size:13px; font-variant-numeric:tabular-nums; }
.bilans-demo > header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:12px; border-bottom:1px solid #e4e2dc; }
.bilans-demo .public-brand { font-size:17px; gap:6px; }
.bilans-demo .public-mark { width:24px; height:24px; }
.bilans-demo-month { display:flex; gap:8px; align-items:center; font-size:11px; }
.bilans-demo-month svg { width:15px; height:15px; }
.bilans-demo-summary { display:grid; grid-template-columns:1.1fr 1fr; gap:12px; padding:14px 0; }
.bilans-demo-summary > div > span { font-weight:600; }
.bilans-demo-summary strong { display:block; font:400 42px/1.1 "DM Serif Display",Georgia,serif; color:var(--public-green); white-space:nowrap; }
.bilans-demo-summary small { display:block; font-size:11px; margin-top:5px; color:#59615a; }
.bilans-demo-summary small b { white-space:nowrap; }
.bilans-demo dl { margin:0; border-left:1px solid #e4e2dc; padding-left:14px; }
.bilans-demo dl > div { display:flex; justify-content:space-between; align-items:center; gap:6px; min-height:39px; }
.bilans-demo dl > div + div { border-top:1px solid #e4e2dc; }
.bilans-demo dt { display:flex; align-items:center; gap:7px; font-size:12px; }
.bilans-demo dt svg { width:18px; height:18px; color:#35734f; }
.bilans-demo dl > div + div svg { color:#b65a3e; }
.bilans-demo dd { margin:0; font-weight:700; font-size:12px; white-space:nowrap; }
.bilans-demo-progress { padding:12px 0; border-block:1px solid #e4e2dc; }
.bilans-demo-progress > div { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; font-size:11px; }
.bilans-demo-progress small { font-size:11px; color:#5e625e; }
.welcome-home progress { appearance:none; -webkit-appearance:none; display:block; width:100%; height:10px; border:0; border-radius:6px; overflow:hidden; background:#e5e1dc; }
.welcome-home progress::-webkit-progress-bar { background:#e5e1dc; border-radius:6px; }
.welcome-home progress::-webkit-progress-value { background:var(--public-green); border-radius:6px; }
.welcome-home progress::-moz-progress-bar { background:var(--public-green); border-radius:6px; }
.bilans-demo progress::-webkit-progress-value { background:#dc7254; }
.bilans-demo progress::-moz-progress-bar { background:#dc7254; }
.bilans-demo-bill { display:flex; align-items:center; gap:9px; padding-top:12px; }
.bilans-demo-bill > svg { width:20px; color:var(--public-green); }
.bilans-demo-bill > div { margin-right:auto; }
.bilans-demo-bill span,.bilans-demo-bill small { display:block; }
.bilans-demo-bill small { font-size:11px; }
.bilans-demo-caption { text-align:right; color:#696b65; font-size:9px; font-style:italic; padding-top:9px; }
.bilans-plans { background:var(--public-cream); }
.bilans-plans-inner { max-width:1380px; margin:auto; padding:34px 32px 28px; display:grid; grid-template-columns:.95fr 1.16fr 1fr; gap:30px; }
.bilans-plans-inner > * + * { border-left:1px solid #dfdcd3; padding-left:30px; }
.welcome-page .bilans-plans-copy h2 { font-size:44px; line-height:1.08; }
.bilans-plans-copy h2 span::after { bottom:-7px; height:5px; border-top-width:3px; }
.bilans-plans-copy p { font-size:14px; line-height:1.55; max-width:320px; margin-top:24px; color:var(--public-muted); }
.bilans-goal { text-decoration:none; color:var(--public-ink)!important; min-width:0; }
.bilans-goal > img { width:100%; aspect-ratio:3.25; height:auto; object-fit:cover; border-radius:8px; }
.bilans-goal > div { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:10px; }
.bilans-goal h3 { display:flex; align-items:center; gap:8px; font-size:21px; }
.bilans-goal h3 svg { color:#b75639; width:29px; height:29px; }
.bilans-goal > div > span { font-size:15px; white-space:nowrap; }
.bilans-goal strong { color:var(--public-green); font-size:19px; }
.bilans-goal-progress progress { height:12px; }
.bilans-goal-progress span { color:var(--public-muted); }
.bilans-goal > small { display:block; text-align:right; font-size:9px; color:var(--public-muted); margin-top:4px; }
.bilans-upcoming h3 { display:flex; align-items:center; gap:9px; font-size:17px; }
.bilans-upcoming ul { list-style:none; padding:0; margin:12px 0 0; }
.bilans-upcoming li { display:grid; grid-template-columns:44px 20px minmax(0,1fr) auto; align-items:center; gap:12px; padding:10px 0; border-bottom:1px solid #deded6; font-size:13px; line-height:1.3; }
.bilans-upcoming li svg { width:20px; height:20px; color:#aa4e32; }
.bilans-upcoming time { font-size:12px; }
.bilans-upcoming time small { display:block; color:var(--public-muted); }
.bilans-upcoming .welcome-text-link { font-size:11px; min-height:30px; }
.bilans-slogan { background:var(--public-green); color:var(--public-cream); padding:25px 32px 31px; }
.bilans-slogan > div { max-width:1280px; margin:auto; font:400 36px/1.2 "DM Serif Display",Georgia,serif; }
.bilans-slogan span { white-space:nowrap; }
.bilans-slogan span::after { bottom:-10px; border-top-width:3px; height:6px; }
.bilans-guide-button { margin-top:32px; }
.bilans-mobile-note { font-size:12px; color:var(--public-muted); margin-top:18px!important; }
@media(min-width:1600px) { .bilans-hero-inner { min-height:620px; } .bilans-hero-photo img { object-position:center 45%; } .bilans-demo { margin-top:220px; } }
@media(max-width:1200px) and (min-width:821px) { .welcome-page .bilans-hero-copy h2 { font-size:48px; } .bilans-hero-copy > p { font-size:16px; } .bilans-hero-inner { min-height:530px; padding-left:32px; padding-right:32px; } .bilans-demo { margin:190px 0 0 7%; } .bilans-plans-inner { gap:20px; } .bilans-plans-inner > * + * { padding-left:20px; } .welcome-page .bilans-plans-copy h2 { font-size:36px; } .bilans-goal > div { flex-wrap:wrap; } .bilans-goal-progress { flex-wrap:nowrap!important; } .bilans-upcoming li { gap:6px; font-size:12px; } }
@media(max-width:820px) {
 .bilans-hero-inner { min-height:0; display:flex; flex-direction:column; padding:28px 24px 24px; }
 .bilans-hero-photo { top:280px; height:350px; bottom:auto; }
 .bilans-hero-photo img { width:100%; object-position:80% center; transform:none; }
 .bilans-hero { background:var(--public-cream); }
 .bilans-hero-copy { width:100%; padding:0; }
 .welcome-page .bilans-product-name { font-size:12px; margin-bottom:8px; }
 .welcome-page .bilans-hero-copy h2 { font-size:44px; line-height:1.07; }
 .bilans-hero-copy h2 span::after { bottom:-11px; border-top-width:3px; }
 .bilans-hero-copy > p { font-size:15px; margin:25px 0 18px; }
 .bilans-hero-copy .welcome-actions { gap:8px 18px; }
 .bilans-hero-copy .welcome-button { font-size:14px; padding:12px 15px; }
 .bilans-hero-copy .welcome-text-link { font-size:12px; }
 .bilans-demo { width:400px; max-width:100%; margin:230px auto 0; padding:16px; align-self:center; }
 .bilans-plans-inner { grid-template-columns:1fr 1fr; padding:28px 24px; gap:26px; }
 .bilans-plans-copy { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:center; }
 .welcome-page .bilans-plans-copy h2 { font-size:38px; }
 .bilans-plans-copy p { margin-top:0; }
 .bilans-plans-inner > .bilans-goal { padding:0; border:0; }
 .bilans-slogan { padding:24px 24px 30px; }
 .bilans-slogan > div { font-size:30px; }
}
@media(max-width:540px) {
 .bilans-hero-inner { padding:24px 20px; }
 .welcome-page .bilans-hero-copy h2 { font-size:37px; }
 .bilans-hero-copy > p br { display:none; }
 .bilans-hero-photo { top:250px; height:270px; }
 .bilans-hero-photo img { object-position:85% center; }
 .bilans-demo { margin-top:135px; padding:12px 14px; }
 .bilans-demo-summary strong { font-size:36px; }
 .bilans-demo-summary { grid-template-columns:1.15fr 1fr; gap:8px; }
 .bilans-demo dl { padding-left:8px; }
 .bilans-demo .public-brand { font-size:15px; }
 .bilans-demo-summary small { font-size:10px; }
 .bilans-demo dt { gap:3px; font-size:10px; }
 .bilans-demo dd { font-size:11px; }
 .bilans-plans-inner { display:block; padding:28px 20px; }
 .bilans-plans-copy { display:block; }
 .bilans-plans-copy p { max-width:100%; margin-top:20px; }
 .bilans-goal { display:block; margin-top:24px; }
 .bilans-plans-inner > .bilans-upcoming { border:0; border-top:1px solid #dfdcd3; padding:22px 0 0; margin-top:20px; }
 .bilans-upcoming li { font-size:14px; padding-block:12px; }
 .bilans-upcoming .welcome-text-link { font-size:13px; min-height:44px; }
 .bilans-slogan > div { font-size:28px; }
}
@media(max-width:540px) and (max-height:700px) { .bilans-hero-photo { top:250px; height:210px; } .bilans-demo { margin-top:110px; } }
@media(min-width:541px) and (max-width:820px) and (max-height:500px) { .bilans-hero-inner { min-height:0; padding-block:20px; } .bilans-hero-photo { inset:0; height:100%; } .bilans-hero-photo img { object-position:center; } .bilans-hero-copy { max-width:450px; } .welcome-page .bilans-hero-copy h2 { font-size:32px; } .bilans-hero-copy > p { font-size:13px; margin:20px 0 12px; max-width:370px; } .bilans-demo { margin-top:28px; align-self:flex-end; } }
@media(max-width:360px) { .welcome-page .bilans-hero-copy h2 { font-size:32px; } .bilans-hero-copy .welcome-text-link { display:none; } .bilans-demo { padding:12px; } .bilans-demo .public-brand { font-size:13px; } .bilans-demo-summary strong { font-size:30px; } .bilans-demo-summary small { max-width:130px; } .bilans-demo-month { font-size:10px; gap:4px; } }
