/* Homepage-only editorial rhythm. Existing banner sizes and CMS hooks stay intact. */
body.community-home {
  --editorial-gutter: max(48px, calc((100% - 1380px) / 2));
  --editorial-space: 40px;
}
.community-home .front-section-head { margin-bottom: 20px; align-items: center; }
.community-home .front-section-head h2,
.community-home .section-head h2,
.community-home .trend h2,
.community-home .video-copy h2,
.community-home .pick h2,
.community-home .popular h2,
.community-home .letter h2,
.community-home .front-partnership h2 {
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 28px; line-height: 1.4; letter-spacing: -1px;
  margin: 0 0 12px; word-break: keep-all; overflow-wrap: anywhere;
}
.community-home .front-section-head .eyebrow,
.community-home .trend>div>small,
.community-home .section-head>div>small,
.community-home .video-copy>small,
.community-home .pick>small,
.community-home .popular>small,
.community-home .letter>div>small,
.community-home .front-partnership .eyebrow { display: none; }
.community-home .front-section-head p { font-size: 14px; }
.community-home .text-link { font-size: 13px; }

/* Compact recruitment strip, including the populated-directory state. */
.community-home .local-discover { padding-top: var(--editorial-space); }
.community-home .local-invitation,
.community-home .local-invitation.has-businesses {
  display: block; min-height: 0; padding: 22px 26px; margin-top: 0;
  background: #edf0e5; border-top: 1px solid #c8d0bb;
}
.community-home .local-invitation.has-businesses { margin-top: 20px; }
.community-home .local-invitation .invitation-mark,
.community-home .local-invitation ul,
.community-home .local-invitation .eyebrow { display: none; }
.community-home .local-invitation>div:not(.invitation-mark) {
  display: grid; grid-template-columns: minmax(0,1fr) auto;
  column-gap: 24px; align-items: center;
}
.community-home .local-invitation h3 {
  grid-column: 1; font-size: 20px; line-height: 1.5; margin: 0 0 6px; word-break: keep-all;
}
.community-home .local-invitation p { grid-column: 1; font-size: 13px; margin: 0; }
.community-home .local-invitation br { display: none; }
.community-home .local-invitation .front-button {
  grid-column: 2; grid-row: 1 / 4; align-self: center; font-size: 13px;
}
.community-home .reader-paths { margin-block: 28px 36px; }
.community-home .reader-paths>a,
.community-home .reader-paths>a:first-child { padding-block: 20px; }
.community-home .reader-paths small { display: none; }
.community-home .reader-paths h2 { margin-top: 0; font-size: 17px; }
.community-home .reader-paths p { font-size: 12px; line-height: 1.6; }
.community-home .front-coupons { padding-top: var(--editorial-space); }

/* One shared alignment grid, with a single dark feature area for video. */
.community-home .trend {
  padding: 30px var(--editorial-gutter); gap: 32px;
  grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr);
  border-block: 1px solid var(--line); background: #edf0e5; color: #102d30;
}
.community-home .trend h2 { margin-top: 4px; }
.community-home .trend .text-link { color: #365b3b; margin-top: 6px; }
.community-home .trend li { padding: 13px 0; border-color: #ccd4c4; font-size: 14px; }
.community-home .trend li b { color: #617b34; }
.community-home .section-ad-slot { padding-block: 20px; background: var(--paper); }
.community-home .life {
  padding: var(--editorial-space) var(--editorial-gutter);
  background: var(--paper);
}
.community-home .section-head { align-items: center; padding-bottom: 16px; }
.community-home .section-head h2 { margin: 0; }
.community-home .tabs button { font-size: 12px; padding: 8px 13px; }
.community-home .life-grid { gap: 28px 24px; margin-top: 24px; }
html body.community-home #life-grid .card { transform: none; min-width: 0; }
html body.community-home #life-grid .card>a { display: flex; flex-direction: column; height: 100%; }
html body.community-home #life-grid .card>a>div {
  height: auto; border-radius: 0; overflow: visible; background: none;
}
html body.community-home #life-grid .card>a>div:after { display: none; }
html body.community-home #life-grid .card img {
  display: block; width: 100%; height: auto; aspect-ratio: 16 / 10;
  object-fit: cover; background: #e7eadf;
}
html body.community-home #life-grid .card small {
  display: block; position: static; margin: 12px 0 7px;
  color: #61743b; font-size: 11px; line-height: 1.4;
}
html body.community-home #life-grid .card i { display: none; }
html body.community-home #life-grid .card h3 {
  position: static; color: #102d30; font-size: 18px; line-height: 1.5;
  min-height: 3em; margin: 0; letter-spacing: -.5px;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
html body.community-home #life-grid .card>a>p {
  font-size: 13px; line-height: 1.7; min-height: 3.4em; margin: 9px 0 12px;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
html body.community-home #life-grid .card footer {
  margin-top: auto; padding-top: 10px; border-top: 1px solid var(--line);
  font-size: 11px; color: #65716d;
}
.community-home .video {
  padding: 36px var(--editorial-gutter); gap: 26px;
  grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr) minmax(0,.6fr);
}
.community-home .video:has(#shorts:empty) { grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); }
.community-home .video #shorts:empty { display: none; }
.community-home .video-main { height: 340px; }
.community-home .video-copy h2 { color: #fff; }
.community-home .video-main h3 { font-size: 21px; line-height: 1.5; }
.community-home .reading { max-width: none; padding: 0 var(--editorial-gutter); gap: 30px; }
.community-home .pick,
.community-home .popular { padding: var(--editorial-space) 0; background: var(--paper); }
.community-home .popular { padding-left: 30px; border-left: 1px solid var(--line); }
.community-home .pick img { height: 220px; }
.community-home .pick h3 { font-size: 20px; line-height: 1.6; }
.community-home .popular li { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 7px 12px; padding: 14px 0; font-size: 14px; }
.community-home .popular li b { grid-column: 1; grid-row: 1 / 3; }
.community-home .popular li a { grid-column: 2; min-width: 0; }
.community-home .popular li small { grid-column: 2; font-size: 11px; }
.community-home .popular .ad { margin-top: 18px; padding: 22px; }
.community-home .popular .ad b { font-size: 20px; }
.community-home .letter {
  padding: 32px var(--editorial-gutter); gap: 30px;
  background: #e7edcf; border-block: 1px solid #cdd6af;
}
.community-home .letter p { font-size: 13px; line-height: 1.8; margin-bottom: 0; }
.community-home .letter form { min-width: 0; }
.community-home .letter .privacy-check { display: flex; flex-direction: row; align-items: flex-start; gap: 8px; }
.community-home .letter .privacy-check input { width: 16px; height: 16px; margin: 3px 0 0; }
.community-home .front-partnership { padding-block: 32px; }
.community-home .front-partnership h2 { font-size: 24px; }
.community-home .front-partnership p { font-size: 13px; margin-bottom: 0; }
html body.community-home>footer { padding-block: 36px; }
html body.community-home>footer a:not(.logo) { font-size: 12px; line-height: 1.8; }

@media(max-width:1150px) {
  body.community-home { --editorial-gutter: 28px; }
  .community-home .life-grid { gap: 24px 18px; }
}
@media(max-width:800px) {
  /* Mobile headline: title only, at 80% of the previous responsive height. */
  html body.community-home .opening .hero { height: clamp(280px,40svh,344px); min-height: 0; }
  .community-home .opening .hero-copy>small,
  .community-home .opening .hero-copy>p,
  .community-home .opening .hero-copy>footer { display: none; }
  .community-home .opening .hero-copy h1 { margin-bottom: 0; }
  body.community-home { --editorial-gutter: 18px; --editorial-space: 28px; }
  .community-home .front-section-head { margin-bottom: 16px; align-items: flex-start; }
  .community-home .front-section-head h2,
  .community-home .section-head h2,
  .community-home .trend h2,
  .community-home .video-copy h2,
  .community-home .pick h2,
  .community-home .popular h2,
  .community-home .letter h2 { font-size: 24px; letter-spacing: -.8px; }
  .community-home .front-section-head p { font-size: 13px; }
  .community-home .front-section-head .text-link { font-size: 12px; padding-top: 5px; }
  .community-home .feed-grid { grid-template-columns: 1fr; }
  .community-home .feed-grid .card>a>div {
    display: grid; grid-template-columns: 105px minmax(0,1fr);
    grid-template-rows: auto 1fr; column-gap: 13px; row-gap: 5px; height: 90px;
  }
  .community-home .feed-grid .card img { grid-area: 1 / 1 / 3 / 2; width: 105px; height: 90px; }
  .community-home .feed-grid .card small { grid-area: 1 / 2; font-size: 11px; }
  .community-home .feed-grid .card h3 { grid-area: 2 / 2; font-size: 14px; line-height: 1.5; min-height: 0; -webkit-line-clamp: 3; }
  .community-home .local-invitation,
  .community-home .local-invitation.has-businesses { padding: 18px; }
  .community-home .local-invitation>div:not(.invitation-mark) { display: block; }
  .community-home .local-invitation h3 { font-size: 18px; }
  .community-home .local-invitation p { font-size: 13px; }
  .community-home .local-invitation .front-button { margin-top: 14px; padding: 12px 16px; }
  .community-home .reader-paths { margin-block: 22px 28px; }
  .community-home .reader-paths>a,
  .community-home .reader-paths>a:first-child { padding-block: 16px; }
  .community-home .reader-paths h2 { font-size: 16px; margin: 0 28px 5px 0; }
  .community-home .reader-paths p { font-size: 12px; }
  .community-home .path-icon { top: 16px; }
  .community-home .trend { padding-block: 24px; }
  .community-home .trend ol { margin-top: 18px; }
  .community-home .trend li { font-size: 14px; padding: 12px 0; }
  .community-home .section-ad-slot { padding-block: 16px; }
  .community-home .section-head { display: block; padding-bottom: 15px; }
  .community-home .tabs { margin-top: 14px; gap: 6px; }
  .community-home .tabs button { font-size: 12px; padding: 8px 12px; }
  .community-home .life-grid { margin-top: 20px; gap: 24px 14px; }
  html body.community-home #life-grid .card small { font-size: 11px; margin-top: 9px; }
  html body.community-home #life-grid .card h3 { font-size: 15px; line-height: 1.5; -webkit-line-clamp: 3; min-height: 4.5em; }
  html body.community-home #life-grid .card>a>p { display: none; }
  html body.community-home #life-grid .card footer { margin-top: 12px; padding-top: 8px; gap: 5px; font-size: 11px; }
  .community-home .video { padding-block: 28px; }
  .community-home .video-main { margin-top: 18px; height: 280px; }
  .community-home .video-main h3 { font-size: 18px; }
  .community-home .video .shorts { margin-top: 14px; }
  .community-home .reading { padding-inline: 18px; }
  .community-home .pick,.community-home .popular { padding: 28px 0; }
  .community-home .popular { border-left: 0; border-top: 1px solid var(--line); }
  .community-home .pick img { height: 190px; }
  .community-home .pick h3 { font-size: 18px; }
  .community-home .popular li { font-size: 14px; }
  .community-home .letter { padding-block: 28px; }
  .community-home .letter form { margin-top: 22px; }
  .community-home .letter label { font-size: 13px; }
  .community-home .letter .privacy-check { display: flex; flex-direction: row; font-size: 12px; line-height: 1.7; }
  .community-home .front-partnership { padding-block: 28px; }
  .community-home .front-partnership h2 { font-size: 22px; }
  html body.community-home>footer { padding-block: 30px; gap: 24px; }
}
