@font-face{font-family:Michroma;src:url('/michroma.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Pretendard;src:url('/pretendard.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--blue:#0827c9;--blue-hover:#001da8;--text:#191f28;--muted:#626e80;--line:#e7ebf1;--soft:#f5f7fb;--ease:cubic-bezier(.2,.7,.2,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--text);font:18px/1.65 Pretendard,-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;word-break:keep-all;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,summary{touch-action:manipulation}button{cursor:pointer}a,button,summary,input,textarea,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #6382ff;outline-offset:5px}::selection{background:#dce5ff;color:var(--blue)}[hidden]{display:none!important}.wrap{width:min(1160px,calc(100% - 96px));margin-inline:auto}.section{padding:128px 0}.eyebrow{font-size:11px;letter-spacing:2.2px;font-weight:650;line-height:1.5;color:var(--blue);margin:0}.section-label{margin-bottom:30px}.small-en{font-size:11px;letter-spacing:1.5px;line-height:1.5;font-weight:600}.skip{position:fixed;top:-100px;left:16px;z-index:100;background:#fff;padding:12px;color:var(--blue)}.skip:focus{top:12px}header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid #e7ebf180}.nav{height:84px;display:flex;justify-content:space-between;align-items:center;gap:24px}.logo{font-family:Michroma,Arial,sans-serif;font-size:23px;font-weight:700;font-synthesis:weight;-webkit-text-stroke:.25px currentColor;letter-spacing:.1px;color:var(--blue);line-height:1.5}nav{display:flex;align-items:center;gap:30px;font-size:16px;font-weight:550;color:#45516a}nav a{transition:color .2s}nav a:hover,nav a[aria-current=true]{color:var(--blue)}nav .nav-contact{display:inline-flex;align-items:center;gap:18px;background:#f0f3ff;color:var(--blue);padding:10px 18px;border-radius:100px}.menu-toggle{display:none}.hero{position:relative;isolation:isolate;overflow:hidden;padding:0;color:var(--blue)}.hero::before{content:'';position:absolute;inset:-30px;background:url('/soft-waves.svg') center bottom/cover no-repeat;z-index:-1;pointer-events:none;animation:wave-drift 24s ease-in-out infinite alternate}.hero-inner{min-height:670px;display:grid;grid-template-columns:1.35fr 1fr;gap:35px;align-items:center;padding:55px 0 70px}.hero-copy{position:relative;z-index:2}h1{font-family:Michroma,Arial,sans-serif;font-size:clamp(44px,4.85vw,66px);font-weight:400;line-height:1.35;letter-spacing:-1.8px;margin:30px 0 26px}.headline-line{display:block;white-space:nowrap}.word{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.06em;margin-bottom:-.06em}.word>span{display:inline-block;animation:headline-rise 1.1s var(--ease) both}.word:nth-child(2)>span{animation-delay:.16s}.headline-last .word>span{animation-delay:.32s}.headline-last{animation:headline-float 8s 1.5s ease-in-out infinite}.hero-message{font-size:29px;font-weight:650;line-height:1.5;letter-spacing:-.9px;margin:0 0 16px}.hero-description{font-size:19px;line-height:1.8;color:var(--muted);margin:0}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;font-size:16px;font-weight:600;min-height:54px;padding:15px 23px;border:0;border-radius:13px;transition:background .2s,transform .25s,box-shadow .25s}.primary{background:var(--blue);color:#fff}.primary:hover{background:var(--blue-hover);box-shadow:0 8px 22px #0827c91a;transform:translateY(-2px)}.text-link{display:inline-flex;align-items:center;gap:16px;font-size:16px;color:var(--blue);font-weight:600;background:none;border:0;padding:4px 0}.text-link span,.card-link span{transition:transform .25s}.text-link:hover span,.card-link:hover span{transform:translate(3px,-2px)}.hero-bottom{border-top:1px solid #0827c917;padding:24px 0 27px;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#6d7a93}.hero-bottom>a{font-size:10px;letter-spacing:1.5px;color:var(--blue)}.hero-bottom>a span{margin-left:24px}.brand-art{height:420px;position:relative;display:grid;place-items:center}.ripple{position:absolute;border:1px solid #0827c90c;border-radius:50%;width:370px;height:370px;transform:rotate(-20deg) scaleX(1.1)}.ripple-b{width:300px;height:300px;border-color:#0827c912}.ripple-c{width:235px;height:235px;border-color:#0827c918}.blue-sphere{width:152px;height:152px;border-radius:50%;background:radial-gradient(circle at 32% 22%,#3f61f5 0,#1439de 36%,#0827c9 72%);box-shadow:inset -10px -12px 25px #001b8618,0 30px 50px -25px #0827c947;animation:sphere-float 10s ease-in-out infinite}.art-caption{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);font-size:9px;line-height:1.7;letter-spacing:1.5px;text-align:center;color:#7c8eab;white-space:nowrap}.art-dot{position:absolute;width:9px;height:9px;background:var(--blue);border-radius:50%;top:75px;right:67px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:60px}h2{font-size:clamp(36px,3.65vw,51px);line-height:1.35;font-weight:700;letter-spacing:-1.8px;color:var(--blue);margin:0}h3{font-weight:650;letter-spacing:-.7px}.intro-text{max-width:510px;padding-top:7px;font-size:20px;line-height:1.85;color:var(--muted)}.intro-text p{margin:0 0 22px}.intro-text strong{color:#343f55;font-weight:600}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:65px}.principles article{position:relative;padding:34px 0 0;border-top:1px solid #dbe2ef}.principle-number{position:absolute;right:0;top:28px;font-size:13px;color:#8591ab}.principles .small-en{color:var(--blue);margin:0 0 20px}.principles h3{font-size:24px;line-height:1.4;color:var(--blue);margin:0 0 15px}.principles article>p:last-child{font-size:18px;line-height:1.85;color:var(--muted);margin:0}.expertise{background:var(--soft)}.section-description{font-size:20px;color:var(--muted);line-height:1.85;margin:8px 0 0;max-width:430px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:54px}.service-card{background:#fff;padding:32px 29px;border:1px solid #ebeff6;border-radius:24px;transition:box-shadow .35s,transform .35s;display:flex;flex-direction:column}.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;min-height:100px}.card-top .small-en{font-size:10px;color:#76839d}.card-top svg{width:64px;height:64px;fill:none;stroke:var(--blue);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.service-card h3{font-size:29px;color:var(--blue);line-height:1.4;margin:10px 0 18px}.service-card>p{font-size:18px;color:var(--muted);line-height:1.85;margin:0}.service-tags{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:27px 0 30px}.service-tags li{font-size:12px;color:#69768d;background:#f5f7fc;border-radius:6px;padding:5px 9px}.card-link{margin-top:auto;padding-top:21px;border-top:1px solid var(--line);font-size:16px;font-weight:600;color:var(--blue);display:flex;justify-content:space-between;align-items:center}.project-feature{margin-top:54px;border-radius:28px;overflow:hidden;display:grid;grid-template-columns:1.05fr 1fr;background:#f5f7fc;border:1px solid #edf0f7}.project-visual{position:relative;min-height:470px;background:var(--blue);color:white;display:flex;align-items:center;padding:50px;overflow:hidden;isolation:isolate}.visual-label{position:absolute;top:34px;left:40px;font-size:9px;letter-spacing:1.8px;opacity:.65}.visual-bottom{position:absolute;bottom:30px;left:40px;font-size:8px;letter-spacing:1.5px;opacity:.55}.project-visual>p{font-size:47px;font-weight:600;line-height:1.55;letter-spacing:-2px;position:relative;margin:0}.project-visual>p span{font-weight:350}.festival-orbits{position:absolute;width:430px;height:430px;left:25%;top:15%;z-index:-1;transform:rotate(-25deg)}.festival-orbits i{position:absolute;inset:0;border-radius:50%;border:1px solid #ffffff24;transform:scaleX(.7)}.festival-orbits i:nth-child(2){inset:32px;border-color:#ffffff32}.festival-orbits i:nth-child(3){inset:65px;background:radial-gradient(ellipse at 20% 30%,#ffffff0d,transparent 70%);border-color:#ffffff38}.project-copy{padding:48px 46px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.status{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:#687a9b;font-weight:500}.status>span{width:6px;height:6px;background:#879bce;border-radius:50%}.project-copy h3{font-size:29px;color:var(--blue);line-height:1.4;margin:17px 0}.project-lead{font-size:24px!important;font-weight:600;color:#303d57!important;line-height:1.5!important;margin:0 0 18px!important}.project-copy>p{font-size:18px;line-height:1.85;color:var(--muted);margin:0}.project-themes{display:flex;gap:14px;font-size:13px;color:#7383a3;margin:20px 0 28px}.project-themes span+span:before{content:'·';margin-right:14px;color:#a0acc2}.process{background:#0827c9;color:#fff}.process h2{color:#fff}.process .section-label{color:#b6c4ff}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:58px}.steps article{padding:26px 0 0;border-top:1px solid #ffffff35}.step-no{font-size:13px;color:#b0beff}.steps h3{font-size:28px;margin:20px 0 3px}.steps .small-en{font-size:10px;color:#bdc9ff}.steps p{font-size:18px;line-height:1.85;color:#d9e0ff;margin-top:21px}.contact{position:relative;background:url('/soft-waves.svg') center bottom/100% auto no-repeat}.contact-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:start}.contact-copy>p:not(.eyebrow){font-size:20px;line-height:1.85;color:var(--muted);margin:27px 0 30px}.email-address{display:block;font-size:17px;color:var(--blue);margin-top:17px;letter-spacing:.1px;width:max-content}.email-address:hover{text-decoration:underline}.proposal-panel{border:1px solid #e5eaf5;background:rgba(255,255,255,.75);border-radius:24px;padding:34px 36px}.proposal-panel>.small-en{font-size:10px;color:#7385b2;margin:0 0 19px}.proposal-panel h3{font-size:29px;line-height:1.5;color:var(--blue);margin:0 0 17px}.proposal-panel>p:not(.small-en){color:var(--muted);font-size:18px;line-height:1.85;margin:0 0 22px}summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;color:var(--blue);font-size:17px;font-weight:600;padding:15px 0 0;border-top:1px solid var(--line)}summary::-webkit-details-marker{display:none}summary span{font-size:25px;font-weight:300;transition:transform .2s}details[open] summary span{transform:rotate(45deg)}form{padding-top:20px}.form-note{font-size:13px;line-height:1.7;color:#7a869b;margin:0 0 24px}label{font-size:15px;font-weight:600;color:#34476c;display:block;margin-bottom:8px}input,select,textarea{width:100%;min-width:0;background:#f7f9fd;border:1px solid #e3e9f3;border-radius:10px;padding:12px 14px;font-size:16px;line-height:1.6;color:#1f355f;margin-bottom:20px}input::placeholder,textarea::placeholder{color:#8b96a8}textarea{resize:vertical;min-height:120px}form .button{width:100%}#result{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.8;color:#45516c;margin-top:20px}#result:empty{display:none}.result-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px}.result-actions .text-link{font-size:14px}footer{padding:40px 0 24px;background:#fff;border-top:1px solid var(--line)}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:32px}.footer-top .logo{font-size:22px}.footer-top p{font-size:14px;color:#7c879c;margin:0}.back-top{font-size:13px}.footer-bottom{border-top:1px solid var(--line);padding-top:23px;display:flex;align-items:center;gap:25px;color:#8a94a6;font-size:11px}.footer-bottom>span{margin-right:auto}#motion-toggle{border:0;background:none;padding:8px 0;color:#74819b;font-size:12px;font-weight:500}#motion-toggle:hover{color:var(--blue)}.mobile-only{display:none}.reveal-pending{opacity:0;transform:translateY(18px);transition:opacity .75s var(--ease),transform .75s var(--ease)}.reveal-pending.is-visible{opacity:1;transform:none}
@keyframes headline-rise{from{opacity:0;transform:translateY(105%)}to{opacity:1;transform:translateY(0)}}@keyframes headline-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes wave-drift{from{transform:translate(-12px,5px) scale(1.02)}to{transform:translate(12px,-8px) scale(1.035)}}@keyframes sphere-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(hover:hover){.service-card:hover{transform:translateY(-5px);box-shadow:0 18px 35px -20px #263b741f}}
@media(min-width:761px) and (max-width:1050px){.hero-inner{grid-template-columns:1.5fr 1fr;gap:0}.brand-art{transform:scale(.8)}h1{font-size:4.8vw}.service-grid{gap:14px}.service-card{padding:27px 22px}.service-card>p{font-size:16px}.service-card h3{font-size:26px}.service-card>p br{display:none}.card-top{min-height:85px;flex-direction:column-reverse;gap:16px}.section-head{gap:30px}.intro-text{font-size:18px}.contact-inner{gap:40px}nav{gap:20px}.project-copy{padding:35px}.project-visual{padding:35px}.project-visual>p{font-size:40px}.steps{gap:22px}.steps p{font-size:16px}}
@media(max-width:760px){html{scroll-padding-top:88px}.wrap{width:calc(100% - 44px)}.section{padding:82px 0}.nav{height:74px}.logo{font-size:19px}.menu-toggle{display:flex;align-items:center;gap:10px;min-height:44px;color:var(--blue);border:0;background:transparent;font-size:14px;padding:7px 0 7px 12px}.menu-toggle span{font-size:23px;transition:transform .2s}.menu-toggle[aria-expanded=true] span{transform:rotate(45deg)}nav{display:none;position:absolute;top:74px;left:0;right:0;background:#fffffff5;backdrop-filter:blur(18px);padding:14px 22px 25px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}nav.is-open{display:flex}nav a{padding:12px 6px;font-size:17px}nav .nav-contact{margin-top:12px;justify-content:space-between;padding:13px 16px;border-radius:12px}.hero-inner{display:block;min-height:0;padding:60px 0 55px}.eyebrow{font-size:10px;letter-spacing:1.6px}h1{font-size:clamp(26px,6.8vw,47px);line-height:1.5;letter-spacing:-1px;margin:25px 0}.hero-message{font-size:27px;line-height:1.5;letter-spacing:-.8px}.hero-description{font-size:18px;margin-top:15px}.hero-actions{gap:22px;margin-top:27px}.button{font-size:15px;min-height:52px;padding:14px 19px;gap:20px}.hero-actions .text-link{font-size:15px}.brand-art{height:200px;margin:16px 0 -12px;display:none}.hero::before{background-size:auto 100%;background-position:65% bottom}.hero-bottom{font-size:11px;gap:16px;line-height:1.7;padding:21px 0}.hero-bottom>a{font-size:8px;letter-spacing:.7px;white-space:nowrap}.hero-bottom>a span{margin-left:8px}.section-label{margin-bottom:23px}.section-head{display:block}h2{font-size:36px;letter-spacing:-1.4px;line-height:1.4}.intro-text{font-size:19px;line-height:1.85;margin-top:27px;max-width:none;padding:0}.intro-text p{margin-bottom:19px}.desktop-only{display:none}.principles{grid-template-columns:1fr;gap:0;margin-top:38px}.principles article{padding:25px 0;display:grid;grid-template-columns:80px 1fr;gap:0 12px}.principles .small-en{grid-column:1;grid-row:1;margin-top:5px;font-size:10px}.principles h3{grid-column:2;font-size:23px;margin-bottom:10px}.principles article>p:last-child{grid-column:2;font-size:17px}.principle-number{display:none}.section-description{font-size:19px;margin-top:24px}.service-grid{grid-template-columns:1fr;margin-top:35px;gap:16px}.service-card{padding:29px;border-radius:21px}.card-top{min-height:55px;align-items:center}.card-top svg{width:55px;height:55px}.service-card h3{font-size:28px;margin-top:14px}.service-card>p{font-size:18px}.service-tags{margin:23px 0}.card-link{font-size:17px}.project-feature{grid-template-columns:1fr;border-radius:23px;margin-top:35px}.project-visual{min-height:330px;padding:35px}.project-visual>p{font-size:42px}.visual-label{left:30px;top:25px;font-size:8px}.visual-bottom{left:30px;bottom:24px;font-size:7px}.festival-orbits{width:330px;height:330px;top:10%;left:22%}.project-copy{padding:32px 29px}.project-copy h3{font-size:28px}.project-lead{font-size:24px!important}.project-copy>p{font-size:18px}.project-copy .text-link{font-size:16px}.steps{grid-template-columns:1fr 1fr;gap:23px;margin-top:38px}.steps article{padding-top:20px}.steps h3{font-size:28px;margin-top:15px}.steps p{font-size:17px;line-height:1.85}.steps p br{display:none}.contact-inner{grid-template-columns:1fr;gap:45px}.contact-copy>p:not(.eyebrow){font-size:19px}.contact-copy>.button{font-size:16px}.proposal-panel{padding:29px;border-radius:22px}.proposal-panel h3{font-size:28px}.proposal-panel>p:not(.small-en){font-size:18px}.contact{background-size:auto 700px}.footer-top{flex-wrap:wrap;gap:15px;position:relative;padding-bottom:26px}.footer-top .logo{font-size:20px}.footer-top p{width:100%;font-size:13px}.back-top{position:absolute;right:0;top:5px}.footer-bottom{flex-wrap:wrap;gap:9px 20px;font-size:10px}.footer-bottom>span{display:none}#motion-toggle{margin-left:auto;font-size:11px}.mobile-only{display:initial}}
@media(max-width:360px){.wrap{width:calc(100% - 36px)}.hero-message{font-size:25px}h2{font-size:33px}.hero-actions{gap:15px}.hero-bottom>a{display:none}.service-card,.project-copy,.proposal-panel{padding:25px}.principles article{grid-template-columns:66px 1fr}.principles h3{font-size:21px}.steps p{font-size:16px}}
html[data-motion=off]{scroll-behavior:auto}html[data-motion=off] *,html[data-motion=off] *::before,html[data-motion=off] *::after{animation:none!important;transition:none!important}html[data-motion=off] .reveal-pending{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal-pending{opacity:1;transform:none}}
.button,.text-link{white-space:nowrap}
@media(max-width:360px){.hero-actions{gap:14px}.hero-actions .button{font-size:14px;padding:14px 16px;gap:12px}.hero-actions .text-link{font-size:14px;gap:10px}}
/* Brand-color feedback for the expertise cards. */
.service-card{transition:opacity .75s var(--ease),transform .35s var(--ease),background-color .35s ease,border-color .35s ease,box-shadow .35s ease}
.service-card h3,.service-card>p,.service-card .small-en,.service-card .card-link,.service-card .service-tags li{transition:color .3s ease,background-color .3s ease,border-color .3s ease}
.service-card .card-top svg{transition:stroke .3s ease,transform .45s var(--ease)}
.service-card:focus-within{background:var(--blue);border-color:var(--blue);box-shadow:0 20px 42px -20px #0827c96b;transform:translateY(-6px)}
.service-card:focus-within h3,.service-card:focus-within .card-link{color:#fff}
.service-card:focus-within>p{color:#e3e9ff}.service-card:focus-within .small-en{color:#c5d0ff}
.service-card:focus-within .card-top svg{stroke:#fff;transform:translateY(-3px) rotate(-3deg)}
.service-card:focus-within .service-tags li{background:#ffffff17;color:#e3e9ff}
.service-card:focus-within .card-link{border-top-color:#ffffff35}
.service-card .card-link:focus-visible{outline-color:#fff}
@media(hover:hover) and (pointer:fine){
.service-card:hover{background:var(--blue);border-color:var(--blue);box-shadow:0 20px 42px -20px #0827c96b;transform:translateY(-6px)}
.service-card:hover h3,.service-card:hover .card-link{color:#fff}
.service-card:hover>p{color:#e3e9ff}.service-card:hover .small-en{color:#c5d0ff}
.service-card:hover .card-top svg{stroke:#fff;transform:translateY(-3px) rotate(-3deg)}
.service-card:hover .service-tags li{background:#ffffff17;color:#e3e9ff}
.service-card:hover .card-link{border-top-color:#ffffff35}
.service-card:hover .card-link span{transform:translate(3px,-3px)}
}
html[data-motion=off] .service-card:hover,html[data-motion=off] .service-card:focus-within,html[data-motion=off] .service-card .card-top svg{transform:none}
@media(prefers-reduced-motion:reduce){.service-card:hover,.service-card:focus-within,.service-card .card-top svg{transform:none}}
/* A quiet ripple and an orbiting point around the brand sphere. */
.brand-art .ripple{animation:brand-ripple 9s ease-in-out infinite alternate;transform-origin:center}
.brand-art .ripple-b{animation-duration:10s;animation-delay:-3s}
.brand-art .ripple-c{animation-duration:8s;animation-delay:-5s}
.brand-art .art-dot{width:340px;height:340px;top:50%;left:50%;right:auto;background:none;border-radius:50%;transform:translate(-50%,-50%) rotate(0deg);animation:brand-orbit 36s linear infinite;pointer-events:none}
.brand-art .art-dot::after{content:'';position:absolute;width:9px;height:9px;border-radius:50%;background:var(--blue);top:49px;right:49px}
@keyframes brand-ripple{from{transform:rotate(-20deg) scaleX(1.1) scale(.97);opacity:.65}to{transform:rotate(-15deg) scaleX(1.1) scale(1.035);opacity:1}}
@keyframes brand-orbit{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
/* Quiet breathing ellipses behind the recovery project title. */
.festival-orbits{animation:festival-sway 22s ease-in-out infinite alternate;transform-origin:center}
.festival-orbits i{animation:festival-breathe 11s ease-in-out infinite alternate;transform-origin:center}
.festival-orbits i:nth-child(2){animation-delay:-4s;animation-duration:13s}
.festival-orbits i:nth-child(3){animation-delay:-7s;animation-duration:10s}
@keyframes festival-sway{from{transform:rotate(-29deg) translateY(5px)}to{transform:rotate(-17deg) translateY(-5px)}}
@keyframes festival-breathe{from{transform:scaleX(.7) scale(.97);opacity:.7}to{transform:scaleX(.7) scale(1.035);opacity:1}}
