/* KIOS cathedral-window authentication: one visual language, isolated secure endpoints. */
html:has(.kios-login),body:has(.kios-login){
  margin:0!important;min-width:0;background:#f5efe5!important;color:#183d2c!important;
  display:block!important;min-height:100%;height:auto;
}
body:has(.kios-login)>main{
  width:100%!important;max-width:none!important;min-height:100vh!important;
  padding:0!important;margin:0!important;background:none!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  display:block!important;
}
.kios-login,.kios-login *{box-sizing:border-box}
.kios-login{display:grid;grid-template-columns:minmax(0,56fr) minmax(0,44fr);min-height:100vh;
  width:100%;background:linear-gradient(125deg,#efe6d6,#faf7f0 64%);color:#173d2b;
  font:15px/1.5 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
.kios-login a{color:inherit}
.kios-login-visual{
  position:relative;min-height:100vh;overflow:hidden;display:flex;align-items:end;
  padding:clamp(28px,5.4vw,95px);
  background-image:linear-gradient(0deg,rgba(16,25,17,.70) 0%,rgba(16,30,22,.28) 48%,rgba(10,28,18,.08) 80%),
    url('/kios-cathedral-login.jpg');
  background-size:cover;background-position:center 44%;background-repeat:no-repeat;
}
.kios-login-visual:after{
  content:"";position:absolute;right:0;top:0;bottom:0;width:1px;
  background:linear-gradient(transparent,#d7b776 45%,transparent);pointer-events:none;
}
.kios-login-brand{
  position:absolute;top:0;left:clamp(25px,4.3vw,75px);width:clamp(112px,10vw,158px);
  min-height:clamp(146px,15vw,208px);padding:clamp(19px,2.4vw,34px) 17px 53px;
  background:linear-gradient(155deg,#0b3625,#133c2d);color:#dcc18b!important;
  border:2px solid #bd975f;outline:2px solid rgba(227,193,124,.36);
  outline-offset:-9px;box-shadow:0 12px 30px #05180e66;
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;
  text-decoration:none!important;letter-spacing:.13em;font:normal clamp(23px,2.5vw,35px) Georgia,serif;
  clip-path:polygon(0 0,100% 0,100% 85%,50% 100%,0 85%);
  z-index:2;
}
.kios-login-brand img{width:42px;height:42px;object-fit:contain;filter:sepia(1) saturate(1) brightness(1.35)}
.kios-login-visual-copy{width:min(100%,640px);color:#fff9ec;text-shadow:0 2px 17px #142217c9;position:relative;z-index:1;
  margin-bottom:clamp(12px,5vh,50px)}
.kios-login-visual-copy h2{
  font:normal clamp(34px,3.9vw,67px)/1.08 Georgia,'Times New Roman',serif!important;
  color:#fff9ec!important;letter-spacing:-.026em;margin:0 0 28px!important;
}
.kios-login-visual-copy h2 em{font-style:normal;color:#fff9ec}
.kios-hero-brass-line{width:84px;height:2px;background:#dfb864;box-shadow:0 1px 5px #1e220d55;margin-bottom:24px}
.kios-login-visual-copy p{
  font:italic clamp(16px,1.45vw,22px)/1.48 Georgia,'Times New Roman',serif!important;
  color:#f8efe0!important;max-width:550px;margin:0!important;letter-spacing:.003em;
}
.kios-login-right{min-width:0;display:flex;justify-content:center;align-items:center;
  padding:clamp(22px,3.5vw,60px) clamp(20px,3.6vw,65px)}
.kios-login-panel{
  width:min(100%,630px);margin:auto;padding:clamp(27px,3.4vw,57px) clamp(26px,3.5vw,60px);
  background:rgba(255,253,248,.91);border:1px solid #e4d7c0;border-radius:25px;
  box-shadow:0 20px 54px rgba(71,53,30,.10);color:#183d2b;
}
.kios-panel-brand{
  display:flex;align-items:center;justify-content:center;gap:15px;
  font:normal clamp(32px,3vw,43px) Georgia,serif;letter-spacing:.11em;
  color:#183d2b!important;text-decoration:none!important;margin:0 0 clamp(21px,3vw,43px);
}
.kios-panel-brand img{height:42px;width:42px;object-fit:contain}
.kios-auth-navigation{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;
  border:1px solid #cfc1aa;border-radius:13px;overflow:hidden;
  background:#f4eee4;margin:0 0 clamp(26px,3.2vw,46px);
}
.kios-auth-choice{display:flex;min-width:0;align-items:center;justify-content:center;
  border-right:1px solid #d8cbb8;padding:15px 5px;text-align:center;
  color:#334c3b!important;background:transparent;text-decoration:none!important;
  font:normal clamp(11px,1.1vw,14px)/1.25 Georgia,serif;
  transition:background-color .15s ease,color .15s ease}
.kios-auth-choice:last-child{border-right:0}
.kios-auth-choice:hover{background:#e9dfcf}
.kios-auth-choice[aria-current="page"]{background:#123e2b;color:#fffaf1!important;
  box-shadow:inset 0 0 0 1px #caa66d}
.kios-login-eyebrow{color:#a1875e;display:block;text-transform:uppercase;
  letter-spacing:.16em;font:600 10px/1.5 Arial,sans-serif;margin-bottom:12px}
.kios-login-panel h1{font:normal clamp(33px,3.15vw,49px)/1.08 Georgia,serif!important;
  color:#1b422e!important;letter-spacing:-.025em;margin:0 0 14px!important}
.kios-login-panel .kios-login-description{
  font:normal clamp(14px,1.2vw,17px)/1.5 Georgia,serif;color:#625c50;
  margin:0 0 23px!important;max-width:500px
}
.kios-auth-divider{height:2px;width:90px;background:#b48c50;margin:24px 0 26px}
.kios-login-panel form{margin:0;padding:0}
.kios-login-panel form label{display:block;color:#38473a;font:600 12px/1.4 Arial,sans-serif;
  margin:14px 0 8px}
.kios-auth-input-wrap{display:flex;align-items:center;background:#fffdfa;
  border:1px solid #d5c9b7;border-radius:11px;overflow:hidden;min-height:52px;
  transition:border-color .15s ease,box-shadow .15s ease}
.kios-auth-input-wrap:focus-within{border-color:#9d7a44;box-shadow:0 0 0 3px #c6a67830}
.kios-input-symbol{width:49px;display:inline-flex;flex:0 0 49px;justify-content:center;
  align-items:center;color:#49644e;font-size:18px}
.kios-auth-input-wrap input:not([type='hidden']){
  appearance:none;-webkit-appearance:none;flex:1;min-width:0;
  border:none!important;box-shadow:none!important;background:transparent!important;
  font:normal 16px/1.4 Arial,Helvetica,sans-serif;color:#1e3b2b!important;
  outline:0!important;margin:0!important;padding:14px 10px!important;
  width:100%!important;min-height:51px}
.kios-auth-input-wrap input::placeholder{color:#858375;opacity:1}
.kios-password-toggle{display:inline-flex;align-items:center;justify-content:center;
  width:auto!important;min-width:53px;min-height:45px;background:transparent!important;
  color:#42634b!important;border:0!important;box-shadow:none!important;
  padding:8px!important;margin:0 5px 0 0!important;border-radius:7px;
  font:600 12px Arial,sans-serif;cursor:pointer}
.kios-password-toggle:hover{background:#f1e8d8!important}
.kios-login-submit{
  display:flex;justify-content:center;align-items:center;gap:15px;
  background:linear-gradient(180deg,#195438,#123e2c)!important;color:#fff9ed!important;
  border:2px solid #c39e5c!important;border-radius:12px!important;
  width:100%!important;min-height:55px!important;padding:13px 20px!important;
  margin:28px 0 0!important;box-shadow:0 7px 16px #11392725;
  font:normal 23px Georgia,serif!important;cursor:pointer;text-decoration:none!important;
  transition:filter .16s ease,transform .16s ease
}
.kios-login-submit:hover{filter:brightness(1.08)}
.kios-login-submit span{font:26px Georgia,serif}
.kios-login-panel .kios-login-support{
  font:13px/1.45 Arial,sans-serif;color:#756b5b;text-align:center;margin:22px 0 0!important
}
.kios-login-support a{color:#25583b!important;text-decoration:underline;text-underline-offset:3px}
.kios-auth-footnote{display:flex;justify-content:center;align-items:center;gap:12px;
  padding:19px 0 0;margin-top:32px;border-top:1px solid #e8ddca;color:#7b7467;
  font:12px/1.5 Georgia,serif}
.kios-auth-shield{font-size:22px;color:#b28d50}
.kios-login-error{color:#782e27!important;background:#fff0eb;border:1px solid #d2a79e;
  padding:12px 14px;border-radius:10px;font:14px/1.5 Arial,sans-serif;margin:0 0 15px!important}
.kios-registration-note{border:1px solid #ded0b6;border-left:3px solid #ac874d;border-radius:12px;
  padding:22px;background:#fbf6ec;color:#38533e}
.kios-registration-note strong{font:normal 22px/1.25 Georgia,serif}
.kios-registration-note p{font:14px/1.6 Arial,sans-serif;color:#70685b;margin:12px 0 0}
.kios-auth-link-submit{text-align:center}
.kios-login a:focus-visible,.kios-login button:focus-visible{
  outline:3px solid #bc9455!important;outline-offset:3px!important}
@media(max-width:1030px){
  .kios-login{grid-template-columns:minmax(0,50fr) minmax(0,50fr)}
  .kios-login-panel{padding:31px 27px}
  .kios-login-visual{padding:35px}
  .kios-login-brand{left:35px}
}
@media(max-width:800px){
  .kios-login{grid-template-columns:1fr}
  .kios-login-visual{min-height:320px;padding:95px 30px 28px;background-position:center 38%}
  .kios-login-visual-copy{margin:0}
  .kios-login-visual-copy h2{font-size:clamp(31px,5.2vw,43px)!important;margin:0 0 14px!important}
  .kios-hero-brass-line{margin-bottom:12px}
  .kios-login-visual-copy p{font-size:15px!important}
  .kios-login-brand{left:22px;width:95px;min-height:110px;padding:15px 13px 22px;font-size:20px;gap:4px}
  .kios-login-brand img{width:26px;height:26px}
  .kios-login-right{padding:24px 18px 44px}
  .kios-login-panel{width:min(100%,580px);margin:auto;padding:30px}
}
@media(max-width:430px){
  .kios-login-visual{min-height:295px;padding:112px 22px 22px}
  .kios-login-visual-copy h2{font-size:31px!important}
  .kios-login-visual-copy p{font-size:13px!important}
  .kios-login-panel{padding:27px 19px;border-radius:16px}
  .kios-panel-brand{margin-bottom:23px;font-size:30px}
  .kios-panel-brand img{width:31px;height:31px}
  .kios-auth-navigation{margin-bottom:25px}
  .kios-auth-choice{padding:13px 3px;font-size:11px}
  .kios-login-panel h1{font-size:35px!important}
  .kios-login-panel .kios-login-description{font-size:14px}
  .kios-auth-divider{margin:17px 0 23px}
}
@media(prefers-reduced-motion:reduce){.kios-auth-choice,.kios-auth-input-wrap,.kios-login-submit{transition:none}}

.kios-login-panel .kios-login-platforms{font:11px/1.55 Arial,sans-serif;text-align:center;
  color:#817561;margin:19px 0 0;letter-spacing:.005em}
