:root{--flow-gap:24px;--flow-pad:16px;--flow-small:12px;--navy:var(--navy);--accent:var(--brand-teal-strong)}
.home-intro{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:center;gap:var(--flow-gap);padding:46px;border-radius:var(--radius);background:var(--navy);color:var(--card);overflow:hidden}
.home-intro h1{font-size:36px;line-height:1.4;letter-spacing:-1.6px;margin:0 0 var(--flow-pad);word-break:keep-all}
.home-intro h1 span{display:block}
.home-intro .intro-description{margin:0 0 var(--flow-gap);font-size:17px}
.home-intro .btn{width:auto;min-width:240px;padding-inline:var(--flow-gap);display:inline-flex;align-items:center;justify-content:center;margin:0}
.home-intro .intro-footnote{font-size:13px;line-height:1.6;margin:var(--flow-small) 0 0;color:var(--card)}
.home-intro .connection-art{position:relative;height:300px;min-width:0;isolation:isolate}
.home-intro .map-platform{position:absolute;width:92%;height:220px;left:4%;top:65px;border-radius:var(--radius);overflow:hidden;transform:perspective(700px) rotateX(47deg) rotateZ(-24deg);box-shadow:-8px 16px 0 var(--brand-dark);background:var(--brand-soft)}
.home-intro .map-platform svg{width:100%;height:100%}
.home-intro .hero-pin{position:absolute;width:78px;top:40px;left:45%;color:var(--accent)}
.home-intro .hero-pin svg{display:block;width:100%}
.home-page .nav{gap:16px}.home-page .nav-auth{display:flex;align-items:center;gap:16px}.home-page .nav-join{width:auto;padding-inline:16px}.home-page #map{height:65dvh;min-height:360px;max-height:620px}.home-page .coverage-controls{flex-wrap:wrap}
@media(max-width:700px){.home-intro{grid-template-columns:1fr;gap:0;padding:24px}.home-intro h1{font-size:28px;letter-spacing:-1px;line-height:1.4}.home-intro h1 span{display:inline}.home-intro h1 span+span:before{content:' '}.home-intro .intro-description{font-size:16px;margin-bottom:16px}.home-intro .btn{width:100%;min-width:0}.home-intro .intro-footnote{font-size:12px}.home-intro .connection-art{height:220px;margin-top:12px}.home-intro .map-platform{height:170px;top:45px}.home-intro .hero-pin{width:60px;top:24px}.home-page .nav{padding-inline:16px;flex-wrap:wrap;height:auto;min-height:65px}.home-page .nav-auth{gap:12px}.home-page .nav-join{padding-inline:12px}.home-page #map{max-height:none}}

/* B1 홈: 지도 + 버튼 2개. 390px 에서 스크롤 없이 두 버튼이 보여야 한다. */
.home-simple{display:flex;flex-direction:column;gap:var(--space-4,16px)}
.home-primary-actions{display:grid;gap:12px;width:100%;max-width:560px;margin-inline:auto}
.home-primary-actions .btn{display:flex;align-items:center;justify-content:center;width:100%;
  min-height:56px;box-sizing:border-box;padding:12px 20px;border-radius:14px;
  font-size:17px;font-weight:700;line-height:1.4;text-decoration:none;white-space:normal;word-break:keep-all}
/* 주황은 화면당 하나. 글자는 --brand-ink(흰 글자 금지). */
.home-primary-actions .home-action-primary{background:var(--brand-orange);border:1px solid var(--brand-orange);color:var(--brand-ink)}
.home-primary-actions .home-action-secondary{background:var(--card);border:1px solid var(--brand-ink);color:var(--brand-ink)}
.home-primary-actions .btn:focus-visible{outline:3px solid var(--brand-ink);outline-offset:3px}
/* 홈에서는 지도 주변 여백을 줄여 버튼을 첫 화면 안에 들인다. */
.home-simple .home-map-section{margin:0}
.home-simple .home-map-heading{margin-bottom:8px}
@media(max-width:480px){
  .home-simple{gap:12px}
  /* 하단 탭에 가리지 않도록 지도 높이를 줄여 버튼을 띄운다. */
  .home-simple #homeMap{height:240px}
  .home-simple .home-map-caption,.home-simple .home-location-status{display:none}
  .home-simple .home-map-heading .eyebrow{display:none}
  .home-simple .map-gesture-help{display:none}
  .home-primary-actions .btn{min-height:52px;font-size:16px}
}

/* 홈 버튼 바로 위 한 줄. 배지·상자·아이콘 없이 문장만 둔다. */
.home-free-note{margin:0 0 4px;font-size:16px;line-height:1.25;color:var(--text);text-align:center;word-break:keep-all}
.home-free-note strong{font-weight:800;color:var(--brand-teal-strong)}
