*{box-sizing:border-box}body{margin:0;background:#f7f8f3;color:#193d35;font:16px/1.55 system-ui,-apple-system,sans-serif}main{min-height:100svh;display:grid;grid-template-columns:1.15fr 1fr;max-width:1500px;margin:auto}.story{padding:48px;background:#123e37;color:#fff;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.brand{font-weight:800;letter-spacing:2px;color:#d7ed94;text-decoration:none;margin-bottom:52px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:800}h1{font-size:clamp(32px,4vw,58px);line-height:1.08;letter-spacing:-2px;margin:16px 0}h2{font-size:30px;line-height:1.2;letter-spacing:-1px;margin:15px 0}.story p{max-width:450px;color:#d1ded9}.story img{width:100%;max-height:350px;object-fit:cover;border-radius:20px;margin:20px 0}.facts{display:flex;flex-wrap:wrap;gap:10px;font-size:12px}.facts span{border:1px solid #ffffff33;border-radius:99px;padding:6px 10px}.panel{padding:60px clamp(24px,5vw,80px);align-self:center;width:100%;max-width:650px;margin:auto}.panel p{color:#62756d}.tabs{display:flex;gap:5px;background:#e8ede5;border-radius:12px;padding:5px;margin:26px 0}.tabs button{flex:1;background:transparent;border:0;padding:12px 5px;font-weight:650;border-radius:9px;color:#36564b}.tabs .active{background:white;box-shadow:0 2px 6px #193d3510}label{display:block;font-weight:650;font-size:14px;margin:20px 0 7px}input:not([type=checkbox]){width:100%;padding:14px;border:1px solid #c7d1c4;border-radius:10px;background:white;font:inherit;color:#193d35}input:focus{outline:3px solid #b6d48c;outline-offset:2px}small{display:block;color:#748177;font-size:12px;margin-top:6px}button{font:inherit;cursor:pointer;min-height:44px}button:disabled{opacity:.5;cursor:default}.primary,.secondary{border:0;border-radius:10px;padding:14px 18px;width:100%;font-weight:700;margin:10px 0}.primary{background:#123e37;color:#fff}.secondary{background:#e4edda;color:#193d35}.text{background:none;border:0;color:#42683d;padding:10px 0;text-decoration:underline}.note{font-size:12px;line-height:1.6}.error{color:#a22c2c!important;font-size:14px;min-height:1em}code{display:block;overflow-wrap:anywhere;padding:18px;background:#e8eedf;border-radius:12px;font-size:18px;margin:24px 0}.check{display:flex;gap:10px;align-items:center}.check input{width:20px;height:20px;flex-shrink:0}[hidden]{display:none!important}@media(max-width:760px){main{display:block}.story{padding:25px 24px 30px}.brand{margin-bottom:25px;font-size:13px}.story h1{font-size:34px}.story img{display:none}.story p{font-size:14px;margin:4px 0 16px}.facts{font-size:10px;gap:5px}.panel{padding:30px 24px 45px}.panel h2{font-size:27px}}

.brand{display:flex;align-items:center;gap:10px;letter-spacing:-.5px;font-size:26px;font-weight:700}.brand img{border-radius:10px}

#registration-preview{text-align:center;margin:16px 0}#registration-preview svg{width:110px;height:110px}#registration-presets{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:16px 0}#registration-presets button{padding:4px;border:1px solid #cbd9c5;background:#f3f6ed;border-radius:12px}#registration-presets svg{width:100%;height:auto}#registration-sliders label{display:block;font-size:13px}#registration-sliders output{float:right;color:#537763}#registration-sliders input{accent-color:#194e43;padding:0;border:0;width:100%}.avatar-step>label,.avatar-step>input,.avatar-step>small,.avatar-step>#confirm-field{display:none}#registration-avatar[hidden]{display:none}#registration-avatar details{border:1px solid #d5dfce;padding:12px;border-radius:12px}#registration-avatar summary{cursor:pointer}
.contact-layout{display:block;max-width:760px;margin:4vh auto;padding:20px}.contact-layout .panel{padding:clamp(24px,5vw,48px)}.contact-mail{display:inline-block;text-decoration:none;margin:12px 0;overflow-wrap:anywhere}.contact-layout details{padding:18px 0;border-bottom:1px solid #d5dfd6}.contact-layout summary{cursor:pointer;font-weight:700}
.contact-layout .eyebrow{display:block;margin-top:36px}.contact-layout h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(38px,7vw,62px);line-height:1.1;margin:18px 0}.contact-layout select,.contact-layout textarea{font:inherit;width:100%;box-sizing:border-box;padding:15px;border:1px solid #ccd9cf;border-radius:13px;background:#fafbf7;color:#123e37}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-trap{position:absolute;left:-10000px}.contact-layout #contact-social{border-top:1px solid #d6dfd2;margin-top:32px}.contact-layout #social-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.contact-layout #social-links a{display:flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid #cdd8c8;border-radius:100px;color:#123e37;text-decoration:none;transition:background .2s,transform .2s}.contact-layout #social-links a:hover{background:#e8efdf;transform:translateY(-2px)}.contact-layout #social-links svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7}@media(max-width:540px){.contact-fields{grid-template-columns:1fr;gap:0}}

.contact-layout .brand{color:#123e37;display:flex;align-items:center;gap:12px;text-decoration:none}

/* 3.2.17 — one compact, accessible selection style across every screen. */
body input[type="checkbox"]{appearance:none;-webkit-appearance:none;display:inline-grid;place-content:center;width:26px;height:26px;min-width:26px;min-height:26px;flex:none;margin:0;border:2px solid #718b7e;border-radius:7px;background:#fff;vertical-align:middle;cursor:pointer;opacity:1;position:relative}
body input[type="checkbox"]:checked{background:#195344;border-color:#195344}
body input[type="checkbox"]:checked::after{content:"";width:7px;height:13px;border:solid white;border-width:0 3px 3px 0;transform:translateY(-2px) rotate(45deg)}
body input[type="checkbox"]:focus-visible{outline:3px solid #8abf9f;outline-offset:3px}
body input[type="checkbox"]:disabled{opacity:.5;cursor:default}
body label:has(>input[type="checkbox"]){min-height:44px;cursor:pointer}

.brand{font-family:Georgia,serif;letter-spacing:-.035em}

/* 3.2.36 — accueil et accès au compte */
.auth-page{background:#f4f6f2;color:#1c4339}
.auth-page main{max-width:1280px;padding:40px;gap:48px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center}
.auth-page .story{background:transparent;color:#1c4339;padding:16px 0;justify-content:flex-start}
.auth-page .story .brand{margin:0 0 28px;align-self:flex-start}
.auth-page .story .brand img{display:block;width:148px;height:auto;max-height:none;margin:0;border-radius:0;mix-blend-mode:multiply}
.auth-page h1{font-size:clamp(32px,3.5vw,48px);letter-spacing:-1.7px;line-height:1.12;margin:16px 0}
.auth-page .story p{color:#536f62;max-width:450px;margin:0 0 16px}
.auth-page .story .auth-city{width:100%;height:230px;object-fit:cover;border-radius:20px;margin:12px 0 20px}
.auth-page .facts{gap:10px;color:#355e4e;font-size:12px}
.auth-page .facts span{background:#e6eddf;border:0;padding:8px 12px}
.auth-page .panel{background:white;border:1px solid #dce4d9;border-radius:24px;padding:36px;box-shadow:0 16px 50px #193d3508;max-width:480px}
.auth-page h2{font-size:30px;line-height:1.16;margin:12px 0}
.auth-page #intro{font-size:15px;line-height:1.6}
.auth-page .tabs{margin:24px 0 20px;gap:4px;background:#edf1e9}
.auth-page .tabs .active{background:#194f43;color:#fff;box-shadow:none}
.auth-page .tabs button{min-height:46px;font-size:14px}
.auth-page input:not([type=checkbox]):not([type=range]){min-height:50px;border-radius:12px;background:#fbfcfa}
.auth-page input:focus-visible,.auth-page button:focus-visible,.auth-page a:focus-visible{outline:3px solid #81ac98;outline-offset:3px}
.auth-page .primary{background:#194f43;border-radius:12px;min-height:52px}
.auth-page .primary:hover{background:#123e34}
.auth-page .error:empty{min-height:0;margin:12px 0}
.auth-page .text{color:#355e4e;font-size:14px;text-underline-offset:4px}
.auth-page .auth-footer{grid-column:1/-1;text-align:center;margin:0;font-size:13px}
.auth-page .auth-footer a{color:#536f62;text-underline-offset:4px}
.auth-page[data-auth-mode=login] .signup-hint{display:none}
.auth-page #registration-presets{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media(max-width:760px){
.auth-page main{display:flex;flex-direction:column;padding:24px 20px 30px;gap:24px;min-height:100svh}
.auth-page .story{padding:0;width:100%;max-width:440px}
.auth-page .story .brand{margin:0 auto 20px}
.auth-page .story .brand img{display:block;width:112px;height:auto}
.auth-page .story>.eyebrow{display:none}
.auth-page .story h1{font-size:29px;letter-spacing:-1px;text-align:center;margin:0 0 12px}
.auth-page .story p{text-align:center;font-size:14px;margin:0 auto;max-width:330px}
.auth-page .story .auth-city,.auth-page .story .facts{display:none}
.auth-page .panel{padding:24px;width:100%;margin:0;max-width:440px;border-radius:20px}
.auth-page h2{font-size:25px}
.auth-page .eyebrow{font-size:10px;letter-spacing:1.3px}
.auth-page .auth-footer{margin:0}
}
