
:root{--bg:#07090c;--panel:#0b0f14;--text:#f2f2ef;--muted:#a4a7ad;--line:#242a31;--accent:#d8aa45;--max:1440px;--header:80px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5;overflow-x:hidden}
a{color:inherit;text-decoration:none}.noise{position:fixed;inset:0;pointer-events:none;opacity:.18;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:64px 64px}
.site-header{height:var(--header);padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(7,9,12,.86);backdrop-filter:blur(16px);z-index:20}.brand,.footer-brand{font-weight:700;letter-spacing:.28em;font-size:28px}.nav{display:flex;gap:38px;align-items:center;font-size:14px}.nav a{color:#ddd;transition:.2s}.nav a:hover{color:var(--accent)}.nav-mark{width:5px;height:5px;background:var(--accent);border-radius:50%;box-shadow:0 0 20px var(--accent)}.menu-toggle{display:none;background:none;border:1px solid var(--line);color:var(--text);padding:8px 12px;border-radius:999px}
.section-shell{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.hero{min-height:520px;padding:88px 0 50px;display:grid;grid-template-columns:1.04fr .96fr;gap:56px;align-items:center}.eyebrow{color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.18em;margin:0 0 18px}.hero h1{font-size:clamp(52px,6vw,96px);line-height:.98;letter-spacing:-.045em;margin:0;max-width:850px}.hero h1::after{content:"";display:inline-block;width:.11em;height:.11em;background:var(--accent);border-radius:50%;margin-left:.08em;transform:translateY(-.08em)}.hero-desc{color:var(--muted);font-size:18px;max-width:680px;margin:28px 0 34px}.cta{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;border:1px solid color-mix(in srgb,var(--accent) 80%,transparent);padding:14px 18px;min-width:210px;color:#efc765;transition:.25s;background:rgba(216,170,69,.025)}.cta:hover{background:rgba(216,170,69,.08);transform:translateY(-2px)}.hero-visual{position:relative;min-height:370px}.hero-visual svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}
.stack{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:8px 0 44px}.stack-card{position:relative;min-height:190px;padding:26px 26px 24px 112px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.028),rgba(255,255,255,.008));transition:.25s}.stack-card:hover{border-color:#4b4331;transform:translateY(-3px)}.stack-icon{position:absolute;left:26px;top:26px;width:58px;height:58px;border:1px solid #3a414b;border-radius:50%;display:grid;place-items:center;color:var(--accent);font-size:22px}.stack-no{position:absolute;right:20px;top:18px;color:#5d626a}.stack-card h2{font-size:27px;margin:6px 0 12px}.accent-line{display:block;width:28px;height:1px;background:var(--accent);margin-bottom:16px}.stack-card p{color:var(--muted);font-size:14px;max-width:280px;margin:0}.stack-arrow{position:absolute;right:22px;bottom:22px;color:#b9bcc2;font-size:22px}
.services{display:grid;grid-template-columns:280px 1fr;gap:48px;padding:34px 0 58px}.services-intro{padding-right:32px;border-right:1px solid var(--line)}.services-intro h2{font-size:28px;line-height:1.35;margin:0}.services-grid{display:grid;grid-template-columns:repeat(6,1fr)}.service{padding:0 18px;border-right:1px solid var(--line)}.service:last-child{border-right:0}.service-icon{color:var(--accent);font-size:12px;border:1px solid #705d30;width:34px;height:34px;display:grid;place-items:center;margin-bottom:14px}.service h3{font-size:15px;margin:0 0 10px}.service p{font-size:12px;color:var(--muted);margin:0}.contact{border-top:1px solid var(--line);padding:52px 0;display:flex;align-items:center;justify-content:space-between;gap:32px}.contact h2{font-size:34px;margin:0}.footer{border-top:1px solid var(--line);min-height:96px;padding:0 max(24px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:32px;color:#888;font-size:13px}.operator strong{color:var(--accent);font-weight:600}
/* JYU orbit */.orbit-wrap{position:absolute;inset:0}.axis{position:absolute;background:#20262d}.axis-x{left:0;right:0;top:50%;height:1px}.axis-y{top:0;bottom:0;left:52%;width:1px}.orbit{position:absolute;border:1px solid rgba(216,170,69,.12);border-radius:50%;left:52%;top:50%;transform:translate(-50%,-50%)}.o1{width:96px;height:96px}.o2{width:210px;height:210px}.o3{width:330px;height:330px}.center-dot,.traveler{position:absolute;border-radius:50%;background:var(--accent);box-shadow:0 0 16px rgba(216,170,69,.9)}.center-dot{width:8px;height:8px;left:52%;top:50%;transform:translate(-50%,-50%)}.traveler{width:5px;height:5px;left:52%;top:50%;transform-origin:0 0}.t1{animation:orbit1 9s linear infinite}.t2{animation:orbit2 14s linear infinite;background:#fff}.coordinate{position:absolute;right:0;top:30%;font:12px ui-monospace,SFMono-Regular,Menlo,monospace;color:#6d7278;text-align:right}@keyframes orbit1{from{transform:rotate(0deg) translateX(160px)}to{transform:rotate(360deg) translateX(160px)}}@keyframes orbit2{from{transform:rotate(360deg) translateX(104px)}to{transform:rotate(0deg) translateX(104px)}}
/* PSH waves */.wave-svg path{fill:none;stroke:rgba(216,170,69,.28);stroke-width:1.1;stroke-dasharray:2 0}.wave-svg path:nth-child(2){stroke:rgba(255,255,255,.12)}.wave-svg path:nth-child(3){stroke:rgba(216,170,69,.12)}.wave-svg circle{fill:var(--accent);filter:drop-shadow(0 0 8px rgba(216,170,69,.8));animation:pulse 3s ease-in-out infinite}@keyframes pulse{50%{opacity:.35;transform:scale(.7)}}
/* ZOO blocks */.blocks{position:absolute;inset:0;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(3,1fr);gap:10px;opacity:.9}.blocks span{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.012);animation:blockPulse 5s ease-in-out infinite;animation-delay:calc(var(--i)*.12s)}.blocks span:nth-child(5n){border-color:rgba(216,170,69,.5);box-shadow:inset 0 0 0 1px rgba(216,170,69,.08)}.blocks span:nth-child(7){background:rgba(216,170,69,.9);box-shadow:0 0 24px rgba(216,170,69,.45)}@keyframes blockPulse{50%{transform:translateY(-5px);background:rgba(255,255,255,.035)}}
/* JINJU merge */.merge-svg path{fill:none;stroke-width:1.5;stroke-dasharray:4 6}.merge-a,.merge-c{stroke:rgba(216,170,69,.75)}.merge-b{stroke:rgba(255,255,255,.42)}.merge-svg circle{fill:var(--accent);filter:drop-shadow(0 0 12px rgba(216,170,69,.7))}.node-b{fill:#c4c7cb!important}.node-c{animation:mergePulse 2.6s ease-in-out infinite}.merge-note{position:absolute;right:0;top:57%;color:#777;text-align:right;font-size:13px;line-height:1.6}@keyframes mergePulse{50%{r:11;opacity:.55}}
@media(max-width:1050px){.hero{grid-template-columns:1fr;min-height:auto;padding-top:62px}.hero-visual{min-height:300px}.stack{grid-template-columns:1fr}.services{grid-template-columns:1fr}.services-intro{border-right:0;border-bottom:1px solid var(--line);padding-bottom:24px}.services-grid{grid-template-columns:repeat(3,1fr);gap:22px}.service{border-right:0;border-bottom:1px solid var(--line);padding:0 0 22px}.footer{grid-template-columns:1fr 1fr}.operator{grid-column:1/-1;padding-bottom:22px}}
@media(max-width:720px){:root{--header:68px}.site-header{padding-inline:20px}.brand{font-size:22px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:68px;left:0;right:0;padding:18px 20px 24px;background:#090c10;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:16px}.nav.open{display:flex}.section-shell{width:min(calc(100% - 36px),var(--max))}.hero{padding:50px 0 34px;gap:24px}.hero h1{font-size:clamp(46px,15vw,70px)}.hero-desc{font-size:16px}.hero-visual{min-height:250px}.stack-card{padding-left:94px}.stack-icon{left:20px}.services-grid{grid-template-columns:1fr 1fr}.contact{align-items:flex-start;flex-direction:column}.contact h2{font-size:28px}.footer{padding:24px 20px;grid-template-columns:1fr;gap:12px}.operator{grid-column:auto;padding-bottom:0}}
@media(max-width:480px){.services-grid{grid-template-columns:1fr}.hero-visual{min-height:210px}.coordinate,.merge-note{font-size:10px}.stack-card{padding:24px 20px 26px 86px}.stack-icon{width:48px;height:48px}.stack-card h2{font-size:23px}}
