@font-face{font-family:"Cinzel";src:url("/fonts/Cinzel.ttf") format("truetype");font-weight:400 700;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("/fonts/CormorantGaramond-Regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("/fonts/CormorantGaramond-Italic.ttf") format("truetype");font-style:italic;font-display:swap}
:root{--navy:#16283A;--teal:#2EC4B6;--teal-ink:#0F766E;--cream:#F5EFE6;--paper:#FBF8F3;--text:#141414;--muted:#4F5863;--hair:#E3DED5;--oxblood:#8C3A2A;
--chrome:system-ui,-apple-system,"Segoe UI",sans-serif;--display:"Cormorant Garamond",Georgia,serif;--lot:"Cinzel",Georgia,serif}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--paper);color:var(--text);font:16px/1.55 var(--chrome);-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
::selection{background:#CDEFEB;color:var(--navy)}
a{color:var(--teal-ink);text-underline-offset:3px}
a:hover{color:var(--navy)}
:focus-visible{outline:2px solid var(--teal-ink);outline-offset:3px;border-radius:4px}
.hdr{background:#fff;border-bottom:1px solid var(--hair)}
.hdr-in{max-width:72rem;margin:0 auto;padding:.9rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.wm{display:inline-flex;align-items:center;gap:.55rem;color:var(--navy);text-decoration:none;font:600 1.05rem/1 var(--lot);letter-spacing:.14em}
.wm svg{width:20px;height:20px;color:var(--teal-ink)}
.nav{display:flex;gap:.25rem 1.1rem;flex-wrap:wrap;font-size:.92rem}
.nav a{color:var(--muted);text-decoration:none;padding:.3rem 0}
.nav a:hover{color:var(--navy)}
.nav a[aria-current="page"]{color:var(--navy);font-weight:600;box-shadow:inset 0 -2px 0 var(--teal)}
main{flex:1;width:100%;max-width:72rem;margin:0 auto;padding:2.5rem 1.25rem 3rem;display:grid;gap:2.5rem;align-items:start}
.intro h1{font:400 clamp(2.4rem,6vw,3.6rem)/1.05 var(--display);color:var(--navy);margin:0 0 1rem;letter-spacing:-.01em;text-wrap:balance}
.intro h1 em{font-style:italic;color:var(--teal-ink)}
.intro p{color:var(--muted);max-width:34ch;margin:0 0 1.5rem;font-size:1.05rem}
.ledger{list-style:none;padding:0;margin:0;border-top:1px solid var(--hair);max-width:26rem}
.ledger li{display:flex;gap:.8rem;align-items:baseline;padding:.75rem 0;border-bottom:1px solid var(--hair);color:var(--text);font-size:.95rem}
.ledger b{font:600 .72rem/1 var(--lot);letter-spacing:.12em;color:var(--oxblood);min-width:3.4rem}
.card{background:#fff;border:1px solid var(--hair);border-radius:14px;padding:1.75rem 1.5rem;box-shadow:0 1px 2px rgba(22,40,58,.04),0 12px 32px -12px rgba(22,40,58,.14);width:100%;max-width:28rem}
.card h2{font:600 1.2rem/1.3 var(--chrome);color:var(--navy);margin:0 0 .3rem}
.card .sub{color:var(--muted);font-size:.92rem;margin:0 0 1.4rem}
.field{margin-bottom:1.05rem}
.row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
label{display:block;font-weight:600;font-size:.9rem;color:var(--navy);margin-bottom:.4rem}
.opt{font-weight:400;color:var(--muted)}
.row a{font-size:.85rem}
input{width:100%;font:inherit;font-size:1rem;color:var(--text);background:#fff;border:1px solid #C9CFD6;border-radius:9px;padding:.75rem .85rem;caret-color:var(--teal-ink);transition:border-color .15s,box-shadow .15s}
input::placeholder{color:#6B7480}
input:hover{border-color:#9AA4AF}
input:focus{outline:none;border-color:var(--teal-ink);box-shadow:0 0 0 3px rgba(46,196,182,.25)}
.btn{width:100%;margin-top:.4rem;font:600 1rem/1 var(--chrome);color:#fff;background:var(--navy);border:0;border-radius:9px;padding:.95rem 1rem;cursor:pointer;transition:background .15s,transform .15s}
.btn:hover{background:#0E1C2A}
.btn:active{transform:translateY(1px)}
#login-note{min-height:1.3em;margin:.8rem 0 0;font-size:.88rem;color:var(--oxblood)}
.alt{margin:1.3rem 0 0;padding-top:1.1rem;border-top:1px solid var(--hair);font-size:.95rem;color:var(--muted)}
.alt a{font-weight:600}
.demo{margin:1rem 0 0;font-size:.82rem;color:var(--muted);background:var(--cream);border-radius:8px;padding:.6rem .75rem}
.demo code{font:.8rem/1.4 ui-monospace,Menlo,monospace;color:var(--navy)}
.foot{border-top:1px solid var(--hair);color:var(--muted);font-size:.82rem;text-align:center;padding:1.1rem}
@media(min-width:900px){main{grid-template-columns:1.1fr 1fr;padding-top:5rem;gap:4rem}.card{justify-self:end;padding:2.25rem 2rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
main{gap:1.75rem}
.intro p{margin-bottom:0}
@media(min-width:900px){main{grid-template-columns:1.1fr 1fr;grid-template-areas:"intro card" "trust card";row-gap:1.75rem}.intro{grid-area:intro}.trust{grid-area:trust}.card{grid-area:card}}
@media(max-width:899px){.intro h1{font-size:2.3rem}.hdr-in{padding:.75rem 1.25rem}main{padding-top:1.75rem}}
@media(min-width:900px){main{grid-template-rows:auto 1fr}}
main{align-content:start}.trust{align-self:start}
