:root{--section-space:72px;--eyebrow-space:16px;--copy-space:20px}.section{padding-top:var(--section-space);padding-bottom:var(--section-space)}.eyebrow{margin-bottom:var(--eyebrow-space)}.hero-bottom,.story-content>p,.contact-copy>p{margin-top:var(--copy-space)}.section-heading{margin-bottom:32px}.voices{background:#fff}.voices:before{display:none}.review{background:#f7f8fa;border:1px solid #ebedf1;backdrop-filter:none}.story-line{bottom:auto;height:auto}.story-stage{min-height:0}.story-line{transform-origin:50% 50% calc(-1 * var(--cube-depth,65px))}.studio-story{height:145vh}.story-content>p{margin-bottom:24px}.story-label .eyebrow{margin-bottom:16px}
/* One front-facing approach, with smaller neighboring faces kept behind it. */
.twist-section{height:290vh}.twist-stage{perspective:none;isolation:isolate;min-height:650px}.twist-caption{position:absolute;top:38px;left:24px;right:24px;z-index:3;pointer-events:none}.twist-caption .eyebrow{margin-bottom:16px}.twist-caption h2,.twist-caption h2 em{font-size:40px;line-height:1.1;opacity:1}.twist-caption h2 br{display:none}.twist-caption h2 em:before{content:' '}.spiral{perspective:1200px;transform-style:preserve-3d;z-index:2;overflow:visible}.spiral-card.process-twist-card{top:55%;width:290px;height:235px;padding:26px;transform-style:flat;backface-visibility:visible;box-shadow:0 10px 28px #17213e0b;transition:none}.process-twist-card .twist-step{font-size:10px;margin-bottom:22px}.process-twist-card h3{font-size:24px;line-height:1.12;max-width:240px}.process-twist-card p{font-size:13px;line-height:1.6;max-width:240px;margin-top:16px}.approach-action{position:absolute;bottom:35px;left:50%;transform:translateX(-50%);z-index:5;white-space:nowrap}.approach-action:hover{translate:0 0}.deck-sticky{min-height:680px}.deck-heading{top:36px}.deck-satellites img{width:175px;height:180px}.deck-tabs{bottom:32px}
/* Bigger illustrations, with the empty vertical space removed from service cards. */
.services-sticky{padding:32px 0;gap:64px}.services-viewport{height:540px;min-height:0;max-height:calc(100svh - 150px)}.service-panel{display:grid;grid-template-rows:auto minmax(120px,1fr) auto;gap:8px;padding:22px}.service-panel-top{padding-bottom:15px}.service-panel-top h3{font-size:21px}.service-panel>img{height:100%;width:100%;min-height:0;max-height:none;margin:0;object-fit:contain;transform:scale(1.17);align-self:center;justify-self:center;opacity:1}.service-panel-bottom{position:relative;z-index:1}.service-panel-bottom h4{font-size:18px}.service-panel-bottom p{font-size:11px;line-height:1.65;margin-top:10px}.service-panel-bottom .button{margin-top:14px;padding:8px 11px}.services-editorial>.eyebrow{margin-bottom:16px}.services-intro-bottom{margin-top:20px}.services-intro-bottom p{margin-bottom:24px}
/* FAQs are centered between testimonials and the closing CTA. */
.faq-section{background:#fff;border-top:1px solid var(--line)}.faq-heading{text-align:center;max-width:680px;margin:0 auto 32px}.faq-heading .eyebrow{margin-bottom:16px}.faq-heading h2{font-size:34px;line-height:1.2}.faq-list{max-width:790px;margin:0 auto;border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;cursor:pointer;font-size:16px;line-height:1.5;padding:22px 0;color:var(--ink)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary>span{font:22px/1 DM,Arial,sans-serif;color:var(--blue);width:22px;height:22px;display:grid;place-items:center;flex-shrink:0;transition:transform .3s}.faq-item[open] summary>span{transform:rotate(45deg)}.faq-item>div{padding:0 44px 23px 0}.faq-item p{font-size:14px;line-height:1.8;max-width:710px}.faq-item summary:focus-visible{outline:2px solid var(--blue);outline-offset:6px}.closing-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:26px}.closing-actions .button{padding:12px 15px;font-size:12px}.closing-actions .secondary{background:transparent;color:var(--blue);border:1px solid #080ed244}.closing-actions .secondary:hover{background:#080ed207}.contact-copy h2{font-size:clamp(36px,3.8vw,55px);line-height:1.12}.contact-note{margin-top:30px}.contact-copy>.contact-email{margin-top:24px}.contact-form-panel .form-status{min-height:0}.custom-cursor>.cursor-hand{display:none;width:36px;height:40px}.custom-cursor>.cursor-arrow{display:block}.custom-cursor.is-link>.cursor-arrow,.custom-cursor.is-pressed>.cursor-arrow{display:none}.custom-cursor.is-link>.cursor-hand,.custom-cursor.is-pressed>.cursor-hand{display:block}.custom-cursor.is-pressed>.cursor-hand{transform:scale(.9);transform-origin:40% 20%}.custom-cursor.is-pressed>span{transform:translateY(-2px)}.social-icon{width:22px;height:22px;fill:currentColor;stroke:none}.footer-social-grid>a>span{gap:12px}
@media(min-width:701px){.deck-sticky{height:calc(100svh - 88px)}.contact{padding-block:72px}}
@media(max-width:1050px) and (min-width:701px){.services-viewport{height:530px}.twist-caption h2,.twist-caption h2 em{font-size:36px}.deck-satellites img{width:140px;height:145px}}
@media(max-width:700px){:root{--section-space:44px;--eyebrow-space:14px;--copy-space:20px}.hero{padding-top:32px;padding-bottom:32px;min-height:0}.hero-art{margin-top:18px}.hero-buttons{margin-top:22px}.section-heading{margin-bottom:24px}.section-heading .eyebrow{margin-bottom:14px}.proof-strip{position:relative;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,1fr);margin:0 20px;border:1px dashed #c3c8ce;background-color:#f8f9fa;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 200' preserveAspectRatio='none'%3E%3Cg fill='none' stroke='%23b9c0c8' stroke-width='.8' stroke-dasharray='2 2'%3E%3Cpath d='M100 0V200M200 0V200M0 100H300'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;background-size:100% 100%}.proof-strip>div{border:0!important;min-height:112px;padding:19px 11px;gap:14px;align-items:flex-start;justify-content:center}.proof-strip>div:last-child{grid-column:auto}.proof-strip>div>span{font-size:7px;line-height:1.55;min-height:22px;max-width:90px}.metric-number{font-size:34px;line-height:1}.proof-strip>div:before,.proof-strip>div:after{font-size:12px;left:-5px;top:-7px}.proof-strip>div:after{top:auto;bottom:-7px}.proof-strip:before,.proof-strip:after{font-size:12px}.studio-story{height:auto;padding:44px 0;margin:0 20px}.story-sticky{position:relative;top:auto;height:auto;min-height:0;display:block;padding:0}.story-label{margin-bottom:24px;align-self:auto}.story-label .eyebrow{margin-bottom:10px}.story-label p{font-size:10px;line-height:1.6}.story-stage{font-size:29px;min-height:0;height:auto}.story-line{font-size:inherit;line-height:1.15;bottom:auto;height:auto}.story-content>p{margin-top:20px;margin-bottom:22px;font-size:12px;line-height:1.8;max-width:none}.story-content>.button{margin:0}.services-scroll{margin:0 20px;height:330vh}.services-sticky{top:76px;height:calc(100svh - 76px);min-height:0;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:24px;padding:24px 0;align-content:start}.services-editorial{display:grid;grid-template-columns:1fr auto;gap:0 15px;align-items:center;padding:0;max-width:none}.services-editorial>.eyebrow{margin-bottom:14px;grid-column:span 2}.services-editorial h2{font-size:27px;line-height:1.08;white-space:normal}.services-intro-bottom{margin:0;max-width:135px;padding:0}.services-intro-bottom .button{font-size:9px;gap:7px;padding:9px}.services-viewport{width:min(315px,100%);max-width:315px;justify-self:end;align-self:start;min-height:0;height:min(445px,calc(100svh - 236px));max-height:none}.service-panel{padding:18px;gap:7px;grid-template-rows:auto minmax(95px,1fr) auto}.service-panel-top{gap:12px;padding-bottom:12px}.service-panel-top h3{font-size:19px}.service-panel-top>span{font-size:8px}.service-panel>img{height:100%;min-height:0;max-height:none;margin:0;transform:scale(1.18)}.service-panel-bottom h4{font-size:16px;line-height:1.25}.service-panel-bottom p{font-size:10px;line-height:1.65;margin-top:8px}.service-panel-bottom .button{font-size:9px;margin-top:12px;padding:7px 10px}.twist-section{height:300vh;margin:0 20px}.twist-stage{height:calc(100svh - 76px);top:76px;min-height:580px}.twist-caption{top:28px;left:0;right:0}.twist-caption .eyebrow{font-size:8px;margin-bottom:14px}.twist-caption h2,.twist-caption h2 em{font-size:30px;line-height:1.15}.spiral{perspective:1000px}.spiral-card.process-twist-card{width:min(275px,calc(100vw - 60px));height:240px;padding:24px;top:54%;transform-style:flat}.process-twist-card .twist-step{font-size:10px;margin-bottom:22px}.process-twist-card h3{font-size:23px;line-height:1.12;max-width:none}.process-twist-card p{font-size:13px;line-height:1.65;margin-top:16px;max-width:none}.approach-action{bottom:28px;font-size:11px;padding:11px 14px}.deck-sticky{height:calc(100svh - 76px);min-height:660px;top:76px}.deck-heading{top:28px;left:20px;right:20px}.deck-heading .eyebrow{margin-bottom:14px}.deck-heading h2{font-size:25px;max-width:none}.deck-cards{width:calc(100% - 40px);max-width:none;height:390px;left:20px;top:54%;transform:translateY(-50%)}.deck-card{border-width:6px}.deck-card>img{height:61%;object-fit:cover}.deck-card>div{padding:17px 13px}.deck-card h3{font-size:27px}.deck-card p{font-size:11px;line-height:1.6;max-width:none}.deck-link{font-size:10px;margin-top:12px}.deck-tabs{left:20px;right:20px;bottom:26px;width:calc(100% - 40px);max-width:none;transform:none;box-sizing:border-box;justify-content:flex-start;padding:4px;gap:2px;overflow-x:auto;border-radius:4px}.deck-tab{flex:1;min-width:max-content;padding:9px 7px;font-size:8px;border-radius:4px}.deck-satellites{display:none}.voices .section-heading>p{margin-top:20px}.voices .section-heading h2{font-size:28px;max-width:none}.review{min-height:290px}.review blockquote{font-size:14px}.faq-heading{margin-bottom:24px}.faq-heading .eyebrow{margin-bottom:14px}.faq-heading h2{font-size:28px;line-height:1.2}.faq-list{width:100%}.faq-item summary{font-size:14px;padding:19px 0;gap:16px;line-height:1.55}.faq-item>div{padding:0 25px 20px 0}.faq-item p{font-size:12px;line-height:1.85}.contact{padding-top:44px;padding-bottom:44px;gap:30px}.contact-copy h2{font-size:34px;line-height:1.14}.contact-copy h2 br{display:none}.contact-copy>p{font-size:13px;line-height:1.8;margin-top:20px}.closing-actions{gap:10px;margin-top:24px}.closing-actions .button{font-size:10px;padding:11px 12px;gap:8px}.closing-actions .button svg{width:14px;height:14px}.contact-note{font-size:10px;margin-top:24px;padding-top:20px}.contact-copy>.contact-email{margin-top:24px}.enquiry-intro{margin-bottom:22px;padding-bottom:20px}.contact-form-panel{padding:22px}.footer-columns>div{padding:28px 14px}}
@media(prefers-reduced-motion:reduce){.studio-story{height:auto;padding-block:50px}.story-sticky{position:relative;top:0;height:auto;min-height:0}.story-stage{height:auto!important}.story-line{position:relative;inset:auto;transform:none!important;visibility:visible!important}.twist-section{height:auto;padding:44px var(--gutter);margin:0}.twist-stage{position:relative;top:0;height:auto;min-height:0;display:block;overflow:visible}.twist-caption{position:relative;inset:auto;margin-bottom:30px}.spiral{position:relative;inset:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;height:auto;perspective:none}.spiral-card.process-twist-card{position:relative;inset:auto;transform:none!important;opacity:1!important;visibility:visible!important;width:auto;min-height:235px;height:auto}.process-twist-card:nth-child(n+9){display:block}.approach-action{position:relative;inset:auto;transform:none;margin:28px auto 0;display:table}.services-sticky{height:auto;min-height:0;position:relative;top:0}.services-scroll{height:auto}.services-viewport{height:auto;min-height:0;max-height:none}.service-panel{min-height:500px;grid-template-rows:auto 240px auto}.custom-cursor{display:none!important}}
@media(max-width:700px) and (prefers-reduced-motion:reduce){.spiral{grid-template-columns:1fr}.services-sticky{grid-template-columns:1fr;grid-template-rows:auto auto}.services-viewport{width:100%;max-width:none}.service-panel{min-height:480px}.story-sticky{display:block;padding:0}.studio-story{padding:44px 0}.twist-caption h2,.twist-caption h2 em{font-size:30px}}
.story-stage{transition:height .5s cubic-bezier(.2,.7,.2,1)}
@media(prefers-reduced-motion:reduce){.story-stage{transition:none}}
@media(pointer:fine) and (hover:hover){.cursor-ready summary,.cursor-ready select{cursor:none}}
