: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{min-height:100vh;background:linear-gradient(180deg,#eef3fb,#e7eefb);display:flex;flex-direction:column;padding:28px 40px 48px;box-sizing:border-box}.landing-top{position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:36px}.notice{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:#fff;border:1px solid var(--landing-line);border-radius:999px;box-shadow:0 2px 10px rgba(30,41,59,.05);font-size:13px;color:var(--landing-ink-2)}.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;right:0;top:50%;transform:translateY(-50%)}.cards{gap:28px;align-items:stretch;justify-content:center;max-width:1240px;width:100%;margin:0 auto}.card,.cards{flex:1;display:flex}.card{position:relative;overflow:hidden;flex-direction:column;background:#fff;border-radius:24px;padding:44px 44px 36px;box-shadow:0 10px 40px rgba(30,41,59,.08);text-decoration:none;color:inherit;border:1px solid rgba(255,255,255,.8);transition:transform .3s ease,box-shadow .3s ease}.card:before{content:"";position:absolute;top:-70px;right:-70px;width:320px;height:280px;border-radius:46% 54% 58% 42%/52% 44% 56% 48%;z-index:0}.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 rgba(30,41,59,.14)}.card>*{position:relative;z-index:1}.card-head{position:relative;display:flex;justify-content:space-between;align-items:flex-start;min-height:120px}.badge{display:inline-block;padding:6px 14px;border-radius:999px;font-size:12.5px;font-weight:700;letter-spacing:.5px;margin-bottom:16px}.badge-blue{background:#e8f0fe;color:var(--landing-blue)}.badge-green{background:#e3f7ef;color:var(--landing-green)}.card-title{font-size:32px;font-weight:800;line-height:1.3;letter-spacing:-.5px;color:var(--landing-ink)}.card-illust{position:relative;display:inline-flex;align-items:center;justify-content:center;width:240px;height:210px;flex-shrink:0}.card-illust img{position:relative;z-index:1;width:220px;max-width:none;height:auto;transform:translate(6px,-12px)}.card-desc{margin:10px 0 28px;font-size:16px;line-height:1.7;color:var(--landing-gray)}.feature-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.feature{display:flex;align-items:center;gap:16px;padding:17px 20px;border:1px solid var(--landing-line);border-radius:14px;background:#fbfcfe;transition:background .2s ease,border-color .2s ease}.card:hover .feature{background:#f5f8fd}.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:#f1f5f9;color:var(--landing-ink-2);flex-shrink:0}.feature-icon svg{width:24px;height:24px}.feature-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.feature-title{font-size:16px;font-weight:700;color:var(--landing-ink)}.feature-desc{font-size:13.5px;color:var(--landing-gray)}.feature .chev{width:20px;height:20px;color:#cbd5e1;flex-shrink:0}.card-btn{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:auto;height:58px;border-radius:14px;font-size:17px;font-weight:700;transition:filter .2s ease,background .2s ease,color .2s ease}.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{background:#fff;color:var(--landing-green);border:1.5px solid var(--landing-green)}.card:hover .btn-outline{background:var(--landing-green);color:#fff}.card-contact{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:20px;font-size:15px;color:var(--landing-gray)}.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{font-size:12px;padding:9px 14px}.brand-logo{position:static;transform:none}.cards{flex-direction:column;max-width:480px}.card-title{font-size:26px}}