@font-face { font-family:"DM Serif Display"; src:url("/assets/fonts/dm-serif-display.ttf") format("truetype"); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:Manrope; src:url("/assets/fonts/manrope-400.ttf") format("truetype"); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:Manrope; src:url("/assets/fonts/manrope-600.ttf") format("truetype"); font-weight:500 600; font-style:normal; font-display:swap; }
@font-face { font-family:Manrope; src:url("/assets/fonts/manrope-700.ttf") format("truetype"); font-weight:700 800; font-style:normal; font-display:swap; }
:root { --public-cream:#faf7f0; --public-green:#173f36; --public-hover:#245c4e; --public-ink:#172f28; --public-muted:#5b625b; --public-line:#dfdfd5; --public-coral:#ea866b; --welcome-blue:var(--public-green); --welcome-hover:var(--public-hover); --welcome-ink:var(--public-ink); --welcome-muted:var(--public-muted); --welcome-border:var(--public-line); --welcome-bg:#f3f3ec; }
* { box-sizing:border-box; }
html { scroll-padding-top:100px; }
body.public-site { margin:0; font:400 15px/1.6 Manrope,system-ui,sans-serif; letter-spacing:0; background:var(--public-cream); color:var(--public-ink); --primary:var(--public-green); --primary-hover:var(--public-hover); --text:var(--public-ink); --muted:var(--public-muted); --border:var(--public-line); }
.public-site a { color:var(--public-green); text-underline-offset:4px; }
.public-site :where(button,input,select,textarea) { font-family:Manrope,system-ui,sans-serif; }
.public-site :where(a,button,input,summary,select,textarea):focus-visible { outline:3px solid var(--public-green); outline-offset:4px; }
.public-site [hidden] { display:none!important; }
.public-site img { max-width:100%; }
.public-site svg { width:22px; height:22px; flex-shrink:0; }
.public-header { width:100%; background:var(--public-cream); position:relative; z-index:25; border-bottom:1px solid #173f3609; }
.public-header-inner { max-width:1380px; margin:auto; padding:18px 32px 12px; display:flex; align-items:center; gap:36px; min-height:86px; }
.public-brand { display:inline-flex; align-items:center; gap:10px; color:var(--public-green)!important; font:400 32px/1.15 "DM Serif Display",Georgia,serif; text-decoration:none; white-space:nowrap; flex-shrink:0; }
.public-mark { display:block; object-fit:contain; width:42px; height:40px; }
.public-site .public-brand-title { margin:0; font-size:inherit; line-height:1; }
.public-navigation { display:flex; align-items:center; justify-content:space-between; flex:1; gap:24px; margin-left:100px; }
.public-nav-links,.public-nav-account { display:flex; align-items:center; gap:32px; }
.public-navigation a:not(.welcome-button) { color:#272e29; text-decoration:none; display:inline-flex; align-items:center; min-height:44px; font-size:15px; }
.public-navigation a:hover { color:var(--public-hover); text-decoration:underline; }
.public-start { position:relative; min-width:132px; }
.public-start .welcome-button { width:100%; min-height:42px; padding:9px 20px; font-size:16px; }
.public-start small { position:absolute; top:100%; left:0; right:0; text-align:center; color:var(--public-muted); font-size:10px; font-style:italic; white-space:nowrap; }
.public-menu-toggle { display:none; width:44px; height:44px; align-items:center; justify-content:center; background:transparent; color:var(--public-green); border:1px solid var(--public-line); border-radius:8px; cursor:pointer; padding:0; }
.public-skip { position:fixed; top:8px; left:12px; z-index:100; padding:8px 14px; transform:translateY(-150%); background:#fff; }
.public-skip:focus { transform:none; }
.public-site .welcome-button { min-height:48px; padding:12px 22px; display:inline-flex; align-items:center; justify-content:center; gap:10px; color:#fff!important; background:var(--public-green); border:1px solid transparent; border-radius:8px; font:600 15px/1.4 Manrope,system-ui,sans-serif; text-decoration:none; cursor:pointer; transition:background .18s,transform .18s; }
.public-site .welcome-button:hover { background:var(--public-hover); transform:translateY(-1px); box-shadow:none; }
.public-site .welcome-button-outline { background:transparent; color:var(--public-green)!important; border-color:var(--public-line); }
.public-site .welcome-button-white { background:var(--public-cream); color:var(--public-green)!important; }
.public-site .welcome-button-light { background:transparent; border-color:#c8d7cd; }
.public-site .welcome-button-light:hover { background:#2b5146; }
.public-site .welcome-wrap { max-width:1280px; }
.public-site :is(.welcome-section,.welcome-faq-section) h2,.public-site .welcome-finish h2,.public-site .bilans-plans h2,.public-site .welcome-intro h1 { font-family:"DM Serif Display",Georgia,serif; font-weight:400; }
.public-site .welcome-section h2 { font-size:42px; }
.public-site .welcome-section { padding-block:64px; }
.public-site .welcome-feature-icon { background:#e7eee5; color:var(--public-green); }
.public-site .welcome-flow li,.public-site .welcome-faq,.public-site .welcome-faq details { border-color:var(--public-line); }
.public-site .welcome-start li > span { border-color:var(--public-green); }
.public-site .welcome-plans,.public-site .welcome-faq-section { background:#f0f2eb; }
.public-site .welcome-finish { background:var(--public-green); }
.public-site .welcome-finish a:not(.welcome-button) { color:#fff; }
.public-site .welcome-finish .welcome-eyebrow { color:#e6eee7; }
.public-site .welcome-mobile-figure img { box-shadow:0 10px 30px #173f3612; }
.public-site .welcome-request-form input { font-family:Manrope,sans-serif; border-color:#8c978d; }
.public-site .welcome-section-heading { max-width:780px; }
.public-site .welcome-intro { background:var(--public-cream); }
.public-site .welcome-intro h1 { font-size:48px; }
.public-site .guide-intro { padding:36px 0 44px; }
.public-site .guide-intro h1 { font:400 48px/1.15 "DM Serif Display",Georgia,serif; }
.guide-intro > .welcome-wrap > .welcome-text-link { margin-bottom:22px; }
.guide-index { display:flex; flex-wrap:wrap; gap:8px 28px; border-block:1px solid var(--public-line); padding-block:18px; }
.guide-index a { display:flex; align-items:center; gap:8px; min-height:44px; text-decoration:none; font-size:13px; }
.guide-index a:hover { text-decoration:underline; }
.guide-index svg { width:19px; height:19px; }
.public-footer { padding:24px 0; width:100%; border-top:1px solid var(--public-line); background:var(--public-cream); }
.public-footer-inner { max-width:1320px; padding:0 32px; margin:auto; display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.public-footer .public-brand { font-size:23px; gap:8px; }
.public-footer .public-mark { width:29px; height:28px; }
.public-footer-domain { font-size:12px; padding-left:20px; border-left:1px solid #bbc4b9; color:var(--public-muted); }
.public-footer nav { margin-left:auto; display:flex; gap:24px; flex-wrap:wrap; }
.public-footer nav a { min-height:44px; display:inline-flex; align-items:center; font-size:12px; color:#424d45; text-decoration:none; }
.public-footer nav a:hover { text-decoration:underline; }
.public-site .company-footer { width:100%; border-top:1px solid var(--public-line); color:var(--public-muted); background:#f4f2eb; padding:20px 32px; text-align:center; font-size:10px; line-height:1.7; }
.public-site .company-footer p { margin:3px 0; }
.public-site .company-footer nav { display:flex; justify-content:center; gap:24px; flex-wrap:wrap; }
.public-site .company-footer a { color:var(--public-green); }
.public-site .cookie-banner,.public-site .cookie-panel { color:var(--public-ink); }
.public-site .cookie-button-primary { background:var(--public-green); }
.public-site .cookie-button-primary:hover { background:var(--public-hover); }
body.public-site.auth-body { display:flex; flex-direction:column; align-items:center; padding:0; min-height:100svh; background:var(--public-cream); }
.public-site .auth-entry-intro { color:var(--public-green); margin-top:26px; }
.public-site .auth-entry-intro span { background:#c1cfc2; }
.public-site .auth-entry-intro > svg:last-child { color:#b55b40; }
.public-site.auth-body .auth-card { width:min(460px,calc(100% - 32px)); margin:24px auto 32px; padding:28px; border:1px solid var(--public-line); border-radius:8px; box-shadow:0 12px 32px #173f3608; }
.public-site.auth-entry .auth-card { margin-top:0; }
.public-site .auth-card h1 { font:400 34px/1.15 "DM Serif Display",Georgia,serif; }
.public-site .auth-entry-tabs a[aria-current] { color:var(--public-green); border-color:var(--public-green); }
.public-site :is(.auth-entry-eyebrow,.auth-entry-help a,.auth-entry-choices svg,.auth-entry-choices > a:hover) { color:var(--public-green); }
.public-site .auth-entry-choices > a { border-color:var(--public-line); }
.public-site .auth-entry-footer { padding-bottom:24px; }
.public-site :is(.auth-card,.download-main,.legal-main) .btn-primary { background:var(--public-green); border-color:var(--public-green); }
.public-site :is(.auth-card,.download-main,.legal-main) .btn-primary:hover { background:var(--public-hover); }
.public-site :is(.auth-card,.download-main,.legal-main) .btn { font-family:Manrope,sans-serif; }
.public-site .auth-brand { margin-bottom:24px; }
.public-site .auth-password button:hover { color:var(--public-green); background:#edf2e9; }
.public-site .download-main,.public-site .legal-main { margin-top:36px; }
.public-site .download-main h1,.public-site .legal-main h1 { font-family:"DM Serif Display",Georgia,serif; font-weight:400; }
.public-site .download-release,.public-site .download-feature-icon { background:#edf2e9; color:var(--public-green); }
.public-site.download-page :is(.download-button) { background:var(--public-green); color:#fff; }
.public-site.download-page .download-button:hover { background:var(--public-hover); }
.public-site.download-page .download-pdf { color:var(--public-green); border-color:var(--public-green); }
.public-site.download-page .download-pdf:hover { background:#edf2e9; }
.public-site.download-page :is(.download-eyebrow,.download-facts > div > svg) { color:var(--public-green); }
.public-site .download-steps li::before { background:#e7eee5; color:var(--public-green); }
.public-site .cookie-choice-form button { border-color:var(--public-green); color:var(--public-green); font-family:Manrope,sans-serif; }
.public-site .cookie-choice-form button:hover { background:#edf2e9; }
.public-site .cookie-banner a { color:var(--public-green); }
@media(max-width:1200px) { .public-navigation { margin-left:auto; } .public-nav-links,.public-nav-account { gap:20px; } .public-brand { font-size:27px; } .public-header-inner { gap:24px; } }
@media(max-width:820px) {
 .public-header-inner { flex-wrap:wrap; min-height:70px; padding:13px 20px; gap:12px; }
 .public-brand { font-size:26px; }
 .public-mark { width:34px; height:34px; }
 .public-menu-toggle { display:flex; margin-left:auto; }
 .public-navigation { flex-basis:100%; display:flex; flex-direction:column; gap:8px; align-items:stretch; margin:0; padding:12px 0; border-top:1px solid var(--public-line); }
 .public-nav-links { flex-direction:column; gap:0; align-items:stretch; }
 .public-navigation a:not(.welcome-button) { min-height:44px; padding:4px 0; }
 .public-nav-account { padding-top:10px; justify-content:space-between; }
 .public-start { margin-bottom:12px; }
 .public-site .welcome-section h2 { font-size:34px; }
 .public-site .welcome-intro h1 { font-size:36px; }
 .public-site .guide-intro h1 { font-size:36px; }
 .guide-index { gap:4px 20px; }
 .public-footer-inner { padding:0 24px; gap:12px 20px; }
 .public-footer nav { margin:0; width:100%; gap:0 22px; }
 .public-site .company-footer { padding-inline:20px; }
 .public-site.auth-body .auth-card { padding:24px; }
}
@media(max-width:360px) { .public-brand { font-size:23px; } .public-site .welcome-section h2 { font-size:30px; } .public-site.auth-body .auth-card { padding:20px; } }
@media(prefers-reduced-motion:reduce) { .public-site * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
