
:root{
  --red:#cf1236;
  --red2:#ae0e2c;
  --ink:#20242c;
  --muted:#8a919d;
  --line:#dfe3e9;
  --bg:#ffffff;
  --soft:#f6f8fb;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Pretendard,"Noto Sans KR","Malgun Gothic",Arial,sans-serif;background:#fff;color:var(--ink)}
body{min-height:100vh}
a{text-decoration:none;color:inherit}
button{font:inherit;color:inherit}
.hub-shell{min-height:100vh;display:flex;flex-direction:column;background:
  radial-gradient(circle at 50% 23%,rgba(207,18,54,.035),transparent 28%),
  linear-gradient(180deg,#fff 0%,#fff 78%,#fafbfc 100%)}
.topbar{height:58px;border-bottom:1px solid #eceef2;background:rgba(255,255,255,.92);backdrop-filter:blur(10px)}
.topbar-inner{height:100%;width:min(1380px,calc(100% - 56px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.mini-brand{font-size:10px;font-weight:900;letter-spacing:2.4px;color:var(--red)}
.topbar-note{font-size:8px;font-weight:800;letter-spacing:1.3px;color:#a0a5ad}
.hub-main{flex:1;width:min(1380px,calc(100% - 56px));margin:0 auto;padding:38px 0 52px}
.hero{display:flex;flex-direction:column;align-items:center;text-align:center}
.logo-stage{width:min(560px,74vw);margin:0 auto}
.hero-logo{display:block;width:100%;height:auto;object-fit:contain}
.hero-copy{margin-top:8px}
.hero-copy h1{font-size:29px;letter-spacing:-1.05px;margin:0 0 7px;font-weight:900}
.hero-copy p{font-size:12px;color:var(--muted);margin:0;line-height:1.7}
.systems{margin-top:44px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.system-card{appearance:none;border:1px solid var(--line);background:#fff;border-radius:22px;padding:20px;min-height:142px;display:grid;grid-template-columns:58px 1fr 28px;gap:16px;align-items:center;text-align:left;cursor:pointer;position:relative;overflow:hidden;box-shadow:0 8px 22px rgba(30,38,52,.07);transition:.22s ease}
.system-card:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(207,18,54,.045),transparent 42%);opacity:0;transition:.22s ease}
.system-card:hover{transform:translateY(-5px);border-color:#e3a5b1;box-shadow:0 18px 38px rgba(35,42,56,.11)}
.system-card:hover:before{opacity:1}
.system-icon{width:56px;height:56px;border-radius:50%;border:1.6px solid var(--red);color:var(--red);display:grid;place-items:center;font-size:18px;font-weight:950;position:relative;z-index:1;background:#fff}
.system-icon:after{content:"";position:absolute;inset:6px;border:1px solid rgba(207,18,54,.25);border-radius:50%}
.system-text{position:relative;z-index:1;min-width:0}
.system-text small{display:block;color:#9da3ac;font-size:7px;font-weight:900;letter-spacing:1.15px}
.system-text h2{font-size:19px;letter-spacing:-.7px;margin:4px 0 4px}
.system-text p{font-size:9px;color:#7d8490;line-height:1.55;margin:0}
.system-arrow{font-size:22px;color:#b6bbc3;position:relative;z-index:1;transition:.2s}
.system-card:hover .system-arrow{color:var(--red);transform:translateX(3px)}
.add-icon{background:var(--red);color:#fff;border-color:var(--red);font-size:28px;font-weight:300}
.add-icon:after{display:none}
.hub-footer{width:min(1380px,calc(100% - 56px));margin:0 auto;border-top:1px solid #eceef2;padding:18px 0 24px;display:flex;justify-content:space-between;gap:20px;font-size:8px;color:#a6abb3;letter-spacing:.8px;font-weight:800}

.modal{display:none;position:fixed;inset:0;z-index:100;place-items:center}
.modal.show{display:grid}
.modal-backdrop{position:absolute;inset:0;background:rgba(20,25,35,.42);backdrop-filter:blur(6px)}
.modal-panel{position:relative;z-index:1;width:min(430px,calc(100% - 34px));background:#fff;border:1px solid #dfe3e9;border-radius:24px;padding:34px;text-align:center;box-shadow:0 30px 90px rgba(20,30,45,.20)}
.modal-close{position:absolute;right:15px;top:11px;border:0;background:none;color:#8e949d;font-size:27px;cursor:pointer}
.modal-icon{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;margin:0 auto 15px;background:var(--red);color:#fff;font-size:34px;font-weight:300}
.modal-panel small{font-size:8px;color:var(--red);font-weight:950;letter-spacing:1.3px}
.modal-panel h3{font-size:20px;margin:7px 0 10px}
.modal-panel p{font-size:11px;color:#858b95;line-height:1.75;margin:0}
.modal-ok{margin-top:20px;border:0;border-radius:11px;background:var(--red);color:#fff;padding:11px 28px;font-size:11px;font-weight:900;cursor:pointer}

@media(min-width:1600px){
  .logo-stage{width:min(600px,42vw)}
}
@media(max-width:1080px){
  .systems{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .topbar-inner,.hub-main,.hub-footer{width:calc(100% - 28px)}
  .topbar-note{display:none}
  .hub-main{padding:28px 0 38px}
  .logo-stage{width:min(480px,88vw)}
  .hero-copy h1{font-size:23px}
  .hero-copy p{font-size:10px}
  .systems{grid-template-columns:1fr;margin-top:32px;gap:10px}
  .system-card{min-height:112px;border-radius:18px;padding:16px;grid-template-columns:52px 1fr 24px;gap:13px}
  .system-icon{width:50px;height:50px}
  .system-text h2{font-size:17px}
  .hub-footer{flex-direction:column;text-align:center;align-items:center;gap:5px}
}
