/* Homepage hierarchy refinements — single explicit logo system */

.sns-logo-link{
  display:block;
  width:164px;
  height:92px;
  flex:0 0 164px;
  filter:drop-shadow(0 8px 24px rgba(0,0,0,.28));
}

.sns-logo-link img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:left center;
}

.sns-header.is-scrolled .sns-logo-link{
  width:128px;
  height:70px;
  flex-basis:128px;
}

.sns-hero-inner{
  justify-content:center;
  padding-top:168px;
  padding-bottom:96px;
}

.sns-hero-copy{
  max-width:700px;
}

/* The header owns the brand mark; keep the hero editorial and uncluttered. */
.sns-hero-mark{
  display:none!important;
}

.sns-hero h1{
  max-width:700px;
  font-size:clamp(64px,6.8vw,108px);
  line-height:.89;
  letter-spacing:-.036em;
  text-shadow:0 10px 34px rgba(0,0,0,.28);
}

.sns-hero-lead{
  max-width:640px;
  margin-top:30px;
  font-size:clamp(16px,1.2vw,18px);
  line-height:1.78;
}

.sns-actions{margin-top:30px}

.sns-button-ghost{
  border-color:rgba(244,239,229,.38);
  background:rgba(12,23,26,.08);
  color:rgba(244,239,229,.92);
}

.sns-button-ghost:hover{
  border-color:rgba(244,239,229,.68);
  background:rgba(12,23,26,.22);
  color:#fff;
}

.sns-footer-mark{
  display:block;
  width:170px;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.25));
}

@media (max-width:820px){
  .sns-logo-link{width:136px;height:76px;flex-basis:136px}
  .sns-header.is-scrolled .sns-logo-link{width:112px;height:62px;flex-basis:112px}
  .sns-hero-inner{justify-content:flex-end;padding-top:132px;padding-bottom:68px}
  .sns-hero h1{font-size:clamp(58px,13vw,82px);line-height:.91}
  .sns-footer-mark{width:145px}
}

@media (max-width:560px){
  .sns-logo-link,.sns-header.is-scrolled .sns-logo-link{width:106px;height:60px;flex-basis:106px}
  .sns-hero-copy{max-width:100%}
  .sns-hero h1{font-size:clamp(52px,15vw,70px)}
  .sns-hero-lead{font-size:16px;line-height:1.68}
  .sns-footer-mark{width:128px}
}
