/* Framework-free reset and system fonts. */
:root { --font-geist-sans: Arial, "Noto Sans KR", sans-serif; --font-geist-mono: "Courier New", monospace; }
html { line-height:1.5; -webkit-text-size-adjust:100%; tab-size:4; }
body { -webkit-font-smoothing:antialiased; }
*,::before,::after { box-sizing:border-box; border:0 solid; }
h1,h2,h3,h4,h5,h6,p,ol,ul { margin:0; }
h1,h2,h3,h4,h5,h6 { font-size:inherit; font-weight:inherit; }
b,strong { font-weight:bolder; }
img { max-width:100%; height:auto; vertical-align:middle; }
ol,ul { list-style:none; padding:0; }
button,input { font:inherit; }

:root { --black:#1d1d1d; --silver:#b7b7b7; --paper:#f4f4f1; --white:#fff; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--paper); color:var(--black); font-family:var(--font-geist-sans),Arial,"Noto Sans KR",sans-serif; } a { color:inherit; text-decoration:none; } img { display:block; }
.nav-shell { height:90px; max-width:1440px; margin:auto; padding:0 4vw; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #d0d0cd; }.brand img { width:62px; height:58px; object-fit:contain; }.nav-shell nav { display:flex; gap:40px; font:600 11px var(--font-geist-mono),monospace; letter-spacing:.08em; }.nav-shell nav a:hover { color:#777; }.outline-btn { border:1px solid var(--black); border-radius:999px; padding:12px 17px; display:flex; align-items:center; gap:25px; font:700 11px var(--font-geist-mono),monospace; transition:.25s; }.outline-btn:hover { background:var(--black); color:white; }
.hero { max-width:1440px; min-height:740px; margin:auto; padding:70px 4vw 64px; display:grid; grid-template-columns:1.06fr .94fr; align-items:center; overflow:hidden; }.eyebrow { display:flex; gap:10px; align-items:center; font:700 10px var(--font-geist-mono),monospace; letter-spacing:.14em; }.eyebrow span { width:7px; height:7px; border-radius:50%; background:var(--black); }h1 { font-size:clamp(59px,6.3vw,100px); line-height:.99; letter-spacing:-.08em; margin:28px 0; font-weight:800; }h1 em { font-style:normal; position:relative; z-index:0; }h1 em:after { content:""; position:absolute; left:-2%; right:-5%; bottom:5%; height:22%; background:var(--silver); z-index:-1; transform:skewX(-15deg); }.hero-description { color:#676767; font-size:16px; line-height:1.8; letter-spacing:-.025em; }.hero-description b { color:var(--black); font:700 11px var(--font-geist-mono),monospace; letter-spacing:.06em; }.hero-actions { display:flex; gap:30px; align-items:center; margin-top:38px; }.solid-btn { background:var(--black); color:white; border-radius:999px; padding:17px 22px; display:flex; gap:38px; font-size:13px; font-weight:700; transition:.2s; }.solid-btn:hover { transform:translateY(-3px); }.under-link { border-bottom:1px solid; padding:8px 0; display:flex; gap:22px; font-size:13px; font-weight:600; }
.influence-art { min-height:565px; position:relative; isolation:isolate; }.radar-grid { position:absolute; inset:5%; background-image:linear-gradient(#d9d9d5 1px,transparent 1px),linear-gradient(90deg,#d9d9d5 1px,transparent 1px); background-size:38px 38px; mask-image:radial-gradient(circle,#000 20%,transparent 72%); }.core { position:absolute; left:50%; top:50%; width:186px; height:186px; border-radius:50%; transform:translate(-50%,-50%); background:var(--black); display:grid; place-items:center; z-index:4; box-shadow:0 0 0 10px var(--paper); }.core img { width:76px; height:76px; object-fit:contain; }.wave { position:absolute; left:50%; top:50%; border:1px solid rgba(29,29,29,.32); border-radius:50%; transform:translate(-50%,-50%); animation:wave 5s cubic-bezier(.2,.65,.25,1) infinite; }.wave-1{width:240px;height:240px}.wave-2{width:360px;height:360px;animation-delay:-1.25s}.wave-3{width:480px;height:480px;animation-delay:-2.5s}.wave-4{width:600px;height:600px;animation-delay:-3.75s}.data-pill { position:absolute; z-index:6; background:white; border:1px solid var(--black); box-shadow:5px 5px 0 var(--black); padding:10px 14px; font:700 9px var(--font-geist-mono),monospace; letter-spacing:.08em; animation:float 3.5s ease-in-out infinite; }.data-pill i { width:6px; height:6px; background:var(--black); border-radius:50%; display:inline-block; margin-right:7px; }.pill-1{left:1%;top:21%}.pill-2{right:0;top:38%;animation-delay:-1.1s}.pill-3{left:12%;bottom:13%;animation-delay:-2.2s}.axis { position:absolute; font:600 8px var(--font-geist-mono),monospace; letter-spacing:.12em; color:#858585; }.axis-x{right:4%;bottom:6%}.axis-y{left:0;top:45%;transform:rotate(-90deg)}@keyframes wave{0%,100%{opacity:.18;transform:translate(-50%,-50%) scale(.88)}50%{opacity:.9;transform:translate(-50%,-50%) scale(1.04)}}@keyframes float{50%{transform:translateY(-12px)}}
.marquee { overflow:hidden; padding:17px 0; background:var(--black); color:white; font:600 11px var(--font-geist-mono),monospace; white-space:nowrap; letter-spacing:.1em; }.marquee div { width:max-content; animation:marquee 24s linear infinite; }.marquee i { color:var(--silver); margin:0 30px; font-style:normal; }@keyframes marquee{to{transform:translateX(-40%)}}
.section { padding:120px max(4vw,24px); }.section-kicker { max-width:1325px; margin:0 auto 56px; display:flex; gap:18px; font:700 10px var(--font-geist-mono),monospace; letter-spacing:.14em; }.section-kicker span { color:#888; }.about { max-width:1440px; margin:auto; }.about-grid { display:grid; grid-template-columns:1.18fr .82fr; gap:11vw; align-items:start; }.about h2,.section-title-row h2,.method-head h2 { font-size:clamp(43px,5vw,74px); line-height:1.08; letter-spacing:-.065em; margin:0; }.about h2 em,.method-head h2 em { font-style:normal; color:#838383; }.about-copy { padding-top:10px; }.about-copy p { color:#5f5f5f; font-size:16px; line-height:1.9; margin:0 0 24px; }.value-strip { margin-top:90px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--black); }.value-strip>div { padding:25px 25px 15px 0; border-right:1px solid #ccc; }.value-strip>div+div { padding-left:30px; }.value-strip>div:last-child { border:0; }.value-strip span { font:600 9px var(--font-geist-mono),monospace; color:#777; }.value-strip b { display:block; font-size:25px; line-height:1.3; margin-top:50px; }
.services,.steps { background:var(--black); color:white; }.services>.section-title-row,.services>.service-table,.steps>.section-title-row,.steps>.step-grid { max-width:1325px; margin-left:auto; margin-right:auto; }.section-title-row { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:75px; }.section-title-row .section-kicker { margin:0 0 34px; }.section-title-row>p { color:#969696; line-height:1.8; font-size:13px; }.inverse { color:white; }.service-table { border-top:1px solid #555; }.service-item { min-height:158px; display:grid; grid-template-columns:60px 1fr 1.3fr .7fr; gap:35px; align-items:center; border-bottom:1px solid #454545; transition:.25s; }.service-item:hover { padding:0 18px; background:#282828; }.service-num { align-self:start; padding-top:28px; color:var(--silver); font:600 9px var(--font-geist-mono),monospace; }.service-title small { color:#777; font:600 8px var(--font-geist-mono),monospace; letter-spacing:.13em; }.service-title h3 { margin:8px 0 0; font-size:27px; letter-spacing:-.04em; }.service-item>p { margin:0; max-width:480px; color:#a7a7a7; line-height:1.8; font-size:13px; }.service-tag { justify-self:end; border:1px solid #5c5c5c; padding:8px 10px; border-radius:999px; font:600 8px var(--font-geist-mono),monospace; color:#bbb; }
.method { max-width:1440px; margin:auto; }.method-head { display:flex; align-items:flex-end; justify-content:space-between; gap:50px; }.method-head>p { color:#666; font-size:14px; line-height:1.8; }.funnel { height:680px; position:relative; margin:60px auto 0; max-width:1080px; }.funnel-center { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:140px;height:140px;border-radius:50%;background:var(--black);display:grid;place-items:center;z-index:8;color:white;text-align:center; }.funnel-center img { width:45px;height:45px;object-fit:contain; }.funnel-center span { font:600 8px var(--font-geist-mono),monospace; letter-spacing:.12em; }.funnel-ring { position:absolute; left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #a0a0a0;border-radius:50%; }.funnel-ring span { position:absolute; background:var(--paper); padding:5px 8px; font:600 9px var(--font-geist-mono),monospace; }.ring-a{width:250px;height:250px;animation:spin 18s linear infinite}.ring-b{width:380px;height:380px;animation:spin 28s linear infinite reverse}.ring-c{width:520px;height:520px;animation:spin 36s linear infinite}.ring-d{width:660px;height:660px;animation:spin 46s linear infinite reverse}.ring-a span{left:6%;top:18%}.ring-b span{right:2%;top:31%}.ring-c span:first-child{left:3%;top:65%}.ring-c span:last-child{right:8%;top:12%}.ring-d span:first-child{left:13%;top:15%}.ring-d span:last-child{right:7%;bottom:18%}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}.platforms { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid; border-bottom:1px solid; }.platforms>div { padding:22px 18px; border-right:1px solid #bbb; }.platforms>div:last-child{border:0}.platforms b { display:block; font:700 9px var(--font-geist-mono),monospace; letter-spacing:.08em; }.platforms span { display:block; color:#777; font-size:11px; margin-top:8px; }
.step-grid { list-style:none; padding:0; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #555; }.step-grid li { min-height:290px; padding:28px 25px; border-right:1px solid #555; }.step-grid li:first-child{padding-left:0}.step-grid li:last-child{border:0}.step-grid li>span { color:var(--silver); font:600 10px var(--font-geist-mono),monospace; }.step-grid small { display:block; color:#666; font:600 8px var(--font-geist-mono),monospace; letter-spacing:.15em; margin-top:50px; }.step-grid b { display:block; font-size:23px; margin-top:10px; }.step-grid p { color:#969696; font-size:12px; line-height:1.8; margin-top:20px; }
.contact { text-align:center; min-height:720px; position:relative; overflow:hidden; display:flex;flex-direction:column;align-items:center;justify-content:center; }.contact .section-kicker { position:absolute; top:80px; left:max(4vw,24px); margin:0; }.contact-overline { font:600 10px var(--font-geist-mono),monospace!important;letter-spacing:.14em; }.contact h2 { margin:15px 0 24px; font-size:clamp(50px,7.2vw,105px);line-height:1;letter-spacing:-.075em; }.contact h2 em{font-style:normal;color:#8a8a8a}.contact>p:not(.contact-overline) { color:#666; line-height:1.8; font-size:14px; }.contact-actions { display:flex; align-items:center; gap:25px; margin-top:30px; }.contact-main { padding:18px 22px;background:var(--black);color:white;border-radius:999px;display:flex;gap:45px;font-weight:700; }.contact-mail { border-bottom:1px solid;padding:8px 0;font-size:13px; }.contact-ripple { position:absolute;inset:0;pointer-events:none; }.contact-ripple i { position:absolute;left:50%;top:50%;width:320px;height:320px;border:1px solid #ddd;border-radius:50%;transform:translate(-50%,-50%);animation:contact-wave 5s infinite; }.contact-ripple i:nth-child(2){animation-delay:-1.7s}.contact-ripple i:nth-child(3){animation-delay:-3.4s}@keyframes contact-wave{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}45%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(2.4)}}
footer { min-height:170px;background:var(--black);color:white;padding:35px 4vw;display:grid;grid-template-columns:1fr 1.2fr 1fr auto;align-items:center;gap:40px; }.footer-brand img{width:58px;height:58px;object-fit:contain}.footer-brand+P{color:#aaa;font-size:12px}footer>div{display:flex;flex-direction:column;gap:5px;color:#aaa;font-size:11px}footer>span{font:600 8px var(--font-geist-mono),monospace;color:#777}
@media(max-width:800px){
 .nav-shell{height:72px;padding:0 20px}.brand img{width:48px;height:46px}.nav-shell nav{display:none}.outline-btn{padding:10px 13px;gap:10px}.hero{grid-template-columns:1fr;padding:55px 20px 35px}.hero h1{font-size:clamp(51px,16vw,72px)}.hero-description br{display:none}.hero-actions{flex-direction:column;align-items:flex-start;gap:14px}.influence-art{min-height:450px;margin-top:25px}.core{width:140px;height:140px}.core img{width:58px;height:58px}.wave-1{width:190px;height:190px}.wave-2{width:275px;height:275px}.wave-3{width:360px;height:360px}.wave-4{width:445px;height:445px}.data-pill{transform:scale(.85)}.pill-1{left:0}.pill-2{right:0}.axis{display:none}
 .section{padding:82px 20px}.section-kicker{margin-bottom:40px}.about-grid,.method-head{grid-template-columns:1fr;display:grid;gap:32px}.value-strip{grid-template-columns:1fr;margin-top:55px}.value-strip>div,.value-strip>div+div{padding:22px 0;border-right:0;border-bottom:1px solid #ccc}.value-strip b{margin-top:25px}
 .section-title-row{display:block;margin-bottom:45px}.section-title-row>p{margin-top:25px}.service-item{grid-template-columns:34px 1fr;gap:12px;padding:25px 0}.service-item:hover{padding:25px 8px}.service-item>p,.service-tag{grid-column:2}.service-tag{justify-self:start}.service-title h3{font-size:23px}.funnel{height:440px;margin-top:45px}.funnel-center{width:100px;height:100px}.ring-a{width:160px;height:160px}.ring-b{width:235px;height:235px}.ring-c{width:315px;height:315px}.ring-d{width:400px;height:400px}.platforms{grid-template-columns:1fr 1fr}.platforms>div{border-bottom:1px solid #bbb}.step-grid{grid-template-columns:1fr 1fr}.step-grid li,.step-grid li:first-child{padding:22px 14px;min-height:245px;border-bottom:1px solid #555}.contact{min-height:680px}.contact .section-kicker{top:60px}.contact h2{font-size:50px}.contact-actions{flex-direction:column}.contact-ripple i{width:220px;height:220px}footer{grid-template-columns:1fr;gap:18px;align-items:start}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.wave,.data-pill,.marquee div,.funnel-ring,.contact-ripple i{animation:none}}

/* Keyboard navigation and progressively enhanced transitions. */
.skip-link { position:fixed; top:12px; left:12px; z-index:100; padding:12px 20px; background:#fff; color:#1d1d1d; transform:translateY(-160%); }
.skip-link:focus { transform:translateY(0); }
a:focus-visible { outline:3px solid #777; outline-offset:5px; }
.reveal-ready { opacity:0; transform:translateY(20px); transition:opacity .65s ease, transform .65s ease; }
.reveal-ready.is-visible { opacity:1; transform:none; }
.method { overflow:hidden; }
@media(max-width:380px) { .contact h2 { font-size:clamp(35px,12vw,45px); } .eyebrow { letter-spacing:.06em; } }
@media(prefers-reduced-motion:reduce) { *,::before,::after { transition:none!important; } .reveal-ready { opacity:1; transform:none; } }

.hero-intro { max-width:36rem; margin:20px 0 0; color:#676767; font-size:16px; line-height:1.8; word-break:keep-all; }
