:root {
  --csl-green: #215731;
  --csl-green-dark: #123a20;
  --csl-bronze: #8B634B;
  --csl-ink: #132018;
  --csl-muted: #6d756f;
  --csl-border: #d8dfda;
}

.csl-shell {
  min-height: 100svh;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #fff;
  background:
    linear-gradient(110deg, rgba(10,31,18,.92) 0%, rgba(18,58,32,.82) 42%, rgba(18,58,32,.28) 72%, rgba(18,58,32,.5) 100%),
    var(--csl-hero) center / cover no-repeat;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.csl-overlay { position:absolute; inset:0; z-index:-1; background:radial-gradient(circle at 74% 22%, rgba(255,255,255,.14), transparent 26%), linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.18)); }
.csl-topline { width:min(calc(100% - 3rem),1380px); margin:0 auto; min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:1rem; font-size:.74rem; text-transform:uppercase; letter-spacing:.13em; font-weight:800; color:rgba(255,255,255,.76); border-bottom:1px solid rgba(255,255,255,.16); }
.csl-stage { width:min(calc(100% - 3rem),1380px); min-height:calc(100svh - 64px); margin:0 auto; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(390px,520px); align-items:center; gap:clamp(3rem,7vw,8rem); padding:4rem 0; }
.csl-intro { max-width:760px; padding-bottom:8vh; }
.csl-eyebrow,.csl-kicker { display:inline-block; text-transform:uppercase; letter-spacing:.16em; font-size:.72rem; font-weight:900; }
.csl-eyebrow { color:rgba(255,255,255,.72); }
.csl-kicker { color:var(--csl-bronze); }
.csl-intro h1 { margin:.65rem 0 1rem; max-width:11ch; font-family:Georgia,"Times New Roman",serif; font-size:clamp(3.2rem,6vw,6.5rem); line-height:.93; letter-spacing:-.035em; text-wrap:balance; }
.csl-intro p { max-width:650px; margin:0; font-size:clamp(1.05rem,1.7vw,1.3rem); line-height:1.65; color:rgba(255,255,255,.78); }
.csl-trust-row { display:flex; flex-wrap:wrap; gap:.65rem 1.1rem; margin-top:1.5rem; font-size:.82rem; font-weight:800; color:rgba(255,255,255,.82); }
.csl-trust-row span:first-child { display:inline-flex; align-items:center; gap:.45rem; }
.csl-trust-row i { width:8px; height:8px; border-radius:50%; background:#66d98e; box-shadow:0 0 0 5px rgba(102,217,142,.14); }
.csl-card-wrap { width:100%; }
.csl-card { color:var(--csl-ink); background:rgba(255,255,255,.97); border:1px solid rgba(255,255,255,.65); border-radius:1.4rem; padding:clamp(1.5rem,3vw,2.35rem); box-shadow:0 30px 80px rgba(0,0,0,.28); backdrop-filter:blur(18px); }
.csl-logo { display:inline-flex; align-items:center; margin-bottom:1.6rem; }
.csl-logo img { display:block; width:min(100%,310px); max-height:104px; object-fit:contain; object-position:left center; }
.csl-heading h2,.csl-signed-in h2 { margin:.22rem 0 .35rem; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2rem,4vw,2.7rem); line-height:1; }
.csl-heading p,.csl-signed-in p { margin:0 0 1.3rem; color:var(--csl-muted); }
#conway-staff-login-form { margin-top:1.2rem; }
#conway-staff-login-form p { margin:0 0 1rem; }
#conway-staff-login-form label { display:block; margin-bottom:.42rem; font-size:.78rem; font-weight:900; color:#344038; }
#conway-staff-login-form input[type="text"],#conway-staff-login-form input[type="password"] { width:100%; min-height:52px; border:1px solid var(--csl-border); border-radius:.78rem; background:#fff; padding:0 .85rem; font:inherit; color:var(--csl-ink); outline:none; transition:border-color .2s ease,box-shadow .2s ease; }
#conway-staff-login-form input[type="text"]:focus,#conway-staff-login-form input[type="password"]:focus { border-color:var(--csl-green); box-shadow:0 0 0 4px rgba(33,87,49,.12); }
#conway-staff-login-form .login-remember label { display:inline-flex; align-items:center; gap:.5rem; font-weight:700; }
#conway-staff-login-form .button-primary,.csl-primary-link { width:100%; min-height:52px; display:inline-flex; align-items:center; justify-content:center; border:0; border-radius:.8rem; background:linear-gradient(135deg,var(--csl-green-dark),var(--csl-green)); color:#fff; font:inherit; font-weight:900; text-decoration:none; cursor:pointer; box-shadow:0 10px 24px rgba(33,87,49,.18); }
.csl-secondary-link { margin-top:.7rem; width:100%; min-height:46px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--csl-border); border-radius:.75rem; color:var(--csl-green); text-decoration:none; font-weight:900; background:#fff; }
.csl-help { display:flex; justify-content:space-between; gap:1rem; margin-top:1rem; padding-top:1rem; border-top:1px solid var(--csl-border); font-size:.78rem; }
.csl-help a { color:var(--csl-green); font-weight:900; }
.csl-help span { color:var(--csl-muted); text-align:right; }
.csl-security-note { margin:.75rem auto 0; max-width:440px; text-align:center; color:rgba(255,255,255,.68); font-size:.72rem; line-height:1.5; }

@media (max-width:900px) {
  .csl-stage { grid-template-columns:1fr; gap:2rem; padding:2.5rem 0 3rem; }
  .csl-intro { padding-bottom:0; max-width:680px; }
  .csl-intro h1 { font-size:clamp(2.8rem,9vw,5rem); max-width:10ch; }
  .csl-card-wrap { max-width:560px; }
}

@media (max-width:600px) {
  .csl-shell { background-position:62% center; }
  .csl-topline { width:min(calc(100% - 1.25rem),1380px); min-height:54px; font-size:.64rem; }
  .csl-topline span:last-child { display:none; }
  .csl-stage { width:min(calc(100% - 1.25rem),1380px); min-height:calc(100svh - 54px); padding:1.4rem 0 2rem; align-items:start; }
  .csl-intro { padding-top:.5rem; }
  .csl-intro h1 { font-size:clamp(2.7rem,15vw,4.2rem); }
  .csl-intro p { font-size:1rem; }
  .csl-trust-row { display:none; }
  .csl-card { border-radius:1.1rem; padding:1.25rem; }
  .csl-logo img { width:min(78vw,260px); max-height:86px; }
  .csl-help { display:grid; gap:.55rem; }
  .csl-help span { text-align:left; }
}
