:root{--landing-blue:#2563eb;--landing-blue-soft:#c7d8f7;--landing-green:#10b981;--landing-green-soft:#c6efe0;--landing-ink:#1e293b;--landing-ink-2:#334155;--landing-gray:#64748b;--landing-line:#e8edf3}body{font-family:PretendardGOV,sans-serif}.landing{box-sizing:border-box;background:linear-gradient(#eef3fb 0%,#e7eefb 100%);flex-direction:column;min-height:100vh;padding:28px 40px 48px;display:flex}.landing-top{justify-content:center;align-items:center;margin-bottom:36px;display:flex;position:relative}.notice{border:1px solid var(--landing-line);color:var(--landing-ink-2);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:10px 20px;font-size:13px;display:inline-flex;box-shadow:0 2px 10px #1e293b0d}.notice strong{color:var(--landing-blue);font-weight:700}.notice .bell{width:16px;height:16px;color:var(--landing-blue);flex-shrink:0}.brand-logo{position:absolute;top:50%;right:0;transform:translateY(-50%)}.cards{flex:1;justify-content:center;align-items:stretch;gap:28px;width:100%;max-width:1240px;margin:0 auto;display:flex}.card{color:inherit;background:#fff;border:1px solid #fffc;border-radius:24px;flex-direction:column;flex:1;padding:44px 44px 36px;text-decoration:none;transition:transform .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 40px #1e293b14}.card:before{content:"";z-index:0;border-radius:46% 54% 58% 42%/52% 44% 56% 48%;width:320px;height:280px;position:absolute;top:-70px;right:-70px}.card-admin:before{background:var(--landing-blue-soft)}.card-teacher:before{background:var(--landing-green-soft)}.card:hover{transform:translateY(-4px);box-shadow:0 18px 50px #1e293b24}.card>*{z-index:1;position:relative}.card-head{justify-content:space-between;align-items:flex-start;min-height:120px;display:flex;position:relative}.badge{letter-spacing:.5px;border-radius:999px;margin-bottom:16px;padding:6px 14px;font-size:12.5px;font-weight:700;display:inline-block}.badge-blue{color:var(--landing-blue);background:#e8f0fe}.badge-green{color:var(--landing-green);background:#e3f7ef}.card-title{letter-spacing:-.5px;color:var(--landing-ink);font-size:36px;font-weight:800;line-height:1.3}.card-illust{flex-shrink:0;justify-content:center;align-items:center;width:240px;height:210px;display:inline-flex;position:relative}.card-illust img{z-index:1;width:220px;max-width:none;height:auto;position:relative;transform:translate(6px)}.card-desc{color:var(--landing-gray);margin:10px 0 28px;font-size:16px;line-height:1.7}.feature-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.feature{border:1px solid var(--landing-line);background:#fbfcfe;border-radius:14px;align-items:center;gap:16px;padding:17px 20px;transition:background .2s,border-color .2s;display:flex}.card:hover .feature{background:#f5f8fd}.feature-icon{width:44px;height:44px;color:var(--landing-ink-2);background:#f1f5f9;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.feature-icon svg{width:24px;height:24px}.feature-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.feature-title{color:var(--landing-ink);font-size:16px;font-weight:700}.feature-desc{color:var(--landing-gray);font-size:13.5px}.feature .chev{color:#cbd5e1;flex-shrink:0;width:20px;height:20px}.card-btn{border-radius:14px;justify-content:center;align-items:center;gap:8px;height:58px;margin-top:auto;font-size:17px;font-weight:700;transition:filter .2s,background .2s,color .2s;display:flex}.card-btn .arrow{width:18px;height:18px}.btn-fill{background:var(--landing-blue);color:#fff}.card:hover .btn-fill{filter:brightness(1.08)}.btn-outline{color:var(--landing-green);border:1.5px solid var(--landing-green);background:#fff}.card:hover .btn-outline{background:var(--landing-green);color:#fff}.card-contact{color:var(--landing-gray);justify-content:center;align-items:center;gap:8px;margin-top:20px;font-size:15px;display:flex}.card-contact strong{color:var(--landing-ink);font-weight:700}.card-contact .phone{width:17px;height:17px;color:var(--landing-blue)}.card-teacher .card-contact .phone{color:var(--landing-green)}@media (max-width:900px){.landing{padding:20px 16px 32px}.landing-top{flex-direction:column;gap:16px;margin-bottom:24px}.notice{padding:9px 14px;font-size:12px}.brand-logo{position:static;transform:none}.cards{flex-direction:column;max-width:480px}.card-title{font-size:26px}}
