/* Instant Placements — dedicated sign-in / registration experience.
   This page contains only public demo navigation until secure auth is connected. */
.ip-login-page {
  --ip-login-deep:#003d32;
  --ip-login-forest:#005840;
  --ip-login-green:#008564;
  --ip-login-accent:#00b889;
  --ip-login-ink:#093b3b;
  min-height:100svh;
  display:flex;
  flex-direction:column;
  background:#f4faf6;
  color:var(--ip-login-ink);
}
.ip-login-page button { cursor:pointer; }
.ip-login-page button:disabled, .ip-login-page input:disabled { cursor:not-allowed; }
.ip-login-page button:focus-visible { outline:3px solid #02ad81; outline-offset:4px; }
.ip-login-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  min-height:96px;
  padding:16px clamp(22px,4vw,75px);
  background:#fffdfa;
  border-bottom:1px solid #e3eee6;
  box-shadow:0 2px 15px #093d2510;
  position:relative;
  z-index:4;
}
.ip-login-header .rd-brand.ip-brand { width:232px; height:60px; padding:0; gap:10px; }
.ip-login-header .ip-brand-symbol { width:52px; height:48px; }
.ip-login-header .ip-brand-wordmark { width:167px; height:56px; }
.ip-login-header nav { display:flex; align-items:center; gap:22px; }
.ip-login-header nav button { display:inline-flex; align-items:center; gap:8px; color:#305e55; font-size:13px; font-weight:680; min-height:42px; }
.ip-login-header nav button:first-child .rd-icon { width:18px; height:18px; transform:rotate(180deg); }
.ip-login-header nav button:hover { color:#008561; }
.ip-login-main {
  flex:1;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);
  gap:0;
  max-width:1780px;
  width:min(100%,1780px);
  margin:auto;
  padding:clamp(20px,3.2vw,58px);
  align-items:stretch;
}
.ip-login-visual {
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:690px;
  padding:clamp(34px,4.3vw,72px);
  border-radius:28px 0 0 28px;
  background:linear-gradient(140deg,#005f49,#003a2d);
  color:#fff;
  overflow:hidden;
  box-shadow:0 24px 60px #03593c17;
}
.ip-login-visual .ip-login-photograph {
  position:absolute; inset:0;
  display:block; width:100%; height:100%; z-index:-2;
}
.ip-login-visual .ip-login-photograph img{
  display:block;width:100%;height:100%;object-fit:cover;object-position:center;
  filter:saturate(.83);
}
.ip-login-visual-shade{
  position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(0deg,rgba(0,37,29,.98) 0%,rgba(0,58,44,.90) 37%,rgba(0,58,44,.24) 91%),
             linear-gradient(90deg,rgba(0,77,56,.45),transparent 70%);
}
.ip-login-visual-content { position:relative; max-width:690px; }
.ip-login-kicker {
  display:inline-flex;align-items:center;gap:9px;
  color:#d8fff0;border:1px solid #b0ead65a;background:#005a4677;
  border-radius:999px;padding:9px 13px;
  font-size:10px;font-weight:790;letter-spacing:.08em;
  backdrop-filter:blur(8px);
}
.ip-login-kicker i { width:8px;height:8px;background:#16e3a8;box-shadow:0 0 0 4px #00c18b2e;border-radius:50%; }
.ip-login-visual h2 { color:#fff;font-size:clamp(44px,3.9vw,70px);font-weight:790;letter-spacing:-.055em;line-height:1.08;margin:27px 0 18px; }
.ip-login-visual h2 em { font-style:normal;color:#91f6c9; }
.ip-login-visual p { color:#d3f2e4;max-width:45ch;font-size:clamp(15px,1.15vw,19px);line-height:1.65;margin:0; }
.ip-login-visual-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.ip-login-visual-points>span{display:inline-flex;align-items:center;gap:8px;padding:11px 13px;border:1px solid #a4dbc43d;background:#003d33ab;border-radius:11px;font-size:12px;color:#e8fff5}
.ip-login-visual-points .rd-icon{width:18px;height:18px;color:#b4f6d4}
.ip-login-visual-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:65px;padding-top:19px;border-top:1px solid #c9eed82c;color:#b5dbca;font-size:10px;font-weight:650;letter-spacing:.09em}
.ip-login-card {
  display:flex;flex-direction:column;justify-content:space-between;
  min-width:0;padding:clamp(35px,4vw,72px) clamp(28px,4.4vw,78px) 24px;
  background:#fff;border:1px solid #e1ede6;border-left:0;
  border-radius:0 28px 28px 0;box-shadow:0 24px 60px #03593c12;
}
.ip-login-card-inner{width:100%;max-width:515px;margin:auto;}
.ip-login-overline{display:block;color:#068a65;font-size:10px;font-weight:800;letter-spacing:.14em;margin-bottom:12px}
.ip-login-card-heading h1{font-size:clamp(36px,2.6vw,51px);line-height:1.08;letter-spacing:-.05em;color:#063b3b;margin:0 0 14px;font-weight:780}
.ip-login-card-heading>p{font-size:14px;color:#71878a;line-height:1.65;margin:0 0 25px;max-width:51ch}
.ip-login-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;background:#f1f7f4;border:1px solid #e3eee8;border-radius:14px;margin-bottom:22px}
.ip-login-tabs button{min-height:47px;border-radius:10px;font-size:13px;font-weight:730;color:#708584}
.ip-login-tabs button.active,.ip-login-tabs button[aria-selected="true"]{color:#005b43;background:#fff;box-shadow:0 2px 9px #005d3a14}
.ip-login-tabs button:hover{color:#006c50}
.ip-login-fields{display:grid;gap:13px}
.ip-login-label{display:grid;gap:8px;font-size:12px;font-weight:720;color:#254c48}
.ip-login-input-wrap{display:flex;align-items:center;gap:10px;min-height:49px;padding:0 13px;border:1px solid #e0ebe5;border-radius:12px;background:#fafcfb;color:#8ca9a1}
.ip-login-input-wrap .rd-icon{width:18px;height:18px}
.ip-login-input-wrap input{min-width:0;width:100%;height:46px;background:transparent;border:0!important;outline:0;box-shadow:none!important;font-size:13px;font-weight:470;color:#647d77}
.ip-login-input-wrap input::placeholder{color:#9faeaa}
.ip-login-credentials-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#7e9790;font-size:10px}
.ip-login-credentials-actions>span{display:flex;align-items:center;gap:6px}
.ip-login-credentials-actions .rd-icon{width:14px;height:14px}
.ip-login-credentials-actions button{color:#7a9690;font-size:10px}
.ip-login-submit{min-height:50px;border-radius:12px;padding:10px 14px;display:flex;align-items:center;justify-content:center;gap:10px;background:#e8f2eb;color:#719b8a;font-size:13px;font-weight:740}
.ip-login-submit .rd-icon{width:18px;height:18px}
.ip-login-unavailable{margin:-1px 0 0;font-size:11px;color:#80958e;line-height:1.55}
.ip-login-divider{display:flex;align-items:center;gap:12px;margin:23px 0 20px;color:#95a8a1;font-size:10px;font-weight:800;letter-spacing:.08em;white-space:nowrap}
.ip-login-divider:before,.ip-login-divider:after{content:"";height:1px;background:#e1ebe5;flex:1}
.ip-login-demo>p:first-child{font-size:13px;color:#17473d;font-weight:760;margin:0 0 10px}
.ip-login-demo-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ip-login-demo-options>button{display:flex;align-items:center;gap:10px;min-width:0;min-height:85px;padding:12px;border:1px solid #cce6d8;border-radius:13px;color:#004f3d;text-align:left;transition:transform .18s,box-shadow .18s,background .18s}
.ip-login-demo-options>button:hover{transform:translateY(-2px);box-shadow:0 7px 20px #005d3e1b}
.ip-login-demo-options .ip-login-role-icon{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:12px;background:#c9f4df}
.ip-login-demo-options .ip-login-role-icon .rd-icon{width:20px;height:20px}
.ip-login-demo-student{background:linear-gradient(135deg,#e7f8ee,#d9f5e8);border-color:#b9e5cf!important}
.ip-login-demo-landlord{background:#f9fcfa}
.ip-login-demo-landlord .ip-login-role-icon{background:#eaf1ec}
.ip-login-demo-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px}
.ip-login-demo-copy b{font-size:13px;line-height:1.2}
.ip-login-demo-copy small{font-size:10px;line-height:1.4;color:#66897d}
.ip-login-demo-options>button>.rd-icon:last-child{width:17px;height:17px;flex:none}
.ip-login-demo-disclaimer{display:flex;align-items:flex-start;gap:7px;margin:12px 0 0!important;color:#8a9e99;font-size:10px!important;line-height:1.55!important;font-weight:450}
.ip-login-demo-disclaimer .rd-icon{width:15px;height:15px;flex:none;margin-top:1px}
.ip-login-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:25px;padding-top:17px;border-top:1px solid #eaf1ec;font-size:10px;color:#899f97}
.ip-login-card-footer button{display:inline-flex;align-items:center;gap:5px;color:#007453;font-size:10px;font-weight:710}
.ip-login-card-footer button .rd-icon{width:15px;height:15px}
@media(max-width:1200px){
 .ip-login-main{grid-template-columns:minmax(0,.85fr) minmax(410px,1.15fr);padding:22px}
 .ip-login-card{padding:32px 32px 22px}
 .ip-login-visual{padding:35px}
 .ip-login-visual h2{font-size:clamp(36px,4vw,57px)}
}
@media(max-width:920px){
 .ip-login-header{min-height:78px;padding:12px 24px}
 .ip-login-main{grid-template-columns:1fr;max-width:700px;gap:0;padding:18px}
 .ip-login-visual{min-height:270px;border-radius:23px 23px 0 0;padding:28px 30px}
 .ip-login-visual h2{font-size:clamp(32px,6vw,44px);margin:15px 0 10px}
 .ip-login-visual p{font-size:13px;max-width:65ch}
 .ip-login-visual-points{margin-top:16px}
 .ip-login-visual-footer{display:none}
 .ip-login-card{padding:33px clamp(24px,6vw,48px) 22px;border:1px solid #e1ede6;border-top:0;border-radius:0 0 23px 23px}
 .ip-login-card-inner{max-width:560px}
}
@media(max-width:600px){
 .ip-login-header{min-height:70px;padding:9px 16px}
 .ip-login-header .rd-brand.ip-brand{width:174px;height:47px;gap:5px}
 .ip-login-header .ip-brand-symbol{width:39px;height:38px}
 .ip-login-header .ip-brand-wordmark{width:126px;height:46px}
 .ip-login-header nav{gap:11px}
 .ip-login-header nav button{font-size:11px}
 .ip-login-header nav button:nth-child(2){display:none}
 .ip-login-main{padding:10px 12px 18px}
 .ip-login-visual{min-height:185px;padding:20px 23px;border-radius:18px 18px 0 0}
 .ip-login-kicker{font-size:8px;padding:7px 9px}
 .ip-login-visual h2{font-size:30px;line-height:1.08;margin:10px 0}
 .ip-login-visual p{font-size:11px;line-height:1.5}
 .ip-login-visual-points{display:none}
 .ip-login-card{padding:25px 22px 20px;border-radius:0 0 18px 18px}
 .ip-login-card-heading h1{font-size:35px}
 .ip-login-card-heading>p{font-size:12px;margin-bottom:18px}
 .ip-login-tabs{margin-bottom:17px}
 .ip-login-demo-options{grid-template-columns:1fr}
 .ip-login-demo-options>button{min-height:66px}
 .ip-login-card-footer{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){
 .ip-login-demo-options>button{transition:none}
}
