/* ============================================================
   Core — public home / landing page
   ============================================================ */
body.home{
  margin:0;
  background:var(--surface);
}
.home__shell{
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
.home__grid{
  flex:1;
  display:grid;
  grid-template-columns:1fr 1fr;
}

/* ---- left: brand panel (cover photo background) ---- */
.home__left{
  position:relative;
  background-color:#1C2620;
  display:flex;
  flex-direction:column;
  padding:48px 54px;
  overflow:hidden;
}
.home__left::after{
  content:"";
  position:absolute;
  inset:-16px;
  background-image:var(--cover);
  background-size:cover;
  background-position:center;
  filter:blur(2px);
  transform:scale(1.02);
  z-index:0;
}
.home__left::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(10,16,13,.45),rgba(10,16,13,.72));
  z-index:1;
}
.home__left-inner{
  position:relative;
  z-index:2;
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.home__logo{
  font-family:'Bricolage Grotesque',sans-serif;
  font-weight:700;
  font-size:clamp(130px,11vw,170px);
  letter-spacing:-.03em;
  line-height:1;
  color:#fff;
}
.home__tagline{
  max-width:420px;
  margin:20px 0 0;
  font-size:27.5px;
  font-weight:500;
  line-height:1.4;
  color:rgba(255,255,255,.88);
}
.home__credit-row{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:18px;
}
.home__credit{
  font-size:15px;
  color:rgba(255,255,255,.6);
}
.home__partner{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:none;
  background:rgba(255,255,255,.1);
  color:rgba(255,255,255,.85);
  font-family:inherit;
  font-size:14.5px;
  font-weight:500;
  padding:5px 12px 5px 5px;
  border-radius:20px;
  transition:background-color .12s,color .12s;
}
.home__partner:hover{
  background:rgba(255,255,255,.2);
  color:#fff;
}
.home__partner-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.14);
  color:#fff;
  width:27.5px;
  height:27.5px;
  border-radius:50%;
  flex:0 0 auto;
}
.home__partner-icon svg{
  width:14px;
  height:14px;
}

/* ---- right: how it works / sign in ---- */
.home__right{
  background:var(--surface);
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:32px 54px 48px;
}
.home__how{
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  max-width:460px;
}
.home__how[hidden],.home__login[hidden]{display:none}
.home__how-h{
  font-family:'Bricolage Grotesque',sans-serif;
  font-weight:600;
  font-size:14.5px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--ink-3);
  margin:0 0 26px;
}
.home__steps{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:26px;
}
.home__steps li{
  display:flex;
  align-items:flex-start;
  gap:16px;
}
.home__steps li strong{
  display:block;
  font-size:19px;
  font-weight:600;
  color:var(--ink);
}
.home__steps li p{
  margin:4px 0 0;
  font-size:15.5px;
  line-height:1.5;
  color:var(--ink-2);
}
.home__stepnum{
  flex:0 0 auto;
  width:46px;
  height:46px;
  border-radius:12px;
  background:var(--surface);
  border:1.5px dashed var(--line-strong);
  color:var(--accent);
  font-size:17px;
  font-weight:700;
  display:grid;
  place-items:center;
}

/* ---- right: inline sign-in form ---- */
.home__login{
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  max-width:360px;
}
.home__login .home__how-h{margin-bottom:8px}
.home__login-sub{
  font-size:16px;
  line-height:1.5;
  color:var(--ink-2);
  margin:0 0 28px;
  max-width:300px;
}
.home__login-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:22px;
}
.home__login-submit{
  display:inline-flex;
  align-items:center;
  gap:9px;
  border:none;
  background:var(--accent);
  color:#fff;
  font-weight:600;
  font-size:16.5px;
  padding:11px 18px;
  border-radius:10px;
  transition:filter .12s,transform .08s;
}
.home__login-submit:hover{filter:brightness(1.07)}
.home__login-submit:active{transform:translateY(1px)}
.home__login-submit svg{width:17px;height:17px;transition:transform .12s}
.home__login-submit:hover svg{transform:translateX(3px)}

@media (max-width:820px){
  .home__grid{grid-template-columns:1fr}
  .home__left{padding:40px 32px}
  .home__right{padding:24px 32px 40px}
  .home__left-inner{flex:none;padding:24px 0}
  .home__how{flex:none;padding:24px 0}
  .home__login{flex:none;padding:24px 0;max-width:none}
  .home__credit-row{flex-wrap:wrap;gap:10px}
}
