:root{
  --green-start:#008142;
  --green-end:#005d2f;
  --page-bg:#ffffff;
  --border-primary:#e6e6e6;
  --content-tertiary:#a3a3a3;
  --content-primary:#272727;
}

*{box-sizing:border-box;}

html,body{
  margin:0;
  padding:0;
  min-height:100%;
  font-family:'Poppins',sans-serif;
  background:var(--page-bg);
  color:var(--content-primary);
}

.frame{
  max-width:528px;
  min-height:100vh;
  margin:0 auto;
  background:var(--page-bg);
  padding:30px;
  display:flex;
  flex-direction:column;
  gap:24px;
}

.hero-card{
  background:linear-gradient(140deg, var(--green-start) 0%, var(--green-end) 100%);
  border-radius:16px;
  padding:32px 16px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
  text-align:center;
}

.logo-wrap{
  width:112px;
  height:112px;
  flex-shrink:0;
}

.logo-wrap img{
  width:100%;
  height:100%;
  display:block;
}

.hero-text{
  display:flex;
  flex-direction:column;
  align-items:center;
  width:100%;
  color:#ffffff;
}

.hero-title{
  margin:0;
  font-size:32px;
  font-weight:700;
  line-height:40px;
  letter-spacing:-1px;
}

.hero-subtitle{
  margin:0;
  font-size:16px;
  font-weight:400;
  line-height:24px;
}

.info-list{
  display:flex;
  flex-direction:column;
  gap:8px;
  width:100%;
}

.info-row{
  display:flex;
  align-items:center;
  gap:12px;
  border:1px solid var(--border-primary);
  border-radius:16px;
  padding:16px;
  background:#fff;
  text-decoration:none;
  color:inherit;
  transition:border-color .15s ease, box-shadow .15s ease;
}

.info-row:hover{
  border-color:var(--green-start);
  box-shadow:0 2px 8px rgba(0,0,0,0.06);
}

.info-row:focus-visible{
  outline:2px solid var(--green-start);
  outline-offset:2px;
}

.icon-wrap{
  flex:0 0 32px;
  width:32px;
  height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.icon-wrap img{
  width:32px;
  height:32px;
  object-fit:contain;
  display:block;
}

.info-text{
  display:flex;
  flex-direction:column;
  flex:1;
  min-width:0;
}

.info-label{
  font-size:14px;
  font-weight:400;
  line-height:20px;
  color:var(--content-tertiary);
  text-transform:uppercase;
}

.info-value{
  font-size:14px;
  font-weight:400;
  line-height:20px;
  color:var(--content-primary);
}

.footer-note{
  margin-top:auto;
  text-align:center;
  color:var(--content-tertiary);
  font-size:12px;
  line-height:16px;
  padding:0 10px;
}

@media (max-width:480px){
  .frame{padding:18px;}
}
