.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.6,.2,1),transform .7s cubic-bezier(.2,.6,.2,1)}.reveal.is-in{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none}}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .3s ease,box-shadow .3s ease,backdrop-filter .3s ease}.site-header.is-scrolled{background:#0b0e16d1;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px #ffffff14}.site-header__inner{max-width:1240px;margin:0 auto;padding:0 28px;height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{display:flex;align-items:center;gap:6px}.logo__text{font-family:var(--font-en);font-weight:700;font-size:22px;color:#fff;letter-spacing:-.5px}.logo__dot{width:7px;height:7px;border-radius:50%;background:var(--color-accent);display:inline-block}.site-nav{display:flex;gap:36px;font-family:var(--font-en);font-size:13.5px;font-weight:500;letter-spacing:.04em;color:#ffffffd1}.site-nav__item{cursor:pointer;transition:color .2s ease;position:relative}.site-nav__item:after{content:"";position:absolute;left:0;bottom:-6px;height:1.5px;width:0;background:var(--color-accent);transition:width .28s ease}.site-nav__item:hover{color:#fff}.site-nav__item:hover:after{width:100%}.header-util{display:flex;align-items:center;gap:16px}.util-link{background:none;border:none;padding:0;font-family:var(--font-kr);font-size:13.5px;font-weight:500;color:var(--color-muted-dark);cursor:pointer;transition:color .2s ease}.util-link:hover{color:#fff}.nav-cta{font-family:var(--font-en);font-size:13.5px;font-weight:600;color:#fff;border:1px solid rgba(255,255,255,.28);padding:10px 20px;border-radius:100px;transition:all .25s ease;white-space:nowrap}.nav-cta:hover{background:#fff;color:var(--color-ink);border-color:#fff}.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px}.burger span{width:24px;height:2px;background:#fff;transition:.3s}.mobile-menu{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0e16f7;z-index:99;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:26px;opacity:0;pointer-events:none;transition:opacity .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mobile-menu.is-open{opacity:1;pointer-events:auto}.mobile-menu a,.mobile-menu button{font-family:var(--font-en);color:#fff;font-size:1.4rem;font-weight:500}.mobile-menu__auth{display:flex;flex-direction:column;align-items:center;gap:18px;margin-top:12px}main{padding-top:76px}.hero{position:relative;min-height:100vh;background:var(--color-navy);display:flex;align-items:center;overflow:hidden;padding:120px 24px 80px}.hero__ambient{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;opacity:.9}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:radial-gradient(120% 90% at 80% 10%,transparent 40%,rgba(11,14,22,.55) 100%),linear-gradient(180deg,#0b0e1633,#0b0e16b8)}.hero__inner{position:relative;z-index:2;max-width:720px;margin:0 auto;width:100%;text-align:left}.hero__eyebrow{display:flex;align-items:center;gap:10px;font-family:var(--font-en);font-size:12px;letter-spacing:2px;color:var(--color-accent-soft);margin-bottom:28px;opacity:0;transform:translateY(14px);animation:hero-rise .8s .1s ease forwards}.hero__eyebrow-line{width:24px;height:1px;background:var(--color-accent-soft);display:inline-block}.hero__title{font-family:var(--font-kr);font-weight:700;font-size:clamp(2.1rem,5.6vw,4rem);line-height:1.2;color:#fff;margin-bottom:26px;letter-spacing:-.02em;opacity:0;transform:translateY(14px);animation:hero-rise .8s .24s ease forwards}.hero__title-accent{color:var(--color-accent-soft)}.hero__desc{font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.7;color:var(--color-muted-dark);max-width:44ch;margin-bottom:36px;opacity:0;transform:translateY(14px);animation:hero-rise .8s .38s ease forwards}.hero__actions{display:flex;gap:14px;flex-wrap:wrap;opacity:0;transform:translateY(14px);animation:hero-rise .8s .52s ease forwards}@keyframes hero-rise{to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.hero__eyebrow,.hero__title,.hero__desc,.hero__actions{animation:none;opacity:1;transform:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-kr);font-size:14px;font-weight:500;padding:13px 26px;border-radius:999px;transition:transform .15s ease,background .2s ease,opacity .2s ease,box-shadow .2s ease}.btn--primary{background:var(--color-accent);color:#fff;box-shadow:0 8px 24px var(--color-accent-tint)}.btn--primary:hover{transform:translateY(-2px);opacity:.94;box-shadow:0 12px 30px var(--color-accent-tint)}.btn--ghost{border:1px solid rgba(255,255,255,.3);color:#fff}.btn--ghost:hover{background:#ffffff14;border-color:#ffffff80}.btn__arr{display:inline-block;transition:transform .2s ease}.btn:hover .btn__arr{transform:translate(4px)}.btn-line{font-family:var(--font-en);font-weight:600;font-size:14.5px;color:var(--color-ink);border:1px solid var(--color-ink);padding:14px 30px;border-radius:100px;display:inline-flex;gap:9px;align-items:center;transition:all .25s ease}.btn-line:hover{background:var(--color-ink);color:#fff}.hero__scroll{position:absolute;bottom:34px;left:50%;transform:translate(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:10px;font-family:var(--font-en);font-size:11px;letter-spacing:2px;color:#ffffff80}.hero__scroll-line{width:1px;height:34px;background:linear-gradient(to bottom,rgba(255,255,255,.5),transparent)}.marquee-section{background:var(--color-navy);border-top:1px solid var(--color-line-dark);padding:40px 0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}.marquee-track{display:flex;align-items:center;gap:48px;white-space:nowrap;animation:marquee-scroll 30s linear infinite;width:max-content}.marquee-section:hover .marquee-track{animation-play-state:paused}.marquee-track__ghost,.marquee-track__solid,.marquee-track__mark{font-family:var(--font-en);font-weight:700;font-size:clamp(2rem,5vw,4.2rem);letter-spacing:-.02em}.marquee-track__ghost{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.28)}.marquee-track__solid{color:#fff}.marquee-track__mark{color:var(--color-accent-soft)}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.section-eyebrow{display:flex;align-items:center;gap:10px;font-family:var(--font-en);font-size:12px;font-weight:600;letter-spacing:2px;color:var(--color-accent);margin-bottom:18px}.section-eyebrow-line{width:24px;height:1px;background:var(--color-accent);display:inline-block}.why-section{max-width:1180px;margin:0 auto;padding:120px 24px 60px}.why-section__title{font-family:var(--font-kr);font-weight:700;font-size:clamp(1.9rem,3.5vw,2.8rem);line-height:1.2;margin-bottom:20px;letter-spacing:-.02em}.why-section__desc{font-size:15px;line-height:1.75;color:var(--color-ink-soft);max-width:560px;margin-bottom:56px}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--color-line)}.feature-card{padding:40px;border-right:1px solid var(--color-line);border-bottom:1px solid var(--color-line);background:var(--color-surface);transition:background .3s ease}.feature-card:hover{background:var(--color-accent-tint)}.feature-card__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.feature-card__no{font-family:var(--font-en);font-size:13px;font-weight:700;color:var(--color-accent);letter-spacing:1px}.feature-card__icon{color:var(--color-ink-soft);display:flex;transition:color .3s ease,transform .3s ease}.feature-card:hover .feature-card__icon{color:var(--color-accent);transform:rotate(-8deg) scale(1.08)}.feature-card__title{font-size:19px;font-weight:700;margin-bottom:12px}.feature-card__desc{font-size:14px;line-height:1.7;color:var(--color-ink-soft)}.services-section{background:var(--color-navy);color:#fff;padding:120px 24px;max-width:1240px;margin:0 auto}.services-section__title{font-family:var(--font-kr);font-weight:700;font-size:clamp(1.9rem,3.5vw,2.8rem);line-height:1.2;color:#fff;margin-bottom:20px;letter-spacing:-.02em}.services-section__desc{font-size:15px;line-height:1.75;color:var(--color-muted-dark);max-width:560px;margin-bottom:56px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{border:1px solid var(--color-line-dark);border-radius:20px;padding:38px 34px;background:linear-gradient(180deg,#ffffff08,#ffffff01);transition:transform .3s ease,background .3s ease;position:relative;overflow:hidden}.service-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;padding:1px;background:linear-gradient(140deg,var(--color-accent),transparent 50%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .35s ease;pointer-events:none}.service-card:hover{transform:translateY(-6px);background:linear-gradient(180deg,var(--color-accent-tint),rgba(255,255,255,.01))}.service-card:hover:before{opacity:1}.service-card__no{font-family:var(--font-en);font-size:13px;color:var(--color-accent-soft);font-weight:600;letter-spacing:.14em}.service-card__title{font-size:1.45rem;font-weight:700;letter-spacing:-.02em;margin:20px 0 12px}.service-card__desc{color:var(--color-muted-dark);font-size:.95rem;margin-bottom:24px;line-height:1.6}.service-card__list{list-style:none;display:flex;flex-direction:column;gap:9px}.service-card__list li{font-size:.9rem;color:#ffffffb8;display:flex;gap:10px;align-items:center}.service-card__list li:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--color-accent-soft);flex:none}.stats-section{background:var(--color-accent);color:#fff;padding:80px 24px}.stat-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.stat{text-align:left}.stat+.stat{border-left:1px solid rgba(255,255,255,.2);padding-left:24px}.stat__big{font-family:var(--font-en);font-weight:700;font-size:clamp(2.4rem,4.4vw,3.4rem);letter-spacing:-.02em;line-height:1}.stat__label{font-size:.92rem;color:#ffffffd9;margin-top:12px}.clients-section{background:var(--color-section);padding:76px 24px;max-width:1240px;margin:0 auto}.clients-section__lead{text-align:center;color:var(--color-ink-soft);font-size:.92rem;margin-bottom:36px;font-family:var(--font-en);letter-spacing:.06em}.clients-section__row{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 36px;align-items:center}.client-logo{font-family:var(--font-en);font-weight:600;font-size:1.1rem;color:var(--color-ink);opacity:.32;letter-spacing:-.01em;transition:opacity .25s ease}.client-logo:hover{opacity:.8}.work-section{background:var(--color-surface);padding:100px 24px 120px;max-width:1240px;margin:0 auto}.work-section__title{font-family:var(--font-kr);font-weight:700;font-size:clamp(1.9rem,3.5vw,2.8rem);line-height:1.2;margin-bottom:20px;letter-spacing:-.02em}.work-section__desc{font-size:15px;line-height:1.75;color:var(--color-ink-soft);max-width:560px;margin-bottom:56px}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.work-card{border-radius:20px;overflow:hidden;position:relative;cursor:pointer;border:1px solid var(--color-line);background:var(--color-section);transition:transform .35s ease,box-shadow .35s ease}.work-card:hover{transform:translateY(-5px);box-shadow:0 22px 50px #0b0e1621}.work-card__thumb{aspect-ratio:16 / 10;position:relative;overflow:hidden}.work-card__gradient{position:absolute;top:0;right:0;bottom:0;left:0;transition:transform .5s ease}.work-card:hover .work-card__gradient{transform:scale(1.05)}.g1{background:linear-gradient(135deg,#1b2a6b,#2f55f2 60%,#5c7bff)}.g2{background:linear-gradient(135deg,#0b0e16,#243049 90%)}.g3{background:linear-gradient(135deg,#3a2160,#7b4bd6)}.work-card__badge{position:absolute;top:18px;left:18px;font-family:var(--font-en);font-size:11px;font-weight:600;letter-spacing:.14em;color:#fff;background:#00000047;border:1px solid rgba(255,255,255,.25);padding:6px 13px;border-radius:100px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.work-card__mono{position:absolute;bottom:20px;right:22px;font-family:var(--font-en);font-weight:700;font-size:clamp(1.4rem,3vw,2.2rem);color:#ffffff29;letter-spacing:-.02em}.work-card__body{padding:24px 26px 28px}.work-card__tag{font-family:var(--font-en);font-size:12px;letter-spacing:.08em;color:var(--color-accent);font-weight:600}.work-card__name{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;margin:10px 0 8px}.work-card__desc{color:var(--color-ink-soft);font-size:.92rem;line-height:1.6}.work-section__more{margin-top:44px;text-align:center}.contact-section{background:var(--color-navy);color:#fff;padding:120px 24px;max-width:1240px;margin:0 auto}.contact-section__title{font-family:var(--font-kr);font-weight:700;font-size:clamp(1.9rem,3.5vw,2.8rem);line-height:1.2;color:#fff;margin-bottom:56px;letter-spacing:-.02em}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}.contact-info{display:flex;flex-direction:column}.info-block{padding:24px 0;border-top:1px solid var(--color-line-dark)}.info-block:first-child{border-top:none;padding-top:0}.info-block__k{font-family:var(--font-en);font-size:11px;letter-spacing:.16em;color:var(--color-muted-dark);text-transform:uppercase;margin-bottom:10px}.info-block__v{font-size:1rem;color:#fff;line-height:1.7}.info-block__v a:hover{color:var(--color-accent-soft)}.contact-section form{display:grid;gap:20px}.field label{display:block;font-family:var(--font-en);font-size:12px;letter-spacing:.08em;color:var(--color-muted-dark);margin-bottom:9px;text-transform:uppercase}.field input,.field textarea{width:100%;background:#ffffff0a;border:1px solid var(--color-line-dark);border-radius:12px;padding:14px 16px;color:#fff;font-family:var(--font-kr);font-size:.98rem;transition:border-color .2s ease,background .2s ease}.field textarea{resize:vertical;min-height:110px}.field input:focus,.field textarea:focus{outline:none;border-color:var(--color-accent);background:var(--color-accent-tint)}.field input::placeholder,.field textarea::placeholder{color:#ffffff52}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.chips{display:flex;flex-wrap:wrap;gap:10px}.chip{font-family:var(--font-en);font-size:13px;padding:9px 16px;border-radius:100px;cursor:pointer;border:1px solid var(--color-line-dark);color:var(--color-muted-dark);transition:all .2s ease;-webkit-user-select:none;user-select:none}.chip.is-on{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.consent{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;color:var(--color-muted-dark)}.consent input{margin-top:3px;accent-color:var(--color-accent)}.contact-section form .btn{justify-content:center;width:100%;margin-top:4px}.form-note{font-size:.82rem;color:var(--color-muted-dark);text-align:center}.form-ok{background:var(--color-accent-tint);border:1px solid var(--color-accent);border-radius:12px;padding:20px;color:#fff;font-size:.95rem}.site-footer{background:var(--color-navy);color:#fff;border-top:1px solid var(--color-line-dark);padding:56px 24px 40px}.site-footer__top{max-width:1240px;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:30px;padding-bottom:40px;border-bottom:1px solid var(--color-line-dark)}.site-footer__logo{font-family:var(--font-en);font-weight:700;font-size:1.7rem;letter-spacing:-.02em}.site-footer__dot{color:var(--color-accent)}.site-footer__tag{color:var(--color-muted-dark);font-size:.92rem;margin-top:10px;max-width:34ch}.site-footer__nav{display:flex;gap:44px;flex-wrap:wrap}.site-footer__col h4{font-family:var(--font-en);font-size:11px;letter-spacing:.16em;color:var(--color-muted-dark);text-transform:uppercase;margin-bottom:16px}.site-footer__col a{display:block;font-size:.92rem;color:#ffffffb3;margin-bottom:10px;transition:color .2s ease}.site-footer__col a:hover{color:#fff}.site-footer__bottom{max-width:1240px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:26px;font-size:.82rem;color:var(--color-muted-dark)}.site-footer__legal{text-align:right;line-height:1.6}@media (max-width: 960px){.feature-grid{grid-template-columns:1fr}.feature-card{border-right:none!important}.feature-card:nth-child(3){border-bottom:1px solid var(--color-line)}.service-grid,.work-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr;gap:48px}.stat-grid{grid-template-columns:repeat(2,1fr);gap:36px 24px}.stat+.stat{border-left:none;padding-left:0}.stat:nth-child(2n){border-left:1px solid rgba(255,255,255,.2);padding-left:24px}}@media (max-width: 900px){.site-nav,.nav-cta,.header-util{display:none}.burger{display:flex}}@media (max-width: 720px){.hero__title{font-size:32px}.marquee-track__ghost,.marquee-track__solid,.marquee-track__mark{font-size:34px}.field-row{grid-template-columns:1fr}.why-section,.services-section,.work-section,.contact-section,.clients-section{padding-left:20px;padding-right:20px}}.admin-page{max-width:1180px;margin:0 auto;padding:140px 24px 100px}.admin-page__head{border-bottom:1.5px solid var(--color-ink);padding-bottom:20px;margin-bottom:28px}.admin-page__head h1{font-size:28px;font-weight:900;letter-spacing:-.5px;margin-bottom:6px}.admin-page__count{font-family:var(--font-en);font-size:12px;color:var(--color-ink-soft)}.admin-table-wrap{overflow-x:auto;border:1px solid var(--color-line);border-radius:10px}.admin-table{width:100%;border-collapse:collapse;font-size:13.5px;white-space:nowrap}.admin-table th,.admin-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--color-line)}.admin-table th{font-family:var(--font-en);font-size:11px;letter-spacing:1px;color:var(--color-ink-soft);background:var(--color-section)}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table__actions{display:flex;gap:8px}.admin-table__btn{font-family:var(--font-kr);font-size:12px;font-weight:500;padding:7px 14px;border:1px solid var(--color-ink);border-radius:999px;transition:background .2s ease,color .2s ease}.admin-table__btn:hover{background:var(--color-ink);color:#fff}.admin-table__btn--danger{border-color:#c0392b;color:#c0392b}.admin-table__btn--danger:hover{background:#c0392b;color:#fff}.state-msg{font-size:14px;color:var(--color-ink-soft);padding:60px 0;text-align:center}.state-msg--error{color:#c0392b}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:140px 20px 60px;background:var(--color-navy)}.auth-card{width:100%;max-width:400px;background:var(--color-surface);border-radius:12px;padding:40px 32px;display:flex;flex-direction:column;gap:16px;box-shadow:0 20px 60px #00000059}.auth-card__title{font-size:24px;font-weight:700;color:var(--color-ink)}.auth-card__desc{font-size:13px;color:var(--color-ink-soft);margin-top:-8px;margin-bottom:4px}.auth-field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--color-ink-soft)}.auth-field input{padding:12px 14px;border:1px solid var(--color-line);border-radius:6px;font-size:14px;color:var(--color-ink);background:#fff}.auth-field input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-tint)}.auth-error{font-size:13px;color:#e5484d}.auth-submit{width:100%;margin-top:4px;padding:14px 24px}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-switch{text-align:center;font-size:13px;color:var(--color-ink-soft)}.auth-switch a{color:var(--color-accent);font-weight:600}*{box-sizing:border-box;margin:0;padding:0}:root{--color-navy: #0B0E16;--color-navy-soft: #141824;--color-section: #F5F5F1;--color-surface: #FFFFFF;--color-ink: #0B0E16;--color-ink-soft: #6A6E7A;--color-muted-dark: #9AA0AE;--color-line: #E3E3DB;--color-line-dark: rgba(255, 255, 255, .12);--color-accent: #2F55F2;--color-accent-soft: #5C7BFF;--color-accent-tint: rgba(47, 85, 242, .08);--font-kr: "Pretendard", "Space Grotesk", -apple-system, sans-serif;--font-en: "Space Grotesk", "Pretendard", sans-serif}html{scroll-behavior:smooth}html,body{background:var(--color-section);color:var(--color-ink);font-family:var(--font-kr);-webkit-font-smoothing:antialiased;overflow-x:hidden}::selection{background:var(--color-accent);color:#fff}button{font-family:inherit;cursor:pointer;border:none;background:none}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}input,textarea{font-family:inherit}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
