:root{
  --paper:#F6F2EA; --paper-2:#EFE8DA; --ink:#1B2430; --ink-soft:#4A5468;
  --amber:#E2833F; --dusk:#B8447A; --line:#DCD2BC; --white:#FFFDF9;
  --error:#B3402F; --error-bg:#FBEAE6;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Public Sans',sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;}
h1,h2{font-family:'Newsreader',serif;font-weight:500;margin:0;color:var(--ink);}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
a:focus-visible, button:focus-visible, input:focus-visible{outline:2px solid var(--dusk);outline-offset:3px;border-radius:4px;}

header{border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:18px 0;}
.logo{display:flex;align-items:center;gap:10px;font-family:'Newsreader',serif;font-size:1.28rem;font-weight:600;}
.logo-mark{width:26px;height:26px;flex-shrink:0;}
.ghost-link{font-size:0.94rem;color:var(--ink-soft);}
.ghost-link strong{color:var(--dusk);}

.split{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 68px);align-items:stretch;}
.form-panel{display:flex;flex-direction:column;justify-content:center;padding:60px 40px;max-width:420px;}
.form-panel h1{font-size:clamp(1.9rem,3.4vw,2.4rem);}
.accent{font-family:'Caveat',cursive;font-weight:600;color:var(--dusk);font-size:1.3rem;margin:10px 0 30px;min-height:1.6rem;}
.accent .cursor{display:inline-block;width:2px;background:var(--dusk);margin-left:2px;animation:blink 1s step-end infinite;}
@keyframes blink{50%{opacity:0;}}

form{display:flex;flex-direction:column;gap:6px;}
label{font-size:0.86rem;font-weight:600;color:var(--ink-soft);margin-top:14px;}
input{padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--white);font-family:'Public Sans';font-size:0.96rem;color:var(--ink);}
input:focus{border-color:var(--dusk);}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:999px;font-size:0.98rem;font-weight:600;border:1px solid transparent;cursor:pointer;margin-top:22px;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;}
.btn-primary{background:var(--ink);color:var(--paper);}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(27,36,48,0.22);}
.btn-primary:disabled{opacity:0.6;cursor:default;transform:none;box-shadow:none;}
.form-message{font-size:0.86rem;min-height:1.2em;margin-top:14px;}
.form-message.error{color:var(--error);background:var(--error-bg);padding:10px 12px;border-radius:8px;}
.form-message.success{color:#1F6F63;background:#E4F0EC;padding:10px 12px;border-radius:8px;}
.fine-print{font-size:0.8rem;color:var(--ink-soft);margin-top:26px;}

.visual-panel{position:relative;}
.horizon{position:relative;height:100%;overflow:hidden;background:linear-gradient(180deg,#FBEFDD 0%,#F6DCC2 38%,#F3C9A6 62%,#EAB998 100%);border-radius:0 0 0 26px;}
.horizon svg{position:absolute;inset:0;width:100%;height:100%;}
.visual-copy{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:50px;color:var(--ink);}
.visual-copy h2{font-size:1.6rem;margin-bottom:10px;}
.visual-copy p{color:var(--ink-soft);max-width:320px;font-size:0.96rem;}

@media (max-width:900px){
  .split{grid-template-columns:1fr;}
  .visual-panel{display:none;}
  .form-panel{max-width:100%;padding:40px 28px;}
}
