/* 격자 위 큰 장면 둘 — 틀 · 조각 자리(LANDING-GRID.md §17). 원자 · 움직임 상태는 land-grid.css, 선 · 점 규칙도 격자와 같다.
   한 장면 = 3열을 다 쓰는 칸 하나(글 1열 + 무대 2열). 섹션 아랫선은 바로 아래 기능 격자의 윗선이 맡는다 */

.land-g.land-sc { --g-rows: 2; --g-rh: 520px; }
.land-sc::before { background: var(--g-hd) 0 0 / 100% var(--g-d) no-repeat, var(--g-hl) 0 var(--g-d0) / 100% 1px no-repeat; }
.land-sc .land-g-grid::after { content: none; }
.land-sc .land-g-cell { --g-span: 3; grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); padding: 0; }
.land-sc-tx { padding: var(--g-pad); }
.land-sc-h { margin: var(--s-3) 0 var(--s-4); font: 600 var(--t-title-2)/1.2 var(--font); letter-spacing: -0.03em; color: var(--ink); text-wrap: balance; }
.land-sc-line { max-width: 32ch; margin: 0; font: 400 var(--t-body)/22px var(--font); letter-spacing: -0.01em; color: var(--ink-3); text-wrap: pretty; }
.land-sc .land-g-stage { height: auto; margin: 0; }
.land-sc .land-g-dots i:nth-child(n + 13) { display: none; }

/* 도면 선 — 끝마다 점, 그어지는 움직임은 scale */
.land-sc .gf-wire { position: absolute; height: 1px; background: var(--ink-4); transform-origin: left center; transition: scale var(--dur-4) var(--ease-out); }
.land-sc .gf-wire::before, .land-sc .gf-wire::after { content: ''; position: absolute; top: -1px; width: 3px; height: 3px; background: var(--ink); }
.land-sc .gf-wire::before { left: -1px; } .land-sc .gf-wire::after { right: -1px; }
.land-sc .gf-wire.is-spine { width: 1px; height: auto; transform-origin: center top; }
.land-sc .gf-wire.is-spine::before { top: -1px; left: -1px; } .land-sc .gf-wire.is-spine::after { top: auto; bottom: -1px; left: -1px; }
.land-g-stage .gf-wire.is-off { opacity: 1; translate: none; scale: 0 1; } .land-g-stage .gf-wire.is-spine.is-off { scale: 1 0; }
.land-sc .gf-wire.is-out { left: 42%; width: 6%; top: 157px; }
.land-sc .gf-wire.is-spine { left: 48%; top: 110px; bottom: calc(100% - 400px); }
.land-sc .gf-wire.is-sub { left: 46%; width: 12%; top: 214px; }
.land-sc .gf-wire:is(.is-a, .is-b, .is-c) { left: 48%; width: 6%; } .land-sc .gf-wire.is-a { top: 110px; } .land-sc .gf-wire.is-b { top: 255px; } .land-sc .gf-wire.is-c { top: 400px; }

/* ① 한 번 쓰기 — 올라간 일정 · 세 곳 · 복사되는 글 */
.land-sc .gf--wcard { top: 72px; left: 6%; width: 36%; padding: var(--s-5); }
.land-sc .gf-wc-top { display: flex; align-items: center; gap: var(--s-2); color: var(--ink-3); font-size: var(--t-micro); white-space: nowrap; }
.land-sc .gf-wc-t { display: block; margin: var(--s-3) 0 var(--s-1); font-size: var(--t-title-3); line-height: 1.3; letter-spacing: -0.03em; white-space: nowrap; }
.land-sc .gf-wc-m { color: var(--ink-3); font-size: var(--t-footnote); }
.land-sc .gf--wcard .gf-btn { gap: 6px; margin-top: var(--s-4); }
.land-sc .gf--wmsg { top: 276px; left: 6%; width: 36%; padding: var(--s-3) var(--s-4); background: var(--canvas); font-size: var(--t-footnote); line-height: 1.5; }
.land-sc .gf--wmsg p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .land-sc .gf-url { color: var(--ink-3); }
.land-sc .gf-dest { left: 54%; padding: var(--s-3); }
.land-sc .gf-dest > .gf-k { display: block; margin-bottom: var(--s-2); }
.land-sc .gf--wcal { top: 42px; right: calc(-1 * var(--s-6)); }
.land-sc .gf-wk { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; }
.land-sc .gf-wk li { display: flex; flex-direction: column; gap: 2px; min-width: 0; height: 76px; padding: var(--s-1) 3px; border-radius: var(--r-sm); }
.land-sc .gf-wk li.is-at { box-shadow: inset 0 0 0 1px var(--ink); }
.land-sc .gf-wk-d { color: var(--ink-4); font-size: var(--t-micro); line-height: 1; } .land-sc .gf-wk b { font-size: var(--t-footnote); line-height: 1.2; }
.land-sc .gf-wk-ev { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; color: var(--ink-2); font-size: var(--t-micro); line-height: 1.25; word-break: keep-all; } .land-sc .gf-wk-ev > .gf-n { display: block; color: var(--ink-3); }
.land-sc .gf--wph { top: 206px; width: 40%; }
.land-sc .gf-ph-d { padding: var(--s-1) 0; color: var(--ink); font-size: var(--t-footnote); font-weight: 600; }
.land-sc .gf-ph-r { display: flex; gap: var(--s-3); padding: var(--s-1) 0 var(--s-2); }
.land-sc .gf-ph-r > .gf-n { flex: none; width: 52px; color: var(--ink-3); font-size: var(--t-micro); line-height: 18px; }
.land-sc .gf-ph-r > span:last-child { display: flex; flex-direction: column; min-width: 0; } .land-sc .gf-ph-r b { font-weight: 600; } .land-sc .gf-ph-r small { color: var(--ink-3); font-size: var(--t-micro); }
.land-sc .gf--wsite { top: 348px; right: calc(-1 * var(--s-6)); }
.land-sc .gf-er { display: flex; align-items: center; gap: var(--s-3); }
.land-sc .gf-er-d { display: flex; flex-direction: column; align-items: center; flex: none; width: 44px; padding: var(--s-1) 0; border-radius: var(--r-sm); background: var(--canvas); }
.land-sc .gf-er-d small { color: var(--ink-3); font-size: var(--t-micro); } .land-sc .gf-er-d b { font-size: var(--t-headline); line-height: 1.1; }
.land-sc .gf-er > span:last-child { display: flex; flex-direction: column; } .land-sc .gf-er small { color: var(--ink-3); font-size: var(--t-micro); }

/* ② 내 모든 팀 일정이 한곳에 — 첫 설정 '내 캘린더' · 휴대폰 목록 */
.land-sc .gf--csub { top: 88px; left: 6%; width: 40%; padding: var(--s-5); }
.land-sc .gf-sub-t { display: block; font-size: var(--t-headline); letter-spacing: -0.02em; }
.land-sc .gf-sub-s { margin: var(--s-1) 0 var(--s-4); color: var(--ink-3); font-size: var(--t-footnote); }
.land-sc .gf-sub-r { display: flex; align-items: center; gap: var(--s-3); padding: var(--s-3) 0; border-top: 1px solid var(--line); }
.land-sc .gf-sub-r > span { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; } .land-sc .gf-sub-r b { font-weight: 600; } .land-sc .gf-sub-r small { color: var(--ink-3); font-size: var(--t-micro); }
.land-sc .gf-sub-r > svg { color: var(--ink-3); } .land-sc .gf-sub-r > svg:last-child { width: var(--ic-xs); height: var(--ic-xs); color: var(--ink-4); }
.land-sc .gf-sub-ok { display: flex; align-items: center; gap: 6px; padding-top: var(--s-3); border-top: 1px solid var(--line); font-weight: 600; }
.land-sc .gf--cphone { top: 40px; left: 58%; width: 248px; height: 520px; padding: 48px var(--s-4) 0; border-radius: 40px; box-shadow: 0 0 0 1px var(--line), var(--e-2); }
.land-sc .gf--cphone::before { content: ''; position: absolute; top: 14px; left: 50%; width: 72px; height: 20px; margin-left: -36px; border-radius: var(--r-pill); background: var(--ink); }
.land-sc .gf-ph-h { margin-bottom: var(--s-2); color: var(--ink-3); font-size: var(--t-micro); font-weight: 600; letter-spacing: 0.04em; }
.land-sc .gf-ph-l li + li { margin-top: var(--s-1); padding-top: var(--s-1); border-top: 1px solid var(--line); }

/* 폭별 */
@media (max-width: 1265px) { .land-g.land-sc { --g-rh: 500px; } .land-sc .gf--wcard, .land-sc .gf--wmsg { width: 38%; } }
@media (max-width: 999px) {
  .land-g.land-sc { --g-rh: 760px; }
  .land-sc .land-g-cell { --g-span: 2; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); }
  .land-sc .land-g-dots i { display: block; visibility: visible; } .land-sc .land-g-dots i:nth-child(n + 10) { display: none; }
}
@media (max-width: 699px) {
  .land-g.land-sc { --g-rh: 900px; }
  .land-sc .land-g-cell { --g-span: 1; } .land-sc .land-g-dots i:nth-child(n + 7) { display: none; }
  .land-sc .gf-wire, .land-sc .gf--wmsg { display: none; }
  .land-sc .gf--wcard { top: 0; left: var(--g-pad); right: var(--g-pad); width: auto; }
  .land-sc .gf-dest { left: var(--g-pad); right: calc(-1 * var(--s-6)); width: auto; } .land-sc .gf--wcal { top: 224px; } .land-sc .gf--wph { top: 388px; } .land-sc .gf--wsite { top: 518px; }
  .land-sc .gf--csub { top: 0; left: var(--g-pad); right: var(--g-pad); width: auto; } .land-sc .gf--cphone { top: 330px; left: 50%; margin-left: -124px; }
}
