:root{
  --ink:#0c0d10;--ink2:#121419;--panel:#15171d;--bone:#efe9dc;--muted2:#a8a294;
  --brass:#c8a36a;--brass-hi:#e8cd9a;--line:rgba(200,163,106,.16);
  --serif:"Fraunces",Georgia,serif;--sans:"Hanken Grotesk",system-ui,sans-serif;
  --ok-bg:rgba(120,170,110,.12);--ok-bd:rgba(150,190,140,.4);--ok-tx:#cfe6c2;
  --err-bg:rgba(190,70,60,.12);--err-bd:rgba(200,120,110,.4);--err-tx:#e9bcb6;
}
*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--bone);font-family:var(--sans);font-weight:300;
  -webkit-font-smoothing:antialiased;line-height:1.65;min-height:100vh}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(120% 70% at 82% -10%,rgba(200,163,106,.14),transparent 55%),
             radial-gradient(90% 60% at 5% 108%,rgba(200,163,106,.05),transparent 60%)}
body::after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.wrap{position:relative;z-index:2;max-width:1100px;margin:0 auto;padding:0 32px}

nav.ovp{display:flex;align-items:center;justify-content:space-between;padding:26px 0;
  opacity:0;animation:ovp-fade .8s .1s forwards}
.brand{font-family:var(--serif);font-weight:500;font-size:18px;letter-spacing:.4px;color:var(--bone);text-decoration:none}
.brand b{color:var(--brass);font-weight:500}
.navlinks{display:flex;gap:28px;align-items:center;font-size:13.5px;color:var(--muted2)}
.navlinks a{color:inherit;text-decoration:none;transition:color .3s}.navlinks a:hover{color:var(--bone)}
.btn-login{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--brass-hi)!important;
  border:1px solid var(--line);padding:10px 20px;border-radius:2px;transition:.35s}
.btn-login:hover{border-color:var(--brass);background:rgba(200,163,106,.09)}

.ovp-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:center;
  padding:30px 0 26px;min-height:240px}
.ovp-hero .eyebrow{font-size:11.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--brass);
  margin-bottom:18px;display:flex;align-items:center;gap:13px;opacity:0;animation:ovp-rise .8s .2s forwards}
.ovp-hero .eyebrow .ln{width:42px;height:1px;background:linear-gradient(90deg,var(--brass),transparent)}
.ovp-hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(34px,5vw,52px);line-height:1.04;
  letter-spacing:-.012em;opacity:0;animation:ovp-rise .9s .32s forwards}
.ovp-hero h1 i{font-style:italic;color:var(--brass-hi)}
.ovp-hero p.sub{font-size:15.5px;color:var(--muted2);margin-top:16px;max-width:440px;
  opacity:0;animation:ovp-rise .9s .46s forwards}
.ovp-art{position:relative;height:210px;opacity:0;animation:ovp-fade 1.3s .5s forwards}
.ovp-art svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ovp-art .bl{stroke:var(--brass);fill:none;stroke-width:1;opacity:.5;
  stroke-dasharray:1100;stroke-dashoffset:1100;animation:ovp-draw 2.4s 1s forwards cubic-bezier(.6,0,.2,1)}
.ovp-art .win{fill:rgba(232,205,154,.10);stroke:var(--brass);stroke-width:.5;opacity:0;animation:ovp-fade .8s forwards}
.ovp-art .dot{fill:var(--brass-hi)}

.panel{background:linear-gradient(180deg,var(--panel),#0f1116);border:1px solid var(--line);
  border-radius:10px;padding:30px;margin:8px 0 30px}
.prose{font-size:14.5px;color:#d8d2c4;line-height:1.78}
.prose h2{font-family:var(--serif);font-weight:400;color:var(--brass-hi);font-size:20px;margin:22px 0 8px}
.prose strong{color:var(--bone);font-weight:600}
.prose a{color:var(--brass-hi)}
.prose .empty{color:var(--muted2);font-style:italic}
.subnav{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 18px}
.subnav a{font-size:12.5px;color:var(--muted2);text-decoration:none;border:1px solid var(--line);
  padding:8px 14px;border-radius:2px;transition:.3s}
.subnav a:hover{color:var(--bone);border-color:var(--brass)}
.subnav a.active{color:var(--brass-hi);border-color:var(--brass);background:rgba(200,163,106,.08)}

.fld{display:block;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted2);margin:16px 0 7px}
.in{width:100%;background:var(--ink2);border:1px solid var(--line);color:var(--bone);font-family:var(--sans);
  font-size:14.5px;font-weight:300;padding:12px 14px;border-radius:4px;outline:none;transition:.3s}
.in::placeholder{color:#6b665c}
.in:focus{border-color:var(--brass);background:#171922;box-shadow:0 0 0 4px rgba(200,163,106,.08)}
textarea.in{min-height:96px;resize:vertical}
.hint{font-size:11.5px;color:#6b665c;margin-top:5px}
.terms{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;color:var(--muted2);margin:16px 0 4px}
.terms input{margin-top:3px;accent-color:var(--brass)}.terms a{color:var(--brass-hi)}
.submit{width:100%;margin-top:22px;background:var(--brass);color:#1a1408;font-family:var(--sans);
  font-size:14.5px;font-weight:600;letter-spacing:.02em;border:none;padding:15px;border-radius:4px;
  cursor:pointer;transition:.3s;box-shadow:0 14px 38px -16px rgba(200,163,106,.7)}
.submit:hover{background:var(--brass-hi);transform:translateY(-2px)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.msg{padding:13px 15px;border-radius:6px;font-size:13.5px;margin-bottom:18px;line-height:1.55}
.msg.ok{background:var(--ok-bg);border:1px solid var(--ok-bd);color:var(--ok-tx)}
.msg.err{background:var(--err-bg);border:1px solid var(--err-bd);color:var(--err-tx)}

footer.ovp{border-top:1px solid var(--line);margin-top:18px;padding:24px 0 44px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12px;color:#6b665c}
footer.ovp a{color:#6b665c;text-decoration:none;transition:.3s}footer.ovp a:hover{color:var(--brass)}
footer.ovp .sep{margin:0 9px;opacity:.4}

@keyframes ovp-fade{to{opacity:1}}@keyframes ovp-rise{to{opacity:1;transform:none}}@keyframes ovp-draw{to{stroke-dashoffset:0}}
@media(max-width:820px){
  .wrap{padding:0 22px}
  .ovp-hero{grid-template-columns:1fr;min-height:auto;padding:18px 0}
  .ovp-art{height:150px;order:-1;max-width:280px}
  .navlinks a:not(.btn-login){display:none}
  footer.ovp{justify-content:center;text-align:center}
}
