/* Work pages: an illustrated index, clear responsibility, then the evidence. */
.site-page .sw-art{
  --sw-p:1;--sw-fill:1;--sw-show:1;--sw-line:1;
  position:relative;container-type:inline-size;isolation:isolate;display:block;
  width:100%;max-width:none;aspect-ratio:1.36;min-height:0;
}
.site-page .sw-art-word{
  position:absolute;left:0;top:6%;z-index:0;display:block;white-space:nowrap;
  color:#242424;font:400 35cqw/.82 Arial,Helvetica,sans-serif;letter-spacing:-.075em;
}
.site-page .sw-art-word::after{display:none;content:attr(data-word);position:absolute;inset:0;color:#242424;-webkit-text-fill-color:#242424;-webkit-text-stroke:0}
.site-page .sw-art-ai .sw-art-word{font-size:68cqw;top:7%}
.site-page .sw-art-apps .sw-art-word{font-size:33cqw;top:10%}
.site-page .sw-art-sns .sw-art-word{font-size:43cqw;top:9%}
.site-page .sw-art-content .sw-art-word{font-size:33cqw;top:11%}
.site-page .sw-art-analysis .sw-art-word{font-size:35cqw;top:9%}
.site-page .sw-art-person{position:absolute;right:0;bottom:0;z-index:1;width:74%;height:auto;display:block}
.site-page .sw-art-content .sw-art-person{right:-1%;width:74%}
.site-page .sw-art-apps .sw-art-person{right:-1%;width:74%}
.site-page .sw-art-line{position:absolute;inset:0;z-index:2;width:100%;height:100%;overflow:visible}
.site-page .sw-art-line path{fill:none;stroke:#b7b7b7;stroke-width:1px;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--sw-line,1))}
.site-page.site-motion-ready .sw-art{
  --sw-p:var(--site-art-p,1);
  --sw-fill:clamp(0,calc((var(--sw-p) - .14)*1.48),1);
  --sw-show:clamp(0,calc((var(--sw-p) - .08)*1.4),1);
  --sw-line:clamp(0,calc((var(--sw-p) - .03)*1.25),1);
}
.site-page.site-motion-ready .sw-art-word{color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:1px rgba(36,36,36,calc(1 - var(--sw-fill)))}
.site-page.site-motion-ready .sw-art-word::after{display:block;clip-path:inset(0 calc((1 - var(--sw-fill))*115% - .16em) -.16em -.16em)}
.site-page.site-motion-ready .sw-art-person{transform:translate3d(calc((1 - var(--sw-show))*13px),calc((1 - var(--sw-show))*16px),0);clip-path:inset(calc((1 - var(--sw-show))*86%) 0 0);opacity:calc(.7 + var(--sw-show)*.3)}

/* The index opens with one large composition; each field then has its own smaller scene. */
.site-work .sw-index-head{padding-bottom:25px}
.site-work .sw-index-head .breadcrumb{margin-bottom:80px}
.site-work .sw-index-art{aspect-ratio:2.8;margin:0 0 75px}
.site-work .sw-index-art .sw-art-word{font-size:30cqw;top:8%;letter-spacing:-.085em}
.site-work .sw-index-art .sw-art-person{width:40%;right:0;bottom:1%}
.site-work .sw-index-art .sw-art-line{top:auto;bottom:0;height:75px}
.site-work .sw-index-intro{display:grid;grid-template-columns:.72fr 1.28fr;gap:105px;align-items:start}
.site-work .sw-index-heading h1{font-size:46px;line-height:1.5;margin:0}
.site-work .sw-index-intro .page-intro{max-width:580px;margin:0 0 0 auto;font-size:15px}
.site-work .work-directory{display:grid;grid-template-columns:165px minmax(0,1fr);gap:90px;margin-top:115px;margin-bottom:125px}
.site-work .directory-nav{position:static;align-self:start;top:auto;padding-top:3px}
.site-work .directory-nav>p{font-size:10px;color:#666;margin-bottom:20px}
.site-work .directory-nav nav{border-top:1px solid #888}
.site-work .directory-nav nav>a{font-size:11px;gap:11px;padding:18px 0;min-height:54px;font-weight:400}
.site-work .directory-nav nav>a>span{font-size:9px;flex-shrink:0}
.site-work .directory-nav nav>a>b{font-size:12px;flex-shrink:0;transition:transform .3s}
.site-work .directory-nav nav>a:hover{font-weight:400}
.site-work .directory-nav nav>a[aria-current="location"]{font-weight:500;color:#242424;border-bottom-color:#777}
.site-work .directory-nav nav>a:hover>b{transform:translateY(3px)}
.site-work .directory-note{display:block;font-size:10px;line-height:2.1;margin-top:24px}
.site-work .directory-field{border-top:0;padding:0 0 85px;scroll-margin-top:35px}
.site-work .directory-field+.directory-field{margin-top:30px;padding-top:70px;border-top:1px solid #d4d4d4}
.site-work .sw-field-opening{display:grid;grid-template-columns:.8fr 1.2fr;gap:38px;align-items:center;margin-bottom:45px}
.site-work .directory-heading{display:block;margin:0}
.site-work .directory-heading>.area-number{display:block;font-size:11px;padding:0;margin-bottom:20px}
.site-work .directory-english{font-size:8px;letter-spacing:.14em;line-height:1.6;display:block}
.site-work .directory-heading h2{font-size:34px;line-height:1.55;margin:12px 0 22px}
.site-work .directory-heading h2 a{text-decoration:none}
.site-work .directory-heading p{font-size:13px;line-height:2.15;max-width:none}
.site-work .directory-categories{display:block;border-top:1px solid #bbb}
.site-work .directory-item{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);column-gap:40px;row-gap:12px;padding:29px 0 31px;border-bottom:1px solid #ddd}
.site-work .directory-item-top{grid-column:1;grid-row:1/3;display:flex;align-items:baseline;flex-wrap:wrap;column-gap:9px;row-gap:7px;margin:0;align-self:start}
.site-work .directory-item-top h3{font-size:18px;line-height:1.8;flex:1 1 100%;margin:0;padding-right:24px}
.site-work .directory-item-top>span:last-child:not(.category-family){position:absolute;right:0;top:2px;font-size:17px;margin:0;transition:transform .3s}
.site-work .directory-item-top{position:relative}
.site-work .directory-item:hover .directory-item-top>span:last-child{transform:translate(2px,-2px)}
.site-work .directory-item p{grid-column:2;font-size:13px;line-height:2.05;max-width:none;color:#444}
.site-work .directory-outputs{grid-column:2;font-size:10px;line-height:2;margin:0;color:#6b6b6b}
.site-work .directory-footer{margin-top:28px;justify-content:flex-end}
.site-work .directory-footer .text-link{font-size:11px;gap:50px}
.site-work .sw-process{display:grid;grid-template-columns:.72fr 1.28fr;gap:105px;background:#fff;padding:0;margin:0 auto 80px}
.site-work .sw-process .section-head{align-self:start;margin:0}
.site-work .sw-process h2{font-size:33px}
.site-work .process-body{counter-reset:work-process;max-width:600px}
.site-work .process-body>p{counter-increment:work-process;position:relative;padding:0 0 34px 47px;margin:0 0 34px;border-bottom:1px solid #ddd;font-size:14px}
.site-work .process-body>p::before{content:counter(work-process,decimal-leading-zero);position:absolute;left:0;top:4px;font:11px/2 Arial,sans-serif;color:#777}
.site-work .process-body>p:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}

/* Detail pages lead with the field, then make the personal scope explicit. */
.site-field .field-page-head{padding-top:40px}
.site-field .field-page-head .breadcrumb{margin-bottom:70px}
.site-field .field-title-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:95px;align-items:center;padding:0 0 60px;border:0}
.site-field .sw-field-hero-copy{min-width:0}
.site-field .sw-field-hero-copy .eyebrow{font-size:9px;line-height:1.8;gap:16px;margin-bottom:24px;max-width:none}
.site-field .field-page-head h1{font-size:45px;line-height:1.5;letter-spacing:.015em;max-width:none;margin:0}
.site-field .field-page-head .page-intro{font-size:14px;line-height:2.15;max-width:none;margin-top:30px}
.site-field .field-title-art{display:block;position:relative;top:auto;right:auto;width:100%;max-width:none;margin:0;justify-self:stretch}
.site-field .capability-nav{display:flex;flex-wrap:wrap;gap:5px 30px;border-top:1px solid #aaa;border-bottom:1px solid #ddd;padding-block:19px;margin-bottom:115px}
.site-field .capability-nav a{font-size:11px;line-height:1.8;min-height:44px;padding:9px 0;text-decoration:none;border-bottom:1px solid transparent}
.site-field .capability-nav a::after{content:'↓';font:12px Arial,sans-serif;margin-left:13px;color:#777}
.site-field .capability-nav a:hover,.site-field .capability-nav a:focus-visible{border-bottom-color:#aaa}
.site-field .sw-roles{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:105px;background:#fff;padding:0;margin-bottom:30px}
.site-field .sw-roles .section-head{margin:0;align-self:start}
.site-field .sw-roles .section-head h2{font-size:33px}
.site-field .role-list{display:block;position:relative;counter-reset:work-role;padding:0 0 0 0}
.site-field .role-list::before{content:'';position:absolute;left:9px;top:13px;bottom:20px;width:1px;background:#ddd;transform:scaleY(var(--site-art-p,1));transform-origin:top}
.site-field .role-list>div{position:relative;counter-increment:work-role;display:grid;grid-template-columns:35px minmax(0,1fr);gap:13px 22px;padding:0 0 42px;margin:0;border:0}
.site-field .role-list>div::before{content:counter(work-role,decimal-leading-zero);grid-column:1;grid-row:1;align-self:start;position:relative;z-index:1;background:#fff;min-height:28px;padding-top:4px;font:11px/2 Arial,sans-serif;color:#777}
.site-field .role-list>div:last-child{padding-bottom:0}
.site-field .role-list h3{grid-column:2;font-size:20px;line-height:1.8;margin:0}
.site-field .role-list p{grid-column:2;font-size:14px;line-height:2.15;margin:0;max-width:600px}
.site-field .capability-section{padding-top:115px;padding-bottom:60px}
.site-field .capability-section .section-head{margin-bottom:50px}
.site-field .capability-list{border-top:1px solid #999}
.site-field .capability{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:105px;padding:48px 0 52px;scroll-margin-top:35px}
.site-field .capability-title{grid-template-columns:25px minmax(0,1fr);gap:18px;align-self:start}
.site-field .capability-title>.area-number{font-size:10px;padding-top:8px}
.site-field .capability-title h3{font-size:24px;line-height:1.75;overflow-wrap:anywhere}
.site-field .category-family{font-size:9px;line-height:1.6;max-width:100%;white-space:normal;border-color:#d7d7d7;padding:2px 7px}
.site-field .capability-content{min-width:0}
.site-field .capability-summary{font-size:15px;line-height:2.15;font-weight:400;max-width:640px;margin-bottom:24px}
.site-field .capability-content ul{margin-bottom:25px}
.site-field .capability-content li{font-size:13px;line-height:2.15;margin:6px 0;padding-left:17px}
.site-field .capability-content li::before{width:5px;height:1px;top:1.05em;background:#888}
.site-field .capability-outputs{font-size:11px;line-height:2;gap:6px 18px;padding-top:19px;border-color:#ddd;color:#666}
.site-field .capability-outputs>.output-label{flex:0 0 100%;font-size:10px;font-weight:400;margin:0 0 3px;color:#555}
.site-field .capability-examples{gap:12px 27px;margin-top:21px}
.site-field .capability-examples .text-link{font-size:11px;gap:24px;max-width:100%;overflow-wrap:anywhere}
.site-field .field-examples{padding-top:70px;padding-bottom:80px}
.site-field .field-story{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:105px;padding:45px 0 50px;scroll-margin-top:35px}
.site-field .field-story h3{font-size:25px;line-height:1.75;margin-top:16px}
.site-field .field-story .prose{font-size:14px;line-height:2.15;min-width:0}
.site-field .field-story .prose>p:has(.external){font-size:12px;margin-top:28px}
.site-field .field-examples .case-study{padding-top:46px;margin-bottom:80px;scroll-margin-top:35px}
.site-field .field-examples .case-heading{gap:24px;margin-bottom:35px;align-items:baseline}
.site-field .field-examples .case-heading h3{font-size:28px;line-height:1.7}
.site-field .field-examples .case-layout{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:65px;align-items:start}
.site-field .field-examples .case-layout .prose{font-size:14px;line-height:2.15}
.site-field .case-media{min-width:0}
.site-field .case-media img{display:block;width:100%;max-height:670px;object-fit:contain;background:#fff}
.site-field .case-media figcaption{font-size:10px;line-height:1.9;margin-top:15px;gap:16px;flex-wrap:wrap}
.site-field .case-media figcaption span{white-space:normal}
.site-field .work-extra{margin-top:30px;padding-top:0}
.site-field .work-extra img{border:0}
.site-field .field-related{display:grid;grid-template-columns:.72fr 1.28fr;gap:105px;padding:35px 0;border-top:1px solid #ddd;border-bottom:1px solid #ddd}
.site-field .field-related h2{font-size:20px;margin:0}
.site-field .field-related .links-row{display:flex;flex-wrap:wrap;gap:10px 35px}
.site-field .field-related .text-link{font-size:12px}
.site-field .field-consult{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:80px;align-items:end;background:#fff;color:#242424;padding:90px 0 25px;margin-top:25px}
.site-field .field-consult .eyebrow{color:#666}
.site-field .field-consult h2{font-size:30px;line-height:1.7;margin:0 0 24px}
.site-field .field-consult p{font-size:14px;line-height:2.15;max-width:640px}
.site-field .field-consult .field-company{font-size:11px;color:#666;margin-top:22px}
.site-field .field-consult .button{background:#fff;color:#242424;border:0;border-bottom:1px solid #888;padding:17px 0;gap:35px;white-space:normal;max-width:100%}
.site-field .field-consult .button:hover{background:#fff}
.site-field .field-back{padding-top:35px}
.site-field .field-back .text-link{font-size:11px}

@media(min-width:1180px) and (min-height:760px){.site-work .directory-nav{position:sticky;top:45px}}
@media(max-width:1179px){
 .site-work .work-directory{display:block;margin-top:85px}
 .site-work .directory-nav{margin-bottom:85px}
 .site-work .directory-nav nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0 22px}
 .site-work .directory-nav nav>a{font-size:11px;gap:8px;align-items:baseline;min-width:0}
 .site-work .directory-note{font-size:10px;margin-top:15px}.site-work .directory-note br{display:none}
 .site-work .sw-field-opening{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:55px}
 .site-work .sw-field-opening .sw-art{max-width:400px}
 .site-field .field-title-grid{gap:60px}
 .site-field .field-page-head h1{font-size:39px}
 .site-field .sw-roles,.site-field .capability,.site-field .field-story,.site-field .field-related{gap:65px}
 .site-field .field-examples .case-layout{gap:40px}
 .site-field .field-consult{gap:40px}
}
@media(max-width:950px){
 .site-work .sw-index-intro,.site-work .sw-process{gap:65px}
 .site-work .sw-index-heading h1{font-size:39px}
 .site-work .directory-heading h2{font-size:31px}
 .site-work .directory-item{column-gap:35px}
 .site-field .field-title-grid{gap:40px}
 .site-field .field-page-head h1{font-size:35px}
 .site-field .sw-field-hero-copy .eyebrow{font-size:8px}
 .site-field .sw-roles,.site-field .capability,.site-field .field-story,.site-field .field-related{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:45px}
 .site-field .capability-title h3{font-size:21px}
 .site-field .field-examples .case-layout{display:block}.site-field .case-media{max-width:640px;margin:0 0 35px}
 .site-field .field-consult{display:block}.site-field .field-consult .button{display:inline-flex;margin-top:30px}
}
@media(max-width:760px){
 .site-work .sw-index-head{padding-bottom:10px}
 .site-work .sw-index-head .breadcrumb{margin-bottom:48px}
 .site-work .sw-index-art{aspect-ratio:1.8;margin-bottom:45px}
 .site-work .sw-index-art .sw-art-word{font-size:30cqw;top:8%}
 .site-work .sw-index-art .sw-art-person{width:59%;right:-1%;bottom:2%}
 .site-work .sw-index-art .sw-art-line{height:48px}
 .site-work .sw-index-intro{display:block}
 .site-work .sw-index-heading h1{font-size:35px}
 .site-work .sw-index-heading .eyebrow{margin-bottom:14px}
 .site-work .sw-index-intro .page-intro{margin-top:25px;font-size:14px;max-width:none}
 .site-work .work-directory{margin-top:55px;margin-bottom:75px}
 .site-work .directory-nav{margin-bottom:65px;padding:0}
 .site-work .directory-nav nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}
 .site-work .directory-nav nav>a{font-size:11px;padding:16px 0;align-items:center}
 .site-work .directory-note{margin-top:18px}
 .site-work .directory-field{padding-bottom:45px;scroll-margin-top:24px}
 .site-work .directory-field+.directory-field{padding-top:45px;margin-top:35px}
 .site-work .sw-field-opening{display:block;margin-bottom:35px}
 .site-work .sw-field-opening .sw-art{max-width:430px;aspect-ratio:1.75;margin:0 0 30px}
 .site-work .sw-field-opening .sw-art-word{top:3%}
 .site-work .sw-field-opening .sw-art-person{width:59%;right:1%}
 .site-work .sw-field-opening .sw-art-line{height:100%}
 .site-work .directory-heading>.area-number{margin-bottom:15px;font-size:10px}
 .site-work .directory-heading h2{font-size:29px;margin:10px 0 19px}
 .site-work .directory-heading p{font-size:14px;line-height:2.1}
 .site-work .directory-item{display:block;padding:25px 0 27px}
 .site-work .directory-item-top{display:flex;margin-bottom:15px}
 .site-work .directory-item-top h3{font-size:19px;line-height:1.75}
 .site-work .directory-item p{font-size:13px;line-height:2.1}
 .site-work .directory-outputs{font-size:10px;line-height:2.1;margin-top:15px}
 .site-work .directory-footer{justify-content:flex-start;margin-top:22px}
 .site-work .directory-footer .text-link{font-size:11px;gap:40px}
 .site-work .sw-process{display:block;margin-bottom:50px}
 .site-work .sw-process .section-head{margin-bottom:35px}
 .site-work .sw-process h2{font-size:28px}
 .site-work .process-body>p{font-size:14px;padding-left:35px;padding-bottom:28px;margin-bottom:28px}
 .site-field .field-page-head{padding-top:28px}
 .site-field .field-page-head .breadcrumb{margin-bottom:40px;font-size:9px;gap:8px;line-height:1.8;flex-wrap:wrap}
 .site-field .field-title-grid{display:flex;flex-direction:column;gap:35px;padding-bottom:35px}
 .site-field .field-page-head h1{font-size:35px;max-width:none;line-height:1.5}
 .site-field .sw-field-hero-copy .eyebrow{font-size:8px;gap:15px;margin-bottom:20px}
 .site-field .field-page-head .page-intro{font-size:14px;margin-top:25px}
 .site-field .field-title-art{display:block;position:relative;inset:auto;width:100%;max-width:430px;aspect-ratio:1.7;margin:0;align-self:center}
 .site-field .field-title-art .sw-art-word{top:3%}
 .site-field .field-title-art .sw-art-person{width:60%;right:1%}
 .site-field .capability-nav{gap:3px 24px;padding-block:15px;margin-bottom:70px}
 .site-field .capability-nav a{font-size:11px;min-height:44px;max-width:100%}
 .site-field .sw-roles{display:block;padding:0;margin-bottom:20px}
 .site-field .sw-roles .section-head{margin-bottom:35px}
 .site-field .sw-roles .section-head h2{font-size:28px}
 .site-field .role-list>div{grid-template-columns:25px minmax(0,1fr);column-gap:17px;row-gap:12px;padding-bottom:34px}
 .site-field .role-list h3{font-size:19px}
 .site-field .role-list p{font-size:14px}
 .site-field .capability-section{padding-top:70px;padding-bottom:30px}
 .site-field .capability-section .section-head{margin-bottom:35px}
 .site-field .capability{display:block;padding:31px 0 37px;scroll-margin-top:25px}
 .site-field .capability-title{grid-template-columns:23px minmax(0,1fr);gap:12px;margin-bottom:23px}
 .site-field .capability-title h3{font-size:24px;line-height:1.7}
 .site-field .capability-summary{font-size:14px;line-height:2.15;margin-bottom:23px}
 .site-field .capability-content li{font-size:13px;line-height:2.1;margin:8px 0}
 .site-field .capability-outputs{font-size:10px;gap:7px 17px;padding-top:17px}
 .site-field .capability-examples{margin-top:20px;gap:12px 20px}
 .site-field .capability-examples .text-link{font-size:11px;gap:19px}
 .site-field .field-examples{padding-top:45px;padding-bottom:55px}
 .site-field .field-story{display:block;padding:33px 0 37px;scroll-margin-top:25px}
 .site-field .field-story h3{font-size:24px;margin:14px 0 24px}
 .site-field .field-story .prose{font-size:14px}
 .site-field .field-examples .case-study{padding-top:32px;margin-bottom:55px;scroll-margin-top:25px}
 .site-field .field-examples .case-heading{gap:15px;margin-bottom:28px}
 .site-field .field-examples .case-heading h3{font-size:24px;line-height:1.7}
 .site-field .field-examples .case-layout .prose{font-size:14px}
 .site-field .case-media{margin-bottom:28px}
 .site-field .case-media figcaption{font-size:9px}
 .site-field .field-related{display:block;padding:27px 0}
 .site-field .field-related h2{font-size:19px;margin-bottom:15px}
 .site-field .field-related .links-row{gap:10px 27px}
 .site-field .field-consult{padding:55px 0 15px;margin-top:15px}
 .site-field .field-consult h2{font-size:26px;margin-bottom:24px}
 .site-field .field-consult p{font-size:14px}
 .site-field .field-consult .field-company{font-size:10px;margin-top:21px}
 .site-field .field-consult .button{font-size:12px;gap:25px;margin-top:27px}
 .site-field .field-back{padding-top:27px}
}
@media(max-width:380px){
 .site-work .directory-nav nav{column-gap:17px}.site-work .directory-nav nav>a{font-size:10px;gap:7px}
 .site-work .directory-heading h2{font-size:27px}
 .site-field .field-page-head h1{font-size:30px}
 .site-field .capability-title h3{font-size:22px}
 .site-field .field-consult h2{font-size:24px}
}
@media(prefers-reduced-motion:reduce){
 .site-page.site-motion-ready .sw-art{--sw-p:1}
 .site-page.site-motion-ready .sw-art-person{transform:none;clip-path:none;opacity:1}
 .site-field .role-list::before{transform:none}
}
.site-page.motion-off .sw-art{--sw-p:1}.site-page.motion-off .sw-art-person{transform:none;clip-path:none;opacity:1}
