@font-face{font-family:Pretendard;src:url('assets/PretendardVariable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
/* Keep company decoration quiet and give the actual services priority. */
.hero .eyebrow{letter-spacing:.025em;font-size:12px;font-weight:600}.hero .title-spark{display:none}.hero-bottom a{letter-spacing:0;font-size:12px}.hero{padding-top:68px}.hero-bottom{margin-top:24px}.services.section-space{padding-top:80px}.moi-stage{align-self:center;justify-content:center;min-height:565px;padding-top:20px;padding-bottom:30px}.moijang .stage-note{font-family:Pretendard,sans-serif;font-size:12px;transform:none;margin-top:22px;color:#475c3b}.moijang .pixel-spark{display:none}.moijang .game-window{transform:none;box-shadow:6px 7px 0 #264b3420}.about.section-space{padding-top:75px;padding-bottom:75px}.about-bottom{margin-top:35px}.about-main h2{font-size:46px}
@media(max-width:600px){.hero{padding-top:38px}.hero .eyebrow{font-size:10px}.hero-bottom>span{max-width:220px;line-height:1.8}.hero-bottom a{font-size:10px}.services.section-space{padding-top:55px}.header nav{gap:12px}.header .nav-contact{padding:9px 11px;gap:8px}.moi-stage{align-self:stretch;min-height:530px}.about-main h2{font-size:34px}}
/* Service-led navigation and previews, using each service's own assets. */
.service-jump{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 60px}.service-jump a{display:flex;align-items:center;gap:18px;padding:24px 26px;border:1px solid #cdd8cd;border-radius:16px;color:var(--ink);text-decoration:none;font-size:25px}.service-jump a:hover{background:#e9efdf}.service-jump span{font-size:13px;opacity:.55}.service-jump small{font-size:16px;margin-left:auto}.service{scroll-margin-top:100px}
.parkon-app-showcase{background:linear-gradient(125deg,#123c30,#1d6147);border-radius:26px;isolation:isolate}.parkon-app-intro h4{letter-spacing:-2px}.parkon-view-controls{display:grid;gap:10px;margin:28px 0}.parkon-view{display:flex;align-items:center;gap:15px;text-align:left;padding:17px;border:1px solid #ffffff30;border-radius:13px;background:#ffffff08;color:#fff;font-family:inherit;cursor:pointer;width:100%}.parkon-view>b{font-size:12px;color:#acd8ad}.parkon-view>span:first-of-type{flex:1;font-size:16px}.parkon-view small{display:block;font-size:12px;margin-top:6px;opacity:.65}.parkon-view.selected{background:#e3f3cc;color:#163f2b;border-color:#e3f3cc}.parkon-view.selected>b{color:#376344}.parkon-view:hover{border-color:#b6dc9f}.parkon-app-screens .app-screen{transition:transform .3s,opacity .3s;opacity:.55;transform:translateY(25px) scale(.94)}.parkon-app-screens .app-map{opacity:1;transform:translateY(0)}.parkon-app-showcase[data-view="home"] .app-home{opacity:1;transform:translateY(0)}.parkon-app-showcase[data-view="home"] .app-map{opacity:.55;transform:translateY(25px) scale(.94)}
.moijang{position:relative;border-radius:26px;background:#fff4d7;padding:34px 38px 42px;border:1px solid #ead9ae;overflow:hidden}.moijang .service-topline{border-color:#d9c89a}.moi-stage{background:linear-gradient(180deg,#c8e2f4 0%,#e8f5e7 68%,#b9d68b 68%,#9ac473 100%);border:3px solid #263c35;border-radius:10px;box-shadow:8px 8px 0 #e4c889;min-height:560px;overflow:hidden}.moi-stage:before{content:"";position:absolute;left:0;right:0;bottom:0;height:24px;background:repeating-linear-gradient(90deg,#91b367 0 24px,#aac87e 24px 48px);border-top:5px solid #75964e}.game-window{transform:rotate(-3deg);box-shadow:12px 14px 0 #264b3430}.stage-note{position:relative;z-index:1}.moi-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:26px}.moi-actions .scene-button{padding:0;overflow:hidden;background:#fffcf2;border:2px solid #dbcda5;border-radius:9px;text-align:left;box-shadow:0 4px 0 #e4d7b5;min-width:0;color:#294538}.scene-button img{display:block;width:100%;height:82px;object-fit:cover;object-position:50% 45%;image-rendering:pixelated;border-bottom:2px solid #dbcda5}.scene-button>span{display:block;padding:11px 8px;font-size:13px;white-space:nowrap}.scene-button small{display:block;font:9px/1.5 Arial,sans-serif;letter-spacing:1px;opacity:.6;margin-bottom:4px}.moi-actions .scene-button.selected{border-color:#386645;background:#e2edca;box-shadow:0 4px 0 #386645}.scene-button:hover{translate:0 -3px}.scene-button.selected img{border-color:#386645}
@media(max-width:1000px){.service-jump small{display:none}.moijang{padding:28px 24px}.moi-actions{gap:6px}.scene-button>span{font-size:11px;padding:9px 5px}.parkon-view{padding:13px}}
@media(max-width:600px){.service-jump{gap:9px;margin-bottom:36px}.service-jump a{font-size:21px;padding:17px 13px;gap:10px}.service-jump span{font-size:10px}.moijang{padding:22px 15px 30px;border-radius:18px}.moi-stage{min-height:550px;box-shadow:4px 5px 0 #e4c889;margin-top:20px}.moi-actions{gap:8px}.scene-button>span{font-size:12px}.scene-button img{height:88px}.parkon-app-showcase{border-radius:18px}.parkon-view-controls{margin:22px 0}.parkon-view>span:first-of-type{font-size:15px}}

/* Darakbang for company headlines; Pretendard for reading and navigation. */
body,.parkon,.moijang{font-family:Pretendard,'Malgun Gothic',sans-serif;font-size:16px;line-height:1.65;letter-spacing:-.025em}
.hero h1,.section-heading h2,.about-main h2,.contact-row h2,.about-mark{font-family:Darakbang,'Malgun Gothic',sans-serif;line-height:1.3}
.header nav{font-size:14px;font-weight:600}.hero-description{font-size:17px;line-height:1.9}.hero-description strong{font-weight:500}.hero-index{font-size:12px}.hero-bottom{font-size:13px}.button{font-weight:600}.eyebrow{letter-spacing:.12em}
.section-heading>p,.about-copy p,.contact-copy p{font-size:16px;line-height:1.9}.about-copy .about-intro{font-size:23px;font-weight:500;line-height:1.65}.text-link{font-size:14px}.service-jump a{font-size:23px;font-weight:650}.service-jump small{font-size:14px;font-weight:400}
.parkon .service-lead,.parkon-app-intro h4{font-family:Parkon,sans-serif}.service-summary{font-size:15px;line-height:1.9}.service-topline{font-size:11px}.parkon-app-intro p{font-size:14px;line-height:1.85}.parkon-app-intro .text-link{font-size:13px}.parkon-view>span:first-of-type{font-size:16px;font-weight:600}.parkon-view small{font-size:12px;font-weight:400;line-height:1.6}.service-details h4{font-size:17px}.service-details p{font-size:14px;line-height:1.85}.social-area p{font-size:14px}.social-links a{font-size:12px}
.moi-description{font-family:Pretendard,sans-serif;font-size:16px;font-weight:400;line-height:1.9;color:#79664e}.game-window-bottom{font-family:Pretendard,sans-serif;font-size:10px;font-weight:500}.company-info{font-size:13px;line-height:1.8}.contact-note{font-size:13px}.footer-links{font-size:13px}.footer-bottom{font-size:10px}
@media(max-width:800px){.header nav{font-size:13px}.service-summary{font-size:14px}.service-details p{font-size:13px}.service-details h4{font-size:15px}.moi-description{font-size:15px}}
@media(max-width:600px){.header nav{font-size:13px}.hero-description{font-size:16px;line-height:1.85}.hero .dark{font-size:15px}.hero-bottom{font-size:10px}.section-heading>p,.about-copy p,.contact-copy p{font-size:15px;line-height:1.85}.about-copy .about-intro{font-size:21px}.service-topline{font-size:9px}.service-summary{font-size:14px}.service-details>div{grid-template-columns:1fr;gap:6px}.service-details h4{font-size:15px}.service-details p{font-size:13px}.parkon-app-intro p{font-size:14px}.social-area p{font-size:13px}.social-links a{font-size:11px}.service-jump a{font-size:20px}.moi-description{font-size:15px;line-height:1.85}.company-info{font-size:11px}.footer-links{font-size:11px}.contact-note{font-size:12px}.text-link{font-size:14px}}
/* Service shortcuts use the supplied brand marks at balanced optical sizes. */
.service-jump a{min-height:104px;padding-top:13px;padding-bottom:13px;gap:18px}.service-jump .jump-logo{object-fit:contain;flex-shrink:0;mix-blend-mode:multiply}.jump-parkon{width:145px;height:auto}.jump-moijang{width:82px;height:78px}.service-jump .jump-arrow{font-size:24px;opacity:1}.service-jump small{white-space:nowrap}
@media(max-width:800px){.service-jump a{gap:12px}.jump-parkon{width:125px}.service-jump .jump-moijang{width:76px;height:72px}.service-jump .jump-arrow{margin-left:auto}}
@media(max-width:600px){.service-jump a{min-height:88px;padding:10px;gap:8px}.service-jump a>span:first-child{display:none}.jump-parkon{width:100px;max-width:calc(100% - 25px)}.service-jump .jump-moijang{width:66px;height:64px}.service-jump .jump-arrow{font-size:19px}}
/* Center each service shortcut without sequence labels. */
.service-jump a{position:relative;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:154px;padding:20px 42px}.service-jump small{display:block;margin:0;text-align:center}.service-jump .jump-arrow{position:absolute;right:23px;top:50%;transform:translateY(-50%);margin:0}.service-jump .jump-parkon{width:145px;height:78px;object-fit:contain}.service-jump .jump-moijang{width:82px;height:78px}.service-jump a>span.jump-arrow{display:block}
@media(max-width:600px){.service-jump a{min-height:140px;padding:16px 22px;gap:10px}.service-jump .jump-parkon{width:106px;height:64px;max-width:100%}.service-jump .jump-moijang{width:66px;height:64px}.service-jump small{font-size:10px;white-space:normal}.service-jump .jump-arrow{right:8px;font-size:15px}}
/* Direct service entry and focused product previews. */
.hero-service-links{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:30px}.hero-service-links .button{margin:0;font-size:14px;gap:24px;padding:16px 20px}.hero-play{border:1px solid #adbcb1;background:#f0f0e4}.hero-play:hover{background:#e5ebd9}.hero-detail-link{display:inline-block;margin-top:20px;font-size:13px;color:#62736a;border-bottom:1px solid #b9c7bb;padding-bottom:4px}.parkon-app-screens{max-height:570px;min-height:520px;align-items:flex-start;position:relative;padding-top:18px}.parkon-app-screens .app-screen{display:none;width:270px;max-width:100%;opacity:1!important;transform:none!important;margin:0}.parkon-app-showcase[data-view="map"] .app-map,.parkon-app-showcase[data-view="home"] .app-home{display:block}.parkon-app-screens .app-device{border-width:6px;border-radius:30px 30px 0 0}.parkon-app-screens figcaption{font-size:12px;margin-bottom:18px}.parkon-app-intro{padding-bottom:28px}.faq{display:grid;grid-template-columns:.9fr 1.3fr;gap:70px}.faq-intro .eyebrow{color:var(--teal);margin-bottom:16px}.faq h2{font-family:Darakbang,sans-serif;font-size:37px;line-height:1.35}.faq-intro>p:last-child{margin-top:20px;color:var(--muted);font-size:15px;line-height:1.85}.faq-list{border-top:1px solid #aebdb0}.faq details{border-bottom:1px solid #cfd7cb}.faq summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 0;font-size:16px;font-weight:600;cursor:pointer;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:24px;font-weight:400;line-height:1;color:#66816e}.faq details[open] summary span{transform:rotate(45deg)}.faq summary:focus-visible{outline:2px solid var(--teal);outline-offset:5px}.faq-answer{padding:0 30px 26px 0;color:#647365;font-size:15px;line-height:1.9}.faq-answer .text-link{color:var(--ink);margin-top:14px}.contact.section-space{padding-top:65px;border-top:1px solid #daddd2}
@media(max-width:800px){.hero-service-links{gap:8px}.hero-service-links .button{font-size:12px;padding:14px;gap:14px}.parkon-app-screens{min-height:460px;max-height:500px}.parkon-app-screens .app-screen{width:230px}.faq{gap:35px}.faq h2{font-size:32px}.faq summary{font-size:14px}}
@media(max-width:600px){.hero-service-links{margin-top:24px;gap:10px}.hero-service-links .button{font-size:13px;padding:14px 15px;gap:15px}.hero-detail-link{font-size:12px}.parkon-app-screens{max-height:440px;min-height:0;padding-top:0}.parkon-app-screens .app-screen{width:230px}.faq{display:block}.faq h2{font-size:31px}.faq-intro>p:last-child{font-size:14px}.faq-list{margin-top:30px}.faq summary{font-size:14px;padding:21px 0;gap:15px}.faq-answer{font-size:14px;padding-right:8px}.contact.section-space{padding-top:50px}}
/* Compact brand banners: logo and destination form one centered group. */
.service-jump a{min-height:132px;gap:7px;padding:20px 28px;border-radius:18px}.service-jump a[href="#parkon"]{background:#edf3e9;border-color:#c4d5c4}.service-jump a[href="#moijang"]{background:#fff0c9;border-color:#e8c778;color:#78502d}.service-jump a[href="#parkon"]:hover{background:#e2eddd}.service-jump a[href="#moijang"]:hover{background:#ffe7ad}.service-jump .jump-parkon{width:153px;height:47px}.service-jump .jump-moijang{width:74px;height:70px}.service-jump small{font-size:13px;line-height:1.5;text-decoration:none;font-weight:500}.service-jump a[href="#moijang"] small{color:#8b562b}.service-jump a[href="#parkon"] small{color:#315d42}
@media(max-width:600px){.service-jump a{min-height:126px;gap:8px;padding:15px 10px}.service-jump .jump-parkon{width:112px;height:47px}.service-jump .jump-moijang{width:66px;height:63px}.service-jump small{font-size:11px}}
/* Expanded navigation and editorial service context. */
.header nav{gap:30px}.service-editorial{display:grid;grid-template-columns:.9fr 1.3fr;gap:40px;border-top:1px solid #c3d0bd;padding:30px 0 34px}.editorial-label{display:block;font:600 11px/1.6 Pretendard,sans-serif;letter-spacing:.03em;color:#67816a;margin-bottom:12px}.service-editorial h4{font-size:23px;line-height:1.55;letter-spacing:-.04em}.editorial-copy p{font-size:14px;line-height:1.9;color:#5b705f}.editorial-copy p+p{margin-top:13px}.editorial-copy .text-link{font-size:13px}.moi-play-guide{margin-top:36px;border-top:1px solid #dfcfa6;padding-top:27px}.moi-play-guide .editorial-label{color:#927044}.play-guide-heading h4{font-family:Busan,serif;font-size:23px}.play-guide-items{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:24px}.play-guide-items h5{font:650 16px/1.5 Pretendard,sans-serif;margin:0 0 10px;color:#634d32}.play-guide-items p{font:400 14px/1.85 Pretendard,sans-serif;color:#826b4d}.company-perspective{display:grid;grid-template-columns:.85fr 1fr 1fr;gap:38px;border-top:1px solid #c5cec2;margin-top:48px;padding-top:34px}.company-perspective h3{font-family:Darakbang,sans-serif;font-size:28px;line-height:1.4}.company-perspective h4{font-size:17px;font-weight:600;margin:3px 0 13px}.company-perspective p{font-size:14px;line-height:1.9;color:#677965}.faq{scroll-margin-top:30px}
@media(max-width:800px){.header nav{gap:19px}.header .nav-contact{gap:10px;padding:11px 14px}.company-perspective{grid-template-columns:1fr 1fr;gap:25px}.company-perspective>div:first-child{grid-column:1/-1}.play-guide-items{gap:18px}}
@media(max-width:600px){.header{height:auto;min-height:124px;display:flex;flex-direction:column;align-items:stretch;padding-bottom:13px;gap:0}.header .brand{align-self:center}.header .company-ci{width:96px;height:65px}.header nav{display:flex;justify-content:space-between;gap:6px;width:100%;font-size:11px}.header nav>a,.header nav>a:nth-child(2){display:flex;align-items:center;justify-content:center;min-height:40px;white-space:nowrap}.header .nav-contact{padding:8px;gap:0;font-size:10px}.header .nav-contact span{display:none}.service-editorial{display:block;padding:25px 0}.service-editorial h4{font-size:21px}.editorial-copy{margin-top:18px}.editorial-copy p{font-size:14px}.play-guide-items{grid-template-columns:1fr;gap:20px}.play-guide-items h5{font-size:15px;margin-bottom:6px}.play-guide-heading h4{font-size:22px}.company-perspective{grid-template-columns:1fr;gap:24px;margin-top:32px;padding-top:27px}.company-perspective h3{font-size:27px}.company-perspective h4{font-size:16px}.company-perspective p{font-size:14px}.parkon-app-screens{max-height:none}.game-window-bottom{font-size:11px}.game-window-bottom button{min-height:44px}}
/* Balance the Moijang introduction within its column. */
.moi-copy{width:100%;max-width:390px;justify-self:center;padding-left:20px;padding-right:20px}.moi-content{align-items:center}
@media(max-width:800px) and (min-width:601px){.moi-copy{padding-left:10px;padding-right:10px}}
@media(max-width:600px){.moi-copy{max-width:100%;padding-left:12px;padding-right:12px}}
/* Final spacing audit: keep complete previews and balance narrow screens. */
.parkon-app-screens{max-height:none}.parkon-app-screens .app-device{border-bottom:6px solid #e7ede5;border-radius:30px}.parkon-app-showcase{padding-bottom:30px}.parkon-app-intro{padding-bottom:0}
@media(max-width:600px){.parkon-app-showcase{padding-bottom:26px}.parkon-app-intro{padding-bottom:27px}.parkon-app-screens .app-device{border-radius:25px}.parkon-app-screens{min-height:0}}
@media(max-width:360px){.hero-art{transform:scale(.53);height:300px;margin-left:calc((100% - 265px)/2)}.hero-service-links{gap:8px}.hero-service-links .button{font-size:12px;padding:13px 12px;gap:10px}.moi-copy{padding-left:6px;padding-right:6px}.moi-actions{gap:5px}.scene-button>span{font-size:10px}.scene-button small{font-size:8px}}
/* One shared handset follows the story while the page scrolls normally. */
.hero-brandboard{align-self:center;display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:28px 0 28px 35px}.hero-brandboard>div{border-radius:24px;min-height:235px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#e7eee0;padding:25px 16px}.hero-brandboard>div:nth-child(2){background:#fff0ca}.hero-brandboard img{width:170px;max-width:100%;height:95px;object-fit:contain;mix-blend-mode:multiply}.hero-brandboard>div:nth-child(2) img{width:110px;height:110px}.hero-brandboard p{font-size:13px;margin-top:20px;color:#536d52;white-space:nowrap}.hero-brandboard>a{grid-column:1/-1;text-align:center;font-size:12px;color:#6c796b;margin-top:8px}.scroll-story{display:grid;grid-template-columns:1fr 1fr;gap:55px;position:relative;background:#eaf0e4;border-radius:28px;padding:0 50px;transition:background .6s;align-items:start}.scroll-story[data-brand="moijang"]{background:#fff0cc}.story-display{grid-column:2;grid-row:1;position:sticky;top:25px;height:calc(100svh - 50px);max-height:870px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px 0;z-index:2;gap:12px}.story-brand{height:70px;display:flex;align-items:center;gap:16px}.story-brand img{width:150px;height:65px;object-fit:contain;mix-blend-mode:multiply}.scroll-story[data-brand="moijang"] .story-brand img{width:76px}.story-brand>span{font-size:11px;color:#68755d}.shared-phone{height:min(65svh,595px);aspect-ratio:420/913;background:#162a25;border:7px solid #20382d;border-radius:32px;box-shadow:12px 18px 35px #233c2520;overflow:hidden;flex-shrink:0;transition:border-color .5s}.scroll-story[data-brand="moijang"] .shared-phone{border-color:#775e3b;background:#c0d99a}.shared-screen{position:relative;width:100%;height:100%;overflow:hidden;border-radius:23px;background:#f7f8ef}.shared-screen img,.shared-screen video{width:100%;height:100%;object-fit:cover;display:block}.shared-screen [hidden]{display:none}.scroll-story[data-brand="moijang"] .shared-screen img,.scroll-story[data-brand="moijang"] .shared-screen video{height:116%;position:absolute;top:-8%;object-fit:cover}.story-playback{min-height:38px;display:flex;align-items:center;gap:14px;font-size:11px;color:#5f6d55}.story-playback button{min-height:40px;padding:8px 12px;border:1px solid #c3b28a;border-radius:6px;background:#fff9e9;font-size:12px}.story-playback button[hidden]{display:none}.story-dots{display:flex;gap:8px}.story-dots a{display:grid;place-items:center;width:28px;height:28px;border-radius:50%}.story-dots a:before{content:'';width:7px;height:7px;border-radius:50%;background:#a7b39b}.story-dots a[aria-current]:before{background:#28513b;outline:1px solid #28513b;outline-offset:4px}.story-steps{grid-column:1;grid-row:1}.story-step{min-height:85svh;display:flex;flex-direction:column;justify-content:center;padding:70px 0;scroll-margin-top:70px;opacity:.5;transition:opacity .3s}.story-step.active{opacity:1}.story-step .eyebrow{color:#59754e;letter-spacing:.03em;font-size:12px;margin-bottom:22px}.story-step h3{font-family:Parkon,Pretendard,sans-serif;font-size:32px;line-height:1.55;letter-spacing:-.05em;margin-bottom:23px}.story-step.moi-story h3{font-family:Busan,serif;font-size:35px;color:#5a492e}.story-step>p:not(.eyebrow){font-size:15px;line-height:1.95;color:#63705d}.story-step .story-note{margin-top:18px}.story-step .text-link,.story-step .button{align-self:flex-start;margin-top:25px}.story-scroll-hint{font-size:11px;color:#7c856e;margin-top:28px}.story-social{padding:0 25px}.story-social .social-area{margin-top:24px}.story-social .eyebrow{font-size:11px}.story-social .social-area p{font-size:13px}
@media(max-width:1000px){.scroll-story{gap:28px;padding:0 28px}.story-step h3{font-size:25px}.story-step.moi-story h3{font-size:29px}.story-step>p:not(.eyebrow){font-size:14px}.story-brand{gap:8px}.story-brand>span{font-size:10px}.story-brand img{width:120px}.hero-brandboard{padding-left:0;gap:10px}.hero-brandboard>div{padding:20px 10px}.hero-brandboard p{font-size:11px}}
@media(max-width:700px){.scroll-story{display:flex;flex-direction:column;padding:0 20px;gap:0;border-radius:20px;overflow:visible}.story-display{width:100%;top:0;height:55svh;max-height:510px;min-height:330px;padding:9px 0;gap:4px;background:#eaf0e4;border-bottom:1px solid #c6d1bd;transition:background .6s}.scroll-story[data-brand="moijang"] .story-display{background:#fff0cc;border-color:#e4cea0}.story-brand{height:39px;gap:12px;flex-shrink:0}.story-brand img{width:105px;height:37px}.scroll-story[data-brand="moijang"] .story-brand img{width:44px}.story-brand>span{font-size:10px}.shared-phone{height:calc(55svh - 116px);min-height:215px;max-height:380px;border-width:5px;border-radius:23px}.shared-screen{border-radius:17px}.story-playback{min-height:30px;font-size:10px;gap:8px}.story-playback button{font-size:10px;padding:5px 8px;min-height:32px}.story-dots{gap:8px}.story-dots a{width:24px;height:24px}.story-steps{width:100%}.story-step{min-height:63svh;padding:42px 5px;scroll-margin-top:56svh}.story-step .eyebrow{font-size:11px;margin-bottom:13px}.story-step h3,.story-step.moi-story h3{font-size:25px;line-height:1.5;margin-bottom:15px}.story-step>p:not(.eyebrow){font-size:13px;line-height:1.85}.story-step .text-link,.story-step .button{margin-top:18px;font-size:12px}.story-scroll-hint{font-size:10px;margin-top:20px}.hero-brandboard{width:100%;padding:25px 0 0;gap:12px}.hero-brandboard>div{min-height:190px}.hero-brandboard img{width:128px;height:74px}.hero-brandboard>div:nth-child(2) img{width:85px;height:85px}.hero-brandboard p{font-size:11px;margin-top:14px}.story-social{padding:0}.services{overflow:visible}}

.story-brand{isolation:isolate;background:#eaf0e4}.scroll-story[data-brand="moijang"] .story-brand{background:#fff0cc}.story-brand img{mix-blend-mode:multiply}
@media(max-width:700px){.story-step{justify-content:flex-start;min-height:55svh;padding:28px 5px 50px}.story-step .button{padding:13px 16px}.story-playback button{min-height:36px}}
/* User preference: center content groups with equal inline margins. */
.story-step{width:min(100%,390px);margin-inline:auto;padding-inline:0}.story-steps{min-width:0}
@media(max-width:700px){.story-step{width:calc(100% - 24px);max-width:390px;padding-inline:0}}
/* Keep the restored Moijang hero preview inside a visible handset. */
.hero .moi-phone{background:#263c34;padding:7px 7px 0;border-radius:28px;box-shadow:8px 20px 28px #18392b26}.hero .moi-phone .phone-screen{border-radius:21px;border:1px solid #152b23;isolation:isolate}.hero .moi-phone .phone-caption{color:#fff6e7}.hero .moi-phone .phone-screen:after{content:'';position:absolute;top:6px;left:50%;transform:translateX(-50%);width:56px;height:13px;border-radius:20px;background:#20372e;z-index:2;pointer-events:none}.hero .moi-phone .game-crop img{width:100%;height:116%;top:-8%;object-fit:cover}
/* Moijang handset keeps its own warm brand palette. */
.hero .moi-phone{background:#efb94f;box-shadow:8px 20px 28px #79502326}.hero .moi-phone .phone-screen{border-color:#b77c32}.hero .moi-phone .phone-screen:after{background:#6d492e}.hero .moi-phone .phone-caption{color:#573e27}.hero .moi-phone .tiny-dot{background:#ed833c}
/* Shared handset follows the active service's approved brand color. */
.scroll-story[data-brand="moijang"] .shared-phone{border-color:#efb94f;background:#efb94f;box-shadow:12px 18px 35px #79502326}
/* Responsive audit: fit the sticky preview on short landscape viewports. */
@media(max-height:550px) and (min-width:701px){.story-display{top:10px;height:calc(100svh - 20px);padding:8px 0;gap:5px}.story-brand{height:36px;flex-shrink:0}.story-brand img{height:34px;width:100px}.scroll-story[data-brand="moijang"] .story-brand img{width:40px}.story-brand>span{font-size:10px}.shared-phone{height:calc(100svh - 148px);min-height:140px;border-width:5px;border-radius:22px}.shared-screen{border-radius:16px}.story-playback{min-height:32px;flex-shrink:0;font-size:10px}.story-playback button{min-height:32px;padding:5px 8px;font-size:10px}.story-dots{flex-shrink:0}.story-dots a{width:26px;height:26px}.story-step{padding-block:40px}}
/* Keep decoded video painted inside the clipped sticky handset on resize. */
.shared-screen{isolation:isolate}.shared-screen video{transform:translateZ(0);backface-visibility:hidden;z-index:1}

.partner-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:24px}.partner-links a{max-width:100%}

/* Typography refinement: company identity in headlines, consistent reading UI. */
body,button,input,select,textarea,.header nav,.hero-description,.story-step>p,.story-note,.text-link,.button,.social-links,.faq,.contact-copy,.company-info,.footer-links,.footer-bottom{font-family:Pretendard,'Malgun Gothic',sans-serif}
.hero h1,.section-heading h2,.about-main h2,.contact-row h2,.about-mark{font-family:Darakbang,'Malgun Gothic',sans-serif}
.company-perspective h3,.faq h2{font-family:Pretendard,'Malgun Gothic',sans-serif;font-weight:650}
.story-step h3{font-family:Parkon,Pretendard,sans-serif}.story-step.moi-story h3{font-family:Busan,Pretendard,sans-serif}
.story-step>p:not(.eyebrow){font-size:16px;line-height:1.85;color:#4c604d}
.story-scroll-hint{font:400 12px/1.7 Pretendard,sans-serif;color:#56634e}
.story-brand>span,.story-playback{font-family:Pretendard,sans-serif;font-size:12px;color:#4d5d45}
.button,.text-link,.header nav{font-weight:600}.service-jump small{font-family:Pretendard,sans-serif}
.story-social .social-area p{font-size:14px;color:#4e6253}.social-links a{font-family:Pretendard,sans-serif;font-size:13px}
.footer-bottom{font-size:12px}.contact-note{color:#526459}
@media(max-width:600px){.story-step>p:not(.eyebrow){font-size:15px}.story-scroll-hint{font-size:12px}.story-brand>span,.story-playback{font-size:11px}.social-links a{font-size:12px}.company-info{font-size:12px}.footer-bottom{font-size:11px}}

/* Service channels travel with the same handset and follow its active brand. */
.story-channels{width:100%;max-width:390px;min-width:0;padding:9px 0 0;border-top:1px solid #b8c9b3}.story-channels [hidden]{display:none!important}.channel-heading{font-size:12px;font-weight:650;margin-bottom:7px}.story-channels .social-links{display:flex;flex-wrap:wrap;justify-content:center;gap:5px}.story-channels .social-links a{font-size:11px;padding:5px 7px;gap:5px}.story-channels .social-icon{width:16px;height:16px;font-size:10px}.channel-heading,.channel-pending{text-align:center}.channel-pending{font-size:12px;line-height:1.6;color:#654e2f}.channel-pending span{display:block}.story-channels .text-link{display:table;margin:6px auto 0;font-size:12px}.story-display{gap:9px}.shared-phone{height:min(58svh,calc(100svh - 290px),560px)}
.hero-copy{animation:soft-rise .8s ease-out both}.hero .park-phone{animation:phone-park-in 1s cubic-bezier(.2,.7,.2,1) both}.hero .moi-phone{animation:phone-moi-in 1s .15s cubic-bezier(.2,.7,.2,1) both}.hero .open-word{display:inline-block;animation:word-open 1s .15s ease-out both}.art-orbit{animation:orbit-breathe 12s ease-in-out infinite}
.motion-enter{animation:soft-rise .75s ease-out both}.about-copy p:nth-child(2){animation-delay:.08s}.about-copy p:nth-child(3){animation-delay:.16s}.story-step.active h3,.story-step.active>p{animation:soft-rise .55s ease-out both}.story-step.active>p:not(.eyebrow){animation-delay:.08s}.story-channels>div{animation:soft-rise .4s ease-out both}
.service-jump a{position:relative;overflow:hidden;transition:background .35s,box-shadow .35s}.service-jump a:hover{box-shadow:0 8px 24px #123b3912;background:#dcebdc}.service-jump a:nth-child(2):hover{background:#ffe7ab}.service-jump img{transition:transform .35s}.service-jump a:hover img{transform:translateY(-3px) scale(1.04)}.button:active,.nav-contact:active{transform:translateY(1px) scale(.98)}.contact-number{transition:color .25s}.contact-number:hover{color:#008c82}.motion-toggle{position:fixed;right:16px;bottom:16px;z-index:20;border:1px solid #aab9aa;border-radius:24px;padding:9px 13px;background:#f7f7f0ed;font:500 12px Pretendard,sans-serif;min-height:40px;box-shadow:0 3px 14px #123b3910}
@keyframes soft-rise{from{opacity:.35;translate:0 18px}to{opacity:1;translate:0 0}}@keyframes phone-park-in{from{opacity:0;translate:-15px 30px}to{opacity:1;translate:0 0}}@keyframes phone-moi-in{from{opacity:0;translate:15px 30px}to{opacity:1;translate:0 0}}@keyframes word-open{from{opacity:.2;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}@keyframes orbit-breathe{0%,100%{scale:1;translate:0 0}50%{scale:1.025;translate:0 -6px}}
@media(max-width:700px){.story-display{height:64svh;min-height:390px;gap:4px}.shared-phone{height:calc(64svh - 195px);min-height:175px;max-height:320px}.story-channels{padding-top:5px}.story-channels .social-links{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding-bottom:3px}.story-channels .social-links a{white-space:nowrap;flex-shrink:0;min-height:32px}.channel-heading{margin-bottom:3px;font-size:11px}.channel-pending{font-size:11px}.channel-pending span{display:none}.story-channels .text-link{margin-top:2px}.story-step{scroll-margin-top:65svh}.motion-enter,.hero-copy{animation-duration:.45s}.art-orbit{animation:none}.motion-toggle{bottom:10px;right:10px;font-size:11px}}
@media(max-height:550px) and (min-width:701px){.story-channels{max-width:100%;padding-top:3px}.channel-heading{margin-bottom:2px}.story-channels .social-links{flex-wrap:nowrap}.story-channels .social-links a{font-size:10px;padding:3px}.shared-phone{height:calc(100svh - 225px);min-height:100px}.channel-pending span{display:none}}
.motion-stopped *, .motion-stopped *::before,.motion-stopped *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}


/* Preserve the complete renewed ParkOn recording inside the approved handset. */
.scroll-story[data-brand='parkon'] .shared-screen video{object-fit:contain;background:#fff}


/* Responsive motion audit: expose every channel without sideways scrolling. */
.story-channels .social-links a{white-space:nowrap;flex-shrink:0}.story-channels .social-icon{flex-shrink:0}
@media(max-width:700px){.story-channels .social-links{flex-wrap:wrap;justify-content:center;overflow:visible;gap:4px}.story-channels .social-links a{min-height:30px;padding:4px 7px}.shared-phone{height:calc(64svh - 230px);min-height:140px;max-height:300px}.story-channels{min-height:90px}.story-channels [data-channel='moijang']{padding-top:7px}}
@media(max-height:550px) and (min-width:701px){.story-channels .social-links{flex-wrap:wrap;justify-content:center;gap:3px}.story-channels .social-links a{min-height:24px;font-size:10px;padding:3px 5px}.shared-phone{height:calc(100svh - 260px);min-height:90px}.story-channels{padding-top:3px}.story-display{gap:4px}}

/* Clear pointer, keyboard, and touch feedback. */
a,button{cursor:pointer}.button,.nav-contact,.story-channels .social-links a,.motion-toggle{transition:background-color .18s,color .18s,box-shadow .18s,translate .18s,filter .18s}
@media(hover:hover){.button:hover,.nav-contact:hover{filter:brightness(1.16);box-shadow:0 7px 16px #123b392b;translate:0 -3px}.service-jump a:hover{background:#d1e7d5;box-shadow:0 9px 24px #123b3924;translate:0 -4px}.service-jump a:nth-child(2):hover{background:#ffdf8e;box-shadow:0 9px 24px #79502324}.story-channels .social-links a:hover{background:#174c37;color:#fff;border-color:#174c37;box-shadow:0 4px 10px #123b3924;translate:0 -2px}.scroll-story[data-brand='moijang'] .text-link:hover{color:#9c521d}.text-link:hover{color:#007d64;border-bottom-color:currentColor}.header nav>a:not(.nav-contact):hover{color:#008c82;text-decoration:underline;text-underline-offset:7px}.motion-toggle:hover{background:#123b39;color:#fff}}
.button:active,.nav-contact:active,.service-jump a:active,.story-channels a:active,.motion-toggle:active{translate:0 1px;filter:brightness(.92);box-shadow:inset 0 2px 5px #123b3930}.header nav a[aria-current='location']{text-decoration:underline;text-underline-offset:7px;color:#008c82}.story-dots a:hover{background:#123b3915}.faq summary:hover{color:#008c82;background:#e6eddf}.faq summary{transition:color .18s,background .18s}

/* Match the reservation handset to its actual 540 × 870 recording. */
.scroll-story[data-scene='reservation'] .shared-phone{width:calc(min(58svh,calc(100svh - 290px),560px) * 420 / 913);height:auto;min-height:0;max-height:none;aspect-ratio:554/884}
@media(max-width:700px){.scroll-story[data-scene='reservation'] .shared-phone{width:calc(clamp(140px,calc(64svh - 230px),300px) * 420 / 913);aspect-ratio:550/880}}
@media(max-height:550px) and (min-width:701px){.scroll-story[data-scene='reservation'] .shared-phone{width:calc(max(90px,calc(100svh - 260px)) * 420 / 913)}}

.footer-links{flex-wrap:wrap;align-items:center;justify-content:flex-end}.family-label{font:600 12px Pretendard,sans-serif;opacity:.7}.footer-links a{white-space:nowrap}.footer-links a:hover{text-decoration:underline;text-underline-offset:5px}@media(max-width:600px){.footer-top{gap:20px}.footer-links{gap:12px}.family-label{width:100%;text-align:right;font-size:11px}}

/* Enlarge the reservation preview while keeping its recording-matched ratio. */
.scroll-story[data-scene='reservation'] .shared-phone{width:min(310px,calc((100svh - 285px) * 554 / 884),100%);height:auto;aspect-ratio:554/884}
@media(max-width:700px){.scroll-story[data-scene='reservation'] .story-display{height:68svh;min-height:420px;max-height:630px}.scroll-story[data-scene='reservation'] .shared-phone{width:min(205px,calc((max(420px,68svh) - 210px) * 550 / 880));height:auto;aspect-ratio:550/880}.scroll-story[data-scene='reservation'] .story-step{scroll-margin-top:max(420px,69svh)}}
@media(max-height:550px) and (min-width:701px){.scroll-story[data-scene='reservation'] .shared-phone{width:min(180px,calc((100svh - 220px) * 554 / 884));height:auto}.scroll-story[data-scene='reservation'] .story-display{gap:3px}.scroll-story[data-scene='reservation'] .story-channels .social-links a{min-height:22px}}

/* YEONDA is the parent brand: its original mark precedes the services. */
.company-brand{padding-top:65px;padding-bottom:70px}.brand-intro{max-width:700px;margin:0 auto 40px;text-align:center}.brand-intro h2{font:700 clamp(34px,4vw,54px)/1.35 Darakbang,sans-serif;letter-spacing:-.04em;margin:15px 0 20px}.brand-intro>p:last-child{font-size:16px;line-height:1.9;color:#526760}.brand-film{position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;min-height:540px;border:1px solid #c9d7ca;border-radius:32px;background:#eff3e9;background-image:radial-gradient(ellipse at 50% 48%,#fffdf7 10%,#eef3e8 65%,#e2ecdf);box-shadow:0 22px 55px #143b3910}.brand-logo-stage{position:relative;width:min(550px,70%);aspect-ratio:840/560;z-index:2;mix-blend-mode:multiply}.brand-logo-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.brand-logo-symbol{clip-path:inset(0 0 56% 0)}.brand-logo-name{clip-path:inset(44% 0 0 0)}.brand-light{position:absolute;width:52%;aspect-ratio:1;border-radius:50%;filter:blur(45px);opacity:.28;pointer-events:none}.brand-light-green{background:#79c9ae;left:-10%;top:-25%}.brand-light-gold{background:#f2c06a;right:-10%;bottom:-30%}.brand-rings{position:absolute;width:min(700px,80%);aspect-ratio:1;top:50%;left:50%;translate:-50% -50%;z-index:1;pointer-events:none}.brand-rings span{position:absolute;inset:0;border:1px solid #7cae982d;border-radius:50%}.brand-rings span:nth-child(2){inset:10%}.brand-rings span:nth-child(3){inset:20%}.brand-film-signature{position:absolute;bottom:35px;left:20px;right:20px;text-align:center;font:400 22px Darakbang,sans-serif;color:#375b4c}.brand-film-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 5px;font-size:13px;color:#526760}.brand-film-bottom button{display:flex;align-items:center;gap:25px;background:transparent;border-bottom:1px solid #71927e;padding:9px 0;font-size:13px;min-height:44px}.brand-film-bottom button:hover{color:#008c82}.brand-film-bottom button span{font-size:22px}.brand-film.is-playing .brand-logo-symbol{animation:yeonda-symbol 1.5s cubic-bezier(.2,.7,.2,1) both}.brand-film.is-playing .brand-logo-name{animation:yeonda-name 1.4s .85s ease-out both}.brand-film.is-playing .brand-rings span{animation:yeonda-ring 4.5s .5s ease-out both}.brand-film.is-playing .brand-rings span:nth-child(2){animation-delay:.9s}.brand-film.is-playing .brand-rings span:nth-child(3){animation-delay:1.3s}.brand-film.is-playing .brand-light-green{animation:yeonda-light-green 6.5s ease-in-out both}.brand-film.is-playing .brand-light-gold{animation:yeonda-light-gold 6.5s ease-in-out both}.brand-film.is-playing .brand-film-signature{animation:soft-rise 1.1s 1.8s both}.header .company-ci{transition:filter .3s,scale .3s}.header .brand:hover .company-ci{filter:drop-shadow(0 3px 7px #008c8238);scale:1.04}
@keyframes yeonda-symbol{from{opacity:0;translate:0 22px;filter:blur(8px);clip-path:inset(0 0 100% 0)}to{opacity:1;translate:0 0;filter:blur(0);clip-path:inset(0 0 56% 0)}}@keyframes yeonda-name{from{opacity:0;translate:0 18px;clip-path:inset(44% 100% 0 0)}to{opacity:1;translate:0 0;clip-path:inset(44% 0 0 0)}}@keyframes yeonda-ring{0%{scale:.35;opacity:0}25%{opacity:1}100%{scale:1.1;opacity:.35}}@keyframes yeonda-light-green{0%{translate:-30% 20%;opacity:0}45%{translate:30% 0;opacity:.45}100%{translate:0 0;opacity:.28}}@keyframes yeonda-light-gold{0%{translate:30% -20%;opacity:0}50%{translate:-30% 0;opacity:.4}100%{translate:0 0;opacity:.28}}
@media(max-width:800px){.header nav{gap:15px}.brand-film{min-height:450px}.brand-logo-stage{width:75%}}
@media(max-width:600px){.company-brand{padding-top:45px;padding-bottom:35px}.brand-intro{text-align:left;max-width:390px;margin:0 auto 25px}.brand-intro h2{font-size:33px}.brand-intro>p:last-child{font-size:14px}.brand-film{min-height:330px;border-radius:22px}.brand-logo-stage{width:86%}.brand-film-signature{font-size:19px;bottom:29px}.brand-light{filter:blur(25px)}.brand-film-bottom{align-items:flex-start;font-size:11px;gap:15px}.brand-film-bottom p{max-width:130px}.brand-film-bottom button{font-size:11px;gap:10px;flex-shrink:0;padding-top:0}.header nav{flex-wrap:wrap;justify-content:center;gap:3px 13px}.header nav>a{font-size:11px}.header .nav-contact{padding:6px 9px}.header{padding-bottom:10px}.brand-rings{width:110%}}

/* Center the copy group while keeping its sentences left aligned. */
.brand-intro{text-align:left}


/* Company-first hierarchy, adapted from the corporate introduction review. */
.company-services-button{margin-top:31px;border:1px solid #b7c9b9;background:transparent;color:#123b39}.company-services-button:hover{background:#e3ecdc}.hero-service-links{align-items:center}.hero-description{max-width:490px}.service-origin{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;max-width:620px;margin:40px auto 0;padding-bottom:48px}.service-origin img{width:155px;height:auto;mix-blend-mode:multiply}.service-origin p{font-size:13px;color:#536b60;margin-top:12px}.service-branches{position:absolute;bottom:0;left:25%;right:25%;height:25px;border:1px solid #b4c5b4;border-bottom:0;border-radius:12px 12px 0 0}.service-branches:before{content:'';position:absolute;left:50%;top:-23px;height:22px;border-left:1px solid #b4c5b4}.service-origin+.service-jump{margin-top:0}.services .section-heading>p{max-width:390px}.footer-company-statement{font-size:15px;color:#d6e4d8;line-height:1.8;margin-top:25px}.company-brand{padding-bottom:55px}.about+.services{padding-top:90px}
@media(max-width:600px){.hero-service-links{flex-wrap:wrap;gap:9px}.hero-service-links .button{padding:13px 14px;gap:12px;font-size:13px;margin-top:20px}.hero-description{max-width:390px;font-size:15px}.service-origin{margin-top:30px;padding-bottom:38px}.service-origin img{width:128px}.service-origin p{font-size:12px}.service-branches{height:20px}.service-branches:before{height:18px;top:-19px}.footer-company-statement{font-size:13px}.about+.services{padding-top:55px}}

.service-origin{max-width:none;mix-blend-mode:multiply}


/* YEONDA opens the door: a complete six-second brand sequence. */
.brand-film{min-height:620px;perspective:1000px}.brand-portal{position:absolute;inset:0;pointer-events:none}.portal-door{position:absolute;top:0;bottom:0;width:50%;z-index:3;border:1px solid #b7cbb733;will-change:transform}.portal-door-left{left:0;background:linear-gradient(110deg,#d0e5d8,#f6f6e9);transform:translateX(-102%)}.portal-door-right{right:0;background:linear-gradient(250deg,#f0dfb5,#f6f6e9);transform:translateX(102%)}.portal-door-left:after,.portal-door-right:after{content:'';position:absolute;top:10%;bottom:10%;width:2px;background:linear-gradient(transparent,#fffbe9,transparent);box-shadow:0 0 22px #fff}.portal-door-left:after{right:0}.portal-door-right:after{left:0}.brand-logo-stage{z-index:5;width:min(530px,75%);transform:translateY(-110px) scale(.78);pointer-events:none;will-change:transform}.portal-worlds{position:absolute;left:50%;bottom:85px;translate:-50% 0;width:min(660px,80%);display:grid;grid-template-columns:1fr 1fr;gap:18px;z-index:4}.portal-world{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #c6d7bf;border-radius:22px;padding:20px;background:#e0eddfb3;box-shadow:0 12px 35px #123b3910}.portal-world img{width:145px;height:60px;object-fit:contain;mix-blend-mode:multiply}.portal-world span{font:500 13px/1.6 Pretendard,sans-serif;margin-top:13px;color:#315b48}.portal-moijang{background:#ffedc2b3;border-color:#e8d49e}.portal-moijang img{width:77px;height:72px}.portal-moijang span{margin-top:5px;color:#79512f}.portal-ray{position:absolute;inset:-30%;background:conic-gradient(from 0deg at 50% 50%,transparent 0deg,#c2e3d149 49deg,transparent 75deg,transparent 180deg,#f8e5b244 235deg,transparent 260deg);opacity:.55;rotate:calc(var(--brand-progress,0) * 24deg);filter:blur(10px)}
.brand-film.is-playing .portal-door-left{animation:door-open-left 2.1s 1.2s cubic-bezier(.2,.7,.2,1) both}.brand-film.is-playing .portal-door-right{animation:door-open-right 2.1s 1.2s cubic-bezier(.2,.7,.2,1) both}.brand-film.is-playing .brand-logo-stage{animation:yeonda-to-origin 2s 1.8s cubic-bezier(.2,.7,.2,1) both}.brand-film.is-playing .portal-worlds{animation:worlds-arrive 1.5s 2.5s ease-out both}.brand-film.is-playing .portal-world:nth-child(2){animation:world-second 1.1s 2.9s ease-out both}.brand-film.is-playing .brand-film-signature{animation:soft-rise 1s 3.5s both}.portal-particles{position:absolute;inset:0;z-index:4;overflow:hidden}.portal-particles i{position:absolute;left:calc(9% + var(--i) * 7.2%);top:calc(16% + mod(var(--i),4) * 18%);width:4px;height:4px;border-radius:50%;background:#548c70;opacity:.18}.portal-particles i:nth-child(2n){background:#d3a34c}.brand-film.is-playing .portal-particles i{animation:brand-dust 5s calc(var(--i) * .08s) ease-out both}.brand-film-signature{z-index:5;bottom:27px}
@keyframes door-open-left{from{transform:translateX(0)}to{transform:translateX(-102%)}}@keyframes door-open-right{from{transform:translateX(0)}to{transform:translateX(102%)}}@keyframes yeonda-to-origin{from{transform:translateY(0) scale(1)}to{transform:translateY(-110px) scale(.78)}}@keyframes worlds-arrive{from{opacity:0;transform:translateY(35px) scale(.9);filter:blur(7px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes world-second{from{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}@keyframes brand-dust{0%{opacity:0;translate:0 28px}40%{opacity:.5}100%{opacity:.12;translate:0 -18px}}
.about{position:relative;isolation:isolate;overflow:hidden}.about:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 15% 30%,#bbdac380,transparent 58%),radial-gradient(ellipse at 85% 75%,#ecdfb950,transparent 60%);translate:0 calc((var(--about-progress,.5) - .5) * 60px)}.about-copy p{transition:color .45s}.about-copy p.reading-focus{color:#143d34}.about-copy p.reading-focus:before{background:#008c82}.service-origin{isolation:isolate}.service-branches{border-color:#7c9e84}.service-branches:after{content:'';position:absolute;top:-4px;left:50%;width:7px;height:7px;border-radius:50%;background:#008c82;box-shadow:0 0 12px #008c8266;opacity:0}.service-origin.motion-enter .service-branches:after{animation:connection-pulse 2.2s ease-out both}.service-jump a{transition:background-color .3s,box-shadow .3s,translate .3s}.contact{position:relative;isolation:isolate;overflow:hidden}.contact-brand-glow{position:absolute;inset:5% 0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 35% 55%,#bedcc94d,transparent 55%),radial-gradient(ellipse at 65% 55%,#ecd59c4d,transparent 55%);opacity:var(--contact-progress,.4)}@keyframes connection-pulse{0%{opacity:0;translate:0 -24px}30%{opacity:1}100%{opacity:.25;translate:0 0}}
@media(max-width:700px){.brand-film{min-height:440px}.brand-logo-stage{width:94%;transform:translateY(-85px) scale(.82)}.portal-worlds{width:88%;bottom:65px;gap:9px}.portal-world{min-height:115px;padding:12px 7px;border-radius:15px}.portal-world img{width:105px;height:40px}.portal-moijang img{width:54px;height:53px}.portal-world span{font-size:10px;margin-top:9px}.portal-moijang span{margin-top:0}.brand-film-signature{font-size:17px;bottom:24px}.portal-particles i:nth-child(2n){display:none}.portal-ray{filter:none}.about:before{translate:none}.brand-film.is-playing .brand-logo-stage{animation-name:yeonda-to-origin-mobile}.brand-film.is-playing .portal-worlds{animation-duration:1s}@keyframes yeonda-to-origin-mobile{from{transform:translateY(0) scale(1)}to{transform:translateY(-85px) scale(.82)}}}


@media(hover:hover) and (pointer:fine){.brand-film:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle 190px at var(--light-x,50%) var(--light-y,50%),#fffdf799,transparent 80%);opacity:0;transition:opacity .35s}.brand-film:hover:after{opacity:1}.brand-film:hover .portal-world{box-shadow:0 14px 38px #123b3920}}

/* A quieter entry: one company action and one editorial service link. */
.hero-service-links.company-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px 28px;margin-top:34px}.company-primary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;padding:15px 23px;border-radius:100px;background:#123b39;color:#fff;font:550 15px/1.5 Pretendard,sans-serif;min-height:54px;transition:background .2s,translate .2s,box-shadow .2s}.company-primary-link span{font-size:20px;font-weight:400}.company-secondary-link{display:inline-flex;align-items:center;gap:18px;padding:10px 0;color:#36554c;font:500 14px/1.5 Pretendard,sans-serif;min-height:44px;transition:color .2s}.company-secondary-link span{font-size:17px}.company-primary-link:hover{background:#006e61;translate:0 -2px;box-shadow:0 7px 16px #123b391b}.company-secondary-link:hover{color:#008c82;text-decoration:underline;text-underline-offset:6px}.company-primary-link:active{translate:0 1px}.company-secondary-link:active{color:#123b39}
@media(max-width:600px){.hero-service-links.company-hero-actions{gap:14px 20px;margin-top:27px}.company-primary-link{font-size:14px;padding:13px 20px;min-height:49px;gap:26px}.company-secondary-link{font-size:13px;gap:10px}}

/* Maximal motion edition: the company mark takes the cinematic lead. */
.brand-film{background:#071e25;background-image:radial-gradient(ellipse at 15% 45%,#085947b3,transparent 58%),radial-gradient(ellipse at 90% 70%,#92692a80,transparent 58%);border-color:#345c57;box-shadow:0 25px 70px #072b3a38;perspective:1100px}.brand-logo-stage{mix-blend-mode:screen;transform:translateY(-110px) scale(.87)}.brand-logo-stage img{filter:invert(1) grayscale(1) contrast(1.3)}.brand-film-signature{color:#e3eddf;text-shadow:0 0 18px #8fe2b955}.brand-light-green{background:#00dc9b;opacity:.26;filter:blur(50px)}.brand-light-gold{background:#ffbd42;opacity:.28;filter:blur(50px)}.brand-rings span{border-color:#9deacb44;box-shadow:0 0 25px #60dda710,inset 0 0 25px #60dda710}.portal-door-left{background:linear-gradient(90deg,#061c23,#103c39);border-right:2px solid #a2ffcf;transform-origin:left center}.portal-door-right{background:linear-gradient(270deg,#061c23,#4b4125);border-left:2px solid #ffd884;transform-origin:right center}.portal-word{position:absolute;left:50%;top:40%;translate:-50% -50%;font:850 clamp(70px,17vw,210px)/1 Pretendard,sans-serif;letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px #9fd4bd1a;white-space:nowrap;pointer-events:none;transform:translateX(calc((var(--brand-progress,.5) - .5) * -100px))}.portal-ray{inset:-60%;background:conic-gradient(from 0deg,transparent 0deg,#2ef9ad44 45deg,transparent 80deg,transparent 180deg,#ffce6344 230deg,transparent 270deg);opacity:.85;filter:blur(6px)}.portal-orbits{position:absolute;inset:0;display:grid;place-items:center;z-index:1;pointer-events:none}.portal-orbits i{position:absolute;width:76%;aspect-ratio:1;border-radius:50%;border:1px solid #7df7c433;transform:rotateX(64deg) rotateZ(-25deg);box-shadow:0 0 25px #46de9e0d}.portal-orbits i:nth-child(2){width:95%;border-color:#f9d38a33;transform:rotateX(73deg) rotateZ(35deg)}.portal-orbits i:nth-child(3){width:60%;border:2px dotted #9cf5cb22;transform:rotateY(65deg) rotateZ(-35deg)}.portal-orbits i:after{content:'';position:absolute;left:50%;top:-4px;width:7px;height:7px;background:#ccffe7;border-radius:50%;box-shadow:0 0 18px #60ffba}.portal-speedlines{position:absolute;inset:0;overflow:hidden;z-index:2;pointer-events:none}.portal-speedlines i{position:absolute;left:50%;top:48%;width:42%;height:1px;transform-origin:left;background:linear-gradient(90deg,transparent,#93e9c788,transparent);rotate:calc(var(--n) * 22.5deg);opacity:0}.portal-particles i{width:6px;height:6px;background:#b9ffde;box-shadow:0 0 12px #3cfba8;opacity:.3}.portal-particles i:nth-child(2n){background:#ffe2a0;box-shadow:0 0 10px #ffd45f}.portal-world{background:#e4f1df;border-color:#e0f9e7;box-shadow:0 12px 32px #0005,0 0 30px #4fe8a31a}.portal-moijang{background:#fff0c9;border-color:#ffe1a0;box-shadow:0 12px 32px #0005,0 0 30px #ffce5d1a}.brand-film.is-playing .portal-door-left{animation:door-max-left 2.4s 1.1s cubic-bezier(.16,.75,.2,1) both}.brand-film.is-playing .portal-door-right{animation:door-max-right 2.4s 1.1s cubic-bezier(.16,.75,.2,1) both}.brand-film.is-playing .brand-logo-stage{animation:logo-max-flight 3.5s .2s cubic-bezier(.16,.75,.2,1) both}.brand-film.is-playing .brand-logo-symbol{animation:logo-max-symbol 1.6s ease-out both}.brand-film.is-playing .brand-logo-name{animation:yeonda-name 1.6s .55s ease-out both}.brand-film.is-playing .portal-worlds{animation:worlds-max-entry 1.8s 2.6s cubic-bezier(.16,.9,.2,1) both}.brand-film.is-playing .portal-world{animation:card-max-entry 1.5s 2.8s ease-out both,card-max-float 5s 4.3s ease-in-out infinite}.brand-film.is-playing .portal-world:nth-child(2){animation-delay:3.05s,4.55s;--card-angle:-16deg}.brand-film.is-playing .portal-ray{animation:rays-max-spin 22s linear infinite}.brand-film.is-playing .portal-orbits{animation:orbit-max-spin 28s linear infinite}.brand-film.is-playing .portal-speedlines i{animation:line-max-burst 1.6s calc(1.4s + var(--n) * .025s) ease-out both}.brand-film.is-playing .portal-particles i{animation:dust-max-drift 8s calc(var(--i) * -.65s) ease-in-out infinite}.brand-film.is-playing .brand-light{animation:light-max-flow 10s ease-in-out infinite alternate}.brand-film.is-playing .brand-light-gold{animation-delay:-5s}.brand-film.is-playing .brand-rings span{animation:ring-max-burst 3.4s 1.2s ease-out both}.brand-film.is-playing .brand-rings span:nth-child(2){animation-delay:1.5s}.brand-film.is-playing .brand-rings span:nth-child(3){animation-delay:1.8s}.brand-film.is-playing .brand-film-signature{animation:soft-rise 1.2s 3.6s both}
@keyframes door-max-left{0%{transform:translateX(0) rotateY(0)}100%{transform:translateX(-110%) rotateY(-65deg)}}@keyframes door-max-right{0%{transform:translateX(0) rotateY(0)}100%{transform:translateX(110%) rotateY(65deg)}}@keyframes logo-max-flight{0%{opacity:0;transform:translateY(45px) translateZ(150px) scale(1.35) rotateX(18deg);filter:blur(15px)}30%{opacity:1;filter:blur(0);transform:translateY(0) scale(1.08) rotateX(0deg)}100%{opacity:1;filter:blur(0);transform:translateY(-110px) scale(.87)}}@keyframes logo-max-symbol{0%{opacity:0;translate:0 45px;filter:blur(12px);clip-path:inset(0 0 100% 0)}100%{opacity:1;translate:0 0;filter:blur(0);clip-path:inset(0 0 56% 0)}}@keyframes worlds-max-entry{0%{opacity:0;transform:translateY(90px) translateZ(-150px) scale(.65);filter:blur(12px)}100%{opacity:1;transform:translateY(0) translateZ(0) scale(1);filter:blur(0)}}@keyframes card-max-entry{from{transform:rotateY(var(--card-angle,16deg)) rotateX(25deg)}to{transform:rotateY(0) rotateX(0)}}@keyframes card-max-float{0%,100%{translate:0 0}50%{translate:0 -9px}}@keyframes rays-max-spin{from{rotate:0deg}to{rotate:360deg}}@keyframes orbit-max-spin{from{rotate:0deg}to{rotate:360deg}}@keyframes line-max-burst{0%{opacity:0;scale:.1 1}25%{opacity:.7}100%{opacity:0;scale:2.1 1}}@keyframes dust-max-drift{0%,100%{translate:0 0;opacity:.1;scale:.6}50%{translate:14px -35px;opacity:.7;scale:1.25}}@keyframes light-max-flow{from{translate:-12% -10%;scale:.85;opacity:.15}to{translate:25% 15%;scale:1.3;opacity:.4}}@keyframes ring-max-burst{from{scale:.12;opacity:0}25%{opacity:1}to{scale:1.4;opacity:.2}}
.brand-film:not(.brand-in-view) *, .brand-film:not(.brand-in-view):after{animation-play-state:paused!important}
@media(hover:hover) and (pointer:fine){.brand-film:after{background:radial-gradient(circle 220px at var(--light-x,50%) var(--light-y,50%),#8af3bf33,transparent 80%)}.service-jump a:hover img{transform:translateY(-5px) scale(1.12)}.company-primary-link:hover span{rotate:45deg}.company-primary-link span{transition:rotate .3s}}
@media(max-width:700px){.brand-logo-stage{transform:translateY(-85px) scale(.87)}.brand-film.is-playing .brand-logo-stage{animation-name:logo-max-flight-mobile}.portal-word{font-size:82px}.portal-orbits i{width:120%}.brand-film.is-playing .portal-ray{animation-duration:35s}.brand-film.is-playing .portal-orbits{animation:none}.brand-film.is-playing .portal-world{animation:card-max-entry 1.1s 2.8s both}.brand-film.is-playing .portal-world:nth-child(2){animation-delay:3s}.brand-light-green,.brand-light-gold{filter:blur(28px)}@keyframes logo-max-flight-mobile{0%{opacity:0;transform:translateY(35px) scale(1.2);filter:blur(8px)}35%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}100%{opacity:1;transform:translateY(-85px) scale(.87);filter:blur(0)}}}


/* Carry the heightened visual energy through the company page. */
.hero-art .art-orbit:before,.hero-art .art-orbit:after{content:'';position:absolute;inset:-18px;border:1px dashed #388f6c40;border-radius:50%;animation:hero-orbit-turn 24s linear infinite}.hero-art .art-orbit:after{inset:25px;border-style:solid;border-color:#c29b4b40;animation-direction:reverse;animation-duration:18s}.hero-art .art-orbit:before{box-shadow:0 -5px 25px #63bc8d20}.about:before{animation:company-light-drift 9s ease-in-out infinite alternate}.contact-brand-glow{animation:company-light-drift 7s ease-in-out infinite alternate}.company-primary-link{position:relative;overflow:hidden}.company-primary-link:before{content:'';position:absolute;inset:-60%;background:linear-gradient(100deg,transparent 40%,#fff3 50%,transparent 60%);translate:-100% 0;animation:company-button-sheen 7s ease-in-out infinite;pointer-events:none}.service-origin.motion-enter .service-branches:after{animation:connection-pulse 3s ease-out infinite}
@keyframes hero-orbit-turn{from{rotate:0deg}to{rotate:360deg}}@keyframes company-light-drift{from{transform:translateX(-3%) scale(1)}to{transform:translateX(3%) scale(1.12)}}@keyframes company-button-sheen{0%,65%{translate:-100% 0}100%{translate:100% 0}}
.hero:not(.motion-visible) .art-orbit,.hero:not(.motion-visible) .art-orbit:before,.hero:not(.motion-visible) .art-orbit:after,.hero:not(.motion-visible) .company-primary-link:before,.about:not(.motion-visible):before,.contact:not(.motion-visible) .contact-brand-glow,.services:not(.motion-visible) .service-branches:after{animation-play-state:paused}
@media(max-width:700px){.hero-art .art-orbit:after{display:none}.about:before,.contact-brand-glow{animation:none}.hero-art .art-orbit:before{animation-duration:40s}.service-origin.motion-enter .service-branches:after{animation-iteration-count:2}}

/* Keep the light logo treatment intact while the symbol reveal animates. */
.brand-logo-stage img{filter:invert(1) grayscale(1) contrast(1.3)!important}


/* Immersive company show: particle logo, aurora, kinetic type and scroll rhythm. */
.company-motion-ribbon{width:100%;overflow:hidden;background:#092d30;color:#d5ffe6;margin:55px 0 5px;padding:20px 0;isolation:isolate;rotate:-1deg;clip-path:inset(0);contain:paint}.company-motion-ribbon>div{display:flex;width:max-content;animation:yeonda-ribbon 24s linear infinite;animation-play-state:paused}.company-motion-ribbon.ribbon-visible>div{animation-play-state:running}.company-motion-ribbon span{flex-shrink:0;white-space:nowrap;font:700 clamp(30px,4.8vw,70px)/1.25 Darakbang,Pretendard,sans-serif;letter-spacing:-.04em;padding-right:28px}.company-motion-ribbon span:nth-child(2){color:transparent;-webkit-text-stroke:1px #b9eccb}.brand-film{min-height:clamp(620px,78svh,820px);box-shadow:0 28px 80px #062c3c50,0 0 0 6px #d4e7da;transform-style:preserve-3d}.brand-particle-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;mix-blend-mode:screen}.brand-energy-core{position:absolute;left:50%;top:40%;width:80%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;z-index:0;pointer-events:none;background:conic-gradient(from 0deg,transparent,#20f2a544,transparent 35%,#ffcc6240,transparent 65%,#63deff33,transparent);filter:blur(30px);animation:energy-core-turn 19s linear infinite}.brand-film:not(.brand-in-view) .brand-energy-core{animation-play-state:paused}.brand-film .brand-logo-stage{filter:drop-shadow(0 0 25px #93ffe326)}.brand-film .portal-word{font-size:clamp(100px,22vw,320px);top:52%;-webkit-text-stroke:1px #a5e8ca2b;animation:yeonda-type-drift 18s ease-in-out infinite alternate}.brand-film .portal-door{box-shadow:0 0 80px #5effc333}.brand-film.is-playing .portal-speedlines i{animation:line-max-burst 8s calc(1.4s + var(--n) * .025s) ease-out infinite}.brand-film.is-playing .portal-orbits i{box-shadow:0 0 45px #73ffc22b,inset 0 0 30px #73ffc210}.brand-film .portal-world{border-width:2px}.brand-film .portal-world img{transition:scale .5s}.about-copy p,.company-perspective>div{opacity:calc(.68 + var(--read-in,1) * .32);translate:0 calc((1 - var(--read-in,1)) * 28px)}.about-copy .reading-focus{color:#005d4e;text-shadow:0 0 24px #96cfab22}.service-origin.motion-enter img{animation:company-origin-pulse 5s ease-in-out infinite}.services:not(.motion-visible) .service-origin img{animation-play-state:paused}.contact-brand-glow{background:conic-gradient(from 40deg at 50% 55%,transparent,#9dd6b559,transparent,#f0cb7659,transparent);filter:blur(35px);inset:-15%;animation:energy-core-turn 28s linear infinite}.contact .contact-row{position:relative;z-index:1}.brand-intro h2{perspective:800px}.brand-film-signature{text-shadow:0 0 18px #b9ffe68c}
@keyframes yeonda-ribbon{from{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes energy-core-turn{from{rotate:0deg;scale:.9}50%{scale:1.15}to{rotate:360deg;scale:.9}}@keyframes yeonda-type-drift{from{transform:translateX(-8%) rotate(-8deg)}to{transform:translateX(8%) rotate(8deg)}}@keyframes company-origin-pulse{0%,100%{filter:drop-shadow(0 0 0 #54ad8b00)}50%{filter:drop-shadow(0 0 16px #54ad8b88)}}
@media(max-width:700px){.company-motion-ribbon{margin:30px 0 0;padding:15px 0;rotate:0deg}.company-motion-ribbon span{font-size:32px}.brand-film{min-height:490px;box-shadow:0 16px 35px #062c3c35,0 0 0 3px #d4e7da}.brand-energy-core{width:140%;filter:blur(20px);animation-duration:28s}.brand-film .portal-word{font-size:105px}.brand-film.is-playing .portal-speedlines i:nth-child(2n){display:none}.about-copy p,.company-perspective>div{translate:none}.contact-brand-glow{animation:none}.service-origin.motion-enter img{animation-iteration-count:2}}
.motion-stopped .about-copy p,.motion-stopped .company-perspective>div{opacity:1;translate:none}


/* Tilt the ribbon vertically without adding horizontal page overflow. */
.company-motion-ribbon{rotate:0deg;transform:skewY(-1deg)}@media(max-width:700px){.company-motion-ribbon{transform:none}}


/* Fullscreen opening, flowing directly into the two-phone introduction. */
.company-brand{width:100%;max-width:none;padding:0;margin:0;position:relative;isolation:isolate;scroll-margin-top:0}.company-brand .intro-accessible-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.company-brand .brand-film{width:100%;height:calc(100svh - var(--intro-header-height,98px));min-height:360px;border:0;border-radius:0;box-shadow:none;transform:scale(calc(1 - var(--intro-exit,0) * .055));transform-origin:50% 0;opacity:calc(1 - var(--intro-exit,0) * .3);border-bottom-left-radius:calc(var(--intro-exit,0) * 45px);border-bottom-right-radius:calc(var(--intro-exit,0) * 45px)}.company-brand .brand-film-bottom{position:absolute;left:clamp(20px,4vw,64px);right:clamp(20px,4vw,64px);bottom:14px;z-index:8;padding:0;color:#d4eadc;pointer-events:none}.brand-film-bottom>*{pointer-events:auto}.brand-film-bottom #brand-replay{color:#d4eadc;border-color:#d4eadc55;font-size:12px}.intro-scroll-link{display:flex;align-items:center;gap:22px;font-size:12px;min-height:44px}.intro-scroll-link span{font-size:21px;animation:intro-scroll-nudge 1.8s ease-in-out infinite}.company-brand .brand-film-signature{bottom:72px}.company-brand .portal-worlds{bottom:132px}.company-brand .brand-logo-stage{width:min(650px,70%)}.company-brand+.hero{position:relative;z-index:2;min-height:90svh;padding-top:85px;padding-bottom:30px;background:var(--paper);scroll-margin-top:20px}.flying-type-field{position:absolute;inset:0;overflow:hidden;z-index:1;pointer-events:none;perspective:900px}.flying-type-field span{position:absolute;font:700 clamp(28px,5vw,75px)/1.2 Darakbang,Pretendard,sans-serif;color:#b1efd24d;text-shadow:0 0 30px #7ad2a41a;white-space:nowrap;animation:flying-type-a 16s linear infinite;left:6%;top:18%}.flying-type-field span:nth-child(2){left:72%;top:12%;font-size:44px;animation-delay:-4s;animation-duration:19s;color:#ffe3a249}.flying-type-field span:nth-child(3){left:4%;top:70%;animation-delay:-9s;animation-duration:22s}.flying-type-field span:nth-child(4){left:75%;top:65%;font-size:45px;animation-name:flying-type-b;animation-delay:-12s;animation-duration:20s;color:#ffe3a249}.flying-type-field span:nth-child(5){left:12%;top:40%;font-size:clamp(70px,12vw,165px);color:transparent;-webkit-text-stroke:1px #d6ffe325;animation-name:flying-type-b;animation-duration:26s;animation-delay:-8s}.brand-film:not(.brand-in-view) .flying-type-field span{animation-play-state:paused}.hero h1{animation:headline-flight 1.3s cubic-bezier(.15,.75,.2,1) both}.hero:not(.motion-visible) h1{animation-play-state:paused}.hero.motion-visible .open-word{animation:word-flight 1.4s .15s cubic-bezier(.15,.75,.2,1) both}.section-heading.motion-enter h2{animation:headline-flight 1.1s cubic-bezier(.15,.75,.2,1) both}.brand-film.is-playing .brand-film-signature{animation:signature-flight 1.4s 3.6s cubic-bezier(.15,.75,.2,1) both}
@keyframes flying-type-a{0%{transform:translate3d(-60px,45px,-150px) rotate(-16deg);opacity:0}15%,70%{opacity:.65}100%{transform:translate3d(100px,-100px,100px) rotate(12deg);opacity:0}}@keyframes flying-type-b{0%{transform:translate3d(80px,-70px,-200px) rotate(10deg);opacity:0}20%,75%{opacity:.5}100%{transform:translate3d(-130px,80px,80px) rotate(-15deg);opacity:0}}@keyframes headline-flight{from{opacity:0;transform:perspective(900px) translate3d(0,75px,-180px) rotateX(25deg);filter:blur(9px)}to{opacity:1;transform:perspective(900px) translate3d(0,0,0) rotateX(0);filter:blur(0)}}@keyframes word-flight{from{opacity:0;transform:translate3d(90px,-55px,0) rotate(12deg) scale(1.25);clip-path:inset(0)}to{opacity:1;transform:translate3d(0,0,0) rotate(0) scale(1);clip-path:inset(0)}}@keyframes signature-flight{from{opacity:0;transform:translate3d(-100px,30px,0) rotate(-6deg)}to{opacity:1;transform:translate3d(0,0,0) rotate(0)}}@keyframes intro-scroll-nudge{0%,100%{translate:0 -3px}50%{translate:0 5px}}
@media(max-width:700px){.company-brand .brand-film{height:calc(100svh - var(--intro-header-height,124px));min-height:340px}.company-brand .brand-logo-stage{width:94%}.company-brand .portal-worlds{bottom:116px;width:86%}.company-brand .brand-film-signature{bottom:67px;font-size:17px}.company-brand .brand-film-bottom{left:20px;right:20px;bottom:8px;gap:10px;align-items:center}.brand-film-bottom #brand-replay,.intro-scroll-link{font-size:10px}.intro-scroll-link{gap:10px}.flying-type-field span{font-size:30px}.flying-type-field span:nth-child(2){font-size:26px;left:70%}.flying-type-field span:nth-child(4){font-size:28px;left:65%}.flying-type-field span:nth-child(5){font-size:85px}.company-brand+.hero{padding-top:45px;min-height:auto}.hero h1{animation-duration:.85s}.hero.motion-visible .open-word{animation-duration:.9s}}
@media(max-height:650px){.company-brand .portal-worlds{bottom:94px}.company-brand .portal-world{min-height:90px;padding:8px}.company-brand .portal-world img{height:40px;width:105px}.company-brand .portal-moijang img{width:45px;height:43px}.company-brand .portal-world span{font-size:10px;margin-top:3px}.company-brand .brand-logo-stage{width:min(430px,68%)}.company-brand .brand-film-signature{font-size:16px;bottom:57px}}

.motion-stopped .company-brand .brand-film{transform:none;opacity:1}

/* Compact landscape keeps the fullscreen company mark clear. */
@media(max-height:500px) and (min-width:701px){.company-brand .brand-film{min-height:0}.company-brand .portal-worlds{display:none}.company-brand .brand-logo-stage{width:min(330px,48%);transform:translateY(-10px) scale(.8)}.company-brand .brand-film.is-playing .brand-logo-stage{animation-name:logo-compact-fullscreen}.company-brand .brand-film-signature{bottom:54px;font-size:15px}.company-brand .brand-film-bottom{bottom:3px}@keyframes logo-compact-fullscreen{from{opacity:0;transform:translateY(20px) scale(1.1)}to{opacity:1;transform:translateY(-10px) scale(.8)}}}
.hero h1{animation:none}.hero h1.type-flight,.section-heading h2.type-flight,.about-main h2.type-flight{animation:headline-flight 1.25s cubic-bezier(.15,.75,.2,1) both}
@media(max-width:700px){.hero h1.type-flight,.section-heading h2.type-flight,.about-main h2.type-flight{animation-duration:.85s}}

.company-brand{scroll-margin-top:var(--intro-header-height,98px)}


/* One reversible scroll scene: hold the logo while the original phones rise in. */
.opening-sequence{position:relative;isolation:isolate}.opening-enhanced{--opening-progress:0;--phone-entry:0;--intro-fade:1;--hero-fade:0}.opening-enhanced .company-brand{position:sticky;top:0;z-index:1;height:calc(100svh - var(--intro-header-height,98px));pointer-events:auto}.opening-enhanced .company-brand .brand-film{transform:none;opacity:var(--intro-fade);border-radius:0;height:100%;min-height:0}.opening-enhanced .company-brand .brand-logo-stage{animation:none!important;transform:translateY(calc(-110px - var(--opening-progress) * 130px)) scale(calc(.87 - var(--opening-progress) * .55));opacity:clamp(0,calc(2 - var(--opening-progress) * 2.3),1)}.opening-enhanced .portal-worlds,.opening-enhanced .brand-film-signature,.opening-enhanced .brand-film-bottom{opacity:clamp(0,calc(1 - var(--opening-progress) * 3),1)}.opening-enhanced .hero{position:relative;z-index:2;margin-top:calc((100svh - var(--intro-header-height,98px)) * -.32);padding-top:65px;padding-bottom:45px;min-height:90svh;background:transparent;opacity:var(--hero-fade);transform:translateY(calc((1 - var(--phone-entry)) * 75px));will-change:opacity,transform}.opening-enhanced .hero .hero-copy{animation:none}.opening-enhanced .hero h1{animation:none!important}.opening-enhanced .hero .open-word{animation:none!important}.opening-enhanced .hero .park-phone{animation:none;translate:calc((1 - var(--phone-entry)) * -85px) calc((1 - var(--phone-entry)) * 150px);scale:calc(.78 + var(--phone-entry) * .22)}.opening-enhanced .hero .moi-phone{animation:none;translate:calc((1 - var(--phone-entry)) * 85px) calc((1 - var(--phone-entry)) * 200px);scale:calc(.78 + var(--phone-entry) * .22)}.opening-enhanced .hero .art-orbit{opacity:var(--phone-entry)}.opening-enhanced .hero-copy{translate:0 calc((1 - var(--phone-entry)) * 45px)}.opening-enhanced .hero[inert]{pointer-events:none}.opening-enhanced .company-brand.intro-passed{pointer-events:none}
@media(max-width:700px){.opening-enhanced .company-brand .brand-logo-stage{transform:translateY(calc(-85px - var(--opening-progress) * 80px)) scale(calc(.87 - var(--opening-progress) * .5))}.opening-enhanced .hero{margin-top:calc((100svh - var(--intro-header-height,124px)) * -.25);min-height:0;padding-top:35px;padding-bottom:25px}.opening-enhanced .hero .park-phone{translate:calc((1 - var(--phone-entry)) * -40px) calc((1 - var(--phone-entry)) * 100px)}.opening-enhanced .hero .moi-phone{translate:calc((1 - var(--phone-entry)) * 40px) calc((1 - var(--phone-entry)) * 140px)}}
@media(max-height:500px) and (min-width:701px){.opening-enhanced .company-brand .brand-logo-stage{transform:translateY(calc(-10px - var(--opening-progress) * 35px)) scale(calc(.8 - var(--opening-progress) * .5))}}
.motion-stopped .opening-enhanced .company-brand{position:relative}.motion-stopped .opening-enhanced .company-brand .brand-film{opacity:1}.motion-stopped .opening-enhanced .company-brand .brand-logo-stage{opacity:1;transform:translateY(-85px) scale(.87)}.motion-stopped .opening-enhanced .portal-worlds,.motion-stopped .opening-enhanced .brand-film-signature,.motion-stopped .opening-enhanced .brand-film-bottom{opacity:1}.motion-stopped .opening-enhanced .hero{margin-top:0;opacity:1;transform:none}.motion-stopped .opening-enhanced .hero .hero-copy,.motion-stopped .opening-enhanced .hero .hero-phone{translate:none;scale:1}


/* Remove completed autoplay layers before the next screen's copy enters. */
.opening-enhanced .portal-worlds,.opening-enhanced .brand-film-signature,.opening-enhanced .brand-film-bottom{opacity:clamp(0,calc(1 - var(--opening-progress) * 4.5),1)!important}
.motion-stopped .opening-enhanced .portal-worlds,.motion-stopped .opening-enhanced .brand-film-signature,.motion-stopped .opening-enhanced .brand-film-bottom{opacity:1!important}



/* Dissolve the held scene into the paper beneath the entering phones. */
.opening-enhanced .company-brand .brand-film{mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - var(--opening-progress) * 42%),transparent 100%)}
.motion-stopped .opening-enhanced .company-brand .brand-film{mask-image:none}

/* Company navigation: deep teal, warm ivory and a muted gold action. */
.header{background:#123b39;color:#f7f5ea;border-bottom-color:#ffffff1f;box-shadow:0 0 0 100vmax #123b39;clip-path:inset(0 -100vmax)}
.header .company-ci{filter:invert(1) grayscale(1) contrast(1.3);mix-blend-mode:screen}
.header .brand:hover .company-ci{filter:invert(1) grayscale(1) contrast(1.3) drop-shadow(0 0 8px #b9e5cf55)}
.header .nav-contact{background:#edcf91;color:#123b39}
.header nav a[aria-current='location']{color:#edcf91}
.header nav>a:focus-visible{outline:2px solid #edcf91;outline-offset:4px;border-radius:4px}
@media(hover:hover){.header nav>a:not(.nav-contact):hover{color:#edcf91}.header .nav-contact:hover{background:#f5dda9;filter:none}}
/* Neutral black navigation, requested after the teal preview. */
.header{background:#111;color:#f5f5f5;border-bottom-color:#ffffff20;box-shadow:0 0 0 100vmax #111}
.header .nav-contact{background:#f0f0ed;color:#161616}
.header nav a[aria-current='location']{color:#fff}
.header nav>a:focus-visible{outline-color:#fff}
.header .brand:hover .company-ci{filter:invert(1) grayscale(1) contrast(1.3)}
@media(hover:hover){.header nav>a:not(.nav-contact):hover{color:#fff}.header .nav-contact:hover{background:#fff;filter:none}}
/* Matching black bookends for the company page. */
.header,footer{background:#111;color:#f5f5f5}
footer .company-info,footer .footer-company-statement{color:#c9c9c9}
footer .footer-bottom,footer .family-label{color:#aaa}
footer .footer-bottom{border-color:#ffffff26}
footer .footer-links a{color:#f5f5f5}
footer a:focus-visible{outline:2px solid #fff;outline-offset:5px}
@media(hover:hover){footer .footer-links a:hover{color:#fff}}
/* Dark company canvas, with the approved service colours retained. */
:root{--paper:#17191a;--ink:#eeeFEB;--muted:#b4bab7;--line:#ffffff24;--teal:#78cbb7}
body{background:#17191a;color:#eeefeb}
.opening-sequence{background:linear-gradient(#111 0%,#111 35%,#17191a 100%)}
.company-brand .brand-film{background:#111;background-image:none}
.brand-film .portal-door-left,.brand-film .portal-door-right{background:linear-gradient(110deg,#111,#202322);border-color:#ffffff12;box-shadow:none}
.brand-film .brand-light{opacity:.12}.brand-film .brand-energy-core{opacity:.32}.brand-film .portal-ray{opacity:.22}
.hero .eyebrow,.hero-description,.hero-bottom,.hero-bottom a{color:#b8c3bd}
.hero .open-word{color:#83cfb8}.hero-bottom{border-color:#ffffff24}
.company-primary-link{background:#f0f0ed;color:#151817}.company-secondary-link{color:#e2e7e3}
.about{background:#1e2121}.about:before{opacity:.12}
.about-top,.about-bottom,.company-perspective{border-color:#ffffff25}
.about-top>span,.about-bottom>span,.company-perspective p,.about-copy p{color:#bec5bf}
.about-copy p.reading-focus,.about-copy .reading-focus{color:#f2f4ef;text-shadow:none}
.about-main h2>span,.about-mark>span{color:#8ec2a9}
.services .section-heading>p,.service-origin p,.faq-intro>p,.contact-copy p,.contact-note{color:#bac1bd}
.service-origin img{filter:invert(1) grayscale(1) contrast(1.3);mix-blend-mode:screen}.service-origin{mix-blend-mode:normal}
.service-jump a{background:#e6eee2;color:#123b39}.service-jump a:nth-child(2){background:#ffedc2;color:#79512f}
.faq-list details,.faq summary,.contact,.contact-number{border-color:#ffffff25}
.faq summary{color:#e7ece7}.faq-answer p{color:#bfc7c1}
.faq .text-link,.contact .text-link,.contact-number{color:#e8ede8}
.contact-brand-glow{opacity:.09;filter:blur(45px)}
.company-motion-ribbon{background:#101212;color:#d9e3db}
@media(hover:hover){.faq summary:hover{background:#252c29;color:#b8e2cf}.company-primary-link:hover{background:#fff;color:#111}}
.scroll-story{color:#123b39}.scroll-story .text-link{color:#123b39}.scroll-story .moi-story .text-link{color:#79512f}.scroll-story .button{color:#fff}.portal-world{color:#123b39}
.service-origin img{filter:invert(1) grayscale(1) contrast(1.3)!important;mix-blend-mode:screen}
.motion-toggle{background:#eceee9;color:#202523;border-color:#858d87}
@media(hover:hover){.motion-toggle:hover{background:#fff;color:#111}}
/* A single camera move: original company mark, light pass, then original phones. */
.brand-cinematic .brand-portal,.brand-cinematic .brand-rings,.brand-cinematic .brand-light,.brand-cinematic .brand-particle-canvas,.brand-cinematic .brand-energy-core,.brand-cinematic .brand-film-signature{display:none!important}
.brand-cinematic:after{display:none!important}
.opening-enhanced .company-brand .brand-cinematic{background:#111;opacity:1;mask-image:none;overflow:hidden}
.opening-enhanced .company-brand .brand-cinematic .brand-logo-stage{width:min(780px,82vw);transform:translateY(calc(-25px - var(--opening-progress) * 190px)) scale(calc(1 - var(--opening-progress) * .66));opacity:clamp(0,calc(1.5 - var(--opening-progress) * 1.65),1);filter:drop-shadow(0 10px 25px #000);will-change:transform,opacity}
.brand-cinematic .brand-logo-stage img{animation:none!important;opacity:1;translate:none}
.brand-cinematic .brand-logo-stage:after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(110deg,#777 18%,#fff 42%,#fff 48%,#777 72%);background-size:260% 100%;mix-blend-mode:multiply;animation:logo-light-pass 3s .3s ease-in-out both}
@keyframes logo-light-pass{0%{background-position:100% 0;opacity:1}85%{background-position:0% 0;opacity:1}100%{background-position:0% 0;opacity:0}}
.hero-art .art-orbit,.hero-art .art-orbit:before,.hero-art .art-orbit:after{display:none!important}
.opening-enhanced .hero{margin-top:calc((100svh - var(--intro-header-height,98px)) * -.4)}
.opening-enhanced .hero .park-phone{translate:calc((1 - var(--phone-entry)) * -35px) calc((1 - var(--phone-entry)) * 120px);scale:calc(.82 + var(--phone-entry) * .18)}
.opening-enhanced .hero .moi-phone{translate:calc((1 - var(--phone-entry)) * 35px) calc((1 - var(--phone-entry)) * 155px);scale:calc(.82 + var(--phone-entry) * .18)}
@media(max-width:700px){.opening-enhanced .company-brand .brand-cinematic .brand-logo-stage{width:94%;transform:translateY(calc(-30px - var(--opening-progress) * 105px)) scale(calc(1 - var(--opening-progress) * .62))}.opening-enhanced .hero{margin-top:calc((100svh - var(--intro-header-height,124px)) * -.25)}}
@media(max-height:500px) and (min-width:701px){.opening-enhanced .company-brand .brand-cinematic .brand-logo-stage{width:min(340px,48%);transform:translateY(calc(-15px - var(--opening-progress) * 35px)) scale(calc(1 - var(--opening-progress) * .65))}}
.motion-stopped .opening-enhanced .company-brand .brand-cinematic .brand-logo-stage{transform:translateY(-25px);opacity:1}.motion-stopped .opening-enhanced .hero{margin-top:0}

.opening-enhanced .company-brand .brand-cinematic{mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - var(--opening-progress) * 45%),transparent 100%)}
.motion-stopped .opening-enhanced .company-brand .brand-cinematic{mask-image:none}

/* Original logo silhouette, layered silver face and visible side depth. */
.brand-cinematic .brand-logo-stage{mix-blend-mode:normal;transform-style:preserve-3d}
.brand-cinematic .brand-logo-stage .brand-logo-sculpture{filter:none!important;clip-path:none;object-fit:contain}
.opening-enhanced .company-brand .brand-cinematic .brand-logo-stage{width:min(920px,86vw);transform:translateY(calc(-25px - var(--opening-progress) * 190px)) perspective(1200px) rotateY(calc(-9deg + var(--opening-progress) * 9deg)) rotateX(calc(5deg - var(--opening-progress) * 5deg)) scale(calc(1 - var(--opening-progress) * .66));filter:drop-shadow(0 18px 18px #0008)}
.brand-cinematic .brand-logo-stage:after{display:none}
.brand-cinematic .brand-logo-sculpture{animation:metal-light 3s ease-out both!important}
@keyframes metal-light{from{opacity:.35;translate:0 12px}to{opacity:1;translate:0 0}}
@media(max-width:700px){.opening-enhanced .company-brand .brand-cinematic .brand-logo-stage{width:96%;transform:translateY(calc(-40px - var(--opening-progress) * 110px)) perspective(900px) rotateY(calc(-8deg + var(--opening-progress) * 8deg)) scale(calc(1 - var(--opening-progress) * .65))}}
@media(max-height:500px) and (min-width:701px){.opening-enhanced .company-brand .brand-cinematic .brand-logo-stage{width:min(340px,48%);transform:translateY(calc(-15px - var(--opening-progress) * 35px)) scale(calc(1 - var(--opening-progress) * .65))}}
.motion-stopped .opening-enhanced .company-brand .brand-cinematic .brand-logo-stage{transform:translateY(-25px);opacity:1}

/* Keep the foreground alive independently of the scroll-controlled outer stage. */
.brand-cinematic .brand-logo-stage .brand-logo-sculpture{animation:logo-sculpture-idle 7s ease-in-out infinite!important;transform-origin:50% 50%;will-change:transform;backface-visibility:hidden}
@keyframes logo-sculpture-idle{0%,100%{transform:perspective(1100px) rotateY(-7deg) rotateX(3deg) translateY(0);opacity:.83}50%{transform:perspective(1100px) rotateY(7deg) rotateX(-3deg) translateY(-13px);opacity:1}}
@media(max-width:700px){.brand-cinematic .brand-logo-stage .brand-logo-sculpture{animation-name:logo-sculpture-idle-mobile!important}@keyframes logo-sculpture-idle-mobile{0%,100%{transform:perspective(800px) rotateY(-5deg) rotateX(2deg) translateY(0)}50%{transform:perspective(800px) rotateY(5deg) rotateX(-2deg) translateY(-9px)}}}
.motion-stopped .brand-cinematic .brand-logo-stage .brand-logo-sculpture{animation:none!important;transform:none}

/* A restrained reveal: a passing light reveals the fixed, front-facing mark. */
.brand-reveal .brand-logo-stage .brand-logo-sculpture{animation:none!important;transform:none!important;opacity:1}
.opening-enhanced .company-brand .brand-reveal .brand-logo-stage{transform:translateY(calc(-25px - var(--opening-progress) * 190px)) scale(calc(1 - var(--opening-progress) * .66))}
.brand-reveal.is-playing .brand-logo-stage .brand-logo-sculpture{animation:logo-cinematic-reveal 2.8s cubic-bezier(.16,.7,.2,1) both!important}
.brand-reveal .logo-reveal-light{position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(110deg,transparent 38%,#fff9 49%,transparent 60%);mix-blend-mode:screen;opacity:0;clip-path:inset(15% 0 18%)}
.brand-reveal.is-playing .logo-reveal-light{animation:logo-reveal-sweep 2.8s .15s ease-in-out both}
@keyframes logo-cinematic-reveal{0%{clip-path:inset(0 100% 0 0);opacity:0;filter:blur(12px);translate:0 20px}35%{opacity:1}100%{clip-path:inset(0);opacity:1;filter:blur(0);translate:0 0}}
@keyframes logo-reveal-sweep{0%{transform:translateX(-90%);opacity:0}25%{opacity:.45}75%{opacity:.25}100%{transform:translateX(90%);opacity:0}}
@media(max-width:700px){.opening-enhanced .company-brand .brand-reveal .brand-logo-stage{transform:translateY(calc(-40px - var(--opening-progress) * 110px)) scale(calc(1 - var(--opening-progress) * .65))}}
@media(max-height:500px) and (min-width:701px){.opening-enhanced .company-brand .brand-reveal .brand-logo-stage{transform:translateY(calc(-15px - var(--opening-progress) * 35px)) scale(calc(1 - var(--opening-progress) * .65))}}
.motion-stopped .brand-reveal.is-playing .brand-logo-stage .brand-logo-sculpture{animation:none!important;clip-path:none;opacity:1}.motion-stopped .logo-reveal-light{display:none}

.brand-reveal .logo-reveal-light{mask-image:url('assets/yeonda-dimensional.svg');mask-size:100% 100%;mask-repeat:no-repeat;clip-path:none;background-size:300% 100%;transform:none!important}
@keyframes logo-reveal-sweep{0%{background-position:100% 0;opacity:0}25%{opacity:.6}75%{opacity:.4}100%{background-position:0% 0;opacity:0}}
/* Kinetic logo assembly: five moving strips become one original mark. */
.brand-assemble .brand-logo-stage{aspect-ratio:840/560;mix-blend-mode:screen}
.brand-assemble .brand-logo-stage:after{display:none!important}
.brand-assemble .logo-panel-field{position:absolute;inset:0;overflow:visible}
.brand-assemble .brand-logo-stage .logo-panel{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;clip-path:inset(0 var(--end) 0 var(--start));filter:invert(1) grayscale(1) contrast(1.3)!important;opacity:1;translate:none;animation:assemble-rise 9s cubic-bezier(.2,.75,.15,1) infinite!important;animation-delay:calc(var(--panel) * .09s)!important;will-change:transform,opacity}
.brand-assemble .brand-logo-stage .logo-panel:nth-child(2n){animation-name:assemble-drop!important}
@keyframes assemble-rise{0%{transform:translateY(160px);opacity:0}7%{opacity:1}22%,78%{transform:translateY(0);opacity:1}90%,100%{transform:translateY(-140px);opacity:0}}
@keyframes assemble-drop{0%{transform:translateY(-160px);opacity:0}7%{opacity:1}22%,78%{transform:translateY(0);opacity:1}90%,100%{transform:translateY(140px);opacity:0}}
.opening-enhanced .company-brand .brand-assemble .brand-logo-stage{width:min(1000px,90vw);transform:translateY(calc(-20px - var(--opening-progress) * 190px)) scale(calc(1 - var(--opening-progress) * .66));filter:none}
.company-brand.intro-passed .brand-assemble .brand-logo-stage .logo-panel{animation:none!important;transform:none;opacity:1}
@media(max-width:700px){.opening-enhanced .company-brand .brand-assemble .brand-logo-stage{width:96%;transform:translateY(calc(-35px - var(--opening-progress) * 110px)) scale(calc(1 - var(--opening-progress) * .65))}}
@media(max-height:500px) and (min-width:701px){.opening-enhanced .company-brand .brand-assemble .brand-logo-stage{width:min(340px,48%);transform:translateY(calc(-15px - var(--opening-progress) * 35px)) scale(calc(1 - var(--opening-progress) * .65))}}
.motion-stopped .brand-assemble .brand-logo-stage .logo-panel{animation:none!important;transform:none;opacity:1}

.brand-assemble:not(.is-playing) .brand-logo-stage .logo-panel{animation:none!important}
.service-origin img{filter:none!important;mix-blend-mode:normal;background:transparent;animation:none!important}
/* One original CI image, without sliced edges or reconstructed shapes. */
.brand-original .brand-logo-stage{aspect-ratio:840/560;mix-blend-mode:screen}
.brand-original .brand-logo-stage .brand-logo-original{filter:invert(1) grayscale(1) contrast(1.3)!important;clip-path:none;transform:none;translate:none;animation:none!important;opacity:1}
.brand-original .brand-logo-stage:after{display:none!important}
.opening-enhanced .company-brand .brand-original .brand-logo-stage{width:min(920px,86vw);filter:none;transform:translateY(calc(-25px - var(--opening-progress) * 190px)) scale(calc(1 - var(--opening-progress) * .66))}
.brand-original.is-playing .brand-logo-stage .brand-logo-original{animation:original-ci-arrive 2s cubic-bezier(.2,.75,.2,1) both!important}
@keyframes original-ci-arrive{from{opacity:0;translate:0 35px}to{opacity:1;translate:0 0}}
.service-origin img{filter:invert(1) grayscale(1) contrast(1.3)!important;mix-blend-mode:screen;background:transparent}
@media(max-width:700px){.opening-enhanced .company-brand .brand-original .brand-logo-stage{width:94%;transform:translateY(calc(-35px - var(--opening-progress) * 110px)) scale(calc(1 - var(--opening-progress) * .65))}}
@media(max-height:500px) and (min-width:701px){.opening-enhanced .company-brand .brand-original .brand-logo-stage{width:min(340px,48%);transform:translateY(calc(-15px - var(--opening-progress) * 35px)) scale(calc(1 - var(--opening-progress) * .65))}}
.motion-stopped .brand-original.is-playing .brand-logo-stage .brand-logo-original{animation:none!important}

/* Preserve the supplied CI pixels and colours; animate only the containing stage. */
.opening-enhanced .company-brand .brand-original .brand-logo-stage{width:min(760px,80vw);mix-blend-mode:normal;background:#fff;border-radius:12px;overflow:hidden;aspect-ratio:840/560;filter:none;transform:translateY(calc(-25px - var(--opening-progress) * 135px)) scale(calc(1 - var(--opening-progress) * .62));opacity:clamp(0,calc(1.6 - var(--opening-progress) * 1.8),1)}
.brand-original .brand-logo-stage .brand-logo-original,.brand-original.is-playing .brand-logo-stage .brand-logo-original{filter:none!important;animation:none!important;clip-path:none!important;transform:none!important;translate:none!important;opacity:1;mix-blend-mode:normal;object-fit:contain}
.brand-original .brand-logo-stage:before,.brand-original .brand-logo-stage:after{display:none!important}
@media(max-width:700px){.opening-enhanced .company-brand .brand-original .brand-logo-stage{width:84%;border-radius:8px;transform:translateY(calc(-35px - var(--opening-progress) * 95px)) scale(calc(1 - var(--opening-progress) * .62))}}
@media(max-height:500px) and (min-width:701px){.opening-enhanced .company-brand .brand-original .brand-logo-stage{width:min(320px,45%);transform:translateY(calc(-15px - var(--opening-progress) * 30px)) scale(calc(1 - var(--opening-progress) * .62))}}
.motion-stopped .opening-enhanced .company-brand .brand-original .brand-logo-stage{transform:translateY(-25px);opacity:1}

/* CI backgrounds disappear into the same company canvas. */
.service-origin,.service-origin img{background:transparent;mix-blend-mode:normal}
.service-origin img{filter:none!important}
.opening-enhanced .company-brand .brand-original .brand-logo-stage{background:transparent;border-radius:0;overflow:visible;mix-blend-mode:normal}
/* Fresh official ParkOn captures: use normal image sampling, never pixel scaling. */
.hero .park-phone .phone-screen img,#story-image{image-rendering:auto;filter:none;backface-visibility:visible}
.hero .park-phone .phone-screen img{object-fit:cover;object-position:50% 50%}
/* Match ParkOn's 900×1600 capture instead of cropping it into 420×913. */
.scroll-story[data-brand='parkon']:not([data-scene='reservation']) .shared-phone{width:auto;aspect-ratio:914/1614;box-sizing:border-box}
.scroll-story[data-brand='parkon'] .shared-screen img{object-fit:contain;object-position:center;width:100%;height:100%;position:static;transform:none}
.scroll-story[data-brand='parkon'] .shared-screen video{object-fit:contain;object-position:center}
@media(max-width:700px){.scroll-story[data-brand='parkon']:not([data-scene='reservation']) .shared-phone{aspect-ratio:910/1610}}
.scroll-story[data-brand='parkon']:not([data-scene='reservation']) .shared-phone{aspect-ratio:9/16;box-sizing:content-box}
/* Fixed Galaxy S26 base-model proportions: 71.7 × 149.6 mm.
   The media never controls frame dimensions, including reservation clips. */
.scroll-story .shared-phone.galaxy-s26{--galaxy-height:min(58svh,calc(100svh - 290px),560px);position:relative;box-sizing:border-box!important;height:var(--galaxy-height)!important;width:calc(var(--galaxy-height) * 717 / 1496)!important;min-height:0!important;max-height:none!important;aspect-ratio:717/1496!important;padding:2px!important;border:5px solid #222b29;border-radius:clamp(20px,2.5vw,31px)!important;flex-shrink:0;overflow:hidden;transform:none;transition:border-color .4s;background:#111!important;box-shadow:0 0 0 1px #89938d,8px 16px 30px #0002}
.scroll-story .galaxy-s26 .shared-screen{width:100%;height:100%;border-radius:clamp(13px,2vw,24px);background:#f7f7f2;display:flex;align-items:center;justify-content:center}
.scroll-story .galaxy-s26 .shared-screen img,.scroll-story .galaxy-s26 .shared-screen video{position:static!important;inset:auto!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center;transform:none!important;image-rendering:auto}
.scroll-story .galaxy-s26:after{content:'';position:absolute;z-index:5;top:7px;left:50%;translate:-50% 0;width:7px;height:7px;background:#111;border:1px solid #525c58;border-radius:50%;pointer-events:none}
@media(max-width:700px){.scroll-story .shared-phone.galaxy-s26{--galaxy-height:clamp(160px,calc(64svh - 230px),520px)}}
@media(max-height:550px) and (min-width:701px){.scroll-story .shared-phone.galaxy-s26{--galaxy-height:max(100px,calc(100svh - 260px))}}
@media(max-width:700px){.scroll-story .story-display{height:min(76svh,870px)!important;max-height:870px!important;min-height:390px!important}.scroll-story .shared-phone.galaxy-s26{--galaxy-height:clamp(140px,calc(min(76svh,870px) - 230px),520px)}.scroll-story .story-step{scroll-margin-top:min(77svh,880px)}}
/* Motion candidate 1: camera retreat, with the original CI kept intact. */
.opening-enhanced .company-brand .brand-original .brand-logo-stage{width:min(1100px,88vw);transform:translateY(calc(-10px - var(--opening-progress) * 195px)) scale(calc(1.08 - var(--opening-progress) * .8));transform-origin:50% 50%;opacity:clamp(0,calc(1.4 - var(--opening-progress) * 1.5),1);will-change:transform,opacity}
.opening-enhanced .hero{transform:translateY(calc((1 - var(--phone-entry)) * 100px))}
.opening-enhanced .hero .park-phone{translate:calc((1 - var(--phone-entry)) * -55px) calc((1 - var(--phone-entry)) * 155px);scale:calc(.72 + var(--phone-entry) * .28)}
.opening-enhanced .hero .moi-phone{translate:calc((1 - var(--phone-entry)) * 55px) calc((1 - var(--phone-entry)) * 190px);scale:calc(.72 + var(--phone-entry) * .28)}
@media(max-width:700px){.opening-enhanced .company-brand .brand-original .brand-logo-stage{width:94%;transform:translateY(calc(-20px - var(--opening-progress) * 120px)) scale(calc(1.02 - var(--opening-progress) * .74))}.opening-enhanced .hero .park-phone{translate:calc((1 - var(--phone-entry)) * -20px) calc((1 - var(--phone-entry)) * 85px)}.opening-enhanced .hero .moi-phone{translate:calc((1 - var(--phone-entry)) * 20px) calc((1 - var(--phone-entry)) * 110px)}}
@media(max-height:500px) and (min-width:701px){.opening-enhanced .company-brand .brand-original .brand-logo-stage{width:min(360px,48%);transform:translateY(calc(-10px - var(--opening-progress) * 35px)) scale(calc(1 - var(--opening-progress) * .7))}}
.motion-stopped .opening-enhanced .company-brand .brand-original .brand-logo-stage{transform:translateY(-20px);opacity:1}.motion-stopped .opening-enhanced .hero{transform:none}

/* Motion candidate 2: stage curtains, not a camera zoom. */
.opening-enhanced .company-brand .brand-curtain .brand-logo-stage{width:min(850px,82vw);transform:translateY(calc(-20px - var(--opening-progress) * 100px));opacity:clamp(0,calc(1.4 - var(--opening-progress) * 1.5),1)}
.brand-curtain .curtain-panel{position:absolute;top:0;bottom:0;width:50.2%;z-index:8;pointer-events:none;will-change:transform;background:linear-gradient(90deg,#101010,#202020 90%,#2a2a2a);box-shadow:0 0 35px #0008}
.brand-curtain .curtain-left{left:0;transform:translateX(-103%)}
.brand-curtain .curtain-right{right:0;background:linear-gradient(270deg,#101010,#202020 90%,#2a2a2a);transform:translateX(103%)}
.brand-curtain.is-playing .curtain-left{animation:curtain-open-left 2.8s .25s cubic-bezier(.65,0,.2,1) both}
.brand-curtain.is-playing .curtain-right{animation:curtain-open-right 2.8s .25s cubic-bezier(.65,0,.2,1) both}
@keyframes curtain-open-left{from{transform:translateX(0)}to{transform:translateX(-103%)}}
@keyframes curtain-open-right{from{transform:translateX(0)}to{transform:translateX(103%)}}
.opening-enhanced .hero .park-phone{translate:calc((1 - var(--phone-entry)) * -65px) 0;scale:1}
.opening-enhanced .hero .moi-phone{translate:calc((1 - var(--phone-entry)) * 65px) 0;scale:1}
@media(max-width:700px){.opening-enhanced .company-brand .brand-curtain .brand-logo-stage{width:90%;transform:translateY(calc(-25px - var(--opening-progress) * 80px))}.opening-enhanced .hero .park-phone{translate:calc((1 - var(--phone-entry)) * -25px) 0}.opening-enhanced .hero .moi-phone{translate:calc((1 - var(--phone-entry)) * 25px) 0}}
@media(max-height:500px) and (min-width:701px){.opening-enhanced .company-brand .brand-curtain .brand-logo-stage{width:min(340px,48%);transform:translateY(-15px)}}
.motion-stopped .brand-curtain .curtain-panel{display:none}.motion-stopped .opening-enhanced .company-brand .brand-curtain .brand-logo-stage{transform:translateY(-20px);opacity:1}

/* Motion candidate 3: light discovers an intact logo, then opens toward the phones. */
.opening-enhanced .company-brand .brand-spotlight .brand-logo-stage{width:min(850px,82vw);transform:translateY(calc(-20px - var(--opening-progress) * 100px));opacity:clamp(0,calc(1.4 - var(--opening-progress) * 1.5),1)}
.brand-spotlight .brand-logo-stage .brand-logo-original,.brand-spotlight.is-playing .brand-logo-stage .brand-logo-original{animation:spotlight-discovery 7s ease-in-out infinite!important}
@keyframes spotlight-discovery{0%,100%{opacity:.18}35%,65%{opacity:1}}
.brand-spotlight .spotlight-beam{position:absolute;inset:-15%;pointer-events:none;z-index:1;background:radial-gradient(ellipse 25% 38% at 50% 48%,#cddfe318,transparent 75%);mix-blend-mode:screen;filter:blur(12px);opacity:calc(1 - var(--opening-progress));translate:calc(var(--opening-progress) * -28%) 0;animation:spotlight-travel 7s ease-in-out infinite}
.brand-spotlight .spotlight-beam-right{translate:calc(var(--opening-progress) * 28%) 0;animation-delay:-.25s}
@keyframes spotlight-travel{0%,100%{transform:translateX(-22%)}50%{transform:translateX(22%)}}
.opening-enhanced .hero .park-phone{translate:0 calc((1 - var(--phone-entry)) * 60px);scale:1}.opening-enhanced .hero .moi-phone{translate:0 calc((1 - var(--phone-entry)) * 85px);scale:1}
@media(max-width:700px){.opening-enhanced .company-brand .brand-spotlight .brand-logo-stage{width:90%;transform:translateY(calc(-25px - var(--opening-progress) * 80px))}}
@media(max-height:500px) and (min-width:701px){.opening-enhanced .company-brand .brand-spotlight .brand-logo-stage{width:min(340px,48%);transform:translateY(-15px)}}
.motion-stopped .brand-spotlight .spotlight-beam{display:none}.motion-stopped .brand-spotlight.is-playing .brand-logo-stage .brand-logo-original{animation:none!important;opacity:1}

.brand-spotlight .brand-logo-stage .brand-logo-original{mask-image:linear-gradient(105deg,#0003 20%,#000 45%,#000 55%,#0003 80%);mask-size:260% 100%}
@keyframes spotlight-discovery{0%,100%{mask-position:100% 0;opacity:1}50%{mask-position:0% 0;opacity:1}}
.motion-stopped .brand-spotlight .brand-logo-stage .brand-logo-original{mask-image:none}

/* Motion candidate 4: the parent brand sends two connections into its services. */
.opening-enhanced .company-brand .brand-network .brand-logo-stage{width:min(700px,76vw);transform:translateY(calc(-100px - var(--opening-progress) * 85px)) scale(calc(1 - var(--opening-progress) * .4));opacity:clamp(0,calc(1.5 - var(--opening-progress) * 1.6),1)}
.brand-network .brand-logo-stage .brand-logo-original,.brand-network.is-playing .brand-logo-stage .brand-logo-original{animation:none!important;mask-image:none;opacity:1}
.brand-network-lines{position:absolute;top:48%;left:50%;translate:-50% 0;width:min(800px,85%);height:48%;overflow:visible;pointer-events:none;opacity:calc(1 - var(--opening-progress))}
.brand-network-lines path{fill:none;stroke-width:2;stroke-linecap:round;stroke-dasharray:1000;stroke-dashoffset:1000}
.network-stem{stroke:#d7ded9}.network-park{stroke:#76c9a7}.network-moi{stroke:#efb94f}
.brand-network.is-playing .network-stem{animation:network-draw 1s .25s ease-out forwards}
.brand-network.is-playing .network-park,.brand-network.is-playing .network-moi{animation:network-draw 2.2s 1s ease-out forwards}
.network-node{opacity:0}.park-node{fill:#76c9a7}.moi-node{fill:#efb94f}
.brand-network.is-playing .network-node{animation:network-node-arrive 2.2s 2s ease-in-out infinite}
@keyframes network-draw{to{stroke-dashoffset:0}}@keyframes network-node-arrive{0%,100%{opacity:.35;r:5px}50%{opacity:1;r:8px}}
@media(max-width:700px){.opening-enhanced .company-brand .brand-network .brand-logo-stage{width:86%;transform:translateY(calc(-80px - var(--opening-progress) * 70px)) scale(calc(1 - var(--opening-progress) * .4))}.brand-network-lines{top:48%;height:40%;width:90%}}
@media(max-height:500px) and (min-width:701px){.opening-enhanced .company-brand .brand-network .brand-logo-stage{width:min(300px,44%);transform:translateY(-45px)}.brand-network-lines{top:45%;height:40%}}
.motion-stopped .brand-network-lines path{stroke-dashoffset:0}.motion-stopped .network-node{opacity:1}

/* Motion candidate 5: two real service films retreat into the phone introduction. */
.opening-service-films{position:absolute;inset:5% 5% 12%;display:grid;grid-template-columns:1fr 1fr;gap:24px;z-index:2;transform:translateY(calc(var(--opening-progress) * 100px)) scale(calc(1 - var(--opening-progress) * .58));opacity:clamp(0,calc(1 - var(--opening-progress) * 1.55),1);transform-origin:50% 60%;pointer-events:none}
.opening-film{position:relative;overflow:hidden;border-radius:20px;background:#162821;border:1px solid #ffffff25;box-shadow:0 25px 70px #0005}.opening-film video{display:block;width:100%;height:100%;object-fit:cover}.opening-film-park video{object-fit:contain;background:#eaf0e4}.opening-film span{position:absolute;left:20px;bottom:18px;padding:7px 12px;background:#111c;border-radius:8px;color:#fff;font-weight:700;font-size:18px}
.opening-enhanced .company-brand .brand-service-film .brand-logo-stage{z-index:4;width:min(660px,70vw);transform:translateY(calc(-20px - var(--opening-progress) * 130px)) scale(calc(.78 + var(--opening-progress) * .22));opacity:clamp(0,calc((var(--opening-progress) - .18) * 3.8),1)}
.brand-service-film .brand-logo-stage .brand-logo-original{mask-image:none;animation:none!important}
@media(max-width:700px){.opening-service-films{inset:7% 5% 20%;gap:10px}.opening-film{border-radius:13px}.opening-film span{left:8px;bottom:9px;font-size:12px;padding:5px 8px}.opening-enhanced .company-brand .brand-service-film .brand-logo-stage{width:88%;transform:translateY(calc(-20px - var(--opening-progress) * 100px)) scale(calc(.8 + var(--opening-progress) * .2))}}
@media(max-height:500px) and (min-width:701px){.opening-enhanced .company-brand .brand-service-film .brand-logo-stage{width:300px;transform:translateY(-30px)}}
.motion-stopped .opening-service-films{opacity:1;transform:none}.motion-stopped .opening-enhanced .company-brand .brand-service-film .brand-logo-stage{opacity:1;transform:translateY(-20px);width:220px;background:#111d}

.opening-service-films{inset:auto 5%;top:50%;height:min(65svh,620px);margin-top:calc(min(65svh,620px) * -.5)}
.opening-film-moi video{object-fit:contain;background:#fff0cc}
@media(max-width:700px){.opening-service-films{inset:auto 5%;top:48%;height:min(48svh,520px);margin-top:calc(min(48svh,520px) * -.5);gap:10px}}
/* Keep candidate 5 visible immediately, even in a tall embedded preview. */
.opening-service-films{top:145px;margin-top:0;height:min(58svh,560px)}
.opening-enhanced .company-brand .brand-service-film .brand-logo-stage{position:absolute;top:12px;left:50%;translate:-50% 0;width:190px;transform:translateY(calc(var(--opening-progress) * -30px));opacity:calc(1 - var(--opening-progress))}
@media(max-width:700px){.opening-service-films{top:115px;margin-top:0;height:min(55svh,500px)}.opening-enhanced .company-brand .brand-service-film .brand-logo-stage{width:145px;top:4px;transform:translateY(calc(var(--opening-progress) * -25px))}}
@media(max-height:550px){.opening-service-films{top:25px;height:65svh}.opening-enhanced .company-brand .brand-service-film .brand-logo-stage{display:none}}
/* Launch announcement: date-led teaser, with no unreleased game captures. */
.hero .moi-phone .game-crop img{position:static!important;inset:auto!important;width:100%!important;height:100%!important;object-fit:contain!important;background:#fff0cc}
.launch-story{max-width:440px;width:100%;margin-inline:auto;align-items:flex-start}
.launch-story .launch-year{font:500 24px/1.2 Pretendard,sans-serif!important;letter-spacing:.12em;color:#79512f;margin:0 0 12px}
.story-step.launch-story .launch-date{font:750 clamp(64px,7vw,102px)/1.05 Pretendard,sans-serif;letter-spacing:-.06em;color:#4c392a;margin:0 0 34px}
.launch-date span{display:block;font-size:22px;letter-spacing:.02em;font-weight:500;margin-top:14px}
.launch-story h4{font:600 22px/1.55 Busan,Pretendard,sans-serif;color:#59452d;margin-bottom:14px}
.launch-story .launch-status{font:600 11px/1.4 Pretendard,sans-serif;letter-spacing:.15em;color:#79512f;border:1px solid #be9d62;padding:10px 14px;border-radius:30px;margin-top:28px}
.family-coming{color:#aaa;font-size:12px}.scroll-story[data-brand='moijang'] .story-channels{min-height:55px}
@media(max-width:700px){.story-step.launch-story .launch-date{font-size:68px}.launch-story h4{font-size:21px}.launch-story .launch-year{font-size:20px!important}.launch-story{padding-inline:5px}}

/* iOS Safari: header uses the transparent dark-background CI, so no blend/filter tricks are needed */
.header .company-ci,.header .brand:hover .company-ci{filter:none!important;mix-blend-mode:normal!important;scale:1.06}

/* iPhone Safari: animated masks and blended blur layers are dropped there, so the spotlight uses opacity/transform only */
@supports (-webkit-touch-callout:none){.brand-spotlight .brand-logo-stage .brand-logo-original,.brand-spotlight.is-playing .brand-logo-stage .brand-logo-original{-webkit-mask-image:none!important;mask-image:none!important;animation:ios-spotlight-logo 7s ease-in-out infinite!important;will-change:opacity}
.brand-spotlight .spotlight-beam{mix-blend-mode:normal!important;filter:none!important;background:radial-gradient(ellipse 25% 38% at 50% 48%,rgba(205,223,227,.16),rgba(205,223,227,.05) 45%,transparent 75%)!important;will-change:transform}
.opening-enhanced .company-brand .brand-film{-webkit-mask-image:none!important;mask-image:none!important}
@keyframes ios-spotlight-logo{0%,50%,100%{opacity:.4}25%,75%{opacity:1}}
.motion-stopped .brand-spotlight.is-playing .brand-logo-stage .brand-logo-original{animation:none!important;opacity:1}}

