:root{--paper:#f1f5f7;--white:#fff;--ink:#203c49;--muted:#49616b;--accent:#945128;--line:#cbd8df;--selection:#d6e4eb;--gutter:clamp(24px,5vw,88px)}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.6 Manrope,system-ui,sans-serif}
html{scrollbar-color:var(--muted) var(--paper)}
::selection{background:var(--selection);color:var(--ink)}
a{color:inherit;text-underline-offset:4px}
button,input{font:inherit;color:inherit}
a,button{touch-action:manipulation}
:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.welcome{display:grid;grid-template-columns:1fr 1fr;min-height:100svh}
.welcome-content{display:flex;flex-direction:column;padding:40px var(--gutter) 28px;min-width:0;gap:40px}
.welcome-brand{display:flex;align-items:center;gap:16px;width:fit-content;max-width:100%;text-decoration:none;font-size:28px;line-height:1;white-space:nowrap}
.welcome-symbol{display:block;width:100px;aspect-ratio:624/320;overflow:hidden;flex-shrink:0}
.welcome-symbol img{display:block;width:100%;height:auto}
.welcome-copy{margin:auto 0;padding:36px 0}
h1{font:400 clamp(60px,6.7vw,96px)/1.03 Newsreader,Georgia,serif;letter-spacing:-.025em;margin:0}
.welcome-copy>p{margin:28px 0 0;color:var(--muted);max-width:30ch}
.login-link{display:flex;align-items:center;gap:16px;min-height:44px;align-self:start;text-decoration:none;font-size:16px;padding:8px 0}
.login-link:hover{text-decoration:underline}
svg{display:block;flex-shrink:0}
.welcome-photo{min-width:0;position:relative;background:var(--line)}
.welcome-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 43%}
.login-copy h1{font-size:clamp(52px,5.5vw,80px)}
form{margin-top:32px;max-width:360px}
label{display:block;font-size:16px}
input{width:100%;display:block;padding:13px 14px;margin-top:10px;background:var(--white);border:1px solid var(--muted);border-radius:4px;caret-color:var(--accent)}
input:focus{border-color:var(--ink)}
input[aria-invalid=true]{border-color:var(--accent)}
.login-error{color:var(--accent);font-size:16px;margin:14px 0 0}
.login-submit{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:12px 20px;margin-top:22px;border:0;border-radius:999px;background:var(--ink);color:var(--white);font-size:16px;cursor:pointer}
.login-submit:hover{background:#345565}
@media(max-width:800px){.welcome-brand{font-size:24px;gap:12px}.welcome-symbol{width:80px}h1{font-size:clamp(52px,7.5vw,70px)}}
@media(max-width:600px){.welcome{position:relative;grid-template-columns:1fr;grid-template-rows:auto minmax(240px,38svh)}.welcome-content{padding:24px;gap:24px;min-height:62svh}.welcome-brand{font-size:24px}.welcome-copy{padding:12px 0}h1{font-size:clamp(54px,15vw,68px)}.welcome-copy>p{font-size:17px;margin-top:20px}.login-copy h1{font-size:54px}.login-copy form{margin-top:24px}.welcome-photo img{object-position:center 35%}.welcome-content>.login-link{position:absolute;left:24px;bottom:20px;z-index:1;background:var(--paper);padding:8px 14px;border-radius:999px}}
.welcome-coming{position:relative}
.welcome-coming .welcome-content{padding-bottom:calc(28px + 44px + 40px)}
.welcome-coming>.login-link{position:absolute;left:var(--gutter);bottom:28px}
@media(max-width:600px){
  .welcome-coming{display:flex;flex-direction:column;padding:24px;gap:24px}
  .welcome-coming .welcome-content{padding:0;gap:48px;min-height:0}
  .welcome-coming .welcome-copy{margin:0;padding:0}
  .welcome-coming .welcome-photo{background:none}
  .welcome-coming .welcome-photo img{display:block;position:static;width:100%;height:auto;object-fit:initial;object-position:initial}
  .welcome-coming>.login-link{position:static}
}
