
/* Client journey: one shell, three service accents, real project material. */
.nav-enquiry{position:relative;isolation:isolate;overflow:hidden;white-space:nowrap;background:var(--green)!important;color:var(--ink)!important;border-color:transparent!important}
.nav-enquiry:before{content:'';position:absolute;inset:0;z-index:-1;background:var(--paper);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.main-nav .nav-enquiry:hover:before,.main-nav .nav-enquiry:focus-visible:before{transform:scaleX(1)}
.motion-off .nav-enquiry:before{transition:none}
@media(prefers-reduced-motion:reduce){.nav-enquiry:before{transition:none}}.main-nav .nav-enquiry:focus-visible{outline-color:var(--paper)}
/* Hero actions are one wrapping group, with a quiet video affordance. */
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px;margin-top:28px}
.hero-actions .hero-link{margin:0;min-height:52px;padding:13px 18px;font-size:13px;gap:22px;white-space:nowrap}
.hero-actions .hero-link .arrow{width:18px;height:18px}
.hero-reel-link{display:inline-flex;align-items:center;gap:10px;min-height:48px;margin:0;color:var(--ink);font-size:12px;font-weight:700;white-space:nowrap;background:transparent}
.reel-play{display:grid;place-items:center;width:38px;height:38px;flex:none;border:1px solid currentColor;border-radius:50%;transition:background-color .2s,color .2s}
.reel-play svg{width:18px;height:18px;fill:currentColor}
.reel-link-label{position:relative;padding-block:3px}
.reel-link-label:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.hero-reel-link:hover,.hero-reel-link:focus-visible{background:transparent;color:var(--ink)}
.hero-reel-link:hover .reel-play,.hero-reel-link:focus-visible .reel-play{background:var(--ink);color:var(--green)}
.hero-reel-link:hover .reel-link-label:after,.hero-reel-link:focus-visible .reel-link-label:after{transform:scaleX(1)}
@media(max-width:760px){.hero-actions{margin-top:24px;gap:14px 22px}}
@media(max-width:440px){.hero-actions{align-items:flex-start;flex-direction:column}.hero-actions .hero-link{min-height:50px}.hero-reel-link{min-height:44px}}
@media(prefers-reduced-motion:reduce){.reel-play,.reel-link-label:after{transition:none}}
.motion-off .reel-play,.motion-off .reel-link-label:after{transition:none}
.studio-reel{padding-top:10px;padding-bottom:48px;display:grid;grid-template-columns:.72fr 1.4fr;align-items:center;gap:36px;background:var(--dark)}
.studio-reel h2{font-size:clamp(32px,3.5vw,54px);margin:16px 0}.studio-reel p{font-size:13px;color:var(--muted);max-width:390px}.studio-reel video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#000}.studio-reel figcaption{font-size:11px;color:var(--muted);margin-top:10px}.studio-reel figure{margin:0;min-width:0}
.studio-reel .text-link{margin-top:16px}.archive-link{font-size:10px;color:var(--muted);min-height:34px;display:inline-flex;align-items:center}.archive-link:hover{color:var(--green)}
.customer-page{--tone:var(--green)}.customer-page h1{font-size:clamp(44px,6.7vw,100px);font-weight:900;line-height:.98;max-width:1100px;overflow-wrap:anywhere}.customer-page h1 em{font-size:.96em}.customer-page h2{font-size:clamp(30px,3.8vw,56px)}
.customer-page .header{z-index:40}.english-overview{font-size:10px;min-height:44px;display:flex;align-items:center;border-bottom:1px solid transparent}.english-overview:hover{color:var(--green);border-bottom-color:currentColor}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;margin-bottom:32px;opacity:.8}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.breadcrumbs a:hover{opacity:.7}
.service-intro,.request-intro{background:var(--tone);color:var(--ink);padding-top:32px;padding-bottom:48px}.service-intro>.eyebrow,.case-intro>.eyebrow,.request-intro>.eyebrow{margin-bottom:28px}.page-lead{font-size:clamp(18px,1.7vw,25px);line-height:1.55;max-width:820px;margin:24px 0}.page-actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:26px}.service-intro .text-link:hover,.request-intro .text-link:hover{color:var(--ink);background:#14231c12}
.service-proof{display:grid;grid-template-columns:1.25fr 1fr;gap:42px;align-items:center}.case-image{display:block;position:relative;overflow:hidden}.case-image img{width:100%;height:auto;aspect-ratio:1.3;object-fit:cover;transition:transform .6s}.case-image:hover img{transform:scale(1.045)}.image-caption{display:block;font-size:11px;padding:13px 0;border-bottom:1px solid var(--tone)}.proof-copy h2{margin:18px 0}.proof-copy>p{font-size:15px;color:var(--muted)}.proof-copy .button{margin-top:20px;background:var(--tone);color:var(--ink)}.external-videos{margin:18px 0}.external-videos .text-link{color:var(--tone)}.small-note{font-size:11px!important;line-height:1.6;color:var(--muted);margin-top:12px}
.service-scope{background:var(--paper);color:var(--ink)}.service-scope .section-heading{align-items:start;gap:50px}.service-scope .section-heading h2{max-width:520px}.service-scope .section-heading>p{color:#3c5146;font-size:15px;max-width:480px}.scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:44px}.scope-grid article{border-top:2px solid var(--ink);padding-top:20px}.scope-grid h3{margin:24px 0 15px}.scope-grid p{font-size:14px;line-height:1.75}
.service-steps{background:var(--tone);color:var(--ink)}.service-steps h2{margin:22px 0 36px}.service-steps ol{counter-reset:steps;list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.service-steps li{counter-increment:steps;border-top:1px solid #14231c50;padding-top:20px}.service-steps li:before{content:'0' counter(steps);display:block;font-size:36px;font-weight:900;margin-bottom:20px}.service-steps p{font-size:14px;margin-top:18px}.scope-note{max-width:750px;border-top:1px solid #14231c50;padding-top:25px;margin-top:35px}
.all-projects .project-card:nth-child(n){display:flex}.related-work .project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.customer-page .project-card .project-copy>p:last-child{font-size:13px}.next-step{background:var(--tone);color:var(--ink)}.next-step h2{margin:22px 0}.next-step>p{max-width:680px;font-size:17px}.next-step .button{margin-top:26px}.next-step .small-note{color:var(--ink)}.sibling-services{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;padding-block:28px}
.case-intro{padding-bottom:34px}.case-intro .eyebrow{color:var(--tone)}.case-main-image{padding-top:0;padding-bottom:25px}.case-main-image>img{width:100%;height:auto;max-height:72vh;object-fit:contain;background:#101613}.case-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;padding-block:30px;margin:0}.case-facts>div{border-top:1px solid var(--line);padding-top:20px}.case-facts dt{font-size:clamp(28px,3.4vw,52px);font-weight:900;color:var(--tone);line-height:1.15}.case-facts dd{font-size:13px;margin:10px 0 0;color:var(--muted)}
.case-story{background:var(--paper);color:var(--ink)}.case-story article{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px;padding:30px 0;border-bottom:1px solid #14231c30}.case-story article:first-child{padding-top:0}.case-story h2{font-size:32px}.case-story p{font-size:16px;line-height:1.85}.case-credits{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px}.case-credits h2{font-size:30px}.case-credits ul{padding-left:18px;margin:0}.case-credits li{padding:0 0 12px;font-size:14px;color:var(--muted)}.case-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-top:0}.case-gallery figure{margin:0}.case-gallery img{width:100%;height:auto;aspect-ratio:1.5;object-fit:contain;background:#101613}.case-gallery figcaption{font-size:11px;color:var(--muted);margin-top:9px}
.request-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px}.request-layout>div:first-child p{margin-top:20px;color:var(--muted);font-size:15px}.request-layout label{display:block;font-size:13px;font-weight:700;margin-bottom:20px}.request-layout label span{font-size:11px;font-weight:400;color:var(--muted)}.request-layout input,.request-layout textarea,.request-layout select{display:block;width:100%;margin-top:8px;border:1px solid #8da89a;background:#202d26;color:var(--paper);font:400 15px/1.5 Inter,Arial,sans-serif;padding:12px;border-radius:0;min-height:48px}.request-layout input:focus,.request-layout textarea:focus,.request-layout select:focus{outline:2px solid var(--green);outline-offset:2px}.request-layout textarea{resize:vertical}.request-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}#request-result{grid-column:1/-1;border-top:2px solid var(--green);padding-top:30px}#request-result h2{margin:15px 0 25px}#request-result[hidden]{display:none}.request-layout .fill-button{background:var(--green);color:var(--ink)}.request-layout .copy-mail{color:var(--paper)}
.customer-page .alternatives{margin-top:25px}.customer-page .variant-preview{transition:transform .2s}.portfolio{padding-top:5px}
@media(max-width:1100px){.header{padding-inline:4vw;gap:12px}.main-nav{gap:2px}.main-nav a{font-size:12px;padding-inline:8px}.service-proof{gap:26px}.proof-copy h2{font-size:35px}}
@media(max-width:760px){.header{padding-inline:var(--pad)}.main-nav{gap:3px}.main-nav a{font-size:11px;padding:6px 4px}.main-nav .nav-enquiry{padding-inline:9px}.studio-reel{grid-template-columns:1fr;gap:22px;padding-top:20px}.studio-reel h2{font-size:34px}.studio-reel p{font-size:13px}.customer-page h1{font-size:clamp(43px,11.7vw,74px)}.service-intro,.request-intro{padding-top:24px}.breadcrumbs{font-size:10px;margin-bottom:26px}.service-intro>.eyebrow{font-size:9px;line-height:1.7}.page-lead{font-size:18px}.service-proof{grid-template-columns:1fr;gap:27px}.case-image img{aspect-ratio:1.5}.proof-copy h2{font-size:34px}.scope-grid{grid-template-columns:1fr;gap:26px;margin-top:30px}.scope-grid h3{margin:14px 0}.service-scope .section-heading>p{font-size:14px;line-height:1.8}.service-steps ol{grid-template-columns:1fr;gap:22px}.service-steps li{display:grid;grid-template-columns:45px 1fr;gap:8px 15px}.service-steps li:before{grid-row:1/3;margin:0;font-size:30px}.service-steps li h3{font-size:24px}.service-steps li p{grid-column:2;margin-top:0}.scope-note{font-size:13px!important}.related-work .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.related-work .project-card:last-child:nth-child(odd){grid-column:1/-1;display:grid;grid-template-columns:42% 1fr}.related-work .project-card:last-child:nth-child(odd) .project-picture{height:100%;aspect-ratio:auto}.customer-page .project-copy h3{font-size:21px}.customer-page .project-copy>p:last-child{font-size:12px!important}.case-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.case-facts dt{font-size:34px}.case-story article,.case-credits{grid-template-columns:1fr;gap:20px}.case-story h2{font-size:28px}.case-story p{font-size:15px}.case-gallery{gap:12px}.request-layout{grid-template-columns:1fr;gap:30px}.request-pair{grid-template-columns:1fr;gap:0}.english-overview{font-size:10px}.page-actions{gap:14px}.next-step h2{font-size:38px}.customer-page .questions{padding-block:35px}}
@media(max-width:360px){.main-nav a{font-size:10px;padding-inline:3px}.main-nav .nav-enquiry{padding-inline:6px}.related-work .project-card:last-child:nth-child(odd){grid-template-columns:1fr}.customer-page .project-copy h3{font-size:19px}}
@media(prefers-reduced-motion:reduce){.case-image img{transition:none!important}.case-image:hover img{transform:none}}

@media(max-width:760px){.main-nav a{min-height:44px}}

/* Service pages share the homepage bands and moving terrace boundaries. */
.service-terrace{background:var(--transition-to);height:clamp(170px,19vw,300px)}
.service-band{background:var(--band-to);isolation:isolate}
.service-band:before{content:'';position:absolute;inset:0;background:var(--band-from);clip-path:polygon(0 0,100% 0,100% calc(50% - 1.85vw),0 calc(50% + 1.85vw))}
.service-band .ribbon{top:50%;transform:translateY(-50%) rotate(-2deg);background:var(--tone);color:var(--ink)}
.service-band-dark .ribbon{background:var(--dark);color:var(--tone)}
@media(max-width:760px){.service-terrace{height:150px}.service-band{height:100px}.service-band .ribbon{padding:16px 0}.service-band .ribbon-unit{font-size:28px}}

/* The homepage contact component, in the current service colour. */
.customer-page .service-contact{background:var(--tone);--green:var(--tone);overflow:clip}
.customer-page .service-contact .contact-title h2{font-size:clamp(55px,7.5vw,115px)}
@media(max-width:760px){.customer-page .service-contact .contact-title h2{font-size:clamp(45px,12.1vw,83px)}}
@media(max-width:360px){.customer-page .service-contact .contact-title h2{font-size:12.2vw}}

/* Inverse companion to the primary category enquiry button. */
.service-intro .secondary-work{background:var(--paper);color:var(--ink)}
.service-intro .secondary-work:before{background:var(--ink)}
.service-intro .secondary-work:hover,.service-intro .secondary-work:focus-visible{background:var(--paper);color:var(--paper)}

/* Endless project belt: the card footprint stays fixed while its surface lifts. */
.related-work .project-grid{gap:24px;padding:22px 12px 30px;margin-inline:-12px;scrollbar-width:none;overflow-anchor:none;touch-action:pan-x pan-y;scroll-behavior:auto}
.related-work .project-grid::-webkit-scrollbar{display:none}
.related-work .project-card,.related-work .project-card:last-child:nth-child(odd){display:flex!important;flex-direction:column;flex:0 0 calc((100% - 48px)/2.6);min-width:0;position:relative;transform:scale(1);transform-origin:center;transition:transform .4s ease,border-color .35s,box-shadow .35s,background .35s}
.related-work .project-card:last-child:nth-child(odd) .project-picture,.related-work .project-picture{height:auto;aspect-ratio:1.35}
.related-work .project-picture img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease,filter .35s}
.related-work .project-card:is(:hover,:focus-visible,:active){z-index:2;transform:scale(1.035);border-color:var(--tone);box-shadow:0 0 0 1px var(--tone),0 0 26px color-mix(in srgb,var(--tone) 28%,transparent);background:#21332a}
.related-work .project-card:is(:hover,:focus-visible,:active) img{transform:scale(1.06);filter:brightness(1.08)}
.related-work .project-copy>p:last-child{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.carousel-controls button:disabled{opacity:.4;cursor:default}
@media(max-width:760px){.related-work .project-grid{gap:18px;padding-block:18px 24px}.related-work .project-card,.related-work .project-card:last-child:nth-child(odd){flex-basis:80%}.related-work .project-copy h3{font-size:23px}.related-work .project-card:is(:hover,:focus-visible,:active){transform:scale(1.025)}}
@media(prefers-reduced-motion:reduce){.related-work .project-card,.related-work .project-picture img{transition:none}.related-work .project-card:is(:hover,:focus-visible,:active),.related-work .project-card:is(:hover,:focus-visible,:active) img{transform:none}}
.motion-off .related-work .project-card,.motion-off .related-work .project-picture img{transition:none}

/* A gentle dock profile, without changing card widths or the loop period. */
.related-work .project-card,.related-work .project-card:last-child:nth-child(odd){transform:translateX(var(--belt-subpixel,0px)) scale(var(--dock-scale,1));transform-origin:center bottom;transition:border-color .3s,box-shadow .3s,background .3s}
.related-work .project-card:is(:hover,:focus-visible,:active){transform:translateX(var(--belt-subpixel,0px)) scale(calc(var(--dock-scale,1)*1.045))}
@media(prefers-reduced-motion:reduce){.related-work .project-card,.related-work .project-card:is(:hover,:focus-visible,:active){transform:none}}
.motion-off .related-work .project-card{transform:none}

/* Compact discovery belt: roughly six projects at desktop, a stronger centre. */
.related-work .project-grid{gap:20px;padding:30px 12px 22px;align-items:flex-end}
.related-work .project-card,.related-work .project-card:last-child:nth-child(odd){flex:0 0 calc((100% - 100px)/6.2)}
.related-work .project-picture,.related-work .project-card:last-child:nth-child(odd) .project-picture{aspect-ratio:1.35;height:auto}
.related-work .project-copy{padding:10px 9px 12px;min-height:58px}
.customer-page .related-work .project-copy h3{font-size:clamp(12px,1.05vw,16px);line-height:1.3;margin:0;letter-spacing:-.02em}
.related-work .project-copy>p{display:none!important}
@media(max-width:1100px) and (min-width:761px){.related-work .project-card,.related-work .project-card:last-child:nth-child(odd){flex-basis:calc((100% - 60px)/4.4)}}
@media(max-width:760px){.related-work .project-grid{gap:14px;padding-block:22px 20px}.related-work .project-card,.related-work .project-card:last-child:nth-child(odd){flex-basis:40%}.customer-page .related-work .project-copy h3{font-size:13px}.related-work .project-copy{min-height:60px;padding:9px 7px 11px}}

.bochum-preview-section{background:var(--paper);color:var(--ink);padding-top:0}.bochum-preview{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);border-block:1px solid #14231c30;color:inherit;text-decoration:none;overflow:hidden}.bochum-preview-media{position:relative;aspect-ratio:16/9;overflow:hidden;background:#17221d}.bochum-preview-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .55s ease}.bochum-preview-media:after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,#10231d50,transparent 56%);pointer-events:none}.bochum-preview-media>span{position:absolute;z-index:1;left:18px;bottom:15px;color:#f1f1e7;font-size:10px;font-weight:800;letter-spacing:.08em;line-height:1.35}.bochum-preview-copy{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(25px,4vw,58px);background:linear-gradient(135deg,#f1f1e7 0%,#ebeee3 100%)}.bochum-preview-copy .eyebrow{margin:0 0 28px;color:var(--tone)}.bochum-preview-copy h2{max-width:330px;margin:0;font-size:clamp(31px,3.5vw,54px);line-height:.95}.bochum-preview-copy>p:not(.eyebrow){max-width:370px;margin:22px 0 34px;font-size:15px;line-height:1.65}.bochum-preview-cta{display:inline-flex;align-items:center;gap:14px;margin-top:auto;border-bottom:1px solid currentColor;padding:0 0 8px;font-size:14px;font-weight:800}.bochum-preview-cta .arrow{width:20px;height:20px;transition:transform .3s ease}.bochum-preview:hover .bochum-preview-media img,.bochum-preview:focus-visible .bochum-preview-media img{transform:scale(1.055);filter:saturate(1.1) contrast(1.04)}.bochum-preview:hover .bochum-preview-cta .arrow,.bochum-preview:focus-visible .bochum-preview-cta .arrow{transform:translateX(6px)}.bochum-preview:focus-visible{outline:3px solid var(--tone);outline-offset:4px}@media(max-width:760px){.bochum-preview{grid-template-columns:1fr}.bochum-preview-media{aspect-ratio:1.48}.bochum-preview-copy{padding:28px 22px 31px}.bochum-preview-copy .eyebrow{margin-bottom:21px}.bochum-preview-copy>p:not(.eyebrow){margin:16px 0 27px;font-size:14px}}@media(prefers-reduced-motion:reduce){.bochum-preview-media img,.bochum-preview-cta .arrow{transition:none!important}.bochum-preview:hover .bochum-preview-media img{transform:none}}
