/* Visual portfolio layout. Content remains the supplied wording. */
.wrap{width:min(1320px,calc(100% - 96px))}
.masthead{position:relative;border:0}
.header-inner{min-height:102px}
.header-inner nav{font-size:14px;gap:38px}
.header-inner nav .nav-cta{background:var(--color-primary);color:var(--color-on-primary);padding:12px 22px;border:0;margin-left:20px}
.header-inner nav .nav-cta span{color:var(--color-blue-200)}
.hero{display:block;width:100%;padding:0;background:var(--color-bg-inverse-deep);color:var(--color-white);position:relative;overflow:hidden}
.hero-inner{padding-top:65px;padding-bottom:46px}
.hero-copy{display:grid;grid-template-columns:1.2fr 1fr;gap:32px 65px;padding:0}
.hero h1{grid-column:1/-1;color:var(--color-white);font-size:clamp(48px,6.8vw,102px);line-height:1.02;margin:0;letter-spacing:-.058em;font-weight:450;max-width:1280px}
.hero h1 .hero-phrase:last-child{font-size:.82em;margin-top:8px}
.hero h1 em{color:var(--color-blue-200)}
.hero-intro{margin:0;max-width:660px;color:var(--color-slate-200);font-size:16px;line-height:1.85}
.hero-actions{align-self:end;justify-content:flex-end;gap:25px;margin:0;padding-bottom:7px}
.hero .primary{background:var(--color-white);color:var(--color-navy-700);font-size:14px}
.hero .primary:hover{background:var(--color-blue-100)}
.hero .text-link{color:var(--color-white);border-color:var(--color-navy-500);font-size:14px}
.hero-visual{display:grid;grid-template-columns:.8fr 1.2fr;grid-template-rows:auto 1fr auto;gap:0 35px;margin-top:42px;min-height:0;padding:26px 40px 12px;background:var(--color-navy-800);border:1px solid var(--color-navy-600);overflow:hidden}
.diagram-meta{grid-column:1;align-self:start;color:var(--color-blue-200);font-size:11px;letter-spacing:.09em}
.diagram-art{grid-column:2;grid-row:1/4;width:100%;max-width:400px;justify-self:center;margin:-40px 0 -40px}
.delivery-diagram{color:var(--color-blue-200)}
.delivery-diagram .diagram-ground{fill:var(--color-navy-700);stroke:var(--color-navy-600)}
.delivery-diagram .diagram-ground-line{stroke:var(--color-navy-500)}
.delivery-diagram .diagram-label,.delivery-diagram .diagram-note{fill:var(--color-blue-200)}
.delivery-diagram .diagram-note{font-size:13px}
.diagram-steps{grid-column:1;display:flex;flex-direction:column;gap:14px;border:0;padding:22px 0 15px;font-size:16px;color:var(--color-slate-300)}
.diagram-steps span{display:flex;gap:15px;align-items:baseline}
.diagram-steps b{font-size:11px;color:var(--color-blue-300);min-width:18px}
.diagram-steps span.is-active{color:var(--color-white)}
.motion-tools{grid-column:1;justify-content:flex-start;border-color:var(--color-navy-600);color:var(--color-blue-200);padding-top:0}
.motion-tools button{font-size:11px;min-height:42px;color:var(--color-blue-200);padding-right:18px}
.motion-tools button:hover{color:var(--color-white)}
.accent-plane.plane-one{background:var(--color-navy-700);width:280px;height:330px;right:15%;top:20px}
.accent-plane.plane-two{background:var(--color-blue-500);width:250px;bottom:50px;left:30%}
.principle-strip{margin-top:0;border:0;background:var(--color-blue-50)}
.principle-strip .wrap{justify-content:center;padding-block:27px}
.principle-strip p{font-size:18px;text-align:center;color:var(--color-text-heading)}
.section{padding-block:100px}
.section-heading{grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start;margin-bottom:55px}
.section-heading>div{display:block}
.section-heading>p{font-size:18px;line-height:1.85}
.section-heading h2{font-size:clamp(40px,5vw,68px)}
.project-featured{grid-template-columns:1.1fr .9fr;gap:65px;align-items:center;margin-bottom:0}
.project-art{border-radius:0;min-height:460px;padding:35px}
.project-art-top{font-size:11px;line-height:1.6;align-items:start;max-width:100%}
.project-art-top>span:first-child{max-width:90%}
.streaming-art{min-height:460px;background:var(--color-navy-700);display:flex;flex-direction:column;justify-content:space-between}
.project-wordmark{font-size:clamp(100px,12vw,170px);margin:40px 0 30px;line-height:.9}
.streaming-art p{font-size:28px;line-height:1.25;max-width:400px;margin-top:0}
.project-copy h3{font-size:clamp(30px,3vw,42px);line-height:1.1;margin-bottom:25px}
.project-copy>p:not(.eyebrow){font-size:16px;line-height:1.9}
.project-pair{display:block}
.project-pair .project{display:grid;grid-template-columns:1.1fr .9fr;gap:65px;align-items:center;margin-top:65px}
.project-pair .project:nth-child(even){grid-template-columns:.9fr 1.1fr}
.project-pair .project:nth-child(even) .project-art{order:2}
.project-pair .project:nth-child(even) .project-copy{order:1}
.project-pair .project-art{height:auto;min-height:460px}
.project-pair .project-copy{padding:0}
.project-pair .project-copy h3{font-size:42px;margin-bottom:25px}
.library-art{display:flex;flex-direction:column;justify-content:space-between;background:var(--color-blue-100)}
.book-stack{width:min(340px,80%);margin:35px auto}
.book-stack span{font-size:27px;padding:9px 20px;line-height:1.4}
.library-bottom{margin:10px 0 0}
.library-bottom strong{font-size:56px}
.game-art{display:flex;flex-direction:column;justify-content:space-between;background:var(--color-navy-900);color:var(--color-blue-200)}
.game-art svg{color:var(--color-blue-300);width:90%;left:5%;top:70px;opacity:.7}
.game-bottom{margin-top:245px}
.game-bottom strong{font-size:28px;max-width:400px;font-weight:400}
.capabilities{background:var(--color-navy-700);color:var(--color-white);border:0}
.capability-layout{grid-template-columns:1fr;gap:44px}
.capability-intro{display:flex;align-items:center;justify-content:space-between;gap:30px}
.capability-intro h2{margin:0;color:var(--color-white);font-size:64px}
.capability-intro .text-link{color:var(--color-white);border-color:var(--color-navy-400);margin:0}
.capability-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--color-navy-400);gap:0 50px;align-items:start}
.capability-list>details{border-color:var(--color-navy-400)}
.capability-list summary{min-height:120px;gap:20px;align-items:baseline;padding-block:28px}
.capability-list h3{font-size:24px;color:var(--color-white);max-width:440px}
.capability-list summary:hover h3{color:var(--color-blue-200)}
.cap-number{color:var(--color-blue-200)}
.disclosure-mark:before,.disclosure-mark:after{background:var(--color-white)}
.cap-body{padding:0 32px 30px 40px;font-size:14px}
.cap-body>p,.cap-body ul{color:var(--color-slate-200)}
.cap-body li::marker{color:var(--color-blue-200)}
.company .section-heading>div.source-about>p{max-width:none;font-size:16px;margin:0 0 22px;line-height:1.9}
.source-why{border-top:1px solid var(--color-border);padding-top:55px;margin-top:55px}
.source-why h2{font-size:44px;max-width:800px}
.company-principles{grid-template-columns:1fr 1fr;gap:35px 65px;padding-top:32px}
.company-principles>div{padding-top:18px;display:grid;grid-template-columns:38px 1fr;gap:14px 20px}
.company-principles>div>span{font-size:25px;letter-spacing:-.04em;color:var(--color-blue-600)}
.company-principles h3{margin:0;font-size:24px;align-self:center}
.company-principles p{grid-column:2;margin:0;max-width:none;font-size:15px}
.industries{grid-template-columns:.8fr 1.2fr;gap:90px;margin-top:65px}
.industries .eyebrow{font-size:20px;font-weight:500;letter-spacing:-.02em;color:var(--color-text-heading)}
.industries .industry-name{padding:0;color:var(--color-text-heading)}
.industries>p:last-child{font-size:16px}
.history{background:var(--color-blue-50);border:0}
.history-layout{display:block}
.history-intro{position:static;display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:65px}
.history-intro h2{font-size:clamp(40px,5vw,68px);margin:0;max-width:800px}
.timeline-motion-toggle{margin:0;white-space:nowrap;font-size:12px}
.timeline{max-width:none}
.timeline-track{left:234px;top:24px}
.milestone{grid-template-columns:200px 1fr;gap:65px;min-height:165px;padding-bottom:50px}
.milestone:before{left:229px;top:23px;width:12px;height:12px;border-width:2px;background:var(--color-blue-50)}
.milestone-year{font-size:64px;line-height:1;letter-spacing:-.065em;color:var(--color-navy-700)}
.milestone>div{padding:14px 0 35px;border-bottom:1px solid var(--color-blue-200)}
.milestone:last-child>div{border:0}
.milestone p{font-size:16px;line-height:1.9;color:var(--color-text-secondary);max-width:940px}
.process-heading h2{font-size:64px;max-width:none;width:auto;margin:0}
.process-steps{margin-top:50px;gap:35px}
.process-steps h3{font-size:24px}
.process-steps p{font-size:14px}
.source-numbers{border-top:1px solid var(--color-border);padding-top:55px;margin-top:65px}
.source-numbers h2{font-size:42px}
.source-numbers-list{display:grid;grid-template-columns:repeat(4,1fr);gap:45px;margin-top:32px}
.source-numbers-list p{font-size:24px;line-height:1.5;color:var(--color-text-heading);max-width:260px}
.contact{background:var(--color-navy-900);padding-block:100px}
.contact-inner{grid-template-columns:1.3fr .7fr;gap:100px}
.contact h2{font-size:clamp(40px,4.5vw,68px);line-height:1.1;margin:0;max-width:850px}
.contact-inner>div>p:not(.eyebrow){margin-top:30px;font-size:17px;max-width:650px}
.contact-button{font-size:14px;margin-top:32px}
.contact address{gap:25px;border-left:1px solid var(--color-navy-500);padding-left:45px}
.contact address p{font-size:16px}
.contact address a{font-size:18px}
.footer-top{padding-block:28px}
.footer-top>a:last-child{font-size:28px;min-width:44px;text-align:center}
.footer-bottom{font-size:12px}
@media(min-width:1600px){.hero{padding:0}.hero h1{font-size:104px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero-inner{padding-top:55px}.hero h1{font-size:78px}.hero-copy{gap:32px}.hero-actions{justify-content:start;align-self:start}.hero-visual{padding-inline:26px}.hero-intro{font-size:15px}.section-heading{gap:45px}.project-featured,.project-pair .project{gap:40px}.project-copy>p:not(.eyebrow){font-size:14px}.project-pair .project-copy h3{font-size:35px}.book-stack span{font-size:22px}.capability-list h3{font-size:22px}.industries{gap:45px}.contact-inner{gap:50px}.contact address{padding-left:30px}.contact address a{font-size:16px}.source-numbers-list{gap:25px}.source-numbers-list p{font-size:22px}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.header-inner{min-height:88px}.header-inner nav .nav-cta{margin-left:0}.hero-inner{padding-top:45px;padding-bottom:30px}.hero h1{font-size:clamp(48px,8vw,70px)}.hero-copy{grid-template-columns:1fr;gap:25px}.hero-intro{max-width:660px;font-size:15px}.hero-actions{justify-content:start;padding:0;gap:26px}.hero-visual{width:100%;max-width:none;grid-template-columns:1fr 1fr;gap:0 18px;padding:24px 25px 5px;margin-top:32px}.diagram-art{width:125%;max-width:360px;align-self:center;margin:-20px -20px -20px 0}.diagram-steps{font-size:13px;gap:16px}.diagram-meta{font-size:9px}.motion-tools button{font-size:10px}.section{padding-block:70px}.section-heading{grid-template-columns:1fr;gap:25px}.section-heading>p{font-size:16px}.section-heading h2,.capability-intro h2,.history-intro h2,.process-heading h2{font-size:48px}.project-featured,.project-pair .project,.project-pair .project:nth-child(even){grid-template-columns:1fr;gap:28px}.project-pair .project:nth-child(even) .project-art,.project-pair .project:nth-child(even) .project-copy{order:initial}.project-art,.project-pair .project-art{min-height:380px}.streaming-art p{max-width:500px}.project-wordmark{font-size:120px;margin-block:25px}.project-copy h3,.project-pair .project-copy h3{font-size:36px}.project-copy>p:not(.eyebrow){font-size:16px}.project-pair .project{margin-top:45px}.book-stack{width:320px;margin-block:30px}.book-stack span{font-size:25px}.library-bottom strong{font-size:48px}.game-art svg{width:70%;left:15%;top:15px}.game-bottom{margin-top:215px}.game-bottom strong{max-width:520px;font-size:27px}.capability-intro{gap:20px}.capability-list{gap:0 30px}.capability-list summary{min-height:130px;gap:12px}.capability-list h3{font-size:20px}.cap-body{padding-left:31px;padding-right:5px}.company .section-heading>div.source-about>p{font-size:15px}.source-why h2{font-size:36px}.company-principles{gap:30px}.company-principles h3{font-size:20px}.company-principles>div{grid-template-columns:28px 1fr;gap:12px}.company-principles p{font-size:14px}.industries{grid-template-columns:1fr;gap:20px}.history-intro{display:block;margin-bottom:40px}.timeline-motion-toggle{margin-top:20px}.timeline-track{left:142px;top:15px}.milestone{grid-template-columns:120px 1fr;gap:50px;padding-bottom:24px;min-height:130px}.milestone:before{left:137px;top:14px}.milestone-year{font-size:44px}.milestone>div{padding-top:0;padding-bottom:26px}.milestone p{font-size:14px;line-height:1.9}.process-steps{grid-template-columns:repeat(3,1fr)}.source-numbers-list{grid-template-columns:1fr 1fr;gap:30px}.contact-inner{grid-template-columns:1fr;gap:45px}.contact h2{font-size:48px}.contact address{border-left:0;border-top:1px solid var(--color-navy-500);padding:30px 0 0;grid-template-columns:1fr 1fr}.contact address>div:last-child{grid-column:1/-1}.contact address a{font-size:17px}.principle-strip p{font-size:16px}.contact{padding-block:70px}}
@media(max-width:540px){.hero h1{font-size:clamp(39px,10vw,54px);line-height:1.09}.hero h1 .hero-phrase:last-child{font-size:.88em;margin-top:12px}.hero-inner{padding-top:35px}.hero-copy{gap:24px}.hero-intro{font-size:14px;line-height:1.85}.hero-actions{gap:18px}.hero .primary,.hero .text-link{font-size:12px}.hero .button{padding:13px 16px;gap:16px}.hero .text-link{gap:10px}.hero-visual{grid-template-columns:1fr;padding:20px 20px 8px;margin-top:32px}.diagram-meta{grid-column:1;grid-row:1}.diagram-art{grid-column:1;grid-row:2;width:100%;max-width:300px;margin:-8px 0 -17px;justify-self:center}.diagram-steps{grid-row:3;flex-direction:row;gap:15px;font-size:10px;padding:10px 0 15px;align-items:start}.diagram-steps span{display:block;flex:1}.diagram-steps b{display:block;margin:0 0 5px;font-size:9px}.motion-tools{grid-row:4}.motion-tools button{font-size:10px;min-height:40px}.principle-strip .wrap{padding-block:22px}.principle-strip p{font-size:15px;text-align:left;line-height:1.8}.section{padding-block:55px}.section-heading h2,.capability-intro h2,.history-intro h2,.process-heading h2{font-size:40px}.section-heading>p{font-size:15px}.section-heading{margin-bottom:35px}.project-art,.project-pair .project-art{min-height:330px;padding:25px}.project-art-top{font-size:10px}.project-wordmark{font-size:100px;margin:30px 0}.streaming-art p{font-size:25px}.project-copy h3,.project-pair .project-copy h3{font-size:32px}.project-copy>p:not(.eyebrow){font-size:15px}.book-stack{width:240px;margin-block:30px}.book-stack span{font-size:19px;padding:7px 14px}.library-bottom strong{font-size:40px}.game-art svg{width:95%;left:2.5%;top:52px}.game-bottom{margin-top:220px}.game-bottom strong{font-size:23px}.capability-intro{display:block}.capability-intro .text-link{margin-top:18px}.capability-list{grid-template-columns:1fr}.capability-list summary{min-height:96px;padding-block:24px;gap:15px}.capability-list h3{font-size:21px}.cap-body{font-size:14px;padding-left:32px;padding-bottom:26px}.company-principles{grid-template-columns:1fr;gap:28px}.company-principles>div{grid-template-columns:30px 1fr;gap:8px 15px}.company-principles h3{font-size:22px}.company-principles>div>span{font-size:23px;padding-top:0}.company-principles p{grid-column:2;font-size:14px}.source-why{margin-top:35px;padding-top:35px}.source-why h2{font-size:35px}.industries{margin-top:40px}.industries .eyebrow{font-size:22px}.industries>p:last-child{font-size:15px;line-height:2.1}.history-intro h2{font-size:41px}.timeline-track{left:11px;top:17px}.milestone{display:block;padding:0 0 35px 38px;min-height:0}.milestone:before{left:6px;top:16px}.milestone-year{display:block;font-size:45px;margin-bottom:15px}.milestone>div{padding-bottom:25px}.milestone p{font-size:14px;line-height:1.9}.process-steps{grid-template-columns:1fr 1fr;gap:28px}.process-steps h3{font-size:23px}.process-steps p{font-size:14px}.source-numbers{margin-top:40px;padding-top:35px}.source-numbers h2{font-size:35px}.source-numbers-list{gap:25px}.source-numbers-list p{font-size:20px}.contact{padding-block:55px}.contact h2{font-size:40px;line-height:1.12}.contact-inner>div>p:not(.eyebrow){font-size:15px;margin-top:23px}.contact address{display:grid;grid-template-columns:1fr;gap:20px}.contact address a{font-size:16px}.contact address p{font-size:15px}.footer-top p{max-width:220px;font-size:12px}.footer-top>a:last-child{margin-left:auto}}
