.od1-login-html { min-height: 100%; background: #f4f0e6; }
body.od1-login-body { margin: 0; min-height: 100vh; min-height: 100dvh; background: #f4f0e6; color: #173e31; font-family: "Avenir Next", "Trebuchet MS", sans-serif; }
.od1-login-body::before { content: ""; position: fixed; inset: 0; pointer-events: none; opacity: .28; background-image: radial-gradient(#173e31 0.6px, transparent 0.6px); background-size: 12px 12px; mask-image: linear-gradient(135deg, #000, transparent 60%); }
.od1-login-shell { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr); min-height: 100vh; min-height: 100dvh; }
.od1-login-story { position: relative; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; padding: clamp(28px, 5vw, 72px); color: #f9f5e9; background: #173e31; }
.od1-login-story::after { content: ""; position: absolute; width: min(42vw, 620px); aspect-ratio: 1; right: -18%; bottom: -28%; border: clamp(35px, 5vw, 74px) solid rgba(229, 166, 94, .9); border-radius: 50%; }
.od1-login-brand { position: relative; z-index: 1; display: inline-flex; width: fit-content; align-items: center; gap: 13px; color: inherit; text-decoration: none; text-transform: uppercase; font-size: 12px; font-weight: 800; letter-spacing: .18em; }
.od1-login-logo { display: block; width: 56px; height: 56px; object-fit: contain; }
.od1-login-mark { display: grid; place-items: center; width: 54px; height: 54px; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; font-size: 15px; letter-spacing: -.04em; }
.od1-login-message { position: relative; z-index: 1; max-width: 680px; margin: clamp(70px, 14vh, 170px) 0; }
.od1-login-kicker { margin: 0 0 16px; color: #c8733d; text-transform: uppercase; font-size: 12px; font-weight: 850; letter-spacing: .17em; }
.od1-login-story .od1-login-kicker { color: #e8aa68; }
.od1-login-message h1 { max-width: 620px; margin: 0; font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif; font-size: clamp(50px, 6.3vw, 104px); font-weight: 500; line-height: .92; letter-spacing: -.055em; }
.od1-login-message > p:last-child { max-width: 510px; margin: 28px 0 0; color: #cedbd2; font-size: clamp(16px, 1.5vw, 20px); line-height: 1.65; }
.od1-login-note { position: relative; z-index: 1; margin: 0; color: #9fb5a8; font-size: 12px; letter-spacing: .05em; }
.od1-login-panel { display: grid; place-items: center; padding: clamp(28px, 6vw, 90px); }
.od1-login-form-wrap { width: min(100%, 470px); }
.od1-login-form-wrap h2 { margin: 0; color: #173e31; font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif; font-size: clamp(38px, 4vw, 58px); font-weight: 500; line-height: 1; letter-spacing: -.045em; }
.od1-login-intro { margin: 18px 0 34px; color: #65746b; line-height: 1.6; }
.od1-login-error { margin: 0 0 22px; padding: 14px 16px; border-left: 4px solid #b3482c; background: #f5dfd6; color: #712d1b; font-size: 14px; }
.od1-login-form { display: grid; gap: 10px; }
.od1-login-form > label, .od1-login-password-row label { color: #263f35; font-size: 13px; font-weight: 750; }
.od1-login-form > input:not([type="checkbox"]) { width: 100%; min-height: 54px; box-sizing: border-box; margin: 0 0 12px; padding: 13px 15px; border: 1px solid #a8b4ab; border-radius: 4px; background: rgba(255,255,255,.7); color: #173e31; font: inherit; }
.od1-login-form > input:focus { border-color: #173e31; outline: 3px solid rgba(23,62,49,.16); }
.od1-login-password-row { display: flex; justify-content: space-between; gap: 16px; align-items: baseline; }
.od1-login-password-row a, .od1-login-back { color: #52675b; font-size: 13px; }
.od1-login-remember { display: flex; align-items: center; gap: 9px; width: fit-content; margin: 3px 0 13px; font-weight: 500 !important; }
.od1-login-remember input { width: 17px; height: 17px; accent-color: #173e31; }
.od1-login-form button { display: flex; justify-content: space-between; align-items: center; min-height: 58px; padding: 14px 18px; border: 0; border-radius: 4px; background: #173e31; color: #fff; cursor: pointer; font: inherit; font-weight: 750; }
.od1-login-form button:hover { background: #245542; }
.od1-login-form button:focus-visible, .od1-login-body a:focus-visible { outline: 3px solid #c8733d; outline-offset: 4px; }
.od1-login-form button span { font-size: 22px; }
.od1-login-back { display: inline-block; margin-top: 28px; }
@media (max-width: 860px) { .od1-login-shell { grid-template-columns: 1fr; } .od1-login-story { min-height: 38vh; padding: 28px; } .od1-login-message { margin: 64px 0 32px; } .od1-login-message h1 { font-size: clamp(46px, 12vw, 76px); } .od1-login-note { display: none; } .od1-login-panel { place-items: start center; padding: 48px 24px 70px; } }
@media (max-width: 480px) { .od1-login-story { min-height: 310px; } .od1-login-message { margin: 52px 0 20px; } .od1-login-message > p:last-child { margin-top: 18px; font-size: 15px; } .od1-login-panel { padding: 40px 20px 60px; } }
@media (prefers-reduced-motion: no-preference) { .od1-login-story > *, .od1-login-form-wrap { animation: od1-login-rise .55s ease-out both; } .od1-login-message { animation-delay: .08s; } .od1-login-form-wrap { animation-delay: .14s; } @keyframes od1-login-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } } }
