/* DewDew Rewards Network — 공통 스타일 (랜딩/파트너신청/설명서/약관) */
* { margin:0; padding:0; box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
:root {
  --green-dark:#0f766e; --green:#14b8a6; --green-soft:#ccfbf1;
  --ink:#134e4a; --muted:#5f7470; --bg:#f7fdfc; --card:#ffffff;
  --orange:#f59e0b; --border:#d7e8e4;
}
body { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR","Helvetica Neue",Arial,sans-serif;
       background:var(--bg); color:var(--ink); }
.wrap { max-width:560px; margin:0 auto; padding:0 18px; }
header { display:flex; align-items:center; justify-content:space-between; padding:16px 0; }
.logo { display:flex; align-items:center; gap:9px; text-decoration:none; }
.logo img { width:34px; height:34px; border-radius:9px; }
.logo span { font-weight:800; font-size:18px; color:var(--green-dark); letter-spacing:-.02em; }
.langs { display:flex; gap:4px; background:#e6f2f0; padding:3px; border-radius:999px; }
.langs button { border:none; background:transparent; font-size:12px; font-weight:700; color:var(--muted);
                padding:5px 10px; border-radius:999px; cursor:pointer; }
.langs button.on { background:#fff; color:var(--green-dark); box-shadow:0 1px 4px rgba(15,118,110,.18); }
h1 { font-size:27px; line-height:1.24; letter-spacing:-.03em; margin:16px 0 12px; text-align:center; }
h1 .g { color:var(--green-dark); }
.sub { text-align:center; color:var(--muted); font-size:15px; line-height:1.6; margin-bottom:24px; }
.card { background:var(--card); border:1px solid var(--border); border-radius:22px; padding:24px 20px;
        box-shadow:0 10px 26px rgba(15,118,110,.08); margin-bottom:18px; }
.sect { margin:32px 0 12px; }
.sect h2 { font-size:20px; letter-spacing:-.02em; margin-bottom:14px; }
.field { margin-bottom:14px; }
.field label { display:block; font-size:13px; font-weight:700; color:#27504b; margin-bottom:6px; }
.field input, .field select, .field textarea {
  width:100%; padding:13px 14px; border:1px solid var(--border); border-radius:12px;
  font-size:15px; color:var(--ink); background:#fff; outline:none; font-family:inherit;
}
.field input:focus, .field select:focus, .field textarea:focus {
  border-color:var(--green); box-shadow:0 0 0 3px rgba(20,184,166,.15);
}
.field textarea { resize:vertical; min-height:84px; }
.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.btn { display:block; width:100%; padding:16px; border:none; border-radius:15px; text-align:center;
       font-size:16.5px; font-weight:700; text-decoration:none; cursor:pointer;
       background:var(--green-dark); color:#fff; box-shadow:0 10px 22px rgba(15,118,110,.32);
       transition:transform .08s; }
.btn:active { transform:scale(.985); }
.alert-ok { background:#ecfdf5; border:1px solid #a7f3d0; color:#065f46;
            border-radius:14px; padding:14px 16px; font-size:14.5px; line-height:1.6; margin-bottom:18px; }
.alert-err { background:#fef2f2; border:1px solid #fecaca; color:#991b1b;
             border-radius:14px; padding:14px 16px; font-size:14px; line-height:1.6; margin-bottom:18px; }
footer { margin:40px 0 34px; text-align:center; font-size:12.5px; color:#8aa5a0; }
footer nav { display:flex; justify-content:center; gap:18px; margin-bottom:10px; flex-wrap:wrap; }
footer a { color:var(--green-dark); text-decoration:none; font-weight:600; }
/* 설명서 다이어그램 */
.flow { display:flex; flex-direction:column; align-items:center; gap:0; }
.flow .node { width:100%; max-width:380px; background:#fff; border:1.5px solid var(--green-soft);
              border-radius:16px; padding:14px 16px; display:flex; gap:12px; align-items:center; }
.flow .node .n-ic { flex:0 0 42px; height:42px; border-radius:12px; display:flex; align-items:center;
                    justify-content:center; font-size:21px; background:var(--green-soft); }
.flow .node .n-t { font-size:14.5px; font-weight:700; color:var(--ink); }
.flow .node .n-d { font-size:12.5px; color:var(--muted); margin-top:2px; line-height:1.45; }
.flow .arrow { font-size:20px; color:var(--green); padding:5px 0; line-height:1; }
.money-flow { width:100%; max-width:420px; margin:14px auto 0; border:1.5px solid var(--green-soft);
              border-radius:16px; overflow:hidden; background:#fff; }
.money-flow .mf-row { display:flex; justify-content:space-between; padding:11px 16px; font-size:14px;
                      border-bottom:1px solid #eef6f4; }
.money-flow .mf-row:last-child { border-bottom:none; }
.money-flow .mf-row b { font-weight:800; }
.money-flow .mf-row.hl { background:var(--green-soft); font-weight:700; color:var(--green-dark); }
.money-flow .mf-row .amt { font-weight:800; }
.money-flow .mf-row .amt.plus { color:var(--green-dark); }
.money-flow .mf-row .amt.minus { color:#b45309; }
.duo { display:grid; grid-template-columns:1fr 1fr; gap:12px; max-width:460px; margin:16px auto 0; }
.duo .d-card { background:#fff; border:1.5px solid var(--green-soft); border-radius:16px; padding:16px 14px; text-align:center; }
.duo .d-card .d-big { font-size:30px; font-weight:800; color:var(--green-dark); }
.duo .d-card .d-cap { font-size:12.5px; color:var(--muted); margin-top:3px; }
.legal-body { font-size:14.5px; line-height:1.78; color:#2b4a45; }
.legal-body h2 { font-size:17px; margin:26px 0 8px; color:var(--green-dark); }
.legal-body p { margin-bottom:10px; }
.legal-body ul { margin:0 0 12px 18px; }
.legal-body li { margin-bottom:6px; }
.legal-updated { font-size:12px; color:#8aa5a0; margin-bottom:20px; }
.back { display:inline-block; margin-bottom:8px; color:var(--green-dark); font-weight:700; text-decoration:none; font-size:14px; }
@media (max-width:420px) { .grid2 { grid-template-columns:1fr; } .duo { grid-template-columns:1fr; } }
