main>section:not(.motion-journey),.site-footer{--section-progress:.5;--section-drift:0px}.site-motion-toggle{z-index:80;color:#23443a;background:#fffefa;border:1px solid #c9d8ce;border-radius:30px;align-items:center;gap:7px;padding:10px 14px;font-size:11px;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:0 4px 18px #20303216}.motion-ribbon{background:#e5f0e8;border-block:1px solid #d3e1d6;padding:20px 0 16px;overflow:clip}.motion-ribbon>div{width:max-content;animation:24s linear infinite brand-flow;display:flex}.ribbon-copy{flex-shrink:0;align-items:center;gap:60px;padding-right:60px;display:flex}.ribbon-copy>span{letter-spacing:-.06em;font-size:clamp(54px,8vw,118px);font-weight:500;line-height:1.15}.ribbon-copy>span:nth-of-type(2){color:var(--teal);font-family:Georgia,serif;font-style:italic}.ribbon-copy>i{color:#08717b;font-size:70px;font-style:normal}.motion-ribbon>p{text-align:center;letter-spacing:2px;margin-top:14px;font-size:10px}html[data-site-motion=running] .about-section .editorial-star{transform:translateY(var(--section-drift)) rotate(calc(var(--section-progress) * 100deg));display:inline-block}html[data-site-motion=running] .principles-strip .dot{animation:2s ease-in-out infinite alternate principle-breathe}.principles-strip>span:nth-child(2) .dot{animation-delay:-.7s!important}.principles-strip>span:nth-child(3) .dot{animation-delay:-1.4s!important}html[data-site-motion=running] .solution-art .preview-task{animation:4s ease-in-out infinite alternate task-settle}.solution-art .preview-columns>div:nth-child(2) .preview-task{animation-delay:-1s!important}.solution-art .preview-columns>div:nth-child(3) .preview-task{animation-delay:-2s!important}html[data-site-motion=running] .product-sculpture{animation:6s ease-in-out infinite alternate product-turn}html[data-site-motion=running] .product-phone{animation:4s ease-in-out infinite alternate product-float}html[data-site-motion=running] .workflow-connector{position:relative;overflow:clip}html[data-site-motion=running] .workflow-connector:after{content:"";background:var(--teal);animation:1.8s ease-in-out infinite connection-flow;position:absolute;inset:0}.solution-panel{animation:.7s cubic-bezier(.16,1,.3,1) solution-enter}html[data-site-motion=running] .audience-index{transform:translateY(var(--section-drift))}html[data-site-motion=running] .audience-example{border-left:3px solid #0000;border-image:linear-gradient(var(--cyan), var(--green)) 1}.process-grid{position:relative}html[data-site-motion=running] .process-grid:before{content:"";z-index:1;background:linear-gradient(90deg, var(--cyan), var(--amber), var(--green), var(--pink), var(--cyan));width:100%;height:4px;transform:scaleX(clamp(0, calc(var(--section-progress) * 2 - .3), 1));transform-origin:0;background-size:200% 100%;animation:5s linear infinite process-track-flow;position:absolute;top:0;left:0}@keyframes process-track-flow{0%{background-position:0%}to{background-position:200%}}html[data-site-motion=running] .step-top>svg{animation:3s ease-in-out infinite alternate process-symbol}.process-step:nth-child(2) .step-top>svg{animation-delay:-.8s!important}.process-step:nth-child(3) .step-top>svg{animation-delay:-1.6s!important}.process-step:nth-child(4) .step-top>svg{animation-delay:-2.4s!important}html[data-site-motion=running] .deliverable-check{animation:3s ease-in-out infinite check-arrival}.deliverable-list article:nth-child(2) .deliverable-check{animation-delay:.6s!important}.deliverable-list article:nth-child(3) .deliverable-check{animation-delay:1.2s!important}.deliverable-list article:nth-child(4) .deliverable-check{animation-delay:1.8s!important}html[data-site-motion=running] .craft-emblem{transform:translateY(var(--section-drift))}html[data-site-motion=running] .emblem-orbit{animation:16s linear infinite craft-orbit}html[data-site-motion=running] .emblem-tile{animation:4s ease-in-out infinite alternate product-float}.emblem-tile:nth-child(3){animation-delay:-1s!important}.emblem-tile:nth-child(4){animation-delay:-2s!important}.difference-list article>svg{transition:transform .35s cubic-bezier(.16,1,.3,1)}.difference-list article:hover>svg{transform:translate(6px,-6px)}.solution-tab{transition:transform .28s cubic-bezier(.16,1,.3,1),box-shadow .28s,background .28s}.solution-tab:hover{transform:translateY(-2px)}.solution-art{transition:transform .38s cubic-bezier(.16,1,.3,1),box-shadow .38s}.solution-art:hover{transform:translateY(-4px);box-shadow:0 16px 40px #08717b14}.audience-item{transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s}.audience-item:hover{transform:translateY(-3px);box-shadow:0 12px 30px #0000000a}.audience-example{transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s}.audience-example:hover{transform:translateY(-3px);box-shadow:0 14px 34px #27b5d11f}.process-step{transition:transform .32s cubic-bezier(.16,1,.3,1),box-shadow .32s}.process-step:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0000000a}.process-step:hover .step-top>svg{transform:scale(1.15)rotate(10deg)}.deliverable-list article{transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s}.deliverable-list article:hover{transform:translateY(-3px);box-shadow:0 12px 28px #27b5d114}.deliverable-list article:hover .deliverable-check{transform:scale(1.2)}.difference-list article{transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s}.difference-list article:hover{transform:translateY(-4px);box-shadow:0 14px 32px #0000000a}.investment-columns article{transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s;position:relative}.investment-columns article:hover{transform:translateY(-3px);box-shadow:0 12px 28px #00000008}.faq-list details{transition:transform .25s cubic-bezier(.16,1,.3,1),background .25s}.faq-list details:hover{transform:translate(4px)}html[data-site-motion=running] .principles-strip .cyan-dot{box-shadow:0 0 10px #27b5d173}html[data-site-motion=running] .principles-strip .amber-dot{box-shadow:0 0 10px #f4a92873}html[data-site-motion=running] .principles-strip .green-dot{box-shadow:0 0 10px #8dbb3f73}html[data-site-motion=running] .vision-band .serif-accent{animation:4s ease-in-out infinite alternate accent-float;display:inline-block}@keyframes accent-float{0%{transform:translateY(0)}to{transform:translateY(-3px)}}html[data-site-motion=running] .button{position:relative;overflow:hidden}html[data-site-motion=running] .button:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff29,#0000);width:35%;height:200%;animation:7s ease-in-out infinite button-shimmer;position:absolute;top:-50%;left:-60%;transform:rotate(25deg)}@keyframes button-shimmer{0%,75%,to{opacity:0;transform:rotate(25deg)translate(-200%)}80%{opacity:1}90%{opacity:0;transform:rotate(25deg)translate(600%)}}html[data-site-motion=running] .process-step.motion-revealed:first-child{animation:4.5s ease-in-out infinite alternate card-float-ambient}html[data-site-motion=running] .process-step.motion-revealed:nth-child(2){animation:4.5s ease-in-out -1.2s infinite alternate card-float-ambient}html[data-site-motion=running] .process-step.motion-revealed:nth-child(3){animation:4.5s ease-in-out -2.4s infinite alternate card-float-ambient}html[data-site-motion=running] .process-step.motion-revealed:nth-child(4){animation:4.5s ease-in-out -3.6s infinite alternate card-float-ambient}html[data-site-motion=running] .deliverable-list article.motion-revealed:first-child{animation:5s ease-in-out infinite alternate card-float-ambient}html[data-site-motion=running] .deliverable-list article.motion-revealed:nth-child(2){animation:5s ease-in-out -1.3s infinite alternate card-float-ambient}html[data-site-motion=running] .deliverable-list article.motion-revealed:nth-child(3){animation:5s ease-in-out -2.6s infinite alternate card-float-ambient}html[data-site-motion=running] .deliverable-list article.motion-revealed:nth-child(4){animation:5s ease-in-out -3.9s infinite alternate card-float-ambient}html[data-site-motion=running] .difference-list article.motion-revealed:first-child{animation:5.2s ease-in-out infinite alternate card-float-ambient}html[data-site-motion=running] .difference-list article.motion-revealed:nth-child(2){animation:5.2s ease-in-out -1.4s infinite alternate card-float-ambient}html[data-site-motion=running] .difference-list article.motion-revealed:nth-child(3){animation:5.2s ease-in-out -2.8s infinite alternate card-float-ambient}html[data-site-motion=running] .difference-list article.motion-revealed:nth-child(4){animation:5.2s ease-in-out -4.2s infinite alternate card-float-ambient}html[data-site-motion=running] .audience-example.motion-revealed{animation:4.8s ease-in-out infinite alternate card-float-ambient}@keyframes card-float-ambient{0%{translate:0}to{translate:0 -7px}}html[data-site-motion=running] .investment-columns article:before{content:"";background:var(--ink);width:32px;height:6px;transform:translateX(calc(var(--section-progress) * 140px));border-radius:10px;position:absolute;top:-4px;left:0}.faq-list details[open]>p{animation:.45s ease-out answer-enter}.faq-list summary .faq-plus{transition:rotate .3s}.faq-list details[open] .faq-plus{rotate:45deg}html[data-site-motion=running] .vision-band .brand-dots{animation:14s linear infinite craft-orbit}html[data-site-motion=running] .vision-band>p{transform:translateX(calc(var(--section-drift) * -.5))}html[data-site-motion=running] .vision-arrow{transform:translateX(var(--section-drift))}html[data-site-motion=running] .contact-signoff .small-cross{animation:12s linear infinite craft-orbit;display:inline-block}.contact-form-wrap{transition:box-shadow .4s}.contact-form-wrap:focus-within{box-shadow:0 15px 55px #08717b16}html[data-site-motion=running] .footer-bottom .brand-dots i{animation:2s ease-in-out infinite alternate principle-breathe}.footer-bottom .brand-dots i:nth-child(2n){animation-delay:-1s!important}[data-motion-active=false] *,html[data-site-motion=paused] .motion-ribbon *,html[data-site-motion=paused] main>section:not(.motion-journey) *,html[data-site-motion=paused] .site-footer *{animation-play-state:paused!important}html[data-site-motion=paused] main>section:not(.motion-journey) *,html[data-site-motion=paused] .site-footer *{transition:none!important}@keyframes brand-flow{to{transform:translate(-50%)}}@keyframes principle-breathe{to{scale:1.5}}@keyframes task-settle{to{translate:0 -9px}}@keyframes product-turn{0%{rotate:-8deg}to{rotate:12deg}}@keyframes product-float{to{translate:0 -14px}}@keyframes connection-flow{0%{transform:translate(-110%)}to{transform:translate(110%)}}@keyframes solution-enter{0%{translate:25px 12px}to{translate:0}}@keyframes process-symbol{to{translate:0 -7px;rotate:12deg}}@keyframes check-arrival{0%,70%,to{scale:1}35%{scale:1.15}}@keyframes craft-orbit{to{rotate:360deg}}@keyframes answer-enter{0%{translate:0 -8px}to{translate:0}}@media (max-width:600px){.ribbon-copy{gap:30px;padding-right:30px}.ribbon-copy>i{font-size:40px}.motion-ribbon>p{letter-spacing:1px;font-size:8px}.site-motion-toggle{padding:8px 10px;font-size:10px;bottom:10px;right:10px}html[data-site-motion=running] .vision-band>p{transform:none}.site-footer{padding-bottom:55px}}@media (prefers-reduced-motion:reduce){.motion-ribbon>div{width:100%}.ribbon-copy{flex-wrap:wrap;justify-content:center;gap:12px;width:100%;padding:0}.ribbon-copy>span{font-size:30px}.ribbon-copy>i{font-size:24px}.ribbon-copy:nth-child(2){display:none}main>section *,.site-footer *{transition:none!important;animation:none!important}}[data-motion-active=false] :before,[data-motion-active=false] :after,html[data-site-motion=paused] main :before,html[data-site-motion=paused] main :after{animation-play-state:paused!important}html[data-site-motion=running] .comp-connector-svg path{stroke-dasharray:7 5;animation:2.8s linear infinite routing-loop}html[data-site-motion=running] .comp-col-legacy .comp-connector-svg path{stroke-dasharray:3 11;animation-duration:5s;animation-direction:normal}html[data-site-motion=running] .comp-icon-box{animation:4s ease-in-out infinite system-loop}.comp-system-item:nth-child(2n) .comp-icon-box{animation-delay:-.8s!important}.comp-system-item:nth-child(3n) .comp-icon-box{animation-delay:-1.6s!important}html[data-site-motion=running] .comp-card-badge{animation:3.6s ease-in-out infinite badge-loop}.comp-card:nth-child(2) .comp-card-badge{animation-delay:-.7s!important}.comp-card:nth-child(3) .comp-card-badge{animation-delay:-1.4s!important}.comp-card:nth-child(4) .comp-card-badge{animation-delay:-2.1s!important}.comp-card:nth-child(5) .comp-card-badge{animation-delay:-2.8s!important}html[data-site-motion=running] .comp-arrow-down{animation:2.4s ease-in-out infinite route-arrow}html[data-site-motion=running] .comp-coverage-bar{position:relative;overflow:hidden}html[data-site-motion=running] .comp-coverage-bar:after{content:"";background:linear-gradient(90deg,#0000,#fffa,#0000);animation:3.6s ease-in-out infinite coverage-sweep;position:absolute;inset:0}html[data-site-motion=running] .audience-index{animation:5s ease-in-out infinite alternate audience-count-float}html[data-site-motion=running] .audience-example{animation:5.5s ease-in-out infinite alternate audience-panel-float}.audience-story:nth-child(2) .audience-example{animation-delay:-1.8s!important}.audience-story:nth-child(3) .audience-example{animation-delay:-3.6s!important}html[data-site-motion=running] .investment-columns article:before{animation:5s ease-in-out infinite alternate budget-travel}.investment-columns article:nth-child(2):before{animation-delay:-1.6s!important}.investment-columns article:nth-child(3):before{animation-delay:-3.2s!important}html[data-site-motion=running] .faq-plus{animation:4s ease-in-out infinite question-breathe}.faq-list details:nth-child(3n+1) .faq-plus{animation-delay:-1.3s!important}.faq-list details:nth-child(3n+2) .faq-plus{animation-delay:-2.6s!important}.faq-list details[open] .faq-plus,.faq-list details:focus-within .faq-plus{animation-play-state:paused!important}html[data-site-motion=running] .vision-arrow{animation:4s ease-in-out infinite alternate vision-travel}html[data-site-motion=running] .contact-expectations li>span:first-child{animation:4s ease-in-out infinite badge-loop}.contact-form-wrap{position:relative}html[data-site-motion=running] .contact-form-wrap:before{content:"";pointer-events:none;background:linear-gradient(90deg, transparent, var(--cyan), var(--green), transparent);transform-origin:0;height:3px;animation:6s ease-in-out infinite enquiry-trace;position:absolute;top:0;left:12%;right:12%}.contact-form-wrap:focus-within:before{animation-play-state:paused!important}html[data-site-motion=running] .footer-top .wordmark{transform:none}.footer-top{position:relative}html[data-site-motion=running] .footer-top:after{content:"";background:var(--teal);width:60px;height:3px;animation:7s ease-in-out infinite alternate footer-trace;position:absolute;bottom:0;left:0}@keyframes routing-loop{to{stroke-dashoffset:-48px}}@keyframes system-loop{0%,to{translate:0}50%{translate:0 -7px}}@keyframes badge-loop{0%,65%,to{scale:1}30%{scale:1.18}}@keyframes route-arrow{0%,to{translate:0 -3px}55%{translate:0 5px}}@keyframes coverage-sweep{0%,15%{translate:-110%}85%,to{translate:110%}}@keyframes audience-count-float{to{translate:0 -10px}}@keyframes audience-panel-float{to{translate:0 -7px}}@keyframes budget-travel{0%{transform:translate(0)}to{transform:translate(140px)}}@keyframes question-breathe{0%,to{scale:1}50%{scale:1.18}}@keyframes vision-travel{to{translate:18px}}@keyframes enquiry-trace{0%,to{transform:scaleX(.25)}50%{transform:scaleX(1)}}@keyframes footer-trace{to{translate:160px}}html[data-page-hidden=true] *,html[data-page-hidden=true] :before,html[data-page-hidden=true] :after,[data-motion-active=false]:before,[data-motion-active=false]:after,html[data-site-motion=paused] :before,html[data-site-motion=paused] :after{animation-play-state:paused!important}@media (prefers-reduced-motion:reduce){main *,main :before,main :after,.site-footer *,.site-footer :before,.site-footer :after{transition:none!important;animation:none!important}}
.portfolio-section{background:var(--paper)}.portfolio-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;display:grid}.portfolio-card{border:1px solid var(--line);color:var(--ink);background:#f1f7f4;border-radius:18px;flex-direction:column;text-decoration:none;transition:transform .25s,border-color .25s;display:flex;overflow:hidden}.portfolio-card:hover{border-color:var(--teal);transform:translateY(-4px)}.portfolio-card:focus-visible{outline:3px solid var(--teal);outline-offset:4px}.portfolio-thumbnail{aspect-ratio:3/2;border-bottom:1px solid var(--line);background:#fff;overflow:hidden}.portfolio-thumbnail img{object-fit:cover;object-position:top;width:100%;height:100%;display:block}.portfolio-card-copy{flex-direction:column;flex:1;padding:18px;display:flex}.portfolio-card-copy h3{margin:6px 0 12px;font-size:clamp(18px,1.5vw,22px);line-height:1.2}.portfolio-card-copy p{color:var(--muted);margin:0 0 12px;font-size:16px;line-height:1.5}.portfolio-card-copy .portfolio-category{color:var(--teal);margin:0;font-size:13px;font-weight:600}.portfolio-card-copy small{color:var(--muted);font-size:12px;line-height:1.5}.portfolio-open{min-height:44px;color:var(--teal);justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:18px;font-size:14px;font-weight:600;display:flex}.project-page{padding-top:130px;padding-bottom:64px}.project-back{min-height:44px;color:var(--teal);align-items:center;gap:10px;margin-bottom:24px;display:inline-flex}.project-page h1{letter-spacing:-1px;margin:0 0 28px;font-size:clamp(32px,4vw,56px);line-height:1.15}.project-page .sb-case{margin-top:0}@media (max-width:1000px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.portfolio-grid{grid-template-columns:1fr;gap:16px}.project-page{padding-top:110px;padding-bottom:40px}}@media (prefers-reduced-motion:reduce){.portfolio-card{transition:none}.portfolio-card:hover{transform:none}}.portfolio-card-copy .portfolio-impact{color:var(--teal);margin-bottom:12px;font-size:14px;font-weight:700}
