:root{
  --bg:#ffffff;
  --text:#111827;
  --muted:#4b5563;
  --line:rgba(17,24,39,.08);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
}
.site-main{
  min-height:calc(100vh - 80px);
}
.hero{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:40px 20px;
}
.hero-inner{
  width:min(100%, 900px);
  margin:0 auto;
  text-align:center;
}
.logo-wrap{
  margin:0 auto 34px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.logo-wrap img{
  max-width:min(520px, 80vw);
  height:auto;
  display:block;
}
.text-logo{
  display:flex;
  flex-direction:column;
  line-height:.9;
  letter-spacing:.06em;
}
.text-logo span{
  font-size:clamp(1.2rem, 2vw, 1.6rem);
  color:var(--muted);
  font-weight:600;
}
.text-logo strong{
  font-size:clamp(2.8rem, 9vw, 5.5rem);
  font-weight:800;
}
.content h1{
  margin:0 0 16px;
  font-size:clamp(1.8rem, 4vw, 2.6rem);
  font-weight:700;
}
.content p{
  margin:0 auto;
  max-width:720px;
  font-size:clamp(1rem, 1.6vw, 1.15rem);
  line-height:1.8;
  color:var(--muted);
}
.site-footer{
  border-top:1px solid var(--line);
  text-align:center;
  padding:24px 16px;
}
.site-footer p{
  margin:0;
  color:var(--muted);
  font-size:.95rem;
}
.fallback-page{
  width:min(100% - 40px, 900px);
  margin:80px auto;
  text-align:center;
}
.page-content h1{
  margin-bottom:20px;
}
.animate-float{
  animation:floatLogo 5s ease-in-out infinite;
}
.fade-up{
  animation:fadeUp 1.2s ease both;
}
.custom-logo-link{
  display:inline-block;
}
@keyframes floatLogo{
  0%{transform:translateY(0)}
  50%{transform:translateY(-10px)}
  100%{transform:translateY(0)}
}
@keyframes fadeUp{
  from{opacity:0; transform:translateY(18px)}
  to{opacity:1; transform:translateY(0)}
}
@media (prefers-reduced-motion: reduce){
  .animate-float,.fade-up{
    animation:none !important;
  }
}
