@charset "UTF-8";
:root { --ink:#101411; --paper:#f4efe5; --cream:#e8dfd0; --green:#193d31; --clay:#bd704f; --serif:"Iowan Old Style","Baskerville",Georgia,serif; --sans:"Helvetica Neue",Helvetica,Arial,sans-serif; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--ink); font-family:var(--sans); -webkit-font-smoothing:antialiased; }
.access-shell { display:grid; min-height:100svh; grid-template-columns:1.08fr .92fr; }
.access-panel { display:flex; min-height:100svh; padding:clamp(28px,5vw,76px); flex-direction:column; justify-content:space-between; background:var(--paper); }
.brand { display:inline-flex; width:max-content; align-items:center; gap:12px; color:inherit; text-decoration:none; }
.brand-mark { display:grid; width:40px; height:40px; place-items:center; border:1px solid; border-radius:50%; font-family:var(--serif); font-size:25px; font-style:italic; }
.brand > span:last-child { display:grid; gap:2px; }
.brand strong { font-family:var(--serif); font-size:19px; font-weight:400; }
.brand small { font-size:9px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.access-copy { width:min(680px,100%); margin:80px 0; }
.eyebrow { margin:0 0 25px; font-size:10px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
h1 { margin:0; font-family:var(--serif); font-size:clamp(68px,9vw,128px); font-weight:400; letter-spacing:-.06em; line-height:.88; }
.access-copy > p:not(.eyebrow) { max-width:570px; margin:38px 0 45px; color:#546057; font-family:var(--serif); font-size:21px; line-height:1.5; }
form label { display:block; margin-bottom:11px; font-size:9px; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }
.password-row { display:grid; grid-template-columns:1fr auto; border-bottom:1px solid var(--ink); }
input { width:100%; min-width:0; padding:18px 0; color:var(--ink); background:transparent; border:0; outline:0; font-family:var(--serif); font-size:24px; }
button { display:flex; min-width:130px; padding:0 0 0 24px; align-items:center; justify-content:space-between; color:var(--ink); background:transparent; border:0; cursor:pointer; font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
button span { font-size:20px; font-weight:400; transition:transform .2s ease; }
button:hover span, button:focus-visible span { transform:translate(3px,-3px); }
.form-error { margin:16px 0 0; color:#8d3c2b; font-size:13px; line-height:1.5; }
.access-note { max-width:520px; margin:0; color:#667169; font-size:10px; line-height:1.65; }
.access-art { position:relative; display:flex; min-height:100svh; padding:clamp(34px,5vw,76px); flex-direction:column; align-items:flex-end; justify-content:flex-end; overflow:hidden; color:var(--cream); background:var(--green); }
.access-art::before { position:absolute; inset:0; opacity:.2; background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px); background-size:72px 72px; content:""; mask-image:linear-gradient(135deg,transparent 15%,#000); }
.six { position:absolute; top:50%; left:50%; color:rgba(255,255,255,.07); font-family:var(--serif); font-size:min(70vw,820px); font-style:italic; line-height:1; transform:translate(-50%,-53%); }
.access-art p { position:relative; z-index:1; margin:0; text-align:right; font-family:var(--serif); font-size:clamp(38px,5vw,78px); letter-spacing:-.045em; line-height:1.02; }
.access-art em { color:#d99572; font-weight:400; }
@media (max-width:800px) { .access-shell { grid-template-columns:1fr; } .access-panel { min-height:100svh; } .access-art { display:none; } }
@media (max-width:520px) { .access-copy { margin:70px 0; } h1 { font-size:68px; } .access-copy > p:not(.eyebrow) { font-size:19px; } .password-row { grid-template-columns:1fr; } button { min-height:54px; padding:0; border-top:1px solid rgba(16,20,17,.2); } }
@media (prefers-reduced-motion:reduce) { button span { transition:none; } }
