:root{--navy:#0c3850;--blue:#075174;--green:#56b56b;--gold:#f3b62c;--ink:#15384f}*{box-sizing:border-box}body{margin:0;background:#f7f9fb;color:var(--ink);font-family:Arial,sans-serif}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,58%) minmax(420px,42%)}.login-showcase{min-height:100vh;position:relative;overflow:hidden;color:#fff;background:#0b3449 url("/static/img/church.d2e718e37697.png") center/cover no-repeat;display:flex;flex-direction:column;justify-content:space-between}.showcase-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,39,58,.94),rgba(7,54,72,.6))}.showcase-content,.showcase-footer{position:relative;z-index:1}.showcase-content{padding:clamp(44px,6vw,88px) clamp(36px,7vw,112px) 30px}.eyebrow{color:#87d47e;font-size:18px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin:0 0 24px}.showcase-copy h1,.showcase-content h1{font-size:clamp(42px,4.1vw,72px);line-height:1.06;margin:0;font-weight:800}.showcase-content h1 em{color:#70c77e;font-family:Georgia,serif}.showcase-description{max-width:520px;margin:34px 0 0;font-size:clamp(17px,1.25vw,22px);line-height:1.45}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:70px}.feature-card{color:var(--ink);background:rgba(255,255,255,.96);border-radius:13px;padding:22px 16px 18px;text-align:center;min-height:170px;box-shadow:0 10px 22px rgba(0,0,0,.12)}.feature-card>i{color:var(--navy);display:block;font-size:34px;margin-bottom:12px}.feature-card h2{font-size:15px;margin:0 0 9px}.feature-card p{font-size:13px;line-height:1.42;margin:0}.showcase-footer{background:rgba(4,40,57,.86);display:flex;justify-content:space-between;gap:30px;padding:28px clamp(36px,7vw,112px);align-items:center}.showcase-footer p{font-size:14px;max-width:390px;margin:0}.showcase-footer span{color:#6ac878;font-size:15px}.login-panel{background:#fff;display:flex;align-items:center;justify-content:center;padding:42px clamp(30px,6vw,88px)}.login-box{width:100%;max-width:430px}.brand{display:flex;align-items:center;gap:13px;margin-bottom:64px;color:var(--navy)}.brand-mark{width:58px;height:50px;display:grid;place-items:center;border:5px solid var(--green);border-left-color:#058ac2;border-radius:50%;transform:rotate(-10deg)}.brand-mark i{font-size:28px;color:#0875a0}.brand strong{display:block;font-size:clamp(25px,2vw,34px);line-height:1}.brand small{display:block;color:var(--green);letter-spacing:.25em;font-size:11px;font-weight:700;margin-top:7px}.login-box h2{font-size:clamp(27px,2.1vw,34px);margin:0 0 13px}.intro{color:#53687b;font-size:18px;line-height:1.45;margin:0 0 42px}.login-alert{display:flex;flex-direction:column;gap:4px;color:#7b2635;background:#fff1f2;border:1px solid #f3c5cb;border-radius:10px;padding:12px 14px;margin:-18px 0 24px;font-size:14px}.field-group{margin-bottom:28px}.field-group label{display:block;font-size:16px;font-weight:700;margin-bottom:10px}.login-input{height:58px;display:flex;align-items:center;gap:16px;border:1px solid #cbd4dc;border-radius:12px;padding:0 18px}.login-input:focus-within{border-color:#2b8aad;box-shadow:0 0 0 3px rgba(43,138,173,.13)}.login-input>i{font-size:23px}.login-input input{min-width:0;flex:1;border:0;outline:0;font-size:16px}.login-input button{border:0;background:transparent;color:#29465a;font-size:23px;padding:4px;line-height:1;cursor:pointer}.login-options{margin:3px 0 34px;font-size:15px}.login-options label{display:flex;align-items:center;gap:8px}.login-options input{width:21px;height:21px}.btn-login{width:100%;height:64px;border:0;border-radius:12px;background:var(--blue);color:#fff;font-size:20px;font-weight:700;cursor:pointer}.support-note{display:flex;align-items:center;gap:24px;background:#f0f6fc;border-radius:15px;padding:22px 25px;margin-top:42px}.support-note i{font-size:38px}.support-note p{font-size:14px;line-height:1.5;margin:0}.login-box footer{color:#586b7b;font-size:14px;margin-top:58px}@media(max-width:1100px){.login-page{grid-template-columns:1fr}.login-showcase{display:none}.login-panel{min-height:100vh}}@media(max-width:575.98px){.login-panel{padding:30px 22px;align-items:flex-start}.brand{margin-bottom:52px}.login-box h2{font-size:29px}.intro{font-size:16px}.support-note{padding:18px}.login-box footer{margin-top:42px}}
