/* V20 Premium Operating Upgrade */
:root{
  --v20-navy:#061936;
  --v20-blue:#0a4fa8;
  --v20-gold:#c9973f;
  --v20-mist:#f4f7fb;
  --v20-ink:#142033;
  --v20-line:#dce5f1;
}
body{background:#f8fafc;color:var(--v20-ink)}
.topbar{backdrop-filter:blur(14px);background:rgba(255,255,255,.94)!important;border-bottom:1px solid rgba(10,33,75,.08)}
.nav a{font-weight:850;letter-spacing:-.02em}.nav a:hover{color:var(--v20-blue)}
.header-actions{display:flex;align-items:center;gap:8px}.menu-btn{border:0;background:var(--v20-navy);color:#fff;border-radius:10px;width:42px;height:42px;font-size:22px}
.v20-hero{position:relative;min-height:760px;padding:130px 0 80px;overflow:hidden;background:radial-gradient(circle at 10% 20%,rgba(201,151,63,.20),transparent 28%),linear-gradient(120deg,#061936 0%,#0a2c5f 52%,#102f55 100%);color:#fff}
.v20-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,25,54,.86),rgba(6,25,54,.34)),url('../assets/reference_layout.png') center/cover no-repeat;opacity:.30;mix-blend-mode:screen}.v20-hero:after{content:"";position:absolute;right:-160px;top:80px;width:520px;height:520px;border:1px solid rgba(255,255,255,.14);border-radius:50%;box-shadow:0 0 0 80px rgba(255,255,255,.035),0 0 0 160px rgba(255,255,255,.025)}
.v20-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}.v20-kicker{display:inline-flex;gap:10px;align-items:center;color:#f2d493;font-weight:950;letter-spacing:.18em;font-size:13px;margin:0 0 18px}.v20-kicker:before{content:"";width:42px;height:2px;background:#f2d493}.v20-hero h1{font-size:70px;line-height:1.04;margin:0 0 22px;letter-spacing:-.075em;color:#fff}.v20-hero p{font-size:19px;line-height:1.75;color:#dbe8fb;margin:0}.v20-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.v20-btn{display:inline-flex;align-items:center;justify-content:center;height:54px;padding:0 24px;border-radius:999px;font-weight:950;letter-spacing:-.03em;transition:.25s}.v20-btn.primary{background:#fff;color:#082455}.v20-btn.gold{background:linear-gradient(135deg,#deb766,#b9852c);color:#fff}.v20-btn.ghost{border:1px solid rgba(255,255,255,.34);color:#fff}.v20-btn:hover{transform:translateY(-2px);box-shadow:0 16px 28px rgba(0,0,0,.18)}
.v20-control-panel{background:rgba(255,255,255,.92);color:#142033;border:1px solid rgba(255,255,255,.55);border-radius:28px;padding:28px;box-shadow:0 28px 70px rgba(0,0,0,.30);backdrop-filter:blur(18px)}.v20-panel-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.v20-panel-top strong{font-size:24px;color:#061936;letter-spacing:-.055em}.v20-panel-top span{display:inline-flex;padding:7px 12px;border-radius:999px;background:#eaf3ff;color:#0a4fa8;font-size:12px;font-weight:950}.v20-panel-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.v20-panel-grid a,.v20-panel-grid div{display:block;padding:18px;border:1px solid #dbe5f1;border-radius:18px;background:linear-gradient(180deg,#fff,#f6f9fd);min-height:118px}.v20-panel-grid b{display:block;color:#b9852c;font-size:12px;letter-spacing:.12em}.v20-panel-grid strong{display:block;margin-top:12px;font-size:24px;color:#061936}.v20-panel-grid p{font-size:13px;color:#627084;line-height:1.55;margin:6px 0 0}.v20-panel-foot{display:flex;justify-content:space-between;gap:10px;margin-top:16px;padding-top:16px;border-top:1px dashed #ccd9e8;color:#56677f;font-size:14px}.v20-panel-foot b{color:#061936}
.v20-quick{position:relative;z-index:2;margin-top:-38px}.v20-quick-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.v20-quick-grid a{background:#fff;border:1px solid #e1e8f2;border-radius:18px;padding:20px;box-shadow:0 18px 42px rgba(0,35,82,.10);transition:.25s}.v20-quick-grid a:hover{transform:translateY(-4px);box-shadow:0 22px 52px rgba(0,35,82,.16)}.v20-quick-grid b{display:block;color:#0a4fa8;font-size:12px}.v20-quick-grid strong{display:block;margin-top:7px;color:#061936;font-size:17px;letter-spacing:-.04em}.v20-quick-grid span{display:block;margin-top:6px;color:#667085;font-size:13px;line-height:1.45}
.v20-section{padding:92px 0}.v20-section.alt{background:var(--v20-mist)}.v20-title{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:34px}.v20-title h2{font-size:46px;letter-spacing:-.075em;color:#061936;margin:0}.v20-title p{max-width:560px;margin:0;color:#64748b;line-height:1.75}.v20-tag{display:inline-block;margin-bottom:10px;color:#0a4fa8;font-weight:950;font-size:12px;letter-spacing:.16em}
.v20-value-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:18px}.v20-value-grid article{background:#fff;border:1px solid var(--v20-line);border-radius:24px;padding:30px;box-shadow:0 16px 40px rgba(0,35,82,.07)}.v20-value-grid article:first-child{background:linear-gradient(135deg,#061936,#0c4086);color:#fff}.v20-value-grid b{display:inline-flex;width:42px;height:42px;border-radius:12px;align-items:center;justify-content:center;background:#eef5ff;color:#0a4fa8}.v20-value-grid article:first-child b{background:rgba(255,255,255,.13);color:#f2d493}.v20-value-grid h3{font-size:25px;margin:20px 0 10px;letter-spacing:-.055em;color:#061936}.v20-value-grid article:first-child h3{color:#fff}.v20-value-grid p{line-height:1.7;color:#65758a;margin:0}.v20-value-grid article:first-child p{color:#dcecff}
.v20-projects{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.v20-project-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--v20-line);border-radius:24px;padding:30px;min-height:360px;box-shadow:0 18px 48px rgba(0,35,82,.08)}.v20-project-card:before{content:"";position:absolute;inset:0 0 auto;height:112px;background:linear-gradient(135deg,#0a4fa8,#061936)}.v20-project-card > *{position:relative}.v20-project-card em{display:inline-flex;margin-bottom:70px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.17);color:#fff;font-style:normal;font-size:12px;font-weight:950;letter-spacing:.08em}.v20-project-card h3{font-size:27px;line-height:1.25;margin:0 0 14px;color:#061936;letter-spacing:-.06em}.v20-project-card p{color:#667085;line-height:1.68;margin:0 0 20px}.v20-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:22px 0}.v20-metrics span{border:1px solid #e1e8f2;border-radius:14px;padding:12px;background:#f8fbff}.v20-metrics b{display:block;color:#0a4fa8;font-size:12px}.v20-metrics strong{display:block;margin-top:4px;color:#061936;font-size:17px}.v20-card-link{display:inline-flex;font-weight:950;color:#0a4fa8}.v20-card-link:after{content:" →"}
.v20-operation{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:stretch}.v20-phone{background:#061936;border-radius:32px;padding:16px;box-shadow:0 26px 70px rgba(0,35,82,.22);max-width:390px;margin:auto}.v20-phone-screen{background:#f8fafc;border-radius:24px;min-height:590px;padding:22px}.v20-phone-screen .app-top{height:78px;border-radius:18px;background:linear-gradient(135deg,#0a4fa8,#061936);color:#fff;padding:16px}.v20-phone-screen .app-card{margin-top:12px;background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:16px}.v20-phone-screen h4{margin:0;font-size:18px;color:#061936}.v20-phone-screen p{margin:6px 0 0;color:#64748b;font-size:13px;line-height:1.5}.v20-phone-screen .app-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v20-phone-screen .app-row div{background:#eef5ff;border-radius:14px;padding:14px;color:#0a4fa8;font-weight:900;font-size:13px}.v20-operation-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.v20-operation-list a{background:#fff;border:1px solid var(--v20-line);border-radius:22px;padding:24px;box-shadow:0 14px 34px rgba(0,35,82,.07)}.v20-operation-list b{color:#c9973f;font-size:12px;letter-spacing:.12em}.v20-operation-list h3{font-size:22px;margin:12px 0 8px;color:#061936}.v20-operation-list p{margin:0;color:#64748b;line-height:1.6}
.v20-page-hero{padding:150px 0 80px;background:linear-gradient(135deg,#061936,#0a4fa8);color:#fff}.v20-page-hero h1{font-size:58px;margin:0 0 16px;letter-spacing:-.075em;color:#fff}.v20-page-hero p{font-size:18px;line-height:1.75;max-width:760px;color:#dcecff}.v20-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.v20-page-card{background:#fff;border:1px solid var(--v20-line);border-radius:24px;padding:28px;box-shadow:0 16px 42px rgba(0,35,82,.07)}.v20-page-card h3{margin:0 0 10px;color:#061936;font-size:23px}.v20-page-card p{margin:0;color:#64748b;line-height:1.7}.v20-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--v20-line);border-radius:20px;background:#fff}.v20-table th,.v20-table td{padding:16px;border-bottom:1px solid #e5edf6;text-align:left}.v20-table th{background:#061936;color:#fff}.v20-table tr:last-child td{border-bottom:0}.v20-note{margin-top:22px;padding:18px;border-radius:18px;background:#fff8e8;border:1px solid #ead6aa;color:#6d521a;line-height:1.65}
.v20-footer-cta{background:linear-gradient(135deg,#061936,#082e62);color:#fff;border-radius:28px;padding:42px;display:flex;justify-content:space-between;gap:30px;align-items:center}.v20-footer-cta h2{color:#fff;font-size:34px;margin:0 0 8px}.v20-footer-cta p{margin:0;color:#dcecff;line-height:1.65}.v20-footer-cta a{background:#fff;color:#061936;border-radius:999px;padding:15px 22px;font-weight:950;white-space:nowrap}
@media(max-width:1100px){.v20-hero-grid,.v20-operation{grid-template-columns:1fr}.v20-quick-grid{grid-template-columns:repeat(2,1fr)}.v20-value-grid,.v20-projects,.v20-page-grid{grid-template-columns:1fr 1fr}.v20-title{display:block}.v20-title p{margin-top:12px}.v20-hero h1{font-size:54px}}
@media(max-width:720px){.v20-hero{min-height:auto;padding:112px 0 70px}.v20-hero h1{font-size:41px}.v20-hero p{font-size:16px}.v20-control-panel{padding:18px;border-radius:22px}.v20-panel-grid,.v20-quick-grid,.v20-value-grid,.v20-projects,.v20-operation-list,.v20-page-grid{grid-template-columns:1fr}.v20-section{padding:64px 0}.v20-title h2{font-size:34px}.v20-page-hero h1{font-size:39px}.v20-footer-cta{display:block}.v20-footer-cta a{display:inline-flex;margin-top:20px}.v20-metrics{grid-template-columns:1fr}.v20-phone-screen{min-height:480px}.nav.open{top:86px!important}}

/* Greenup Bio cross-link */
.nav a.bio-link{color:#0b6b45;font-weight:900;white-space:nowrap}
.nav a.bio-link:hover{color:#075337}
.bio-quick-link{border-color:rgba(11,107,69,.20)!important}
.bio-quick-link strong{color:#0b6b45}

/* V21 Motion Upgrade: restrained, premium construction-site motion */
.v20-hero{isolation:isolate}
.v20-hero:before{animation:v21-hero-shift 18s ease-in-out infinite alternate}
.v20-hero:after{animation:v21-orbit 15s ease-in-out infinite}
.v20-hero-grid:after{content:"";position:absolute;right:5%;bottom:-34px;width:210px;height:210px;border-radius:50%;border:1px dashed rgba(242,212,147,.4);animation:v21-spin 24s linear infinite;pointer-events:none}
.v20-kicker{animation:v21-fade-up .7s .08s both}
.v20-hero h1{animation:v21-fade-up .85s .16s both}
.v20-hero .reveal-left>p:not(.v20-kicker){animation:v21-fade-up .85s .26s both}
.v20-hero-actions{animation:v21-fade-up .85s .36s both}
.v20-control-panel{animation:v21-panel-in 1s .26s both, v21-float 5.5s 1.4s ease-in-out infinite}
.v20-panel-top span{position:relative;overflow:hidden}
.v20-panel-top span:after{content:"";position:absolute;inset:0 auto 0 -70%;width:45%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent);transform:skewX(-22deg);animation:v21-shine 3.8s ease-in-out infinite}
.v20-panel-grid a{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;position:relative;overflow:hidden}
.v20-panel-grid a:after{content:"";position:absolute;inset:auto -18px -48px auto;width:90px;height:90px;border-radius:50%;background:rgba(10,79,168,.08);transition:transform .35s ease}
.v20-panel-grid a:hover{transform:translateY(-6px);border-color:#aac8ed;box-shadow:0 18px 32px rgba(5,45,94,.13)}
.v20-panel-grid a:hover:after{transform:scale(1.8)}
.v20-quick{position:relative;z-index:3}.v20-quick-grid a{transition:transform .3s ease,box-shadow .3s ease}.v20-quick-grid a:hover{transform:translateY(-7px);box-shadow:0 18px 34px rgba(3,35,80,.12)}
.v20-project-card{transition:transform .35s ease,box-shadow .35s ease}.v20-project-card:hover{transform:translateY(-9px);box-shadow:0 26px 54px rgba(0,35,82,.16)}
.v20-project-card:before{transition:height .35s ease}.v20-project-card:hover:before{height:136px}
.v20-metrics span{transition:transform .25s ease,background .25s ease}.v20-project-card:hover .v20-metrics span{transform:translateY(-2px);background:#f1f7ff}
.v20-phone{animation:v21-float 6.5s ease-in-out infinite}
.v20-footer-cta{position:relative;overflow:hidden}.v20-footer-cta:after{content:"";position:absolute;top:-120%;left:-15%;width:32%;height:310%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.13),transparent);transform:rotate(18deg);animation:v21-cta-glow 7s ease-in-out infinite}
.v20-footer-cta>*{position:relative;z-index:1}
[data-count]{font-variant-numeric:tabular-nums}
@keyframes v21-hero-shift{0%{transform:scale(1) translate3d(0,0,0)}100%{transform:scale(1.08) translate3d(-1.5%,-.8%,0)}}
@keyframes v21-orbit{0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(-16px,16px,0) rotate(4deg)}}
@keyframes v21-spin{to{transform:rotate(360deg)}}
@keyframes v21-fade-up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes v21-panel-in{from{opacity:0;transform:translateX(35px) scale(.97)}to{opacity:1;transform:translateX(0) scale(1)}}
@keyframes v21-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes v21-shine{0%,62%{left:-70%}82%,100%{left:130%}}
@keyframes v21-cta-glow{0%,72%{transform:translateX(-280%) rotate(18deg)}100%{transform:translateX(520%) rotate(18deg)}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}


/* V23 ERP 연결 */
.erp-link{display:inline-flex;align-items:center;gap:4px;padding:8px 11px;border:1px solid rgba(17,60,115,.20);border-radius:999px;font-weight:800;color:#123b72;background:linear-gradient(135deg,#eef6ff,#fff);box-shadow:0 5px 16px rgba(15,65,125,.08);transition:transform .25s ease,box-shadow .25s ease}
.erp-link:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(15,65,125,.16)}
.erp-quick-link{background:linear-gradient(135deg,#f5faff,#e6f1ff)!important;border-color:rgba(16,78,146,.22)!important}
.erp-quick-link strong{color:#103e78}
@media(max-width:980px){.erp-link{margin-top:8px}}
