:root{--font-en:"Space Mono";--font-ko:"D2Coding";--t-base:.65625rem;--f-col-w:calc((390px + 2 * var(--gutter)) * 1.25);--f-article-lines:2;--f-article-lh:1.6;--gutter:30px;--gutter-sm:calc(var(--gutter) * .5);--gutter-lg:calc(var(--gutter) * 1.5);--peek-h:80px;--gap-xl:5lh;--gap-lg:3lh;--gap-md:2lh;--gap-sm:1lh;--bg:#fff;--bg-inv:#000;--fg:#000000f2;--fg-inv:#fffffff2;--fg-dim:#00000040}@view-transition{navigation:auto}::view-transition{background:#000}::view-transition-old(root){animation:.65s cubic-bezier(.22,1,.36,1) both vt-exit}::view-transition-new(root){animation:.65s cubic-bezier(.22,1,.36,1) .65s both vt-enter}@keyframes vt-exit{0%{clip-path:inset(0 0 0%)}to{clip-path:inset(0 0 100%)}}@keyframes vt-enter{0%{clip-path:inset(100% 0 0%)}to{clip-path:inset(0% 0)}}.vt-curtain{z-index:99999;pointer-events:none;background:#000;transition:transform .65s cubic-bezier(.22,1,.36,1);position:fixed;inset:0;transform:translateY(100%)}.vt-curtain--up{transform:translateY(0)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}#root{transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s cubic-bezier(.22,1,.36,1)}body.agent-open #root{transform:translate(-20vw);box-shadow:12px 0 40px #0000008c}body{font-family:var(--font-en), var(--font-ko), monospace;font-size:var(--t-base);letter-spacing:.08em;text-transform:uppercase;color:#fffffff2;-webkit-font-smoothing:antialiased;background:#000;line-height:1.5}button{font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:hover .btn-label{text-underline-offset:2px;text-decoration:underline}.guides{pointer-events:none;z-index:3;position:absolute;inset:0}.guide-line{opacity:0;width:.5px;animation:guide-in var(--dur,1.4s) cubic-bezier(.22, 1.05, .36, 1) both;animation-delay:var(--delay,0s);background:#ffffffe6;position:absolute;top:0;bottom:0}@keyframes guide-in{0%{opacity:0;left:0}to{left:var(--to,0);opacity:.12}}.hero{background:#111;width:100vw;height:100vh;position:relative;overflow:hidden}.hero__video-wrap{z-index:0;position:absolute;inset:0}.hero__video-wrap video{object-fit:cover;width:100%;height:100%}.hero__thumb{z-index:1;background-position:50%;background-size:cover;animation:.25s forwards thumb-in;position:absolute;inset:0}@keyframes thumb-in{0%{opacity:0}to{opacity:1}}.hero__overlay{z-index:2;background:linear-gradient(53deg,#0000008c,#00000026);position:absolute;inset:0}.hero__top{z-index:2001;pointer-events:none;position:absolute;top:0;left:0;right:0}.hero__logo,.hero__menu-wrap{pointer-events:auto}.hero__gnb{padding:var(--gap-md) var(--gutter) var(--gap-sm);justify-content:center;align-items:flex-start;display:flex;position:relative}.hero__logo{cursor:pointer;width:auto;height:18px;display:block}.hero__menu-wrap{right:var(--gutter);top:var(--gap-md);position:absolute}.hero__menu-btn{white-space:nowrap}.hero__subhead-row{padding-top:var(--gap-lg);justify-content:center;display:flex}.hero__subhead{letter-spacing:.12em;white-space:nowrap;pointer-events:auto;cursor:pointer}.hero__colon--off{opacity:0}.index-panel{z-index:20;width:50vw;height:50vh;transform:translateY(calc(100% - var(--peek-h)));flex-direction:column;padding:0;transition:transform .5s cubic-bezier(.22,1.05,.36,1);display:flex;position:absolute;bottom:0;left:0}.index-panel--open{transform:translateY(0)}.index-panel__ctrl{padding:var(--gap-sm) var(--gutter);white-space:nowrap;flex:none}.index-panel__list{scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;flex:auto;overflow:hidden auto}.index-panel__list::-webkit-scrollbar{width:3px}.index-panel__list::-webkit-scrollbar-thumb{background:#ffffff26}.index-panel__list::-webkit-scrollbar-track{background:0 0}.index-row{align-items:center;gap:var(--gutter-lg);width:45vw;padding:0 24px var(--gap-sm) var(--gutter);cursor:pointer;grid-template-columns:minmax(0,1fr) auto;display:grid}.index-row__band{isolation:isolate;grid-template-columns:calc(var(--index-client-w,8ch) + 1ch) minmax(0, 1fr) calc(var(--index-date-w,7ch) + 1ch);align-items:center;gap:var(--gutter-lg);min-width:0;display:grid;position:relative}.index-row__band-bg{z-index:-1;-webkit-backdrop-filter:blur(20px)saturate(160%);backdrop-filter:blur(20px)saturate(160%);pointer-events:none;background:#ffffff47;position:absolute;inset:0}.index-row__band--hovered .index-row__client,.index-row__band--hovered .index-row__tagline,.index-row__band--hovered .index-row__num{color:#000000f2}.index-row__client{white-space:nowrap;letter-spacing:.1em}.index-row__tagline{white-space:nowrap;min-width:0;display:block;overflow:hidden}.index-row__tagline-track{white-space:nowrap;display:inline-block}.index-row__tagline-track--scroll{animation:index-tagline-scroll var(--tagline-dur,2s) ease-in-out infinite alternate}@keyframes index-tagline-scroll{0%{transform:translate(0)}to{transform:translateX(var(--tagline-dist,0))}}.index-row__num{text-align:right;white-space:nowrap}.index-row__cta{white-space:nowrap;text-align:right}.index-row__cta-inner{clip-path:inset(0 100% 0 0);display:inline-block}.index-row__cta-inner--visible{animation:.3s cubic-bezier(.22,1.05,.36,1) forwards cta-slide-in}@keyframes cta-slide-in{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0% 0 0)}}html:has(:is(.s-root,.w-root,.c-root,.wd-root,.f-root,.fd-root)){height:auto;overflow:visible}html:has(:is(.s-root,.w-root,.c-root,.wd-root,.f-root,.fd-root)) body{height:auto;overflow:visible}html:has(:is(.s-root,.w-root,.c-root,.wd-root,.f-root,.fd-root)) #root{height:auto;overflow:visible}html:has(:is(.s-root,.w-root,.c-root,.wd-root,.f-root,.fd-root)) body{color:#000000f2;background:#fff;overflow-x:hidden}.s-guides-fixed{z-index:3;position:fixed!important}.s-guide-line{background:#000000e6}.s-root{flex-direction:column;min-height:100vh;padding-bottom:0;display:flex}.s-gnb{z-index:2001;pointer-events:none;position:sticky;top:0}.s-gnb__logo-link,.s-gnb__left,.s-gnb__right{pointer-events:auto}.s-gnb__inner{padding:var(--gap-md) var(--gutter) var(--gap-sm);justify-content:center;align-items:flex-start;display:flex;position:relative}.s-gnb__logo-link{line-height:0;display:block}.s-gnb__logo{filter:invert();width:auto;height:18px}.s-gnb__left{left:var(--gutter);top:var(--gap-md);position:absolute}.s-gnb__right{right:var(--gutter);top:var(--gap-md);position:absolute}.s-gnb__menu-wrap{position:relative}.s-gnb__menu-btn{white-space:nowrap}.s-dropdown{flex-direction:column;gap:.5lh;animation:.18s forwards s-dropdown-in;display:flex;position:absolute;top:calc(100% + 1lh);right:0}@keyframes s-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.s-dropdown__item{color:inherit;text-align:right;white-space:nowrap;text-decoration:none;display:block}.s-dropdown__item:hover,.s-dropdown__item--active{text-underline-offset:2px;text-decoration:underline}.s-dropdown__item--ext{margin-top:4px}.s-dropdown__item--ext:hover{text-decoration:none}.s-dropdown__sep{text-align:right;display:block}.s-dropdown__item--agent{cursor:pointer;color:inherit;font:inherit;text-align:right;white-space:nowrap;background:0 0;border:none;padding:0}.s-dropdown__item--agent:hover{text-underline-offset:2px;text-decoration:underline}.s-dropdown__ext-link{color:inherit;text-decoration:none}.s-dropdown__ext-link:hover{text-underline-offset:2px;text-decoration:underline}.s-subhead-row{padding:var(--gap-lg) var(--gutter) var(--gap-xl);justify-content:center;display:flex}.s-subhead{letter-spacing:.12em;white-space:nowrap}.s-wide{z-index:10;width:64vw;margin:0 auto;margin-bottom:var(--gap-xl);position:relative}.s-wide--img{margin-top:0}.s-col{z-index:4;width:30vw;margin:0 auto;margin-bottom:var(--gap-xl);position:relative}.s-col--body{margin-bottom:var(--gap-xl)}.s-hero-video{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.s-body{letter-spacing:.04em;margin-bottom:var(--gap-md);line-height:1.9}.s-body:last-child{margin-bottom:0}.s-ticker{--ticker-logo-w:150px;white-space:nowrap;width:100%;padding:10px 0;overflow:hidden}.s-ticker__track{animation:s-ticker-scroll var(--ticker-duration,28s) linear infinite;align-items:center;display:inline-flex}.s-ticker:hover .s-ticker__track{animation-play-state:paused}@keyframes s-ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.s-ticker__item{padding:0 calc(var(--ticker-logo-w) * .25);flex-shrink:0;align-items:center;display:flex}.s-ticker__logo{width:var(--ticker-logo-w);height:auto;display:block}.s-section-head{margin-bottom:var(--gap-md);font-weight:700}.s-section-head--contact{margin-top:var(--gap-xl)}.s-root .s-section-head--contact{margin-top:0}.s-contact-desc{margin-top:var(--gap-sm);line-height:1.8}.s-table-row{margin-bottom:var(--gap-md);grid-template-columns:2fr 3fr;align-items:start;gap:0 16px;display:grid}.s-table-label{padding-top:1px}.s-table-items{text-align:right;flex-direction:column;gap:3px;list-style:none;display:flex}.s-insert-img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.s-footer{padding:var(--gap-xl) var(--gutter) var(--gap-md);justify-content:space-between;align-items:center;margin-top:auto;display:flex}.s-footer__right{align-items:center;gap:8px;display:flex}.s-footer__sep{opacity:.3}.s-footer__link{color:inherit;text-decoration:none}.s-footer__link:hover,.s-footer__link--active{text-underline-offset:2px;text-decoration:underline}.form-row{align-items:center;gap:calc(var(--gap-sm) / 2);display:flex}.form-row__label{white-space:nowrap;flex-shrink:0}.form-row__input{min-width:0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:none;outline:none;flex:1;padding:4px 0}.form-row__input::placeholder{font-style:italic}.form-row__btn{white-space:nowrap;flex-shrink:0}.form-row--line{border-bottom:1px solid #000000f2;padding:4px 0 0}.form-row--line .form-row__input::placeholder{color:#00000040}.w-root{flex-direction:column;min-height:100vh;padding-bottom:0;display:flex}.w-controls{padding:var(--gap-lg) var(--gutter) var(--gap-xl);justify-content:center;display:flex}.w-search{width:calc((100vw - 2 * var(--gutter) - 3 * var(--gutter-sm)) / 4)}.w-search__input-wrap{flex:1;min-width:0;position:relative}.w-search__input-wrap>.form-row__input{width:100%}.w-search__hint{pointer-events:none;white-space:nowrap;color:#00000040;opacity:0;font-style:italic;transition:opacity .35s;position:absolute;top:50%;left:0;transform:translateY(-50%)}.w-search__hint--on{opacity:1}.w-view-btn{white-space:nowrap;flex-shrink:0}.w-project-grid{z-index:4;column-gap:var(--gutter-sm);row-gap:var(--gap-md);padding:0 var(--gutter) var(--gap-xl);grid-template-columns:1fr 1fr;display:grid;position:relative}.w-project-grid .w-card{margin-bottom:0}.w-project-grid .w-card__img-wrap{aspect-ratio:3/2}.w-project-grid .w-card__img{object-fit:cover;height:100%}.w-masonry{z-index:4;column-count:4;column-gap:var(--gutter-sm);padding:0 var(--gutter) var(--gap-xl);position:relative}.w-card{break-inside:avoid;margin-bottom:var(--gap-sm)}.w-card__img-wrap{position:relative;overflow:hidden}.w-card__img{width:100%;height:auto;display:block}.w-card__overlay{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.w-card__overlay-bg{cursor:pointer;background:#00000073;display:block;position:absolute;inset:0}.w-card__overlay-btns{z-index:1;flex-direction:column;align-items:center;gap:6px;display:flex;position:relative}.w-card__overlay-btn{color:#fffffff2;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0;text-decoration:none;display:block}.w-card__overlay-btn:hover .btn-label{text-underline-offset:2px;text-decoration:underline}.w-empty{min-height:40vh;padding:0 var(--gutter);justify-content:center;align-items:center;display:flex}.w-empty__stack{align-items:center;gap:var(--gap-md);flex-direction:column;display:flex}.w-load-more{z-index:4;padding:0 var(--gutter) var(--gap-xl);justify-content:center;display:flex;position:relative}.w-card--project{color:inherit;text-decoration:none;display:block}.w-card__caption{padding:var(--gap-sm) 0 0;gap:calc(var(--gap-sm) / 2);flex-direction:column;display:flex}.w-card__client{letter-spacing:.1em;font-weight:700}.w-card__desc{white-space:normal;word-break:break-word;line-height:1.6}.c-root{flex-direction:column;min-height:100vh;display:flex}.c-form{gap:var(--gap-md);flex-direction:column;display:flex}.c-field{align-items:center;gap:calc(var(--gap-sm) / 2);border-bottom:1px solid #000000f2;padding:4px 0 0;display:flex}.c-field--top{align-items:flex-start}.c-field--top .c-field__label{padding-top:4px}.c-field__label{white-space:nowrap;flex-shrink:0}.c-field__control{flex:1;min-width:0}.c-field__input{width:100%;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:none;outline:none;padding:4px 0}.c-field__input::placeholder{color:#00000040;font-style:italic}.c-field__textarea{width:100%;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;resize:none;background:0 0;border:none;outline:none;padding:4px 0;line-height:1.8}.c-field__textarea::placeholder{color:#00000040;font-style:italic}.c-field__select{appearance:none;width:auto;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:none;outline:none;padding:4px 0}.c-form__footer{gap:var(--gap-sm);flex-direction:column;display:flex}.c-form__submit{justify-content:flex-start;display:flex}.c-form__consent{letter-spacing:.04em;line-height:1.8}.c-form__consent-link{color:inherit;text-underline-offset:2px;text-decoration:underline}.c-info{gap:var(--gap-md);flex-direction:column;display:flex}.c-info .s-table-row{margin-bottom:0}.c-info__items{gap:10px}.c-info__link{color:inherit;text-decoration:none}.c-info__link:hover{text-underline-offset:2px;text-decoration:underline}.c-faq-list{gap:var(--gap-md);flex-direction:column;display:flex}.c-faq-q{text-align:left;cursor:pointer;justify-content:space-between;align-items:flex-start;gap:16px;width:100%;padding:0;display:flex}.c-faq-q__text{white-space:normal;word-break:break-word;flex:1;line-height:1.6}.c-faq-q__toggle{white-space:nowrap;flex-shrink:0}.c-faq-a{margin-top:6px}.wd-root{flex-direction:column;min-height:100vh;display:flex}.wd-gnb{z-index:2001;width:100%;padding:var(--gap-md) var(--gutter) var(--gap-sm);color:#fffffff2;pointer-events:none;justify-content:center;align-items:flex-start;transition:color .3s;display:flex;position:fixed;top:0;left:0}.wd-gnb>*{pointer-events:auto}.wd-gnb--light{color:#000000f2}.wd-gnb__logo-link{line-height:0;display:block}.wd-gnb__logo{width:auto;height:18px;transition:filter .3s;display:block}.wd-gnb--light .wd-gnb__logo{filter:invert()}.wd-gnb__right{right:var(--gutter);top:var(--gap-md);position:absolute}.wd-gnb__menu-wrap{position:relative}.wd-gnb__btn{white-space:nowrap}.wd-hero{z-index:4;color:#fffffff2;background:#111;width:100vw;height:100vh;position:relative;overflow:hidden}.wd-hero__overlay{z-index:2;background:linear-gradient(53deg,#0000004d,#0000000d);position:absolute;inset:0}.wd-hero__info{z-index:10;padding:var(--gap-md) var(--gutter);flex-direction:column;display:flex;position:absolute;bottom:0;left:0}.wd-hero__counter,.wd-hero__tagline{margin-bottom:var(--gap-sm)}.wd-hero__title{letter-spacing:.12em}.wd-slider{z-index:1;position:absolute;inset:0}.wd-slider__slide{opacity:0;background:#111 50%/cover no-repeat;transition:opacity .8s;position:absolute;inset:0}.wd-slider__slide--active{opacity:1}.wd-content{color:#000000f2;padding-top:var(--gap-xl);background:#fff}.wd-readmore{gap:var(--gap-sm);flex-direction:column;display:flex}.wd-readmore .s-body{margin-bottom:0}.wd-readmore__btn{align-self:flex-start}.wd-gallery{z-index:4;width:64vw;margin:0 auto var(--gap-xl);flex-direction:column;gap:2px;display:flex;position:relative}.wd-gallery__row--full{display:block}.wd-gallery__row--half{grid-template-columns:1fr 1fr;align-items:start;gap:2px;display:grid}.wd-gallery__img-wrap{position:relative;overflow:hidden}.wd-gallery__img{width:100%;height:auto;display:block}.wd-gallery__overlay{justify-content:center;align-items:center;gap:var(--gutter);color:#fffffff2;opacity:0;background:#00000059;transition:opacity .2s;display:flex;position:absolute;inset:0}.wd-gallery__img-wrap:hover .wd-gallery__overlay{opacity:1}.wd-gallery__overlay-btn{color:#fffffff2;white-space:nowrap}.wd-prevnext{z-index:4;width:64vw;padding:var(--gap-xl) 0 var(--gap-xl);grid-template-columns:1fr 1fr;margin:0 auto;display:grid;position:relative}.wd-prevnext__prev{align-items:flex-start;gap:var(--gap-sm);flex-direction:column;display:flex}.wd-prevnext__next{align-items:flex-end;gap:var(--gap-sm);flex-direction:column;display:flex}.p-meta{margin-bottom:var(--gap-sm)}.p-preamble{letter-spacing:.04em;margin-bottom:var(--gap-xl);line-height:1.9}.p-article{margin-bottom:var(--gap-xl)}.p-article__head{margin-bottom:var(--gap-lg);font-weight:700}.p-body{letter-spacing:.04em;margin-bottom:var(--gap-sm);line-height:1.9}.p-list{gap:var(--gap-sm);margin-bottom:var(--gap-sm);flex-direction:column;list-style:none;display:flex}.p-list li:before{content:"— "}.p-list--sub{gap:4px;margin-top:6px;padding-left:20px}.p-list--sub li:before{content:"— "}.lb{z-index:3000;justify-content:center;align-items:center;gap:var(--gap-sm);padding:var(--gap-sm) 0;background:#000000f5;flex-direction:column;display:flex;position:fixed;inset:0}.lb__close{top:var(--gap-md);right:var(--gutter);color:#ffffffb3;z-index:1;transition:color .15s;position:absolute}.lb__close:hover{color:#fff}.lb__stage{width:100%;padding:0 var(--gutter-lg);flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.lb__img{object-fit:contain;max-width:100%;max-height:100%;display:block}.lb__nav{justify-content:center;align-items:center;gap:var(--gutter-sm);width:100%;padding:0 var(--gutter);display:flex}.lb__nav-arrow{color:#fff9;flex-shrink:0;transition:color .15s}.lb__nav-arrow:hover{color:#fff}.lb__thumbs{scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.lb__thumbs::-webkit-scrollbar{display:none}.lb__thumb{opacity:.45;border:1px solid #0000;flex-shrink:0;width:60px;height:60px;transition:opacity .15s;overflow:hidden}.lb__thumb:hover{opacity:.75}.lb__thumb--active{opacity:1;border-color:#ffffffb3}.lb__thumb img{object-fit:cover;width:100%;height:100%;display:block}.f-root{flex-direction:column;min-height:100vh;display:flex}.f-filter{justify-content:center;align-items:center;gap:var(--gutter-sm);padding:var(--gap-lg) var(--gutter) var(--gap-xl);display:flex}.f-filter__sep{opacity:.35}.f-filter__btn{white-space:nowrap}.f-filter__btn--active .btn-label{text-underline-offset:2px;text-decoration:underline}.f-list{z-index:4;width:min(var(--f-col-w), 100%);padding:0 var(--gutter) var(--gap-xl);gap:calc(var(--gap-lg) / 2);flex-direction:column;margin:0 auto;display:flex;position:relative}.f-card{flex-direction:column;display:flex}.f-card__media{background:#f0f0f0;width:100%;position:relative;overflow:hidden}.f-card__media .f-single-img{width:100%;height:auto;display:block}.f-card__media .f-carousel__track,.f-card__media .f-carousel__slide{height:100%}.f-card__media .f-carousel__slide img,.f-card__media .f-video__el{object-fit:cover;object-position:center center;width:100%;height:100%}.f-card__media .f-video__el{aspect-ratio:auto}.f-single-img{width:100%;height:auto;display:block}.f-carousel{width:100%;transition:aspect-ratio .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}@media (prefers-reduced-motion:reduce){.f-carousel{transition:none}}.f-carousel__track{align-items:flex-start;width:100%;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex}.f-carousel__slide{flex-shrink:0;width:100%}.f-carousel__slide img{width:100%;height:auto;display:block}.f-carousel__arrow{z-index:2;color:#ffffffd9;line-height:1;transition:color .15s;position:absolute;top:50%;transform:translateY(-50%)}.f-carousel__arrow:hover{color:#fff}.f-carousel__arrow--prev{left:6px}.f-carousel__arrow--next{right:6px}.f-carousel__arrow .material-symbols-rounded{font-size:24px}.f-carousel__dots{bottom:calc(var(--gap-sm) / 2);pointer-events:none;justify-content:center;gap:4px;display:flex;position:absolute;left:0;right:0}.f-carousel__dot{background:#ffffff80;border-radius:50%;width:6px;height:6px;transition:background .15s}.f-carousel__dot--active{background:#fffffff2}.f-youtube{aspect-ratio:16/9;width:100%;position:relative}.f-youtube__iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.f-video{cursor:pointer;width:100%;position:relative}.f-video__el{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto;display:block}.f-video__overlay{background:#0000002e;justify-content:center;align-items:center;transition:background .15s;display:flex;position:absolute;inset:0}.f-video:hover .f-video__overlay{background:#00000047}.f-video__overlay .material-symbols-rounded{color:#ffffffeb;font-size:56px;line-height:1}.f-article{padding-top:var(--gap-sm);position:relative}.f-article__clip{max-height:calc(var(--f-article-lines) * var(--f-article-lh) * 1em);transition:max-height .42s cubic-bezier(.4,0,.2,1);overflow:hidden}.f-article--open .f-article__clip{max-height:none}.f-article__inner{line-height:var(--f-article-lh)}.f-article__p{line-height:inherit;word-break:break-word}.f-article__p+.f-article__p{margin-top:var(--gap-sm)}.f-article__toggle{color:var(--fg-dim);line-height:var(--f-article-lh);background:linear-gradient(90deg,#fff0,#fff 1.8em);padding-left:2.5em;position:absolute;bottom:0;right:0}.f-article--open .f-article__toggle{margin-top:calc(var(--gap-sm) / 2);background:0 0;padding-left:0;position:static}.f-article__toggle:hover{text-underline-offset:2px;text-decoration:underline}.f-actions{gap:0 var(--gutter-sm);padding-top:var(--gap-sm);flex-wrap:wrap;display:flex}.f-actions__link:hover .btn-label{text-underline-offset:2px;text-decoration:underline}.f-meta{padding:var(--gap-sm) 0 0;justify-content:space-between;align-items:baseline;display:flex}.f-meta__cat{white-space:nowrap}@media (prefers-reduced-motion:reduce){.f-article__clip{transition:none}}.fd-root{flex-direction:column;min-height:100vh;display:flex}.fd-subhead-row{padding:var(--gap-lg) var(--gutter) var(--gap-xl);justify-content:center;display:flex}.fd-subhead{align-items:center;gap:calc(var(--gap-sm) / 2);letter-spacing:.06em;white-space:nowrap;display:flex}.fd-subhead-sep{opacity:.35}.fd-cat-btn:hover .btn-label{text-underline-offset:2px;text-decoration:underline}.fd-media-wrap{z-index:10;width:min(var(--f-col-w), 100%);margin:0 auto calc(var(--gap-lg) / 2);justify-content:center;align-items:flex-start;display:flex;position:relative}.fd-media-wrap .f-single-img{width:100%;height:auto}.fd-media-wrap .f-carousel{width:100%}.fd-media-wrap .f-carousel__slide{justify-content:center;display:flex}.fd-media-wrap .f-carousel__slide img{width:auto;max-width:100%;height:auto;display:block}.fd-media-wrap .f-carousel__arrow{color:#ffffffb3}.fd-media-wrap .f-carousel__arrow:hover{color:#fff}.fd-col{z-index:4;width:30vw;margin:0 auto var(--gap-xl);position:relative}.fd-col--actions{margin-bottom:calc(var(--gap-lg) / 2)}.fd-cta-col[id]{scroll-margin-top:var(--gap-xl)}.fd-caption{margin-bottom:var(--gap-sm)}.fd-body{white-space:pre-line}.fd-col .s-body{margin-bottom:var(--gap-sm)}.fd-cta-col{z-index:4;width:30vw;margin:0 auto var(--gap-xl);position:relative}.fd-file-input{display:none}.fd-file-label{color:#00000040;cursor:pointer;padding:4px 0;font-style:italic;transition:color .12s;display:block}.fd-file-label:hover{color:#0009}.fd-file-label--set{color:#000000f2;font-style:normal}.ag-panel{z-index:2000;pointer-events:none;background:#0a0a0a;width:20vw;animation:.32s cubic-bezier(.22,1,.36,1) both ag-panel-in;position:fixed;top:0;bottom:0;right:0}.ag-body{padding:var(--gap-md) var(--gutter) var(--gap-lg);gap:var(--gap-md);color:#fffffff2;pointer-events:auto;flex-direction:column;display:flex;position:absolute;inset:0;overflow-y:auto}@keyframes ag-panel-in{0%{opacity:0}to{opacity:1}}.ag-header{justify-content:space-between;align-items:center;display:flex}.ag-title{color:#fffffff2}.ag-input-wrap{align-items:center;gap:var(--gutter-sm);border-bottom:.5px solid;padding-bottom:6px;display:flex}.ag-input{font:inherit;color:inherit;caret-color:currentColor;background:0 0;border:none;outline:none;flex:1;padding:0}.ag-input::placeholder{color:#fff6}.ag-submit-btn{flex-shrink:0}.ag-result{gap:var(--gap-md);flex-direction:column;animation:.2s both ag-fade-in;display:flex}@keyframes ag-fade-in{0%{opacity:0}to{opacity:1}}.ag-section{gap:var(--gap-sm);flex-direction:column;display:flex}.ag-section-label{color:#ffffff73}.ag-answer{color:#fffffff2;text-transform:uppercase;letter-spacing:.08em;line-height:1.9}.ag-thinking{color:#fffffff2;font-style:italic;animation:1.2s ease-in-out infinite ag-pulse}@keyframes ag-pulse{0%,to{opacity:.4}50%{opacity:1}}.ag-source{align-items:stretch;gap:var(--gutter-sm);min-height:52px;margin-bottom:calc(var(--gap-sm) / 2);flex-direction:row;text-decoration:none;display:flex}.ag-source:last-of-type{margin-bottom:0}.ag-source__left{flex-direction:column;flex:1;justify-content:center;gap:3px;min-width:0;display:flex}.ag-source__meta{color:#fffffff2;white-space:nowrap}.ag-source__thumb{width:var(--gap-lg);height:var(--gap-lg);object-fit:cover;flex-shrink:0}.ag-source__desc{color:#fffffff2;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.6;display:-webkit-box;overflow:hidden}.ag-source:hover .ag-source__desc{text-underline-offset:2px;text-decoration:underline}.ag-cta .form-row--line{border-bottom-color:#ffffff73}.ag-cta .form-row--line .form-row__input::placeholder{color:#fff6}.ag-cta .s-contact-desc{color:#ffffff73;margin-top:0}.index-panel__more{padding:var(--gap-sm) var(--gutter) var(--gap-md);white-space:nowrap;text-align:left;display:block}@keyframes ag-panel-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@media (max-width:768px){:root{--gutter:12px}.s-wide,.s-col,.s-col--body,.wd-gallery,.wd-prevnext,.fd-media-wrap,.fd-col,.fd-cta-col{width:auto;margin-left:var(--gutter);margin-right:var(--gutter)}.s-table-row{grid-template-columns:1fr;gap:4px 0}.s-table-label{text-align:left}.s-table-items{text-align:right}.s-subhead{white-space:normal;text-align:center;flex-direction:column;align-items:center;display:flex}.s-subhead__part{display:block}.s-wide--ticker{margin-top:calc(var(--gap-xl) / -2);margin-bottom:calc(var(--gap-xl) / 2)}.w-project-grid{grid-template-columns:1fr}.w-masonry{column-count:2}.w-search{width:100%}.ag-panel{z-index:2900;width:100vw;animation:.32s cubic-bezier(.22,1,.36,1) both ag-panel-slide-in}body.agent-open #root{box-shadow:none;transform:none}.hero__subhead{white-space:normal;text-align:center;flex-direction:column;align-items:center;display:flex}.hero__subhead-sep{display:none}.hero__subhead-part{white-space:nowrap;display:block}.index-panel{width:100vw}.index-row{width:100%;padding:0 var(--gutter) var(--gap-sm)}.hero{height:100dvh}.index-panel__more{padding-bottom:calc(var(--gap-md) + env(safe-area-inset-bottom,0px))}}
.reveal{opacity:0;transition:opacity var(--motion-duration-base) var(--motion-easing-enter), transform var(--motion-duration-base) var(--motion-easing-enter);will-change:opacity, transform}.reveal--up{transform:translateY(32px)}.reveal--down{transform:translateY(-32px)}.reveal--left{transform:translate(32px)}.reveal--right{transform:translate(-32px)}.reveal--fade{transform:none}.reveal--scale{transform:scale(.94)}.reveal--visible{opacity:1;transform:none}.reveal:not(.reveal--visible){transition-timing-function:var(--motion-easing-exit)}.parallax{will-change:transform;--parallax-shift:0px}.carousel{width:100%;position:relative;overflow:hidden}.carousel__viewport{width:100%;overflow:hidden}.carousel__track{gap:var(--carousel-gap,16px);transition:transform var(--motion-duration-base) var(--motion-easing-enter);will-change:transform;display:flex}.carousel__track--dragging{cursor:grabbing;transition:none}.carousel__slide{flex:0 0 calc((100% - (var(--carousel-view,1) - 1) * var(--carousel-gap,16px)) / var(--carousel-view,1));min-width:0}.carousel__arrow{z-index:var(--haws-z-overlay,300);border-radius:var(--haws-radius-full,9999px);color:#fff;cursor:pointer;width:44px;height:44px;transition:opacity var(--motion-duration-fast) var(--motion-easing-enter), background var(--motion-duration-fast) var(--motion-easing-enter);background:#0000008c;border:none;justify-content:center;align-items:center;font-size:1.25rem;line-height:1;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.carousel__arrow:hover{background:#000c}.carousel__arrow:disabled{opacity:.3;cursor:default}.carousel__arrow--prev{left:12px}.carousel__arrow--next{right:12px}.carousel__dots{justify-content:center;gap:8px;margin-top:16px;display:flex}.carousel__dot{border-radius:var(--haws-radius-full,9999px);opacity:.3;cursor:pointer;width:8px;height:8px;transition:opacity var(--motion-duration-fast) var(--motion-easing-enter), transform var(--motion-duration-fast) var(--motion-easing-enter);background:currentColor;border:none;padding:0}.carousel__dot--active{opacity:1;transform:scale(1.4)}.lightbox__grid{grid-template-columns:repeat(var(--lightbox-cols,3), 1fr);gap:var(--haws-spacing-sm,8px);display:grid}.lightbox__thumb{aspect-ratio:1;background:var(--haws-color-muted,#f5f5f5);cursor:zoom-in;border:none;width:100%;padding:0;display:block;position:relative;overflow:hidden}.lightbox__thumb img{object-fit:cover;transition:transform var(--motion-duration-base) var(--motion-easing-enter)}.lightbox__thumb:hover img{transform:scale(1.05)}.lightbox__overlay{z-index:var(--haws-z-modal,400);opacity:0;animation:lightbox-fade var(--motion-duration-base) var(--motion-easing-enter) forwards;background:#000000eb;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes lightbox-fade{to{opacity:1}}.lightbox__figure{flex-direction:column;align-items:center;max-width:min(92vw,1200px);max-height:82vh;margin:0;display:flex;position:relative}.lightbox__media{max-width:92vw;max-height:82vh;position:relative}.lightbox__media img{object-fit:contain;width:auto;max-width:92vw;height:auto;max-height:82vh}.lightbox__caption{color:#ffffffd9;font-size:var(--haws-font-size-sm,.875rem);text-align:center;margin-top:12px}.lightbox__close,.lightbox__nav{z-index:1;border-radius:var(--haws-radius-full,9999px);color:#fff;cursor:pointer;transition:background var(--motion-duration-fast) var(--motion-easing-enter);background:#ffffff1f;border:none;justify-content:center;align-items:center;display:inline-flex;position:absolute}.lightbox__close:hover,.lightbox__nav:hover{background:#ffffff47}.lightbox__close{width:44px;height:44px;font-size:1.5rem;line-height:1;top:20px;right:20px}.lightbox__nav{width:52px;height:52px;font-size:1.75rem;line-height:1;top:50%;transform:translateY(-50%)}.lightbox__nav--prev{left:20px}.lightbox__nav--next{right:20px}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}.carousel__track,.lightbox__overlay,.lightbox__thumb img,.carousel__arrow,.carousel__dot{transition:none;animation:none}.parallax{transform:none!important}}
a{color:inherit;text-decoration:none}
