:root{--fm-ink:#153f46;--fm-sea:#0d5262;--fm-sand:#f7f2e9;--fm-clay:#b95e38}
html{background:var(--fm-sand)}
body.login{min-height:100vh;height:auto;background:radial-gradient(ellipse at 90% 5%,#e9e2d4 0,transparent 47%),var(--fm-sand);color:var(--fm-ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;padding:1px 0 22px 49%;box-sizing:border-box}
.fm-welcome{position:fixed;inset:0 auto 0 0;width:49%;box-sizing:border-box;padding:clamp(36px,5vw,78px);overflow:hidden;color:#fff8ed;background:linear-gradient(145deg,#103c45,#0d5a69)}
.fm-welcome:after{content:"";position:absolute;bottom:-270px;left:-80px;width:900px;height:440px;border:1px solid #e6c99b33;box-shadow:0 -30px 0 #e6c99b0d,0 -62px 0 #e6c99b08;border-radius:50%;transform:rotate(-15deg);pointer-events:none}
.fm-location{font-size:11px;font-weight:650;letter-spacing:.2em;color:#e6c99b}
.fm-welcome h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(38px,4.1vw,64px);line-height:1.13;letter-spacing:-.035em;margin:34px 0 20px}
.fm-welcome p{font-size:16px;line-height:1.8;color:#d9e6e6;margin:0}
.fm-welcome img{display:block;width:clamp(220px,26vw,390px);height:auto;max-height:44vh;object-fit:contain;margin:20px auto 0;filter:drop-shadow(0 14px 20px #082a3533)}
.fm-signature{position:absolute;bottom:32px;left:clamp(36px,5vw,78px);font-size:15px;letter-spacing:.015em;color:#fff4e3}
.fm-signature span{display:block;color:#b6ced1;font-size:11px;margin-top:7px;letter-spacing:.05em}
.login #login{width:min(440px,calc(100% - 48px));padding:0;margin:clamp(30px,6vh,70px) auto 0}
.login h1 a{background-image:url('logo-fermes-marines.png');background-size:contain;background-position:center;width:124px;height:124px;margin:0 auto 16px;outline-offset:5px}
.fm-intro{text-align:center;margin-bottom:28px}
.fm-eyebrow{font-size:10px;letter-spacing:.2em;font-weight:700;color:#a6593c}
.fm-intro h2{font-family:Georgia,"Times New Roman",serif;font-size:34px;font-weight:400;letter-spacing:-.035em;margin:12px 0;color:var(--fm-ink);line-height:1.1}
.fm-intro p{font-size:14px;line-height:1.7;color:#6b7776;margin:0}
.login form{background:#fffdf9;border:1px solid #e6ded1;border-radius:22px;padding:30px 32px;box-shadow:0 12px 38px #153f4609;margin-top:0;font-weight:400}
.login label{font-size:13px;font-weight:550;color:#364f51;margin-bottom:7px;display:inline-block}
.login form .input{font-size:17px;border:1px solid #d8dcd7;border-radius:9px;min-height:49px;padding:8px 12px;background:#fff;color:var(--fm-ink);margin-bottom:22px;box-shadow:none}
.login form .input:focus{border-color:var(--fm-sea);box-shadow:0 0 0 3px #0d526212;outline:none}
.login .button.wp-hide-pw{height:49px;color:#687b7d;right:2px}
.login .forgetmenot label{font-size:12px;font-weight:400;color:#647572;display:inline}
.login .forgetmenot{margin-bottom:23px;float:none}
.login input[type=checkbox]{border-color:#9baba8;border-radius:4px}
.login .submit{float:none;display:block}
.login .button-primary{width:100%;min-height:49px;padding:10px 18px;background:var(--fm-sea);border:1px solid var(--fm-sea);border-radius:9px;color:#fff;font-size:14px;font-weight:600;box-shadow:none;text-shadow:none;transition:background .18s}
.login .button-primary:hover{background:#153f46;border-color:#153f46}
.login .button-primary:focus{box-shadow:0 0 0 3px #0d526233}
.login #nav,.login #backtoblog{padding:0;text-align:center;font-size:12px;line-height:1.7}
.login #nav{margin-top:22px}.login #backtoblog{margin-top:11px}
.login #nav a,.login #backtoblog a{color:#46676b;text-decoration:none}.login #nav a:hover,.login #backtoblog a:hover{text-decoration:underline}
.login .message,.login #login_error,.login .success{background:#fffdf9;border-radius:12px;border-left:3px solid var(--fm-sea);box-shadow:none;color:#364f51;font-size:13px;line-height:1.6;margin-bottom:18px}
.login #login_error{border-left-color:#b65037}
.login .language-switcher{margin:20px 0 0;padding:0;text-align:center}.login .language-switcher select{border-radius:7px;border-color:#d8dcd7;background:#fffdf9;font-size:12px}.login .language-switcher .button{border-radius:7px;border-color:#bbc9c8;color:var(--fm-ink);font-size:12px}
.fm-private-note{text-align:center;font-size:11px;color:#84908b;margin:22px 12px 0}
body.interim-login{padding-left:0}.interim-login .fm-welcome{display:none}
@media(max-width:900px){body.login{padding-left:0}.fm-welcome{display:none}.login #login{max-width:420px;margin-top:32px}.login h1 a{width:138px;height:138px}.fm-intro h2{font-size:32px}.fm-intro{margin-bottom:24px}}
@media(max-width:420px){.login #login{width:calc(100% - 32px);margin-top:22px}.login form{padding:25px 23px}.login h1 a{width:112px;height:112px}.fm-intro h2{font-size:29px}}
@media(min-width:901px) and (max-height:760px){.fm-welcome{padding-top:35px}.fm-welcome h2{font-size:40px;margin-top:20px}.fm-welcome img{max-height:33vh}.login #login{margin-top:20px}.login h1 a{width:90px;height:90px}.fm-intro{margin-bottom:18px}.login form{padding:24px 30px}}
