@font-face{font-family:Ogg Roman;src:url(/sites/duaa/fonts/OggRoman.ttf)format("truetype");font-weight:300;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-200A,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Mattone;src:url(/sites/duaa/fonts/Mattone-Regular.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-200A,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#fdfdfd;--ink:#181818;--ink-soft:#333;--link-ink:#050505;--purple:#5057ff;--lime:#cbfc2a;--serif:"Ogg Roman", "Songti SC", "STSong", "Noto Serif SC", "Source Han Serif SC", "SimSun", serif;--sans:"Mattone", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink-soft);font-family:var(--sans);background-color:#fff;margin:0;font-size:14px;line-height:20px}img{vertical-align:middle;border:0;max-width:100%;display:inline-block}a{color:var(--link-ink);cursor:none;text-decoration:underline}.cursor-layer{z-index:1500;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cursor-dot{border:.5px solid var(--link-ink);background-color:var(--lime);will-change:transform;border-radius:50%;width:20px;height:20px}.section-intro{background-color:var(--bg);padding-top:20px}.intro-container{background-image:url(/sites/duaa/images/gradient-blue.png);background-position:100% 0;background-repeat:no-repeat;background-size:101.2%;max-width:940px;margin:0 auto;padding:60px 0 40px}.intro-row{margin:0}.intro-row:after{content:"";clear:both;display:table}.intro-col{float:left;width:100%;padding-right:0}.empty-col{display:none}.title-mask,.subtitle-mask{position:relative;overflow:hidden}.intro-heading{color:var(--ink);font-family:var(--serif);letter-spacing:1px;margin:0 0 10px;padding-top:10px;font-size:61px;font-weight:300;line-height:128%}.nowrap{white-space:nowrap}.intro-line{display:block}.blur-char{opacity:0;filter:blur(12px);animation:.72s cubic-bezier(.22,1,.36,1) forwards blur-text-in;animation-delay:calc(80ms + var(--char-index) * 35ms);will-change:opacity, filter, transform;display:inline-block;transform:translateY(14px)}@media (max-width:991px){.intro-line{display:inline}}.intro-paragraph-text{color:var(--ink);font-family:var(--sans);margin:0 0 20px;padding:20px 0;font-size:20px;font-weight:400;line-height:35px;animation:.85s cubic-bezier(.22,1,.36,1) 1.7s backwards intro-body-reveal}.special-text{font-family:var(--serif);font-size:23px;font-weight:400}.project-copy--mobile{display:none}.inline-link{color:var(--ink);text-decoration:none}.inline-link>.special-text{transition:box-shadow .5s ease-in-out}.inline-link:hover>.special-text{box-shadow:0 1px var(--link-ink)}@keyframes blur-text-in{0%{opacity:0;filter:blur(12px);transform:translateY(14px)}to{opacity:1;filter:blur();transform:translate(0,0)}}@keyframes intro-body-reveal{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translate(0,0)}}@keyframes rise-heading{0%{transform:translateY(150px)}to{transform:translate(0,0)}}.case-section{background-color:var(--bg);padding:0 0 40px;transition:background-color 1s;position:relative}.page-container{max-width:940px;margin:40px auto 0;padding:20px 0;scroll-margin-top:40px}.timeline-rail{z-index:10;width:196px;display:none;position:absolute;top:0;bottom:0;left:calc(50% - 682px)}.timeline{position:sticky;top:calc(50vh - 92px)}.timeline-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.timeline-item{color:#3d3d3d;width:100%;font-family:var(--sans);text-align:left;cursor:none;background-color:#0000;border:0;border-radius:999px;justify-content:flex-start;align-items:baseline;gap:9px;padding:7px 12px;font-size:13px;line-height:20px;transition:background-color .3s,color .3s,box-shadow .3s;display:flex}.timeline-item:hover{color:var(--ink);background-color:#fff}.timeline-item[data-active=true]{color:var(--ink);background-color:#fff;box-shadow:0 1px 2px #0000000f,0 6px 18px #0000000d}.timeline-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.timeline-index{color:#b3b3b3;font-variant-numeric:tabular-nums;flex:none;font-size:11px;transition:color .3s}.timeline-item[data-active=true] .timeline-index{color:#7a7a7a}.work-pager-rail{z-index:10;width:40px;display:none;position:absolute;top:0;bottom:0;right:calc(50% - 530px)}.work-pager{flex-direction:column;gap:10px;display:flex;position:sticky;top:calc(50vh - 44px)}.pager-btn{width:40px;height:40px;color:var(--ink);cursor:none;background-color:#0000;border:1px solid #d8d8d8;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background-color .3s,border-color .3s,opacity .3s;display:flex}.pager-btn:hover:not(:disabled){border-color:var(--lime);background-color:var(--lime)}.pager-btn:disabled{opacity:.28;cursor:none}@media (min-width:1366px){.timeline-rail{display:block}}@media (min-width:1200px){.work-pager-rail{display:block}}.project-info{margin-top:20px}.eyebrow{color:var(--purple);font-family:var(--sans);letter-spacing:.5px;text-transform:uppercase;text-align:left;margin:0 0 10px;font-size:16px;font-weight:400;line-height:40px}.project-heading{color:var(--ink-soft);font-family:var(--serif);text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere;margin:0 0 29px;font-size:35px;font-weight:500;line-height:42px}.project-title{color:var(--purple);font-family:var(--serif);font-weight:500}.image-frame{width:100%;display:block}.image-block{object-fit:fill;border-radius:20px;width:100%;height:auto;display:block;overflow:clip}.site-footer{padding:50px 0}@media (max-width:991px){.intro-container,.page-container{max-width:728px}}@media (max-width:767px){.intro-container,.page-container{max-width:none}.intro-container{background-size:cover;padding:60px 20px 40px}.intro-row{margin:0}.intro-col,.empty-col{width:100%;padding-right:0}}@media (max-width:479px){.intro-container{background-position:76% 0;background-size:auto 100%;padding:44px 20px 30px}.project-copy--desktop{display:none}.project-copy--mobile{display:block}.case-section{padding:8px 0 20px}.page-container{margin-top:24px;padding:0 20px}.eyebrow{letter-spacing:.2px;margin:0 0 6px;font-size:13px;line-height:22px}.project-info{margin-top:0}.mobile-project-title{color:var(--ink);font-family:var(--serif);word-break:keep-all;overflow-wrap:anywhere;margin:0;font-size:29px;font-weight:500;line-height:1.25}.mobile-project-summary{color:#777;font-family:var(--sans);white-space:nowrap;margin:7px 0 15px;font-size:16px;line-height:1.5}.image-block{border-radius:12px;margin-right:0}.site-footer{padding:50px 20px}.cursor-layer{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.intro-heading,.intro-paragraph-text,.intro-heading-dark,.detail-heading{animation:none;transform:none}.blur-char{opacity:1;filter:none;animation:none;transform:none}}.navbar{background-color:#181818;padding:50px 0 20px}.navbar--light{background-color:var(--bg)}.nav-inner{max-width:940px;margin:0 auto}.nav-inner:after{content:"";clear:both;display:table}.nav-menu{float:right;align-items:center;padding:20px 0;display:flex}.nav-link{color:#fff;font-family:var(--sans);cursor:none;margin:0 10px;padding:0 0 5px;font-size:17px;font-weight:400;line-height:20px;text-decoration:none;transition:box-shadow .5s}.navbar--light .nav-link{color:var(--ink)}.nav-link:hover{box-shadow:inset 0 -3px var(--lime)}.body-dark{background-color:#181818}.section-intro-dark{background-color:#181818;padding-top:20px}.intro-container--plain{background-image:none}.intro-col-9{width:86%}.empty-col-3{width:25%}.green-heading{color:var(--lime);font-family:var(--sans);letter-spacing:.5px;margin:0 0 10px;font-size:16px;font-weight:400;line-height:40px}.intro-heading-dark{color:#fff;font-family:var(--serif);letter-spacing:1px;text-wrap:balance;margin:0 0 10px;padding-top:10px;font-size:60px;font-weight:300;line-height:115%;animation:1.1s cubic-bezier(.16,1,.3,1) .1s backwards rise-heading;transform:translate(0)}.paragraph-white{color:#fff;font-family:var(--sans);margin:0 0 20px;padding:20px 0 0;font-size:20px;font-weight:400;line-height:35px}.things-i-love{color:#fff;font-family:var(--sans);margin:0 0 20px;font-size:20px;line-height:35px}.main-button{border:3px solid var(--lime);color:#fff;font-family:var(--sans);letter-spacing:2px;text-transform:uppercase;cursor:none;background-color:#0000;border-radius:100px;margin-top:10px;padding:10px 20px;font-size:16px;line-height:20px;text-decoration:none;transition:color .5s,background-color .5s ease-in-out;display:inline-block}.main-button:hover{background-color:var(--lime);border-color:var(--lime);color:var(--ink)}.job-section{background-color:#181818;padding-top:20px}.job-container{max-width:940px;margin:0 auto;padding:20px 0}.job-row{margin:0 -10px}.job-row:after{content:"";clear:both;display:table}.job-left{float:left;width:83.3333%;padding:0 20px 0 10px}.job-right{float:left;width:16.6667%;padding:0 10px}.job-title{color:#fff;font-family:var(--serif);margin:0 0 10px;padding-top:20px;font-size:35px;font-weight:400;line-height:40px}.job-title-accent{color:var(--lime)}.skills{margin-top:40px}.expertise-heading{justify-content:space-between;align-items:baseline;display:flex}.expertise-heading>span{color:#979797;font-family:var(--sans);letter-spacing:.5px;font-size:12px}.expertise-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 80px;margin-top:20px;display:grid}.expertise-item{min-width:0}.expertise-label,.expertise-detail,.expertise-tools{font-family:var(--sans);margin:0}.expertise-label{color:#979797;font-size:14px;line-height:22px}.expertise-item h3{color:#fff;font-family:var(--sans);margin:8px 0 5px;font-size:28px;font-weight:600;line-height:1.25}.expertise-detail{color:#979797;font-size:16px;line-height:26px}.expertise-tools{color:#fff;border-top:1px solid #3a3a3a;margin-top:34px;padding-top:22px;font-size:16px;line-height:26px}.expertise-tools span{color:#979797;margin-right:10px}.footer-dark{padding:50px 0}@media (max-width:991px){.nav-inner,.job-container{max-width:728px}}@media (max-width:767px){.nav-inner,.job-container{max-width:none}.job-row,.skills-row{margin:0}.job-left,.job-right{width:100%;padding:0}.expertise-grid{grid-template-columns:1fr;row-gap:24px}.intro-col-9,.empty-col-3{width:100%;padding-right:0}}@media (max-width:479px){.intro-heading-dark{font-size:50px}.green-heading{margin-top:25px;line-height:30px}.job-container{padding:20px}.footer-dark{padding:50px 20px}}.detail-page{background-color:var(--bg);min-height:100vh}.detail-section{padding-top:20px}.detail-container{max-width:940px;margin:0 auto}.detail-title{color:var(--ink);font-family:var(--serif);letter-spacing:1px;text-wrap:balance;margin:0 0 24px;font-size:52px;font-weight:300;line-height:115%}.detail-summary{color:var(--ink-soft);font-family:var(--sans);margin:0;font-size:20px;line-height:35px}.detail-cover{background:#0b1a33;border-radius:16px;width:100%;margin:36px 0 0;display:block;overflow:hidden}.detail-cover img{width:100%;height:auto;display:block}.detail-video-intro{max-width:100%;color:var(--ink);font-family:var(--serif);letter-spacing:.2px;margin:72px 0 0;font-size:21px;font-weight:300;line-height:38px}.detail-video{background:#000;border-radius:20px;width:100%;height:auto;margin-top:48px;display:block}.detail-video-intro+.detail-video{margin-top:28px}.detail-video+.detail-gallery{margin-top:24px}.detail-gallery{flex-direction:column;gap:24px;margin-top:48px;display:flex}.gallery-trigger{cursor:none;background-color:#0000;border:0;width:100%;padding:0;display:block}.detail-image{border-radius:20px;width:100%;height:auto;transition:opacity .3s;display:block}.gallery-trigger:hover .detail-image{opacity:.94}.lightbox{z-index:3000;justify-content:center;align-items:center;animation:.22s ease-out lightbox-in;display:flex;position:fixed;inset:0}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}.lightbox-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background-color:#121212e0;position:absolute;inset:0}.lightbox-stage{z-index:1;border-radius:8px;justify-content:center;align-items:center;max-width:92vw;max-height:86vh;display:flex;position:relative;overflow:auto}.lightbox-img{border-radius:8px;width:auto;max-width:92vw;height:auto;max-height:86vh;display:block}.lightbox-img--long{width:min(92vw,880px);max-height:none}.lightbox-close{z-index:2;color:#fff;cursor:none;background-color:#0000;border:1px solid #ffffff59;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:background-color .3s,border-color .3s;display:flex;position:absolute;top:24px;right:24px}.lightbox-close:hover{background-color:#ffffff24;border-color:#fff}.lightbox-arrow{z-index:2;color:#fff;cursor:none;background-color:#0000;border:1px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;padding:0;transition:background-color .3s,border-color .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-arrow:hover{background-color:#ffffff24;border-color:#fff}.lightbox-arrow--prev{left:24px}.lightbox-arrow--next{right:24px}.lightbox-counter{z-index:2;color:#ffffffb8;font-family:var(--sans);letter-spacing:.5px;margin:0;font-size:13px;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.project-nav{background-color:var(--bg);border-top:1px solid #e6e6e6;margin-top:80px}.project-nav-inner{grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;max-width:940px;margin:0 auto;padding:40px 0;display:grid}.project-nav-item{color:var(--ink);flex-direction:column;gap:6px;text-decoration:none;display:flex}.project-nav-item--next{text-align:right;align-items:flex-end}.project-nav-label{color:#8f8f8f;font-family:var(--sans);font-size:13px}.project-nav-name{font-family:var(--serif);font-size:22px;line-height:1.3;transition:box-shadow .3s}.project-nav-item:hover .project-nav-name{box-shadow:0 1px var(--link-ink)}.project-nav-back{color:var(--ink);font-family:var(--sans);white-space:nowrap;border:1px solid #ddd;border-radius:999px;padding:10px 18px;font-size:14px;text-decoration:none;transition:background-color .3s,border-color .3s}.project-nav-back:hover{border-color:var(--lime);background-color:var(--lime)}@media (max-width:991px){.detail-container,.project-nav-inner{max-width:728px}}@media (max-width:767px){.detail-container,.project-nav-inner{max-width:none}.detail-container{padding:0 20px}.detail-title{font-size:38px}.project-nav-inner{grid-template-columns:1fr;gap:18px;padding:32px 20px}.project-nav-item--next{text-align:left;align-items:flex-start}.lightbox-close{top:12px;right:12px}.lightbox-arrow{width:40px;height:40px}.lightbox-arrow--prev{left:8px}.lightbox-arrow--next{right:8px}}.story{margin-top:56px}.story-lead{max-width:100%;color:var(--ink);font-family:var(--serif);letter-spacing:.5px;margin:0;font-size:30px;font-weight:300;line-height:1.6}.story-facts{border-top:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6;grid-template-columns:repeat(3,1fr);gap:24px;margin:48px 0 0;padding:26px 0;display:grid}.story-fact dt{color:#9a9a9a;font-family:var(--sans);letter-spacing:.5px;font-size:13px}.story-fact dd{color:var(--ink);font-family:var(--sans);margin:8px 0 0;font-size:17px;line-height:1.5}.story-section{margin-top:88px}.story-section-head{margin-bottom:22px}.story-section h2{color:var(--ink);font-family:var(--serif);margin:0;font-size:34px;font-weight:400;line-height:1.3}.story-section p{max-width:100%;color:var(--ink-soft);font-family:var(--sans);margin:0 0 20px;font-size:18px;line-height:34px}.story-section .story-subtitle{max-width:100%;color:var(--ink);font-family:var(--sans);margin:-4px 0 28px;font-size:20px;line-height:1.7}.story-section .story-list-label{max-width:100%;color:var(--ink);font-family:var(--sans);letter-spacing:.08em;margin:36px 0 4px;font-size:15px;font-weight:600}.story-section .story-note{max-width:100%;color:var(--ink);font-family:var(--sans);border-left:2px solid #d8d8d8;margin:26px 0 0;padding-left:22px;font-size:17px;line-height:30px}.story-list li strong{color:var(--ink);font-weight:600}.story-list{max-width:100%;margin:8px 0 0;padding:0;list-style:none}.story-list li{color:var(--ink-soft);font-family:var(--sans);margin-bottom:14px;padding-left:22px;font-size:18px;line-height:34px;position:relative}.story-list li:before{content:"";background-color:#b9b9b9;width:10px;height:1px;position:absolute;top:20px;left:4px}.story-diagram{background-color:#f6f7f9;border-radius:20px;margin:96px 0 0;padding:40px}.story-diagram-title{color:#8f8f8f;font-family:var(--sans);letter-spacing:1.5px;margin-bottom:28px;font-size:13px}.story-diagram-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.story-diagram-col{background-color:#fff;border-radius:14px;padding:26px 24px;position:relative}.story-diagram-col:not(:last-child):after{content:"";border-top:1.5px solid #c9d2dd;border-right:1.5px solid #c9d2dd;width:8px;height:8px;position:absolute;top:50%;right:-14px;transform:translateY(-50%)rotate(45deg)}.story-diagram-col:nth-child(3n):after{display:none}.story-diagram-col h3{color:var(--ink);font-family:var(--serif);margin:0 0 16px;font-size:20px;font-weight:400}.story-diagram-col ul{margin:0;padding:0;list-style:none}.story-diagram-col li{color:#5a5a5a;font-family:var(--sans);margin-bottom:10px;padding-left:16px;font-size:15px;line-height:1.5;position:relative}.story-diagram-col li:before{content:"";background-color:#c9d2dd;border-radius:50%;width:4px;height:4px;position:absolute;top:9px;left:2px}.story-diagram-caption{color:#8f8f8f;font-family:var(--sans);margin:24px 0 0;font-size:14px;line-height:1.6}@media (max-width:767px){.story-lead{font-size:23px}.story-facts{grid-template-columns:1fr;gap:18px}.story-section{margin-top:64px}.story-section h2{font-size:27px}.story-section p,.story-list li{font-size:16px;line-height:30px}.story-diagram{margin-top:64px;padding:22px}.story-diagram-grid{grid-template-columns:1fr;gap:18px}.story-diagram-col:not(:last-child):after{inset:auto auto -13px 50%;transform:translate(-50%)rotate(135deg)}.story-diagram-col:nth-child(3n):not(:last-child):after{display:block}}.story-product{margin:36px 0 64px}.story-product a{background:#f3f6fb;border:1px solid #e4e9f0;border-radius:12px;display:block;overflow:hidden}.story-product img{width:100%;height:auto;display:block}.story-product figcaption{color:#697586;font:14px/1.8 var(--sans);margin-top:14px}.story-product a:focus-visible{outline-offset:4px;outline:3px solid #2474ff}
#zhangba,#yes-i-do,.timeline-list li:nth-child(n+7),a.project-nav-item[href="/zhangba"]{display:none!important}