@charset "UTF-8";

@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css");

@font-face {
    font-family: "Nelphim";
    src: url("../fonts/Nelphim-Italic.otf") format("opentype");
    font-style: italic;
    font-weight: 400;
    font-display: swap;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html { scroll-behavior: smooth; scrollbar-gutter: stable;}
body {
    font-family: 'Pretendard', sans-serif;
    color: #111;
    background: #f7f7f7;
    overflow-x: hidden;
}
a {color: inherit;text-decoration: none;}
ul, ol { list-style: none; }
img {display: block;max-width: 100%;}

/* =========================
   Layout
========================= */

.b {font-weight: 600;}
.mobile-br {display:none;}
.pc-br {display:block;}
#page-content {
    position:relative;
    z-index:10;
}

/* =========================
   Header
========================= */

#header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100px;
    padding: 0 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: 100;
}

#header .logo { line-height: 0; }
#header .logo a { display: block; }
#header .logo img {
    display: block;
    width: 137px;
    height: auto;
}
#header .gnb ul {
    display: flex;
    align-items: center;
    gap: 52px;
}
#header .gnb a {
    font-size: 21px;
    font-weight: 700;
    line-height: 1;
}
#header .gnb a[aria-current="page"]{text-decoration:underline;text-underline-offset:8px;}

.mobile-menu-open {display:none;}
#mobile-menu {position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;padding:0;border:0;color:#191919;background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);overflow-y:auto;overscroll-behavior:contain;}
#mobile-menu::backdrop {background:transparent;}

/* #mobile-menu .mobile-menu-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:8px;} */
html.mobile-menu-is-open, html.mobile-menu-is-open body {overflow:hidden !important;}
.mobile-menu-header {position:absolute;inset:0 0 auto;height:56px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;}
.mobile-menu-header img {width:76px;}
.mobile-menu-close, .mobile-menu-open {position:relative;width:44px;height:44px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;}
.mobile-menu-close span, .mobile-menu-open span {position:absolute;left:10px;width:24px;height:2px;background:currentColor;}
.mobile-menu-close span {top:21px;}
.mobile-menu-close span:first-child {transform:rotate(45deg);}
.mobile-menu-close span:last-child {transform:rotate(-45deg);}
#mobile-menu .mobile-menu-nav {min-height:100%;padding:max(90px,23dvh) 20px;display:flex;flex-direction:column;justify-content:center;}
#mobile-menu .mobile-menu-nav a {display:flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:90px;height:13.45dvh;border-top:1px solid rgba(25,25,25,.25);font-size:clamp(32px,11.3vw,52px);font-weight:700;line-height:1.1;letter-spacing:-.035em;white-space:nowrap;}
#mobile-menu .mobile-menu-nav a:last-child {border-bottom:1px solid rgba(25,25,25,.25);}

.company-page #header .mobile-menu-open {color:#191919;}
.company-page #header.is-company-dark .mobile-menu-open {color:#fff;}

/* =========================
   Hero Scroll
========================= */

#hero.hero-scroll {
    position: relative;
    height:300vh;
}
#hero .hero-sticky {
    position: sticky;
    top: 0;
    width: 100%;
    height: 100vh;
    height: 100svh;
    overflow: hidden;
}
#hero .hero-marquee {
    position:absolute;
    top:50%;
    left:0;
    width:100%;
    z-index:1;
    transform:translateY(-50%);
    overflow:visible;
    opacity:1;
    will-change:opacity, filter;
}
#hero .hero-marquee-track {
    display:flex;
    align-items:center;
    width:max-content;
    will-change:transform;
    animation:heroMarquee 24s linear infinite;
}
@keyframes heroMarquee {
    from { transform:translateX(0); }
    to { transform:translateX(-50%); }
}
#hero .hero-marquee-text {
    flex: none;
    white-space: nowrap;
    padding-right: 110px;
    font-size: clamp(72px, 6.2vw, 122px);
    font-weight: 700;
    line-height: 1;
}
#hero .hero-symbol {
    position: absolute;
    top: 50%;
    left: 50%;
    width: clamp(340px, 25vw, 500px);
    height: clamp(340px, 25vw, 500px);
    z-index: 5;
    transform: translate(-50%, -50%);
    opacity: 1;
    will-change: opacity, transform;
    pointer-events: none;
}
#hero .hero-symbol-image {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: contain;
    opacity: 0;
    filter: drop-shadow(0 24px 16px rgba(0, 0, 0, 0.12));
    transform: translate(-50%, -50%);
	transition:opacity .7s ease, transform .9s cubic-bezier(.22,1,.36,1);
    will-change: opacity, transform;
}
#hero .hero-symbol-image.is-active { opacity: 1; }

/* =========================
   Result Scene
========================= */

#hero .hero-result {
    position: absolute;
    inset: 0;
    z-index: 10;
    pointer-events: none;
}
#hero .hero-result-copy {
    position: absolute;
    inset: 0;
}
#hero .hero-answer {
    position: absolute;
    top: 50%;
    left: 0;
    white-space: nowrap;
    font-size: clamp(72px, 6vw, 122px);
    font-weight: 700;
    line-height: 1;
    opacity: 0;
    transform: translate(-120%, -70%);
    will-change: left, transform, opacity;
}
#hero .hero-results {
    position: absolute;
    top: 50%;
    right: 0;
    display: flex;
    align-items: baseline;
    white-space: nowrap;
    opacity: 0;
    transform: translate(120%, 5%);
    will-change: right, transform, opacity;
}
#hero .hero-results em {
    margin-right: 2rem;
    font-family: "Nelphim", serif;
    font-size: clamp(72px, 6vw, 122px);
}
#hero .hero-results strong {
    font-size: clamp(72px, 6vw, 122px);
    font-weight: 700;
}
#hero .hero-result-ko {
    position: absolute;
    top: 62%;
    left: 50%;
    white-space: nowrap;
    font-size: clamp(30px, 3vw, 60px);
    font-weight: 700;
    line-height: 1.2;
    opacity: 0;
    transform: translate(-50%, 40px);
    will-change: opacity, transform;
}

/* =========================
   Scroll Guide
========================= */

#hero .scroll-guide {
    position: absolute;
    left: 50%;
    bottom: 28px;
    z-index: 30;
    transform: translateX(-50%);
    text-align: center;
}
#hero .scroll-guide-text {
    display: block;
    margin-bottom: 8px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
}
#hero .scroll-guide-arrow {
    display: block;
    width: 16px;
    height: 16px;
    margin: 0 auto;
    border-right: 5px solid #111;
    border-bottom: 5px solid #111;
	animation: bounce 1.5s ease-in-out infinite;
}

@keyframes bounce {
  0%, 100% {
    transform: translateY(0) rotate(45deg);
  }
  50% {
    transform: translateY(8px) rotate(45deg);
  }
}

/* =========================
   Content Sections
========================= */

.content-section {
    min-height: 100vh;
    background: #fff;
}
.inner {
    width: calc(100% - 80px);
    max-width: 1450px;
    margin: 0 auto;
}

/* =========================
   Brand Identity
========================= */

#ai-adtech {
    min-height: auto;
    padding: 200px 0 0;
    background: #fff;
}
#ai-adtech .identity-head {
    display: grid;
    grid-template-columns: 31% 69%;
    align-items: start;
    margin-bottom: 50px;
}
#ai-adtech .section-label {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
}
#ai-adtech .identity-copy h2 {
    /* font-size: clamp(30px, 2.05vw, 42px); */
	font-size: clamp(28px, 1.87vw, 36px);
    font-weight: 700;
    line-height: 1.35;
}
#ai-adtech .identity-copy > p {
    margin-top: 42px;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.65;
}
#ai-adtech .identity-visual {position:relative;width:100%;height:400px;overflow:hidden;container-type:size;}
#ai-adtech .identity-visual > p {position:absolute;top:50%;left:50%;width:100%;padding:0 30px;color:#fff;font-size:clamp(27px,2.1vw,42px);font-weight:700;line-height:1.2;text-align:center;transform:translate(-50%,-50%);}
#ai-adtech .identity-visual video {position:absolute;top:50%;left:50%;width:100cqh;height:100cqw;max-width:none;object-fit:fill;transform:translate(-50%,-50%) rotate(90deg);}

/* =========================
   What We Do
========================= */

#what-we-do {
    min-height: auto;
    /* padding: 150px 0 160px; */
	padding: 200px 0;
    background: #fff;
}
#what-we-do .whatwedo-head {
    display: grid;
    grid-template-columns: 31% 69%;
    align-items: start;
}
#what-we-do .section-label {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
}
#what-we-do .whatwedo-copy h2 {
    /* font-size: clamp(30px, 2.05vw, 42px); */
	font-size: clamp(28px, 1.87vw, 36px);
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -1.5px;
}
#what-we-do .whatwedo-grid {
    width: 69%;
    margin-top: 95px;
    margin-left: 31%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 110px;
    row-gap: 95px;
}
#what-we-do .whatwedo-item img {
    width: 125px;
    height: 125px;
    object-fit: contain;
    margin-bottom: 36px;
}
#what-we-do .whatwedo-item h3 {
    font-size: clamp(25px, 1.8vw, 36px);
    font-weight: 700;
    line-height: 1.2;
}
#what-we-do .whatwedo-item p {
    margin-top: 18px;
    font-size: 18px;
    line-height: 1.55;
    letter-spacing: -0.3px;
}

/* =========================
   Core Capabilities
========================= */

#core-capabilities {
    position: relative;
    height: 100vh;
    height: 100svh;
    background: #fff;
}
#core-capabilities .core-sticky {
    position: relative;
    width: 100%;
    height: 100vh;
    height: 100svh;
    display: flex;
    overflow: hidden;
}
#core-capabilities .core-left {
    position: relative;
    width: 50%;
    height: 100%;
    overflow: hidden;
    background: #000;
}
#core-capabilities .core-bg {
    position: absolute;
    inset: 0;
}
#core-capabilities .core-bg-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transform: scale(1.05);
    transition: opacity 0.8s ease, transform 1.1s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}
#core-capabilities .core-progress-bar {
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 33.333333%;
    background: #063dbd;
    transition: transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}
#core-capabilities .core-bg-image.is-active { opacity: 1; }
#core-capabilities .core-left-copy {
    position: absolute;
    top: 14%;
    left: 24%;
    z-index: 5;
    color: #fff;
}
#core-capabilities .core-label {
    margin-bottom: 38px;
    font-size: 24px;
    font-weight: 700;
}
#core-capabilities .core-left-copy h2 {
    /* font-size: clamp(30px, 2vw, 40px); */
	font-size: clamp(28px, 1.87vw, 36px);
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: -1.5px;
}

#core-capabilities .core-right {
    position: relative;
    width: 50%;
    height: 100%;
    overflow: hidden;
    background: #f7f7f7;
}
#core-capabilities .core-track {
    width: 100%;
    height: 300%;
    transition: transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
}
#core-capabilities .core-controls {display:none;}
#core-capabilities .core-item {
    position: relative;
    width: 100%;
    height: 33.333333%;
    padding: 13% 12% 8% 28%;
}
#core-capabilities .core-number {
    display: block;
    font-size: clamp(48px, 3.4vw, 66px);
    font-weight: 700;
    line-height: 1;
}
#core-capabilities .core-content {
    position: absolute;
    left: 28%;
    bottom: 13%;
}
#core-capabilities .core-content h3 {
    font-size: clamp(42px, 3.4vw, 68px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -2px;
}
#core-capabilities .core-content h4 {
    margin-top: 38px;
    font-size: clamp(24px, 1.7vw, 34px);
    font-weight: 700;
}
#core-capabilities .core-content p {
    margin-top: 22px;
    font-size: 18px;
    line-height: 1.55;
    letter-spacing: -0.4px;
}

#core-capabilities .core-progress {
    position: absolute;
    top: 9%;
    left: 5.4%;
    width: 2px;
    height: 82%;
    z-index: 10;
    background: #ddd;
}

#solutions {
    min-height: auto;
    /* padding: 150px 0 180px; */
	padding:200px 0;
    background: #fff;
}
#solutions .solutions-head {
    display: grid;
    grid-template-columns: 31% 69%;
    align-items: start;
}
#solutions .section-label { font-size: 24px; font-weight: 700; line-height: 1.4; }
#solutions .solutions-head h2 {
    /* font-size: clamp(30px, 2.05vw, 42px); */
	font-size: clamp(28px, 1.87vw, 36px);
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -1.5px;
}
#solutions .solutions-list {
    width: 69%;
    margin-top: 65px;
    margin-left: 31%;
}
#solutions .solution-item {
    position:relative;
    height:108px;
    border-bottom:1px solid #d8d8d8;
    transition:height 0.45s cubic-bezier(0.22,1,0.36,1), border-color 0.3s ease;
}
#solutions .solution-item:hover,
#solutions .solution-item.is-active { border-bottom-color:#777; }
#solutions .solution-item.is-active { height: 235px; }
#solutions .solution-trigger {
    position: relative;
    width: 100%;
    height: 100%;
    cursor: pointer;
}
#solutions .solution-info {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    transition: top 0.45s cubic-bezier(0.22, 1, 0.36, 1), transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
	word-break:keep-all;
}
#solutions .solution-info h3 {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
}
#solutions .solution-info p {
    max-height: 0;
    margin-top: 20px;
    overflow: hidden;
    font-size: 17px;
    line-height: 1.6;
    opacity: 0;
    transform: translateY(10px);
    transition: max-height 0.4s ease, opacity 0.3s ease, transform 0.4s ease;
}
#solutions .solution-item.is-active .solution-info {
    top: 38px;
    transform: translateY(0);
}
#solutions .solution-item.is-active .solution-info p {
    max-height: 80px;
    opacity: 1;
    transform: translateY(0);
}
#solutions .solution-image {
    position: absolute;
    top: 73%;
    /* left: 53%; */
	left:75%;
    width: 200px;
    height: 200px;
    z-index: 5;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -50%) scale(0.94);
    transition: opacity 0.35s ease, transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
#solutions .solution-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#solutions .solution-item.is-active .solution-image {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}
#solutions .solution-toggle {
    position:absolute;
    top:40%;
    right:20px;
    width:42px;
    height:42px;
    border:0;
    background:none;
    cursor:pointer;
    transform:translateY(-50%);
}
#solutions .solution-item.is-active .solution-toggle{
	transform:translateY(0);
	top:32px;
}
#solutions .solution-toggle::before,
#solutions .solution-toggle::after {
    content:"";
    position:absolute;
    top:19px;
    width:16px;
    height:5px;
    border-radius:3px;
    background:#cfcfcf;
    transition:background 0.3s ease, transform 0.35s ease;
}
#solutions .solution-toggle::before { left:9px; transform:rotate(45deg); }
#solutions .solution-toggle::after { right:9px; transform:rotate(-45deg); }
#solutions .solution-item.is-active .solution-toggle::before { background:#111; transform:rotate(-45deg); }
#solutions .solution-item.is-active .solution-toggle::after { background:#111; transform:rotate(45deg); }

/* Works */
#works {
position:relative;height:auto;min-height:0;
/* padding:130px 0 110px; */
padding:200px 0;
overflow:hidden;background:#242424;color:#fff;z-index:2;
}
#works .inner {position:relative;width:calc(100% - 80px);max-width:1450px;height:auto;margin:0 auto;padding:0;}
#works .works-head {
display:grid;
/* grid-template-columns:34% minmax(0,1fr); */
grid-template-columns:31% 69%;
align-items:start;margin-bottom:95px;
}
#works .section-label {margin:0;font-size:24px;font-weight:700;line-height:1.4;}
#works .works-head h2 {margin:0;font-size: clamp(28px, 1.87vw, 36px);font-weight:700;line-height:1.3;letter-spacing:-1px;}
#works .works-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;}
#works .works-item {position:relative;min-width:0;aspect-ratio:16 / 9;overflow:hidden;isolation:isolate;}
#works .works-item[hidden] {display:none;}
#works .works-item img {display:block;width:100%;height:100%;object-fit:cover;transition:filter .45s ease,transform .6s cubic-bezier(.22,1,.36,1);}
#works .works-overlay {position:absolute;inset:0;z-index:1;display:flex;align-items:flex-end;padding:6%;background:rgba(0,0,0,.25);opacity:0;transition:opacity .35s ease;}
#works .works-info {width:100%;min-width:0;transform:translateY(16px);transition:transform .45s cubic-bezier(.22,1,.36,1);}
#works .works-tag {display:inline-block;padding:3px 7px;background:#002fa7;color:#fff;font-size:12px;font-weight:700;line-height:1.4;}
#works .works-info h3 {margin:12px 0 0;color:#fff;font-size:clamp(18px,1.65vw,28px);font-weight:700;line-height:1.35;letter-spacing:-.5px;word-break:keep-all;}
#works .works-details {margin:15px 0 0;padding:12px 0 0;border-top:1px solid rgba(255,255,255,.2);list-style:none;color:#fff;}
#works .works-details li {position:relative;padding-left:10px;font-size:clamp(11px,.9vw,14px);line-height:1.55;word-break:keep-all;}
#works .works-details li::before {content:"·";position:absolute;left:0;}
#works .works-item:focus-visible {outline:2px solid #fff;outline-offset:-3px;}
#works .works-item:focus-within img {filter:blur(8px);transform:scale(1.06);}
#works .works-item:focus-within .works-overlay {opacity:1;}
#works .works-item:focus-within .works-info {transform:translateY(0);}
#works .works-item.is-revealing {animation:worksReveal .65s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--reveal-delay,0ms);}

@media (hover:hover) and (pointer:fine) {
    #works .works-item:hover img {filter:blur(8px);transform:scale(1.06);}
    #works .works-item:hover .works-overlay {opacity:1;}
    #works .works-item:hover .works-info {transform:translateY(0);}
}

#works .works-more-wrap {display:flex;justify-content:center;margin-top:70px;}
#works .works-more-wrap[hidden] {display:none;}
#works .works-more {display:flex;align-items:center;justify-content:center;width:190px;height:60px;padding:0;border:1px solid #444;background:transparent;color:#fff;font:inherit;font-size:16px;cursor:pointer;transition:background .2s ease,border-color .2s ease;}
#works .works-more:hover {background:#303030;border-color:#777;}
#works .works-more:focus-visible {outline:2px solid #fff;outline-offset:4px;}
#works .works-status {position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
@keyframes worksReveal {
    from {opacity:0;transform:translateY(45px);}
    to {opacity:1;transform:translateY(0);}
}

/* Company */
.company-page,.company-page * {box-sizing:border-box;}
body.company-page {position:relative;isolation:isolate;margin:0;background:#171717;font-family:'Pretendard',sans-serif;}
.company-page #company-main {position:relative;z-index:1;}
.company-header {position:fixed;top:0;left:0;width:100%;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:36px 48px;color:#fff;}
.company-logo {display:block;width:154px;line-height:0;}
.company-logo img {width:100%;height:auto;}
.company-nav {display:flex;gap:60px;align-items:center;}
.company-nav a {color:inherit;text-decoration:none;font-size:24px;font-weight:700;}
.company-nav a[aria-current="page"] {text-decoration:underline;text-underline-offset:8px;}
.company-page a:focus-visible,.company-page button:focus-visible {outline:2px solid #fff;outline-offset:6px;}
.company-skip {position:fixed;top:12px;left:12px;z-index:100;padding:12px 20px;color:#fff;background:#111;transform:translateY(-180%);}
.company-skip:focus {transform:translateY(0);}
#company-hero {position:sticky;top:-50vh;top:-50svh;height:130vh;height:130svh;z-index:0;color:#fff;}
#company-hero .company-stage {position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:#292929;}
#company-hero .company-video {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
#company-hero .company-shade {position:absolute;inset:0;background:rgba(0,0,0,.27);pointer-events:none;}
#company-hero .company-copy {position:absolute;inset:0;width:76%;max-width:1600px;margin:auto;}
#company-hero .company-title {position:absolute;top:26%;left:0;margin:0;font-size:clamp(30px,2.5vw,54px);line-height:1.22;letter-spacing:-.04em;font-weight:700;}
#company-hero .company-description {position:absolute;top:45%;left:50%;width:50%;margin:0;font-size:clamp(15px,1.05vw,23px);line-height:1.5;letter-spacing:-.035em;word-break:keep-all;}
#company-hero .content-btn {position:absolute;top:60%;left:50%;width:50%;margin:0;word-break:keep-all;opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease;will-change:opacity,transform;}
  .content-btn a{
    width: 350px;
    min-height: 80px;
    border: 1px solid #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 50px;
    gap: 10px;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
    transition: all 0.3s ease;
  }
  .content-btn a span{
    text-indent: -9999px;
    display: inline-block;
    width: 16px;
    height: 17px;
    background: url('../images/down_arrow.png') no-repeat center / 100% auto;
  }
#company-hero .company-reveal-line {display:block;opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease;will-change:opacity,transform;}
.company-motion #company-hero .company-reveal-line {opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease;will-change:opacity,transform;}
#company-hero .company-marquee {position:absolute;bottom:30px;left:0;width:100%;overflow:hidden;}
#company-hero .company-marquee-track {display:flex;width:max-content;animation:companyMarquee 32s linear infinite;will-change:transform;}
#company-hero .company-marquee-group {display:flex;flex:none;align-items:baseline;gap:.26em;padding-right:.26em;white-space:nowrap;font-size:clamp(64px,5.25vw,140px);font-weight:700;line-height:1.15;letter-spacing:-.025em;}
#company-hero .company-marquee-group em {font-family:'Nelphim', 'Times New Roman',serif;font-weight:400;font-style:italic;}
#company-hero.is-paused .company-marquee-track {animation-play-state:paused;}
.company-page .footer-spacer {pointer-events:none;}
.company-page #footer {pointer-events:auto;}

@keyframes companyMarquee {
    from {transform:translateX(0);}
    to {transform:translateX(-50%);}
}

/* Corporate Identity */
#company-identity {position:relative;z-index:1;background:#f4f4f4;color:#191919;isolation:isolate;}
/* #company-identity .company-ci-intro {position:relative;z-index:1;padding-top:42vh;text-align:center;} */
#company-identity .company-ci-intro {position:relative;z-index:1;padding-top:15vh;text-align:center;}
#company-identity .company-ci-copy {width:calc(100% - 40px);max-width:1400px;margin:0 auto;}
#company-identity .company-ci-copy h2 {margin:0 0 36px;font-size:24px;line-height:1.4;font-weight:700;}
#company-identity .company-ci-copy p {margin:0;font-size:36px;line-height:1.3;letter-spacing:-.04em;font-weight:700;word-break:keep-all;}
/* #company-identity .company-ci-origin {position:relative;height:clamp(200px,28.3vh,360px);margin-top:54px;} */
#company-identity .company-ci-origin {position:relative;height:clamp(50px,10vh,100px);margin-top:54px;}
#company-identity .company-ci-dot {position:absolute;top:0;left:50%;width:11px;height:11px;border-radius:50%;background:#0639a6;transform:translate(-50%,-50%);}
#company-identity .company-ci-line {position:absolute;top:0;left:50%;z-index:0;width:1px;height:0;background:#ccc;pointer-events:none;}
#company-identity .company-ci-scroll {position:relative;z-index:1;height:320vh;height:320svh;}
#company-identity .company-ci-stage {position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;}
/* #company-identity .company-ci-logo {position:absolute;top:50%;left:50%;z-index:1;width:72%;max-width:1600px;transform:translate(-50%,-50%);} */
#company-identity .company-ci-logo {position:absolute;top:30%;left:50%;z-index:1;width:72%;max-width:1600px;transform:translate(-50%,-50%);}
#company-identity .company-ci-logo img {display:block;width:100%;height:auto;}
#company-identity .company-ci-card {position:absolute;top:0;z-index:2;display:flex;flex-direction:column;justify-content:space-between;width:min(26.05vw,500px);aspect-ratio:1;padding:clamp(24px,2.6vw,50px);background:rgba(255,255,255,.78);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);transform:translate3d(0,110vh,0);will-change:transform;}
#company-identity .company-ci-card-d {left:17.45%;}
#company-identity .company-ci-card-tribe {right:12.25%;}
#company-identity .company-ci-mark {position:relative;overflow:hidden;flex-shrink:0;}
#company-identity .company-ci-mark img {display:block;height:auto;max-width:none;}
#company-identity .company-ci-mark-d {width:45%;}
#company-identity .company-ci-mark-d img {width:280%;}
#company-identity .company-ci-mark-tribe {width:88%;}
#company-identity .company-ci-mark-tribe img {width:158%;margin-left:-58%;}
#company-identity .company-ci-keywords {display:grid;grid-template-columns:1fr 1fr;margin:0;padding:0;border-top:1px solid #191919;list-style:none;}
#company-identity .company-ci-keywords li {display:flex;align-items:center;gap:9px;min-width:0;padding:16px 0;border-bottom:1px solid #191919;font-size:clamp(12px,1.05vw,20px);line-height:1.1;font-weight:700;letter-spacing:-.025em;}
#company-identity .company-ci-keywords li::before {content:"";flex:none;width:8px;height:8px;border-radius:50%;background:#0639a6;}
#company-identity .ci-mobile-br {display:none;}

/* Mission & Vision */
#company-mission {position:relative;z-index:1;height:calc(100vh + 134vw);height:calc(100svh + 134vw);background:#000;color:#fff;}
#company-mission .company-mv-stage {position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;}
#company-mission .company-mv-video {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
#company-mission .company-mv-shade {position:absolute;inset:0;background:rgba(0,0,0,.22);}
#company-mission .company-mv-track {position:relative;width:234%;height:100%;will-change:transform;}
#company-mission .company-mv-intro {position:absolute;top:50%;left:37.8vw;width:32vw;transform:translateY(-50%);}
#company-mission .company-mv-intro h2 {margin:0 0 40px;font-size:24px;line-height:1.4;font-weight:700;}
#company-mission .company-mv-intro p {margin:0;font-size:36px;line-height:1.3;letter-spacing:-.04em;font-weight:700;word-break:keep-all;}
#company-mission .company-mv-card {position:absolute;top:30%;width:37.8vw;height:41.67%;margin:0;}
#company-mission .company-mv-mission {left:104vw;}
#company-mission .company-mv-vision {left:184vw;}
#company-mission .company-mv-card > img {display:block;width:100%;height:100%;object-fit:cover;}
#company-mission .company-mv-card h3 {position:absolute;z-index:1;margin:0;font-family:'Nelphim','Times New Roman',serif;font-size:clamp(64px,5.2vw,110px);line-height:1;font-weight:400;font-style:italic;letter-spacing:-.035em;}
#company-mission .company-mv-message {position:absolute;z-index:1;margin:0;font-size:clamp(28px,2.5vw,52px);line-height:1.2;letter-spacing:-.04em;font-weight:700;word-break:keep-all;}
#company-mission .company-mv-description {position:absolute;z-index:1;margin:0;font-size:clamp(14px,1.05vw,22px);line-height:1.5;letter-spacing:-.035em;word-break:keep-all;}
#company-mission .company-mv-mission h3 {top:-.6em;left:-2.6vw;}
#company-mission .company-mv-mission .company-mv-message {top:12%;left:6.8%;}
#company-mission .company-mv-mission .company-mv-description {top:97%;left:26.7%;width:78%;}
#company-mission .company-mv-vision h3 {top:62%;left:-2.6vw;}
#company-mission .company-mv-vision .company-mv-message {top:88%;left:6.8%;width:100%;}
#company-mission .company-mv-vision .company-mv-description {bottom:97%;left:26.7%;width:78%;}

/* AX Collaboration Model */
.company-ax-wrap {position:relative;z-index:1;background:#fff;}
#company-ax {position:sticky;top:0;z-index:1;display:flex;align-items:center;min-height:100vh;min-height:100svh;background:#fff;color:#191919;}
#company-ax .company-ax-inner {width:100%;padding:130px 0 100px;text-align:center;}
#company-ax h2 {margin:0 20px 36px;font-size:24px;line-height:1.4;font-weight:700;}
#company-ax .company-ax-description {margin:0 20px;font-size:36px;line-height:1.3;letter-spacing:-.04em;font-weight:700;word-break:keep-all;}
#company-ax .company-ax-image {width:100%;margin:36px auto 0;}
#company-ax .company-ax-image img {display: block;width: 80%;height: auto;margin: 4rem auto 0;}
#company-ax .ax-mobile-br {display:none;}

/* AX 화면 위로 올라오는 다음 섹션 */
#company-lab {
	position:relative;
	z-index:2;
	min-height:100vh;
	min-height:100svh;
	background:#012fa7;
	color:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:140px 24px;
	overflow:hidden;
	isolation:isolate;
	margin-top:50vh;
	margin-top:50svh;
}
#company-lab::before {content:"";position:absolute;inset:0;z-index:-1;background:url('/images/company-lab-pattern.jpg') no-repeat center;background-size:auto 90%;pointer-events:none;}
#company-lab .company-lab-inner {width:100%;max-width:1500px;margin:0 auto;}
#company-lab .company-lab-copy {display:flex;flex-direction:column;gap:2px;margin:0;font-size:clamp(32px,3.125vw,64px);line-height:1.3;font-weight:700;letter-spacing:-.04em;text-align:center;word-break:keep-all;}
#company-lab .company-lab-line {display:flex;align-items:center;justify-content:center;gap:20px;min-height:1.35em;}
#company-lab .company-lab-copy strong{font-weight:700;}
#company-lab .company-lab-image {display:block;flex-shrink:0;height:1.333em;object-fit:cover;}
#company-lab .company-lab-image-01 {width:3.333em;}
#company-lab .company-lab-image-02 {width:2.5em;}
#company-lab .company-lab-image-03 {width:4.167em;}
#company-lab .company-lab-copy-mobile {display:none;}

/* AX Experts & Organization */
#company-experts {position:relative;z-index:1;background:#000;color:#fff;isolation:isolate;clip-path:inset(0);}
#company-experts .company-experts-background {position:sticky;top:0;z-index:0;height:100vh;height:100svh;overflow:hidden;pointer-events:none;}
#company-experts .company-experts-video {display:block;width:100%;height:100%;object-fit:cover;}
#company-experts .company-experts-shade {position:absolute;inset:0;background:rgba(0,0,0,.25);}
#company-experts .company-experts-content {position:relative;z-index:1;margin-top:-100vh;margin-top:-100svh;}
#company-experts .company-experts-intro {display:flex;align-items:center;min-height:100vh;min-height:100svh;padding:140px 0;}
#company-experts .company-experts-intro-inner {width:75.5%;max-width:1600px;margin:0 auto;}
#company-experts .company-experts-intro h2 {margin:0 0 36px;font-size:24px;line-height:1.4;font-weight:700;}
#company-experts .company-experts-intro p {margin:0;font-size:clamp(26px,1.875vw,40px);line-height:1.35;font-weight:700;letter-spacing:-.04em;word-break:keep-all;}
#company-experts .company-expert {position:relative;width:70.3%;max-width:1500px;min-height:100vh;min-height:100svh;margin-left:17.45%;padding:17.5vh 0;}
#company-experts .company-expert-image {width:37.04%;max-width:500px;aspect-ratio:1;}
#company-experts .company-expert-image img {display:block;width:100%;height:100%;object-fit:cover;}
#company-experts .company-expert-copy h3 {margin:0;font-size:clamp(30px,3.125vw,64px);line-height:1.2;font-weight:700;letter-spacing:-.025em;}
#company-experts .expert-reveal {opacity:0;transform:translateY(90px);transition:opacity 1s ease,transform 1s cubic-bezier(.22,1,.36,1);transition-delay:0s;}
#company-experts .expert-reveal.is-visible {opacity:1;transform:translateY(0);}
#company-experts .company-expert-strategy .company-expert-copy.is-visible {transition-delay:.6s;}
#company-experts .company-expert-rnd .company-expert-image.is-visible {transition-delay:.6s;}
#company-experts .company-expert-detail {margin-top:80px;padding-left:5.2vw;}
#company-experts .company-expert-detail h4 {margin:0 0 36px;font-size:clamp(26px,2.5vw,52px);line-height:1.3;font-weight:700;letter-spacing:-.04em;}
#company-experts .company-expert-detail p {margin:0;font-size:clamp(15px,1.042vw,22px);line-height:1.5;letter-spacing:-.035em;word-break:keep-all;}
#company-experts .company-expert-strategy {display:flex;align-items:flex-start;gap:9.26%;padding-top:23.3vh;}
#company-experts .company-expert-strategy .company-expert-image {flex-shrink:0;}
#company-experts .company-expert-strategy .company-expert-copy {flex:1;min-width:0;padding-top:17.5vh;}
#company-experts .company-expert-rnd {display:flex;align-items:flex-start;justify-content:space-between;gap:6%;}
#company-experts .company-expert-rnd .company-expert-copy {flex:1;min-width:0;}
#company-experts .company-expert-rnd .company-expert-image {flex-shrink:0;margin-top:18.5vh;}
#company-experts.is-entering .company-experts-video {position:fixed;inset:0;width:100%;height:100vh;height:100svh;object-fit:cover;}
#company-experts.is-entering .company-experts-shade {position:fixed;inset:0;height:100vh;height:100svh;}
#company-experts.is-entering .company-experts-intro-inner {position:fixed;top:50svh;left:50%;transform:translate(-50%,-50%);}
#company-experts .experts-mobile-br {display:none;}

/* Clients & Partners */
#company-partners {position:relative;z-index:2;padding:190px 0 200px;background:#fff;color:#191919;text-align:center;}
#company-partners .company-partners-inner {width:75.5%;max-width:1600px;margin:0 auto;}
#company-partners h2 {margin:0 0 38px;font-size:24px;line-height:1.4;font-weight:700;}
#company-partners .company-partners-heading {margin:0;font-size:36px;line-height:1.3;font-weight:700;letter-spacing:-.04em;word-break:keep-all;}
#company-partners .company-partners-description {margin:42px 0 0;font-size:20px;line-height:1.5;letter-spacing:-.035em;word-break:keep-all;}
#company-partners .company-partners-image {margin-top:96px;}
#company-partners .company-partners-image img {display:block;width:100%;height:auto;}
#company-partners .company-partners-image picture {display:block;}
#company-partners .partners-mobile-br {display:none;}

/* Contact & Location */
#company-contact {position:relative;z-index:2;padding:190px 0 200px;background:#191919;color:#fff;text-align:center;}
#company-contact .company-contact-inner {width:75.5%;max-width:1600px;margin:0 auto;}
#company-contact h2 {margin:0 0 38px;font-size:24px;line-height:1.4;font-weight:700;}
#company-contact .company-contact-heading {margin:0;font-size:36px;line-height:1.3;font-weight:700;letter-spacing:-.04em;word-break:keep-all;}
#company-map {position:relative;width:100%;height:500px;margin-top:96px;background:#eee;color:#191919;text-align:left;}
#company-map .company-map-status {display:flex;align-items:center;justify-content:center;height:100%;margin:0;padding:24px;text-align:center;font-size:16px;}
.company-map-gray img:not([src*="company-map-marker.png"]) {filter:grayscale(1);}
#company-contact .company-contact-info {display:flex;flex-direction:column;gap:68px;margin:94px 0 0;}
#company-contact .company-contact-info .double-row{display:flex;width:100%; gap:70px; justify-content:center; align-items:center;}
#company-contact .company-contact-info .content-btn{width:100%;}
#company-contact .company-contact-info .content-btn a{margin:0 auto;}
#company-contact .company-contact-info dt {margin:0 0 20px;font-size:20px;line-height:1.5;font-weight:700;}
#company-contact .company-contact-info dd {margin:0;font-size:20px;line-height:1.5;letter-spacing:-.025em;word-break:keep-all;}
#company-contact .company-contact-info a {color:inherit;text-decoration:none;}
#company-contact .company-contact-info .company-contact-email {text-decoration:underline;text-underline-offset:5px;}
#company-contact .company-contact-info a:focus-visible {outline:2px solid #fff;outline-offset:6px;}

#footer .footer-inner,
#footer .footer-marquee {
	will-change: transform;
}

.footer-spacer {
    position:relative;
    height:540px;
    background:transparent;
    pointer-events:none;
}
#footer {position:fixed;left:0;bottom:0;width:100%;height:540px;background:#f4f4f4;color:#111;z-index:0;overflow:hidden;}
#footer .footer-inner {
    display:grid;
    grid-template-columns:31% 31% 38%;
    padding-top:95px;
}
#footer .footer-logo img { width:150px; height:auto; }
#footer .footer-links {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:18px;
}
#footer .footer-links a {
    font-size:16px;
    line-height:1.4;
}
#footer .footer-info {
    font-size:16px;
    line-height:1.7;
}
#footer .copyright { margin-top:38px; }

#footer .footer-marquee {
    position:absolute;
    left:0;
    bottom:20px;
    width:100%;
    overflow:hidden;
    white-space:nowrap;
}
#footer .footer-marquee-track {
    display:flex;
    width:max-content;
    will-change:transform;
    animation:footerMarquee 24s linear infinite;
}
#footer .footer-marquee-track span {
    flex:none;
    padding-right:70px;
    font-size:clamp(72px,7vw,145px);
    font-weight:700;
    /* line-height:1; */
	line-height:1.2;
    letter-spacing:-5px;
}
@keyframes footerMarquee {
    from { transform:translateX(0); }
    to { transform:translateX(-33.3333%); }
}

/* Footer policy dialog */
html.policy-is-open {overflow:hidden;}
.policy-dialog {position:fixed;inset:0;width:min(760px,calc(100% - 40px));max-height:80vh;max-height:80svh;margin:auto;padding:0;border:0;background:#fff;color:#191919;text-align:left;box-shadow:0 20px 80px rgba(0,0,0,.2);}
.policy-dialog[open] {display:flex;flex-direction:column;}
.policy-dialog::backdrop {background:rgba(0,0,0,.65);}
.policy-dialog .policy-dialog-header {display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:20px;padding:26px 32px;border-bottom:1px solid #ddd;}
.policy-dialog .policy-dialog-header h2 {margin:0;font-size:24px;line-height:1.4;font-weight:700;}
.policy-dialog .policy-dialog-close {display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;padding:0;border:0;background:transparent;color:#191919;font:inherit;font-size:34px;line-height:1;cursor:pointer;}
.policy-dialog .policy-dialog-body {min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:30px 32px 40px;font-size:16px;line-height:1.75;word-break:keep-all;}
.policy-dialog .policy-dialog-body h3 {margin:28px 0 10px;font-size:18px;font-weight:700;}
.policy-dialog .policy-dialog-body p {margin:0 0 16px;}
.policy-dialog .policy-dialog-body p:last-child {margin-bottom:0;}
.policy-dialog .policy-sample-notice {padding:16px;background:#f4f4f4;color:#555;}
.policy-dialog .policy-dialog-close:focus-visible,.policy-dialog .policy-dialog-body:focus-visible {outline:2px solid #0639a6;outline-offset:-4px;}


/* =========================
   Responsive
========================= */

@media (hover : hover) {
    .content-btn a:hover{
      border: 1px solid #002fa7;
      background-color: #002fa7;
    }
  }
  
@media (min-height: 1600px) {
	#company-hero .content-btn {position:absolute;top:54%;left:50%;width:50%;margin:0;word-break:keep-all;opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease;will-change:opacity,transform;}
}
  


@media (max-width: 1280px) {
	#header {
        height: 88px;
        padding: 0 32px;
    }
    #header .gnb ul { gap: 32px; }
    #header .gnb a { font-size: 18px; }

    #hero .hero-marquee-text { letter-spacing: -3px; }
    #hero .hero-answer,
    #hero .hero-results strong { letter-spacing: -3px; }

    .inner {
        width: calc(100% - 64px);
        max-width: none;
    }
	
	.content-btn a{
		width:300px;
		min-height:70px;
		padding:10px 25px;
		font-size:16px;
	}
	
	#company-hero .content-btn{left:48%;}

    #ai-adtech { padding-top: 130px; }
    #ai-adtech .identity-head { grid-template-columns: 28% 72%; }
    #ai-adtech .identity-copy > p {margin-top: 32px;font-size: 17px;}
    #ai-adtech .identity-visual { height: 340px; }
	
	#what-we-do { padding: 120px 0 130px; }
    #what-we-do .whatwedo-head { grid-template-columns: 28% 72%; }
    #what-we-do .whatwedo-grid {
        width: 72%;
        margin-left: 28%;
        column-gap: 70px;
        row-gap: 80px;
    }
    #what-we-do .whatwedo-item img {
        width: 110px;
        height: 110px;
        margin-bottom: 30px;
    }
    #what-we-do .whatwedo-item p { font-size: 17px; }

	#core-capabilities .core-left-copy { left: 14%; }
    #core-capabilities .core-item { padding-left: 23%; }
    #core-capabilities .core-content { left: 23%; }
    #core-capabilities .core-content p { font-size: 16px; }
	
	#solutions .solution-image {left:75%;width:150px;height:150px;}
	#solutions .solution-item.is-active .solution-image {left:75%;}
	
	#works {padding:100px 0 80px;}
    #works .inner {width:calc(100% - 64px);}
    #works .works-head {margin-bottom:45px;}
    #works .works-grid {gap:24px;}
	
	.company-header{padding:28px 32px;}
	.company-nav{gap:36px;}
	.company-nav a{font-size:19px;}
	#company-hero .company-copy{width:84%;}
	#company-hero .company-description{left:48%;width:52%;}

	#company-identity .company-ci-copy p {font-size:30px;}
    #company-identity .company-ci-card {width:32vw;padding:28px;}
    #company-identity .company-ci-card-d {left:10%;}
    #company-identity .company-ci-card-tribe {right:10%;}
    #company-identity .company-ci-keywords li {padding:13px 0;font-size:14px;}

	#company-mission .company-mv-intro {width:38vw;}
    #company-mission .company-mv-intro h2 {margin-bottom:28px;font-size:20px;}
    #company-mission .company-mv-intro p {font-size:28px;}
    #company-mission .company-mv-description .pc-br {display:none;}
	
    #company-ax .company-ax-inner {padding:110px 0 70px;}
    #company-ax .company-ax-description {font-size:30px;}
    #company-ax .company-ax-image {margin-top:60px;}
	
	#company-lab {padding:120px 24px;}
    #company-lab .company-lab-line {gap:14px;}

	#company-experts .company-experts-intro-inner {width:84%;}
	#company-experts .company-expert {width:84%;margin:0 auto;}
	#company-experts .company-expert-detail {margin-top:50px;padding-left:3vw;}
	#company-experts .company-expert-detail h4 {margin-bottom:26px;}
	#company-experts .company-expert-detail .pc-br {display:none;}

	#company-partners {padding:140px 0;}
	#company-partners .company-partners-inner {width:84%;}
	#company-partners .company-partners-heading {font-size:30px;}
	#company-partners .company-partners-description {font-size:18px;}
	#company-partners .company-partners-image {margin-top:76px;}

	#company-contact {padding:140px 0;}
	#company-contact .company-contact-inner {width:84%;}
	#company-contact .company-contact-heading {font-size:30px;}
	#company-map {height:450px;margin-top:76px;}
	#company-contact .company-contact-info dd {font-size:18px;}
}

@media (max-width:1100px){
	#solutions .solution-info{
		width:50%;
	}
	#solutions .solution-item.is-active .solution-image{left:70%;}
	#solutions .solution-item .solution-image{left:70%;}
	
}

@media (max-width: 768px) {
	#solutions .solution-item .solution-image{left:0;}
	html {scrollbar-gutter:auto;}
	
	.mobile-br {display:block;}
	.pc-br {display:none;}
	.inner { width: calc(100% - 48px); }
	
    #header {height:48px;padding:0 16px;}
    #header .logo img {width:72px;}
    #header .gnb {display:none;}
    #header .mobile-menu-open {display:block;margin-right:-10px;}
    .mobile-menu-open span:first-child {top:16px;}
    .mobile-menu-open span:last-child {top:27px;}
	
    /* 첫 화면 */
    #hero.hero-scroll {height:100svh;}
    #hero .hero-sticky {position:relative;height:100%;background:radial-gradient(ellipse at 85% 100%,rgba(183,190,216,.46),transparent 48%),radial-gradient(ellipse at 0 0,rgba(221,211,205,.4),transparent 45%),#f7f7f7 !important;}
    #hero .hero-result-copy {inset:18% 9.5% auto;}
    #hero .hero-answer {position:static;font-size:clamp(28px,9.45vw,52px);line-height:1.08;opacity:1 !important;transform:none !important;}
    #hero .hero-results {position:static;justify-content:flex-end;gap:6px;opacity:1 !important;transform:none !important;}
    #hero .hero-results em, #hero .hero-results strong {font-size:clamp(28px,9.45vw,52px);line-height:1.08;}
    #hero .hero-results em {margin-right:0;}
    #hero .hero-symbol {top:50%;width:min(65vw,350px);height:min(65vw,350px);opacity:1 !important;transform:translate(-50%,-50%) !important;}
	#hero .hero-marquee {top:50%;opacity:1 !important;filter:none !important;}
    #hero .hero-marquee-text {font-size:clamp(42px,12.8vw,72px);letter-spacing:-1.5px;padding-right:40px;opacity:1 !important;filter:none !important;}
    #hero .hero-result-ko {top:73.5%;left:50%;font-size:clamp(24px,7.2vw,36px);opacity:1 !important;transform:translateX(-50%) !important;}
    #hero .scroll-guide {bottom:max(16px,env(safe-area-inset-bottom));}
    #hero .scroll-guide-text {margin-bottom:7px;font-size:11px;}
    #hero .scroll-guide-arrow {width:8px;height:8px;border-width:3px;}

    /* Brand identity */
	#ai-adtech {min-height:auto;padding:56px 0 38px;}
	#ai-adtech .inner {width:auto;max-width:none;margin:0 24px;}
	#ai-adtech .identity-head {display:block;margin-bottom:35px;}
	#ai-adtech .section-label {margin-bottom:18px;font-size:15px;font-weight:700;line-height:1.4;}
	#ai-adtech .identity-copy h2 {font-size:25px;line-height:1.3;word-break:keep-all;letter-spacing: 0;}
	#ai-adtech .identity-copy > p {margin-top: 32px;font-size: 15px;line-height: 1.4; word-break: keep-all;color: #1a1a1a;}
	#ai-adtech .identity-visual {position:relative;display:flex;align-items:flex-end;justify-content:flex-end;width:calc(100% + 24px);height:auto;aspect-ratio:345 / 215;margin:0;padding:0 15px 20px 0;}
	#ai-adtech .identity-visual p {position:relative;inset:auto;z-index:1;flex:0 0 65%;width:65%;margin:0;padding:0;font-size:clamp(22px,6.5vw,35px);font-weight:700;line-height:1.17;letter-spacing:-.4px;color:#fff;text-align:left;transform:none;}
    #ai-adtech .identity-visual video {width:100%;height:100%;transform:translate(-50%,-50%) rotate(0deg);}
	
	/* What we do */
	#what-we-do {min-height:auto;padding:30px 0 60px;}
    #what-we-do .inner {width:auto;max-width:none;margin:0 24px;}
    #what-we-do .whatwedo-head {display:block;grid-template-columns:none;margin-bottom:45px;}
    #what-we-do .section-label {margin-bottom:18px;font-size:15px;font-weight:700;line-height:1.4;}
    #what-we-do .whatwedo-copy h2 {font-size:25px;line-height:1.3;word-break:keep-all;letter-spacing:0;}
    #what-we-do .whatwedo-grid {display:grid;grid-template-columns:1fr;width:100%;margin:0;column-gap:0;row-gap:45px;}
    #what-we-do .whatwedo-item {display:grid;grid-template-columns:65px minmax(0,1fr);column-gap:25px;row-gap:12px;align-content:start;text-align:left;}
    #what-we-do .whatwedo-item img {grid-column:1;grid-row:1 / 3;width:65px;height:65px;margin:0;object-fit:contain;}
    #what-we-do .whatwedo-item h3 {grid-column:2;margin:0;font-size:20px;font-weight:700;line-height:1.3;letter-spacing:0;}
    #what-we-do .whatwedo-item p {grid-column:2;margin:0;font-size:15px;line-height:1.4;word-break:keep-all;letter-spacing:0;color:#1a1a1a;}

    #core-capabilities {height:auto;min-height:0;background:#f7f7f7;}
    #core-capabilities .core-sticky {position:relative;top:auto;display:block;height:auto;overflow:hidden;}
    #core-capabilities .core-left {display:flex;align-items:center;justify-content:center;width:100%;height:auto;aspect-ratio:433 / 395;padding:45px 24px;}
    #core-capabilities .core-bg-image {opacity:0 !important;transform:none !important;}
    #core-capabilities .core-bg-image:first-child {opacity:1 !important;}
    #core-capabilities .core-left-copy {position:relative;inset:auto;width:100%;text-align:center;}
    #core-capabilities .core-label {margin-bottom:22px;font-size:15px;line-height:1.4;}
    #core-capabilities .core-left-copy h2 {font-size:25px;line-height:1.3;letter-spacing:-.6px;word-break:keep-all;}

    #core-capabilities .core-right {width:100%;height:auto;padding:0 0 100px;background:#f7f7f7;touch-action:pan-y;}
    #core-capabilities .core-track {display:flex;align-items:stretch;width:100%;height:auto;transition:transform .5s cubic-bezier(.22,1,.36,1);}
    #core-capabilities .core-item {display:grid;grid-template-columns:24% minmax(0,1fr);column-gap:12px;flex:0 0 100%;width:100%;min-width:0;height:auto;padding:45px 24px 0;}
    #core-capabilities .core-number {font-size:32px;line-height:1.2;}
    #core-capabilities .core-content {position:static;inset:auto;min-width:0;}
    #core-capabilities .core-content h3 {font-size:clamp(27px,7.4vw,34px);line-height:1.15;letter-spacing:-.7px;overflow-wrap:break-word;}
    #core-capabilities .core-content h4 {margin-top:32px;font-size:20px;line-height:1.4;}
    #core-capabilities .core-content p {margin-top:15px;font-size:15px;line-height:1.4;letter-spacing:0;word-break:keep-all;overflow-wrap:anywhere;}

    #core-capabilities .core-controls {position:absolute;left:16px;bottom:35px;display:flex;gap:2px;}
    #core-capabilities .core-controls button {display:flex;align-items:center;justify-content:center;width:34px;height:44px;padding:0;border:0;background:transparent;color:#222;cursor:pointer;}
    #core-capabilities .core-controls button::before {content:"";width:10px;height:10px;border-top:3px solid currentColor;border-right:3px solid currentColor;}
    #core-capabilities .core-prev::before {transform:rotate(-135deg);}
    #core-capabilities .core-next::before {transform:rotate(45deg);}
    #core-capabilities .core-controls button:disabled {color:#ccc;cursor:default;}
    #core-capabilities .core-progress {position:absolute;inset:auto 24px 56px 31%;width:auto;height:2px;background:#ddd;}
    #core-capabilities .core-progress-bar {top:0;left:0;width:var(--core-step,33.333333%);height:100%;background:#5145b5;transition:transform .5s ease;}

	/* Solutions */
	#solutions {min-height:auto;padding:56px 0 60px;}
	#solutions .inner {width:auto;max-width:none;margin:0 24px;}
	#solutions .solutions-head {display:block;grid-template-columns:none;}
	#solutions .section-label {margin-bottom:18px;font-size:15px;font-weight:700;line-height:1.4;}
	#solutions .solutions-head h2 {font-size:25px;line-height:1.3;letter-spacing:0;word-break:keep-all;}
	#solutions .solutions-list {display:grid;grid-template-columns:1fr;gap:45px;width:100%;margin:40px 0 0;}
	#solutions .solution-item, #solutions .solution-item.is-active {height:auto;margin:0;padding:0;border:0;transition:none;}
	#solutions .solution-trigger {position:static;display:flex;flex-direction:column;width:100%;height:auto;cursor:default;}
	#solutions .solution-image, #solutions .solution-item.is-active .solution-image {position:relative;inset:auto;order:0;width:100%;height:auto;aspect-ratio:2.35 / 1;margin:0;opacity:1;transform:none;pointer-events:auto;transition:none;overflow:hidden;}
	#solutions .solution-image img {display:block;width:100%;height:100%;object-fit:cover;}
	#solutions .solution-info, #solutions .solution-item.is-active .solution-info {position:static;inset:auto;order:1;width:100%;margin-top:18px;transform:none;transition:none;}
	#solutions .solution-info h3 {font-size:20px;font-weight:700;line-height:1.3;letter-spacing:0;}
	#solutions .solution-info p, #solutions .solution-item.is-active .solution-info p {max-height:none;margin-top:14px;font-size:15px;line-height:1.4;letter-spacing:0;word-break:keep-all;color:#1a1a1a;opacity:1;transform:none;overflow:visible;transition:none;}
	#solutions .solution-toggle {display:none;}
	
	/* Works */
	#works {padding:56px 0 60px;}
	#works .inner {width:auto;max-width:none;margin:0 16px;}
	#works .works-head {grid-template-columns:26% minmax(0,1fr);gap:12px;margin-bottom:40px;}
	#works .section-label {font-size:13px;line-height:1.4;}
	#works .works-head h2 {font-size:22px;line-height:1.3;letter-spacing:-.5px;word-break:keep-all;}
	#works .works-grid {grid-template-columns:1fr;gap:40px;}
	#works .works-item {aspect-ratio:auto;}
	#works .works-item img, #works .works-item:hover img, #works .works-item:focus-within img {display:block;width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;filter:none;transform:none;transition:none;}
	#works .works-overlay {position:static;inset:auto;display:block;padding:20px 0 0;background:none;opacity:1;transition:none;}
	#works .works-info, #works .works-item:focus-within .works-info {width:100%;transform:none;transition:none;}
	#works .works-tag {padding:4px 8px;font-size:12px;line-height:1.4;}
	#works .works-info h3 {margin:12px 0 0;font-size:22px;line-height:1.3;letter-spacing:-.5px;word-break:keep-all;}
	#works .works-details {margin:16px 0 0;padding:0;border:0;}
	#works .works-details li {padding-left:10px;font-size:14px;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere;}
	#works .works-more-wrap {margin-top:36px;}
	#works .works-more {width:140px;height:46px;font-size:14px;}
	
	.company-header{padding:24px 20px;gap:20px;}
	.company-logo{width:100px;flex-shrink:0;}
	.company-nav{gap:16px;}
	.company-nav a{font-size:12px;white-space:nowrap;}
	#company-hero .company-copy {width:calc(100% - 40px);max-width:none;}
    #company-hero .company-title {top:17.5%;left:0;width:100%;font-size:clamp(24px,6.67vw,48px);line-height:1.3;letter-spacing:-.04em;}
    #company-hero .company-description {top:33.5%;left:auto;right:0;width:80%;font-size:clamp(14px,3.85vw,28px);line-height:1.3;letter-spacing:-.035em;word-break:keep-all;}
    #company-hero .company-description .company-reveal-line {display:inline;}
    #company-hero .company-marquee {bottom:16px;}
    #company-hero .company-marquee-group {font-size:clamp(64px,12.8vw,100px);line-height:1.15;}
	
	#company-identity .company-ci-intro {padding-top:70px;}
    #company-identity .company-ci-copy {width:calc(100% - 40px);}
    #company-identity .company-ci-copy h2 {margin-bottom:20px;font-size:18px;line-height:1.4;}
    #company-identity .company-ci-copy p {font-size:clamp(20px,5.65vw,34px);line-height:1.35;letter-spacing:-.04em;}
    #company-identity .ci-mobile-br {display:block;}
    #company-identity .ci-pc-br {display:none;}
    #company-identity .company-ci-origin {height:100px;margin-top:30px;}
    #company-identity .company-ci-dot {width:10px;height:10px;}
    #company-identity .company-ci-logo {width:88%;max-width:none;}
    #company-identity .company-ci-card {width:51.3%;aspect-ratio:auto;min-height:0;padding:6.4vw;background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;}
    #company-identity .company-ci-card-d {left:10%;right:auto;}
    #company-identity .company-ci-card-tribe {left:auto;right:10%;}
    #company-identity .company-ci-mark-d {width:52%;}
    #company-identity .company-ci-mark-tribe {width:100%;}
    #company-identity .company-ci-keywords {grid-template-columns:1fr;margin-top:12.8vw;}
    #company-identity .company-ci-keywords li {gap:7px;padding:3.2vw 0;font-size:clamp(13px,3.6vw,22px);line-height:1.3;}
    #company-identity .company-ci-keywords li::before {width:5px;height:5px;}

	#company-mission {height:calc(135svh + 82vw);}
    #company-mission .company-mv-track {width:182%;height:100%;}
    #company-mission .company-mv-intro {top:15.5%;left:5vw;width:90vw;transform:none;}
    #company-mission .company-mv-intro h2 {margin-bottom:20px;font-size:18px;line-height:1.4;}
    #company-mission .company-mv-intro p {font-size:clamp(20px,5.65vw,34px);line-height:1.3;letter-spacing:-.04em;}
    #company-mission .company-mv-card {top:44.6%;width:77vw;height:23.6%;margin:0;}
    #company-mission .company-mv-mission {left:5vw;}
    #company-mission .company-mv-vision {left:87vw;}
    #company-mission .company-mv-card > img {display:block;width:100%;height:100%;object-fit:cover;}
    #company-mission .company-mv-card h3 {top:-.6em;bottom:auto;left:6vw;font-size:clamp(48px,12.8vw,90px);line-height:1;}
    #company-mission .company-mv-card .company-mv-message {top:94%;bottom:auto;left:33%;width:67%;font-size:clamp(20px,5.65vw,34px);line-height:1.3;letter-spacing:-.04em;}
    #company-mission .company-mv-card .company-mv-description {position:relative;top:auto;bottom:auto;left:auto;width:67%;margin:24px 0 0 33%;padding:0;font-size:clamp(13px,3.6vw,22px);line-height:1.4;letter-spacing:-.04em;word-break:keep-all;}
    #company-mission .company-mv-card .company-mv-message {position:relative;top:auto;bottom:auto;left:auto;margin:-.35em 0 0 33%;}
    #company-mission .company-mv-description .pc-br {display:none;}
	
    #company-ax {position:relative;top:auto;min-height:0;background:#f4f4f4;}
    #company-ax .company-ax-inner {position:relative;width:100%;padding:0;text-align:center;}
    #company-ax h2 {position:absolute;top:15vw;left:0;z-index:1;width:100%;margin:0;font-size:18px;line-height:1.4;}
    #company-ax .company-ax-description {position:absolute;top:23vw;left:5%;z-index:1;width:90%;margin:0;font-size:clamp(20px,5.65vw,34px);line-height:1.3;letter-spacing:-.04em;}
    #company-ax .company-ax-image {width:100%;margin:0;}
    #company-ax .company-ax-image picture {display:block;}
    #company-ax .company-ax-image img {display:block;width:100%;height:auto;margin:0;}
	#company-ax .ax-mobile-br {display:inline;}
	
    #company-lab {min-height:0;padding:42vw 5vw;background:#012fa7;margin-top:0;}
    #company-lab::before {background-size:auto 80%;}
    #company-lab .company-lab-inner {width:100%;}
    #company-lab .company-lab-copy {gap:1vw;font-size:5.65vw;line-height:1;letter-spacing:-.04em;}
    #company-lab .company-lab-copy-pc {display:none;}
    #company-lab .company-lab-copy-mobile {display:flex;}
    #company-lab .company-lab-line {display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:2.5vw;min-height:1.35em;white-space:nowrap;}
    #company-lab .company-lab-image {height:10.25vw;}
    #company-lab .company-lab-image-01 {width:25.6vw;}
    #company-lab .company-lab-image-02 {width:19.2vw;}
    #company-lab .company-lab-image-03 {width:32vw;}
	
	#company-experts .experts-mobile-br {display:inline;}
	#company-experts .pc-br {display:none;}
	#company-experts .company-experts-intro {display:block;min-height:0;padding:19.2vw 5.13vw;}
	#company-experts .company-experts-intro-inner {width:100%;max-width:none;margin:0;}
	#company-experts.is-entering .company-experts-intro-inner {position:static;top:auto;left:auto;width:100%;margin:0;transform:none;}
	#company-experts .company-experts-intro h2 {margin:0 0 4.6vw;font-size:18px;line-height:1.4;}
	#company-experts .company-experts-intro p {font-size:5.65vw;line-height:1.3;letter-spacing:-.04em;word-break:keep-all;}
	#company-experts .company-expert {display:flex;flex-direction:column;align-items:flex-start;gap:11.5vw;width:89.74%;max-width:none;min-height:0;margin:0 auto;padding:0 0 20vw;}
	#company-experts .company-expert-image {width:71.43%;max-width:none;margin:0;aspect-ratio:1;}
	#company-experts .company-expert-image img {display:block;width:100%;height:100%;object-fit:cover;}
	#company-experts .company-expert-copy {width:100%;text-align:left;}
	#company-experts .company-expert-copy h3 {margin:0;font-size:7.7vw;line-height:1.17;letter-spacing:-.025em;}
	#company-experts .company-expert-strategy .company-expert-copy {flex:none;padding-top:0;}
	#company-experts .company-expert-detail {margin-top:10.8vw;padding-left:7.7vw;}
	#company-experts .company-expert-detail h4 {margin:0 0 4.8vw;font-size:5.65vw;line-height:1.3;letter-spacing:-.04em;}
	#company-experts .company-expert-detail p {margin:0;font-size:3.6vw;line-height:1.4;letter-spacing:-.035em;word-break:keep-all;}
	#company-experts .company-expert-rnd .company-expert-copy {flex:none;order:2;}
	#company-experts .company-expert-rnd .company-expert-image {order:1;align-self:flex-end;margin-top:0;}
	#company-experts .company-expert-rnd .company-expert-copy h3 {padding-right:5.13vw;text-align:right;white-space:nowrap;}	
	#company-experts .company-expert-rnd .company-expert-detail {margin-top:10.8vw;padding-left:12.82vw;}
	#company-experts .company-expert-rnd .company-expert-image.is-visible {transition-delay:0s;}
	#company-experts .company-expert-rnd .company-expert-copy.is-visible {transition-delay:.6s;}

	#company-partners {padding:18vw 0 15.5vw;}
	#company-partners .company-partners-inner {width:90%;max-width:none;}
	#company-partners h2 {margin:0 0 4.5vw;font-size:18px;line-height:1.4;}
	#company-partners .company-partners-heading {margin:0;font-size:6vw;line-height:1.23;letter-spacing:-.04em;word-break:keep-all;}
	#company-partners .company-partners-description {margin:6vw 0 0;font-size:3.6vw;line-height:1.35;letter-spacing:-.035em;word-break:keep-all;}
	#company-partners .partners-mobile-br {display:inline;}
	#company-partners .company-partners-image {margin-top:12.5vw;}
	#company-partners .company-partners-image img {display:block;width:100%;height:auto;}

	#company-contact {padding:100px 0 90px;}
	#company-contact .company-contact-inner {width:calc(100% - 40px);}
	#company-contact h2 {margin-bottom:28px;font-size:18px;}
	#company-contact .company-contact-heading {font-size:24px;line-height:1.4;}
	#company-map {height:340px;margin-top:50px;}
	#company-contact .company-contact-info {gap:44px;margin-top:54px;}
	#company-contact .company-contact-info dt {margin-bottom:14px;font-size:18px;}
	#company-contact .company-contact-info dd {font-size:15px;line-height:1.7;}
	
	.content-btn a{
		width:100%;
		min-height:60px;
		padding:10px 25px;
		font-size:16px;
	}
	
	.content-btn a span{
		width: 12px;
		height: 14px;
	}
	
	#company-hero .content-btn{top:55%;left:auto; right:0; width:80%;}
	
	#company-contact .company-contact-info .double-row{gap:30px;}

	/* Footer */
	.footer-spacer {display:none;}
	#footer {position:relative;inset:auto;width:100%;height:auto;min-height:0;padding:44px 0 20px;background:#f4f4f4;color:#242424;z-index:0;overflow:hidden;}
	#footer .footer-inner {display:block;width:auto;max-width:none;margin:0 24px;padding:0;}
	#footer .footer-logo img {width:72px;height:auto;}
	#footer .footer-links {display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:40px;}
	#footer .footer-links a {font-size:13px;line-height:1.4;}
	#footer .footer-info {margin-top:38px;font-size:13px;line-height:1.65;letter-spacing:-.3px;word-break:keep-all;}
	#footer .copyright {margin-top:36px;font-size:13px;letter-spacing:0;}
	#footer .footer-marquee {position:relative;inset:auto;width:100%;margin-top:34px;overflow:hidden;white-space:nowrap;}
	#footer .footer-marquee-track span {padding-right:15px;font-size:48px;font-weight:700;line-height:1.1;letter-spacing:0;}

	.policy-dialog {width:calc(100% - 32px);max-height:85svh;}
	.policy-dialog .policy-dialog-header {padding:18px 20px;}
	.policy-dialog .policy-dialog-header h2 {font-size:20px;}
	.policy-dialog .policy-dialog-body {padding:24px 20px 30px;font-size:14px;}
	.policy-dialog .policy-dialog-body h3 {font-size:16px;}
}

@media (max-width: 600px) {
	#company-hero .content-btn{top:50%;}
	#company-lab .company-lab-line{line-height:1.35;}
	#company-lab .company-lab-copy{font-size:5.65vw;}
	
}

@media (max-width: 480px) {
    #what-we-do .whatwedo-grid {
        grid-template-columns: 1fr;
        row-gap: 50px;
    }
    #what-we-do .whatwedo-item img {
        width: 80px;
        height: 80px;
    }
}

@media (prefers-reduced-motion:reduce) {
    #works .works-item.is-revealing {animation:none;}
}

/* 2026-09-22 추가 */
#company-identity .company-ci-mark-tribe img {width:154%;margin-left:-54%;}

#company-ax .company-ax-image {
	background-image: url(/images/company-ax.png);
    background-size: contain;
}

#company-hero .company-marquee-group .company-marquee-logo { width: 3.2em; height: 0.8em; background:url('/images/logo-white.svg') no-repeat center; margin-right: -0.2em; }

@media (max-width: 768px) {
	#company-ax .company-ax-image {
		background-image: none;
	}
}
